Merge branch 'master' into modular
diff --git a/components/org.eclipse.papyrus.designer.components.doc/build.properties b/components/org.eclipse.papyrus.designer.components.doc/build.properties
index 7ea784f..dd16bde 100644
--- a/components/org.eclipse.papyrus.designer.components.doc/build.properties
+++ b/components/org.eclipse.papyrus.designer.components.doc/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = .,\
                plugin.xml,\
                help/,\
diff --git a/components/org.eclipse.papyrus.designer.components.fcm.profile/META-INF/MANIFEST.MF b/components/org.eclipse.papyrus.designer.components.fcm.profile/META-INF/MANIFEST.MF
index 4d3ab25..ab0642b 100644
--- a/components/org.eclipse.papyrus.designer.components.fcm.profile/META-INF/MANIFEST.MF
+++ b/components/org.eclipse.papyrus.designer.components.fcm.profile/META-INF/MANIFEST.MF
@@ -9,7 +9,8 @@
  org.eclipse.gmf.runtime.emf.commands.core;bundle-version="1.4.0",
  org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
  org.eclipse.papyrus.uml.diagram.common;bundle-version="1.2.0",
- org.eclipse.ui;bundle-version="3.105.0"
+ org.eclipse.ui;bundle-version="3.105.0",
+ org.eclipse.papyrus.designer.transformation.base;bundle-version="0.7.5"
 Export-Package: org.eclipse.papyrus.designer.components.FCM,
  org.eclipse.papyrus.designer.components.FCM.impl,
  org.eclipse.papyrus.designer.components.FCM.util,
diff --git a/components/org.eclipse.papyrus.designer.components.fcm.profile/build.properties b/components/org.eclipse.papyrus.designer.components.fcm.profile/build.properties
index b9316e9..65101b8 100644
--- a/components/org.eclipse.papyrus.designer.components.fcm.profile/build.properties
+++ b/components/org.eclipse.papyrus.designer.components.fcm.profile/build.properties
@@ -16,5 +16,5 @@
 jars.compile.order = .
 source.. = src/,\
            src-gen/
-output.. = bin/
+output.. = target/classes/
 src.includes = about.html
diff --git a/components/org.eclipse.papyrus.designer.components.fcm.profile/plugin.xml b/components/org.eclipse.papyrus.designer.components.fcm.profile/plugin.xml
index d6792c0..2cbfe0e 100644
--- a/components/org.eclipse.papyrus.designer.components.fcm.profile/plugin.xml
+++ b/components/org.eclipse.papyrus.designer.components.fcm.profile/plugin.xml
@@ -10,8 +10,6 @@
 
 <plugin>
 	<extension-point id="fcmPortMappingRule" name="Port Mapping Rule" schema="schema/fcmPortMappingRule.exsd"/>
-	<extension-point id="fcmEmbeddingRule" name="Connector embedding rule" schema="schema/fcmPortMappingRule.exsd"/>
-	<extension-point id="fcmBindingHelper" name="Helper for template binnding" schema="schema/fcmBindingHelper.exsd"/>
 	
 	<extension point="org.eclipse.emf.ecore.generated_package">
 		<package
diff --git a/components/org.eclipse.papyrus.designer.components.fcm.profile/schema/fcmBindingHelper.exsd b/components/org.eclipse.papyrus.designer.components.fcm.profile/schema/fcmBindingHelper.exsd
deleted file mode 100644
index 6a45809..0000000
--- a/components/org.eclipse.papyrus.designer.components.fcm.profile/schema/fcmBindingHelper.exsd
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.papyrus.designer.components.fcm.profile" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.papyrus.designer.components.fcm.profile" id="fcmBindingHelper" name="Binding Helper"/>
-      </appInfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence minOccurs="1" maxOccurs="unbounded">
-            <element ref="client"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="client">
-      <complexType>
-         <attribute name="bindingHelperName" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.FCM.util.IBindingHelper"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiinfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-
-</schema>
diff --git a/components/org.eclipse.papyrus.designer.components.fcm.profile/schema/fcmEmbeddingRule.exsd b/components/org.eclipse.papyrus.designer.components.fcm.profile/schema/fcmEmbeddingRule.exsd
deleted file mode 100644
index 3584af0..0000000
--- a/components/org.eclipse.papyrus.designer.components.fcm.profile/schema/fcmEmbeddingRule.exsd
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.papyrus.designer.components.fcm.profile" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.papyrus.designer.components.fcm.profile" id="fcmEmbeddingRule" name="FCM embedding rule"/>
-      </appInfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence minOccurs="1" maxOccurs="unbounded">
-            <element ref="client"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="client">
-      <complexType>
-         <attribute name="connectorName" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn=":FCM.util.IEmbeddingRule"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiinfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-
-</schema>
diff --git a/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/impl/PortImpl.java b/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/impl/PortImpl.java
index 6ef3fb9..a848e3c 100644
--- a/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/impl/PortImpl.java
+++ b/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/impl/PortImpl.java
@@ -21,7 +21,7 @@
 import org.eclipse.papyrus.designer.components.FCM.FCMPackage;
 import org.eclipse.papyrus.designer.components.FCM.Port;
 import org.eclipse.papyrus.designer.components.FCM.PortKind;
-import org.eclipse.papyrus.designer.components.FCM.util.MapUtil;
+import org.eclipse.papyrus.designer.components.FCM.profile.PortMapUtil;
 import org.eclipse.uml2.uml.Class;
 import org.eclipse.uml2.uml.Image;
 import org.eclipse.uml2.uml.Interface;
@@ -329,6 +329,6 @@
 
 	@Override
 	public void update() {
-		MapUtil.update(this);
+		PortMapUtil.update(this);
 	}
 }
diff --git a/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/impl/TemplatePortImpl.java b/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/impl/TemplatePortImpl.java
index 1d3b084..a8d080e 100644
--- a/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/impl/TemplatePortImpl.java
+++ b/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/impl/TemplatePortImpl.java
@@ -17,7 +17,7 @@
 import org.eclipse.papyrus.designer.components.FCM.FCMPackage;
 import org.eclipse.papyrus.designer.components.FCM.PortKind;
 import org.eclipse.papyrus.designer.components.FCM.TemplatePort;
-import org.eclipse.papyrus.designer.components.FCM.util.MapUtil;
+import org.eclipse.papyrus.designer.components.FCM.profile.PortMapUtil;
 
 /**
  * <!-- begin-user-doc -->
@@ -74,10 +74,10 @@
                return null;
        }
        if(base_Port.isConjugated()) {
-               return MapUtil.getBoundType(this);
+               return PortMapUtil.getBoundType(this);
        }
        else {
-               return MapUtil.getBoundType(this);
+               return PortMapUtil.getBoundType(this);
        }
 
 	}
diff --git a/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/FCMUtil.java b/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/FCMUtil.java
index 82b8b9f..3bb741a 100644
--- a/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/FCMUtil.java
+++ b/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/FCMUtil.java
@@ -15,6 +15,7 @@
 import org.eclipse.papyrus.designer.components.FCM.ContainerRule;
 import org.eclipse.papyrus.designer.components.FCM.InteractionComponent;
 import org.eclipse.papyrus.designer.components.FCM.RuleApplication;
+import org.eclipse.papyrus.designer.components.FCM.profile.IEmbeddingRule;
 import org.eclipse.uml2.uml.Class;
 import org.eclipse.uml2.uml.CollaborationUse;
 import org.eclipse.uml2.uml.ConnectableElement;
diff --git a/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/IBindingHelper.java b/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/IBindingHelper.java
deleted file mode 100644
index 095ebb0..0000000
--- a/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/IBindingHelper.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Copyright (c) 2013 CEA LIST
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Ansgar Radermacher - Initial API and implementation
- *
- */
-
-package org.eclipse.papyrus.designer.components.FCM.util;
-
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.TemplateBinding;
-
-/**
- * BindingHelper interface. The interface is intentionally left empty. Implementations
- * (such as Qompass designer) might check for subclasses.
- *
- */
-public interface IBindingHelper {
-	public void handleElement(TemplateBinding binding, Element object);
-}
diff --git a/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/IEmbeddingRule.java b/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/IEmbeddingRule.java
deleted file mode 100644
index 317019c..0000000
--- a/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/IEmbeddingRule.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Copyright (c) 2013 CEA LIST
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Ansgar Radermacher - Initial API and implementation
- *
- */
-
-package org.eclipse.papyrus.designer.components.FCM.util;
-
-import org.eclipse.papyrus.designer.components.FCM.Connector;
-
-/**
- * Interface used by extension point for embedding rules
- */
-public interface IEmbeddingRule {
-	/**
-	 * Return a role binding table for a given connector
-	 *
-	 * @param connector
-	 *            the connector
-	 * @return role binding table
-	 */
-	public FCMUtil.RoleBindingTable getRoleBindings(Connector connector);
-
-}
diff --git a/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/IMappingRule.java b/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/IMappingRule.java
deleted file mode 100644
index 067a278..0000000
--- a/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/IMappingRule.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Copyright (c) 2013 CEA LIST
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Ansgar Radermacher - Initial API and implementation
- *
- */
-
-package org.eclipse.papyrus.designer.components.FCM.util;
-
-import org.eclipse.papyrus.designer.components.FCM.Port;
-import org.eclipse.uml2.uml.Type;
-
-/**
- * Interface used by extension point for evaluation of interface mappings
- *
- */
-public interface IMappingRule {
-	/**
-	 * Calculate the derived portType
-	 *
-	 * @param p
-	 *            the port
-	 * @param update
-	 *            if true, make model updates during calculation of derived interface
-	 * @return the list of provided interfaces
-	 */
-	public Type calcDerivedType(Port p, boolean update);
-
-	/**
-	 * check whether a port needs to be updated (recalculation of its derived interfaces)
-	 *
-	 * @return true, if update is required, false otherwise
-	 */
-	public boolean needsUpdate(Port p);
-}
diff --git a/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/ITemplateMappingRule.java b/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/ITemplateMappingRule.java
deleted file mode 100644
index 0d17469..0000000
--- a/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/ITemplateMappingRule.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Copyright (c) 2013 CEA LIST
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Ansgar Radermacher - Initial API and implementation
- *
- */
-
-package org.eclipse.papyrus.designer.components.FCM.util;
-
-import org.eclipse.papyrus.designer.components.FCM.Port;
-import org.eclipse.papyrus.designer.components.FCM.PortKind;
-
-
-/**
- * A specific mapping rule for template ports, i.e. ports that facilitate the
- * use of bound ports: i.e. instead of creating explicitly a binding for an extended
- * port, the type of the port is used as actual and the kind points to an extended
- * port
- */
-public interface ITemplateMappingRule extends IMappingRule {
-
-	/**
-	 * Update the created binding
-	 */
-	public void updateBinding(Port port);
-
-	/**
-	 * Return the bound type
-	 *
-	 * @param port
-	 * @return
-	 */
-	public PortKind getBoundType(Port port);
-}
diff --git a/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/MapUtil.java b/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/MapUtil.java
deleted file mode 100644
index b8728ac..0000000
--- a/components/org.eclipse.papyrus.designer.components.fcm.profile/src-gen/org/eclipse/papyrus/designer/components/FCM/util/MapUtil.java
+++ /dev/null
@@ -1,530 +0,0 @@
-/**
- * Copyright (c) 2013 CEA LIST
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Ansgar Radermacher - Initial API and implementation
- *
- */
-
-package org.eclipse.papyrus.designer.components.FCM.util;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.FCM.DerivedElement;
-import org.eclipse.papyrus.designer.components.FCM.Port;
-import org.eclipse.papyrus.designer.components.FCM.PortKind;
-import org.eclipse.papyrus.designer.components.FCM.TemplatePort;
-import org.eclipse.papyrus.designer.components.FCM.profile.Activator;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Interface;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Namespace;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.PackageMerge;
-import org.eclipse.uml2.uml.PackageableElement;
-import org.eclipse.uml2.uml.Stereotype;
-import org.eclipse.uml2.uml.TemplateSignature;
-import org.eclipse.uml2.uml.TemplateableElement;
-import org.eclipse.uml2.uml.Type;
-
-
-/**
- * This class is responsible for creating derived types associated with ports. The derived
- * type is the class that will type the port and contain imported and used interfaces depending
- * on the FCM type and kind.
- * A particular question related to the derived types is into which package we can place them
- * within the type hierarchy:
- * (1) Of course, the package must be writable. That means, it must not belong to an imported library.
- * (2) The source type must be clearly identifiable.
- * (3) If a template get's instantiated, derived types within (if we place them there) might
- * need (re-) instantiation. Imagine AMI_ interface that contains some of I's method. The creation of an AMI_I type within the template
- * 
- * Therefore, a global "derived types" package is created within the model that owns the port. This
- * package contains the full folder hierarchy of the original type and places the elements there.
- * TODO: Align with package template instantiation => create type specific sub-folder, e.g. kind_type. Use package specific side-folders.
- * Need specific solution for elements within template (placing into same template is finally not a good idea).
- * Idea of package template (and the possibility to extend) was, that common elements are instantiated once. Thus, we will have interfaceBased_<intfName>/UseInterface/Use.cpp,
- * not UseInterface_<intfName>/Use.cpp
- * [Users choice to define template with additional package or not?]
- */
-public class MapUtil {
-
-	private static final String DERIVED_TYPES = "derivedTypes"; //$NON-NLS-1$
-
-	// specific treatment of "root" model that is created by eC3M for deployment
-	// It avoids that copies of derived interfaces are created at different places
-	// [better alternative: avoid problem by using set of models instead of single large one]
-	// [other option?: no-update flag?]
-	public static final String rootModelName = "root"; //$NON-NLS-1$
-
-	public static final String MAPPING_RULE_ID = "fcmPortMappingRule"; //$NON-NLS-1$
-
-	public enum CREATE_KIND {
-		CLASS, INTERFACE, NONE
-	}
-
-	/**
-	 * Get the template signature of a templateable element (typically a package). The class must
-	 * (1) either own the signature
-	 * (2) or merge with a package which owns the signature.
-	 * Qompass enables the "extension" of existing packages via the package merge mechanism
-	 *
-	 * @param template
-	 *            The potential template
-	 * @return the signature or null, if none can be found.
-	 */
-	public static TemplateSignature getSignature(TemplateableElement template) {
-		for (Element element : template.getOwnedElements()) {
-			if (element instanceof TemplateSignature) {
-				return (TemplateSignature) element;
-			}
-		}
-
-		// enable multiple package templates sharing the same signature.
-		if (template instanceof Package) {
-			Package pkg = (Package) template;
-			for (PackageMerge pkgImport : pkg.getPackageMerges()) {
-				Package importedPkg = pkgImport.getMergedPackage();
-				return getSignature(importedPkg);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Return the top-level owner of an element. This function returns the same value
-	 * as getModel, if the top-level element is a model and not contained in a template
-	 * While this is the case for models, model libraries have a top-level package (not
-	 * a model). In this case, getTop returns the top-level package whereas getModel
-	 * would return null.
-	 * In case of a package owning a signature, it returns this package instead of the
-	 * top level package. The reason is that the derived types might reference elements
-	 * of the template signature which would be undefined outside.
-	 *
-	 * @param element
-	 *            An element of which we want to query
-	 * @return the top-level owning package
-	 */
-	public static Package getTop(Element element) {
-		while (element != null) {
-			Element owner = element.getOwner();
-			if (owner == null) {
-				if (element instanceof Package) {
-					return (Package) element;
-				}
-			} else if ((owner instanceof Package) && (owner.getOwner() == null) &&
-					((Package) owner).getName().equals(rootModelName)) {
-				// Hack: assure that no new derived interface folder is created in "root" model
-				// that eC3M creates for deployment
-				if (element instanceof Package) {
-					// return (Package)element;
-				}
-			}
-			if ((element instanceof Package) && (getSignature((Package) element) != null)) {
-				return (Package) element;
-			}
-			element = owner;
-		}
-		return null;
-	}
-
-	/**
-	 * Apply the derived element stereotype to a model element
-	 *
-	 * @param element
-	 * @return
-	 */
-	public static DerivedElement applyDE(Element element) {
-		Stereotype stereotype = element.getApplicableStereotype("FCM::DerivedElement"); //$NON-NLS-1$
-		if (stereotype != null) {
-			EObject alreadyApplied = element.getStereotypeApplication(stereotype);
-			if (alreadyApplied instanceof DerivedElement) {
-				return (DerivedElement) alreadyApplied;
-			}
-			alreadyApplied = element.applyStereotype(stereotype);
-			if (alreadyApplied instanceof DerivedElement) {
-				return (DerivedElement) alreadyApplied;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Get or create a package within another package (often the root of a model), i.e. return
-	 * a package with the passed name, if it exists or create a new one of this name
-	 *
-	 * @param root
-	 *            a package potentially owning a certain element
-	 * @param name
-	 *            the name of a package that should be be returned.
-	 * @return a package
-	 */
-	public static Package getAndCreate(Package root, String name, boolean createOnDemand) {
-		NamedElement pkg = root.getOwnedMember(name);
-		if ((pkg == null) && createOnDemand) {
-			pkg = root.createNestedPackage(name);
-		}
-		return (Package) pkg;
-	}
-
-	/**
-	 * Get or create a derived interface for a port using a fixed prefix
-	 * type name
-	 *
-	 * @param port
-	 *            The port
-	 * @param prefix
-	 *            prefix string
-	 * @param type
-	 *            type name
-	 * @return the derived interface or null (if it cannot be created)
-	 */
-	public static Class getDerivedClass(Port port, String prefix) {
-		Type type = getOrCreateDerivedTypeIntern(port, prefix, port.getType(), CREATE_KIND.NONE);
-		return type instanceof Class ? (Class) type : null;
-	}
-
-	/**
-	 * Get or create a derived interface for a port using a fixed prefix
-	 * type name
-	 *
-	 * @param port
-	 *            The port
-	 * @param prefix
-	 *            prefix string
-	 * @param type
-	 *            type name
-	 * @return the derived interface or null (if it cannot be created)
-	 */
-	public static Class getDerivedClass(Port port, String prefix, boolean update) {
-		return update ? getOrCreateDerivedClass(port, prefix) : getDerivedClass(port, prefix);
-	}
-
-	/**
-	 * Get a derived interface of a port. The interface is searched within the derived types
-	 * folder based on the passed prefix
-	 *
-	 * @param port
-	 *            The port
-	 * @param prefix
-	 *            prefix string
-	 * @param type
-	 *            FCM port type
-	 * @return the derived interface or null (if it cannot be created)
-	 */
-	public static Interface getDerivedInterface(Port port, String prefix) {
-		Type type = getOrCreateDerivedTypeIntern(port, prefix, port.getType(), CREATE_KIND.NONE);
-		return type instanceof Interface ? (Interface) type : null;
-	}
-
-	/**
-	 * Get or create a derived interface for a port using a fixed prefix
-	 * type name
-	 *
-	 * @param port
-	 *            The port
-	 * @param prefix
-	 *            prefix string
-	 * @param type
-	 *            type name
-	 * @return the derived interface or null (if it cannot be created)
-	 */
-	public static Interface getDerivedInterface(Port port, String prefix, boolean update) {
-		return update ? getOrCreateDerivedInterface(port, prefix) : getDerivedInterface(port, prefix);
-	}
-
-	/**
-	 * Get or create a derived interface for a port using a fixed prefix
-	 * type name
-	 *
-	 * @param port
-	 *            The port
-	 * @param prefix
-	 *            prefix string
-	 * @param type
-	 *            type name
-	 * @param createKind
-	 *            if non NONE, create either an interfaces or a class, if it does not exist yet
-	 * @return the derived interface or null (if it cannot be created)
-	 */
-	public static Class getOrCreateDerivedClass(Port port, String prefix) {
-		Type type = getOrCreateDerivedTypeIntern(port, prefix, port.getType(), CREATE_KIND.CLASS);
-		return type instanceof Class ? (Class) type : null;
-	}
-
-	/**
-	 * Get or create a derived interface for a port using a fixed prefix
-	 * type name
-	 *
-	 * @param port
-	 *            The port
-	 * @param prefix
-	 *            prefix string
-	 * @param type
-	 *            type name
-	 * @return the derived interface or null (if it cannot be created)
-	 */
-	public static Interface getOrCreateDerivedInterface(Port port, String prefix) {
-		Type type = getOrCreateDerivedTypeIntern(port, prefix, port.getType(), CREATE_KIND.INTERFACE);
-		return type instanceof Interface ? (Interface) type : null;
-	}
-
-
-
-	/**
-	 * This function returns a Package reference that corresponds to a qualified name.
-	 * Packages are created, if not existing yet - the function is thus a bit similar to
-	 * the unix "mkdir -p" command. Note that the main model within the list of name-spaces is
-	 * ignored, in order to avoid that a sub-package within a model starts with the name
-	 * of the model.
-	 *
-	 * @param model
-	 *            a model
-	 * @param list
-	 *            a list of namespace elements (as can be obtained via allNamespaces),
-	 *            the top-level element is the last within the list.
-	 * @param skipTop
-	 *            if true, skip top level namespace element
-	 * @return
-	 */
-	public static Package getAndCreate(Package root, EList<Namespace> list, boolean createOnDemand) {
-		boolean first = true;
-		for (int i = list.size() - 1; i >= 0; i--) {
-			Namespace ns = list.get(i);
-
-			if (first) {
-				first = false;
-				// Hack: if rootModel is used, skip top
-				// (avoid that new derived interface with "root" prefix is created)
-				if (ns.getName().equals(rootModelName)) {
-					continue;
-				}
-			}
-			NamedElement pkg = root.getOwnedMember(ns.getName());
-			if ((pkg == null) && createOnDemand) {
-				// package does not exist => create it.
-				pkg = root.createNestedPackage(ns.getName());
-				// copy stereotype to create package
-			}
-			if (!(pkg instanceof Package)) {
-				break;
-			}
-			root = (Package) pkg;
-		}
-		return root;
-	}
-
-	/**
-	 * Get or create a derived interface for a port using the name given by concatenation of prefix and
-	 * type name
-	 *
-	 * @param port
-	 *            The port for which to create a derived interface. Only used to determine the place where the
-	 *            derived interface is placed
-	 * @param prefix
-	 *            prefix string
-	 * @param type
-	 *            type name
-	 * @param createKind
-	 *            if non NONE, create either an interfaces or a class, if it does not exist yet
-	 * @return
-	 */
-	private static Type getOrCreateDerivedTypeIntern(Port port, String prefix, Type type, CREATE_KIND createKind) {
-		String typeName = prefix + type.getName();
-
-		// create derived element in "derivedInterface" package within the model owning
-		// the port (which must be an FCM model, since the port carries the FCM stereotype)
-		Package baseModelOfPort = getTop(port.getBase_Port());
-		// handle specific case of type within template. Place derived type into same template.
-		Package derivedTypes = getAndCreate(baseModelOfPort, DERIVED_TYPES, createKind != CREATE_KIND.NONE);
-		if (derivedTypes != null) {
-			Package owner = getAndCreate(derivedTypes, type.allNamespaces(), createKind != CREATE_KIND.NONE);
-			Interface intf = null;
-
-			PackageableElement pe = owner.getPackagedElement(typeName);
-			if (pe instanceof Type) {
-				// type already exists
-				return (Type) pe;
-			} else if (createKind == CREATE_KIND.INTERFACE) {
-				// System.out.println ("Derived port types: create new interface " + typeName + " in package " + owner.getQualifiedName ());
-				intf = owner.createOwnedInterface(typeName);
-
-				// System.out.println ("Derived port types: Apply derived stereotype annotation to interface: " + intf.getQualifiedName());
-				DerivedElement de = applyDE(intf);
-				if (de != null) {
-					// de may be null, if FCM is not properly applied
-					de.setSource(type);
-				}
-				return intf;
-			} else if (createKind == CREATE_KIND.CLASS) {
-				// System.out.println ("Derived port types: create new interface " + typeName + " in package " + owner.getQualifiedName ());
-				Class newType = owner.createOwnedClass(typeName, false);
-
-				// System.out.println ("Derived port types: Apply derived stereotype annotation to interface: " + intf.getQualifiedName());
-				DerivedElement de = applyDE(newType);
-				if (de != null) {
-					// de may be null, if FCM is not properly applied
-					de.setSource(type);
-				}
-				return newType;
-			}
-		}
-
-		// instead of returning null, return a dummy interface that indicates the user that an element needs updating.
-		PackageableElement portKinds = baseModelOfPort.getImportedMember("PortKinds"); //$NON-NLS-1$
-		if (portKinds instanceof Package) {
-			PackageableElement pe = ((Package) portKinds).getPackagedElement("Please update derived elements"); //$NON-NLS-1$
-			if (pe instanceof Interface) {
-				// dummy interface exists
-				return (Interface) pe;
-			}
-		}
-		return null;
-	}
-
-	public static void addRealization(Class portType, Interface providedInterface) {
-		if (!portType.getImplementedInterfaces().contains(providedInterface)) {
-			portType.createInterfaceRealization(null, providedInterface);
-		}
-	}
-
-	public static void addUsage(Class portType, Interface usedInterface) {
-		if (!portType.getUsedInterfaces().contains(usedInterface)) {
-			portType.createUsage(usedInterface);
-		}
-	}
-
-	/**
-	 * Calculate derived required interface in function of port type and kind
-	 *
-	 * @param port
-	 *            the port, for which the calculation should be done
-	 * @return
-	 */
-	public static Type getDerivedType(final Port port) {
-		if (port.getBase_Port() == null) {
-			// should not happen, but can occur in case of corrupted XMI files
-			return null;
-		}
-		PortKind portKind = port.getKind();
-		if (portKind != null) {
-			String ruleName = portKind.isExtendedPort() ? "ExtendedPort" : portKind.getBase_Class().getName(); //$NON-NLS-1$
-			final IMappingRule mappingRule = getMappingRule(ruleName);
-			if (mappingRule != null) {
-				return mappingRule.calcDerivedType(port, false);
-			}
-		}
-		return null;
-	}
-
-
-	/**
-	 * Obtain the mapping rule for a port when the name of the portKind is given
-	 *
-	 * @param portKindName
-	 *            the name of the port-kind
-	 *
-	 * @return the mapping rule or null, if no rule could be found
-	 */
-	public static IMappingRule getMappingRule(String portKindName) {
-		IExtensionRegistry reg = Platform.getExtensionRegistry();
-		IConfigurationElement[] configElements = reg.getConfigurationElementsFor(Activator.PLUGIN_ID + "." + MAPPING_RULE_ID); //$NON-NLS-1$
-		for (IConfigurationElement configElement : configElements) {
-			try {
-				final String extPortKindName = configElement.getAttribute("portKindName"); //$NON-NLS-1$
-				if (extPortKindName.equals(portKindName)) {
-					final Object obj = configElement.createExecutableExtension("class"); //$NON-NLS-1$
-					if (obj instanceof IMappingRule) {
-						return (IMappingRule) obj;
-					}
-				}
-			} catch (CoreException exception) {
-				exception.printStackTrace();
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Get the mapping rule for a port
-	 *
-	 * @param port
-	 *            the FCM port
-	 * @return the mapping rule or null, if no rule could be found
-	 */
-	public static IMappingRule getMappingRule(final Port port) {
-		if (port.getBase_Port() == null) {
-			// should not happen, but can occur in case of corrupted XMI files
-			return null;
-		}
-		PortKind portKind = port.getKind();
-		if (portKind == null) {
-			return null;
-		}
-		if (portKind.getBase_Class() != null) {
-			String ruleName = portKind.isExtendedPort() ? "ExtendedPort" : portKind.getBase_Class().getName(); //$NON-NLS-1$
-			if (port instanceof TemplatePort) {
-				ruleName = "TemplatePort"; //$NON-NLS-1$
-			}
-			return getMappingRule(ruleName);
-		}
-		return null;
-	}
-
-	public static PortKind getBoundType(final Port port) {
-		if (port.getBase_Port() == null) {
-			// should not happen, but can occur in case of corrupted XMI files
-			return null;
-		} else {
-			String ruleName = "TemplatePort"; //$NON-NLS-1$
-			final IMappingRule mappingRule = getMappingRule(ruleName);
-			if (mappingRule instanceof ITemplateMappingRule) {
-				return ((ITemplateMappingRule) mappingRule).getBoundType(port);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Update the derived interfaces of a port this operation needs to be
-	 * called in the context of an update command (transaction).
-	 *
-	 * @param port
-	 */
-	public static void update(final Port port) {
-		final IMappingRule mappingRule = getMappingRule(port);
-
-		if (mappingRule != null) {
-			Type type = mappingRule.calcDerivedType(port, true);
-			port.getBase_Port().setType(type);
-			if (mappingRule instanceof ITemplateMappingRule) {
-				((ITemplateMappingRule) mappingRule).updateBinding(port);
-			}
-		}
-	}
-
-	/**
-	 * Check whether a port needs to be updated, since its derived interfaces
-	 * are either not existing or out of date.
-	 *
-	 * @param port
-	 * @return
-	 */
-	public static boolean needsUpdate(final Port port) {
-		final IMappingRule mappingRule = getMappingRule(port);
-		if (mappingRule != null) {
-			return mappingRule.needsUpdate(port);
-		}
-		return false;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.fcm.profile/src/org/eclipse/papyrus/designer/components/FCM/profile/IEmbeddingRule.java b/components/org.eclipse.papyrus.designer.components.fcm.profile/src/org/eclipse/papyrus/designer/components/FCM/profile/IEmbeddingRule.java
new file mode 100644
index 0000000..999366e
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.fcm.profile/src/org/eclipse/papyrus/designer/components/FCM/profile/IEmbeddingRule.java
@@ -0,0 +1,33 @@
+/**
+ * Copyright (c) 2013 CEA LIST
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Ansgar Radermacher - Initial API and implementation
+ *
+ */
+
+package org.eclipse.papyrus.designer.components.FCM.profile;
+
+import org.eclipse.papyrus.designer.components.FCM.Connector;
+import org.eclipse.papyrus.designer.components.FCM.util.FCMUtil;
+import org.eclipse.papyrus.designer.components.FCM.util.FCMUtil.RoleBindingTable;
+
+/**
+ * Interface used by extension point for embedding rules
+ */
+public interface IEmbeddingRule {
+	/**
+	 * Return a role binding table for a given connector
+	 *
+	 * @param connector
+	 *            the connector
+	 * @return role binding table
+	 */
+	public FCMUtil.RoleBindingTable getRoleBindings(Connector connector);
+
+}
diff --git a/components/org.eclipse.papyrus.designer.components.fcm.profile/src/org/eclipse/papyrus/designer/components/FCM/profile/IMappingRule.java b/components/org.eclipse.papyrus.designer.components.fcm.profile/src/org/eclipse/papyrus/designer/components/FCM/profile/IMappingRule.java
new file mode 100644
index 0000000..12812cd
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.fcm.profile/src/org/eclipse/papyrus/designer/components/FCM/profile/IMappingRule.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2013 CEA LIST
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Ansgar Radermacher - Initial API and implementation
+ *
+ */
+
+package org.eclipse.papyrus.designer.components.FCM.profile;
+
+import org.eclipse.papyrus.designer.components.FCM.Port;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * Interface used by extension point for evaluation of interface mappings
+ *
+ */
+public interface IMappingRule {
+	/**
+	 * Calculate the derived portType
+	 *
+	 * @param p
+	 *            the port
+	 * @param update
+	 *            if true, make model updates during calculation of derived interface
+	 * @return the list of provided interfaces
+	 */
+	public Type calcDerivedType(Port p, boolean update);
+
+	/**
+	 * check whether a port needs to be updated (recalculation of its derived interfaces)
+	 *
+	 * @return true, if update is required, false otherwise
+	 */
+	public boolean needsUpdate(Port p);
+}
diff --git a/components/org.eclipse.papyrus.designer.components.fcm.profile/src/org/eclipse/papyrus/designer/components/FCM/profile/ITemplateMappingRule.java b/components/org.eclipse.papyrus.designer.components.fcm.profile/src/org/eclipse/papyrus/designer/components/FCM/profile/ITemplateMappingRule.java
new file mode 100644
index 0000000..a614f5f
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.fcm.profile/src/org/eclipse/papyrus/designer/components/FCM/profile/ITemplateMappingRule.java
@@ -0,0 +1,40 @@
+/**
+ * Copyright (c) 2013 CEA LIST
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Ansgar Radermacher - Initial API and implementation
+ *
+ */
+
+package org.eclipse.papyrus.designer.components.FCM.profile;
+
+import org.eclipse.papyrus.designer.components.FCM.Port;
+import org.eclipse.papyrus.designer.components.FCM.PortKind;
+
+
+/**
+ * A specific mapping rule for template ports, i.e. ports that facilitate the
+ * use of bound ports: i.e. instead of creating explicitly a binding for an extended
+ * port, the type of the port is used as actual and the kind points to an extended
+ * port
+ */
+public interface ITemplateMappingRule extends IMappingRule {
+
+	/**
+	 * Update the created binding
+	 */
+	public void updateBinding(Port port);
+
+	/**
+	 * Return the bound type
+	 *
+	 * @param port
+	 * @return
+	 */
+	public PortKind getBoundType(Port port);
+}
diff --git a/components/org.eclipse.papyrus.designer.components.fcm.profile/src/org/eclipse/papyrus/designer/components/FCM/profile/PortMapUtil.java b/components/org.eclipse.papyrus.designer.components.fcm.profile/src/org/eclipse/papyrus/designer/components/FCM/profile/PortMapUtil.java
new file mode 100644
index 0000000..4a3dcb3
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.fcm.profile/src/org/eclipse/papyrus/designer/components/FCM/profile/PortMapUtil.java
@@ -0,0 +1,288 @@
+/**
+ * Copyright (c) 2013 CEA LIST
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Ansgar Radermacher - Initial API and implementation
+ *
+ */
+
+package org.eclipse.papyrus.designer.components.FCM.profile;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionRegistry;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.papyrus.designer.components.FCM.Port;
+import org.eclipse.papyrus.designer.components.FCM.PortKind;
+import org.eclipse.papyrus.designer.components.FCM.TemplatePort;
+import org.eclipse.papyrus.designer.transformation.base.utils.MapUtil;
+import org.eclipse.papyrus.designer.transformation.base.utils.MapUtil.ECreateKind;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Type;
+
+
+/**
+ * This class is responsible for creating derived types associated with ports. The derived
+ * type is the class that will type the port and contain imported and used interfaces depending
+ * on the FCM type and kind.
+ * A particular question related to the derived types is into which package we can place them
+ * within the type hierarchy:
+ * (1) Of course, the package must be writable. That means, it must not belong to an imported library.
+ * (2) The source type must be clearly identifiable.
+ * (3) If a template get's instantiated, derived types within (if we place them there) might
+ * need (re-) instantiation. Imagine AMI_ interface that contains some of I's method. The creation of an AMI_I type within the template
+ * 
+ * Therefore, a global "derived types" package is created within the model that owns the port. This
+ * package contains the full folder hierarchy of the original type and places the elements there.
+ * TODO: Align with package template instantiation => create type specific sub-folder, e.g. kind_type. Use package specific side-folders.
+ * Need specific solution for elements within template (placing into same template is finally not a good idea).
+ * Idea of package template (and the possibility to extend) was, that common elements are instantiated once. Thus, we will have interfaceBased_<intfName>/UseInterface/Use.cpp,
+ * not UseInterface_<intfName>/Use.cpp
+ * [Users choice to define template with additional package or not?]
+ */
+public class PortMapUtil {
+
+	private static final String S_FORMAT = "%s";
+
+	// specific treatment of "root" model that is created by eC3M for deployment
+	// It avoids that copies of derived interfaces are created at different places
+	// [better alternative: avoid problem by using set of models instead of single large one]
+	// [other option?: no-update flag?]
+	public static final String rootModelName = "root"; //$NON-NLS-1$
+
+	public static final String MAPPING_RULE_ID = "fcmPortMappingRule"; //$NON-NLS-1$
+
+	/**
+	 * Get or create a derived interface for a port using a fixed prefix
+	 * type name
+	 *
+	 * @param port
+	 *            The port
+	 * @param prefix
+	 *            prefix string
+	 * @param type
+	 *            type name
+	 * @return the derived interface or null (if it cannot be created)
+	 */
+	public static Class getDerivedClass(Port port, String prefix) {
+		Type type = MapUtil.getOrCreateDerivedType(port.getBase_Port(), prefix+S_FORMAT, port.getType(), ECreateKind.NONE);
+		return type instanceof Class ? (Class) type : null;
+	}
+
+	/**
+	 * Get or create a derived interface for a port using a fixed prefix
+	 * type name
+	 *
+	 * @param port
+	 *            The port
+	 * @param prefix
+	 *            prefix string
+	 * @param type
+	 *            type name
+	 * @return the derived interface or null (if it cannot be created)
+	 */
+	public static Class getDerivedClass(Port port, String prefix, boolean update) {
+		return update ? getOrCreateDerivedClass(port, prefix) : getDerivedClass(port, prefix);
+	}
+
+	/**
+	 * Get a derived interface of a port. The interface is searched within the derived types
+	 * folder based on the passed prefix
+	 *
+	 * @param port
+	 *            The port
+	 * @param prefix
+	 *            prefix string
+	 * @param type
+	 *            FCM port type
+	 * @return the derived interface or null (if it cannot be created)
+	 */
+	public static Interface getDerivedInterface(Port port, String prefix) {
+		Type type = MapUtil.getOrCreateDerivedType(port.getBase_Port(), prefix+S_FORMAT, port.getType(), ECreateKind.NONE);
+		return type instanceof Interface ? (Interface) type : null;
+	}
+
+	/**
+	 * Get or create a derived interface for a port using a fixed prefix
+	 * type name
+	 *
+	 * @param port
+	 *            The port
+	 * @param prefix
+	 *            prefix string
+	 * @param type
+	 *            type name
+	 * @return the derived interface or null (if it cannot be created)
+	 */
+	public static Interface getDerivedInterface(Port port, String prefix, boolean update) {
+		return update ? getOrCreateDerivedInterface(port, prefix) : getDerivedInterface(port, prefix);
+	}
+
+	/**
+	 * Get or create a derived interface for a port using a fixed prefix
+	 * type name
+	 *
+	 * @param port
+	 *            The port
+	 * @param prefix
+	 *            prefix string
+	 * @param type
+	 *            type name
+	 * @param createKind
+	 *            if non NONE, create either an interfaces or a class, if it does not exist yet
+	 * @return the derived interface or null (if it cannot be created)
+	 */
+	public static Class getOrCreateDerivedClass(Port port, String prefix) {
+		Type type = MapUtil.getOrCreateDerivedType(port.getBase_Port(), prefix+S_FORMAT, port.getType(), ECreateKind.CLASS);
+		return type instanceof Class ? (Class) type : null;
+	}
+
+	/**
+	 * Get or create a derived interface for a port using a fixed prefix
+	 * type name
+	 *
+	 * @param port
+	 *            The port
+	 * @param prefix
+	 *            prefix string
+	 * @param type
+	 *            type name
+	 * @return the derived interface or null (if it cannot be created)
+	 */
+	public static Interface getOrCreateDerivedInterface(Port port, String prefix) {
+		Type type = MapUtil.getOrCreateDerivedType(port.getBase_Port(), prefix+S_FORMAT, port.getType(), ECreateKind.INTERFACE);
+		return type instanceof Interface ? (Interface) type : null;
+	}
+
+
+
+	/**b
+	 * Calculate derived required interface in function of port type and kind
+	 *
+	 * @param port
+	 *            the port, for which the calculation should be done
+	 * @return
+	 */
+	public static Type getDerivedType(final Port port) {
+		if (port.getBase_Port() == null) {
+			// should not happen, but can occur in case of corrupted XMI files
+			return null;
+		}
+		PortKind portKind = port.getKind();
+		if (portKind != null) {
+			String ruleName = portKind.isExtendedPort() ? "ExtendedPort" : portKind.getBase_Class().getName(); //$NON-NLS-1$
+			final IMappingRule mappingRule = getMappingRule(ruleName);
+			if (mappingRule != null) {
+				return mappingRule.calcDerivedType(port, false);
+			}
+		}
+		return null;
+	}
+
+
+	/**
+	 * Obtain the mapping rule for a port when the name of the portKind is given
+	 *
+	 * @param portKindName
+	 *            the name of the port-kind
+	 *
+	 * @return the mapping rule or null, if no rule could be found
+	 */
+	public static IMappingRule getMappingRule(String portKindName) {
+		IExtensionRegistry reg = Platform.getExtensionRegistry();
+		IConfigurationElement[] configElements = reg.getConfigurationElementsFor(Activator.PLUGIN_ID + "." + MAPPING_RULE_ID); //$NON-NLS-1$
+		for (IConfigurationElement configElement : configElements) {
+			try {
+				final String extPortKindName = configElement.getAttribute("portKindName"); //$NON-NLS-1$
+				if (extPortKindName.equals(portKindName)) {
+					final Object obj = configElement.createExecutableExtension("class"); //$NON-NLS-1$
+					if (obj instanceof IMappingRule) {
+						return (IMappingRule) obj;
+					}
+				}
+			} catch (CoreException exception) {
+				exception.printStackTrace();
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Get the mapping rule for a port
+	 *
+	 * @param port
+	 *            the FCM port
+	 * @return the mapping rule or null, if no rule could be found
+	 */
+	public static IMappingRule getMappingRule(final Port port) {
+		if (port.getBase_Port() == null) {
+			// should not happen, but can occur in case of corrupted XMI files
+			return null;
+		}
+		PortKind portKind = port.getKind();
+		if (portKind == null) {
+			return null;
+		}
+		if (portKind.getBase_Class() != null) {
+			String ruleName = portKind.isExtendedPort() ? "ExtendedPort" : portKind.getBase_Class().getName(); //$NON-NLS-1$
+			if (port instanceof TemplatePort) {
+				ruleName = "TemplatePort"; //$NON-NLS-1$
+			}
+			return getMappingRule(ruleName);
+		}
+		return null;
+	}
+
+	public static PortKind getBoundType(final Port port) {
+		if (port.getBase_Port() == null) {
+			// should not happen, but can occur in case of corrupted XMI files
+			return null;
+		} else {
+			String ruleName = "TemplatePort"; //$NON-NLS-1$
+			final IMappingRule mappingRule = getMappingRule(ruleName);
+			if (mappingRule instanceof ITemplateMappingRule) {
+				return ((ITemplateMappingRule) mappingRule).getBoundType(port);
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Update the derived interfaces of a port this operation needs to be
+	 * called in the context of an update command (transaction).
+	 *
+	 * @param port
+	 */
+	public static void update(final Port port) {
+		final IMappingRule mappingRule = getMappingRule(port);
+
+		if (mappingRule != null) {
+			Type type = mappingRule.calcDerivedType(port, true);
+			port.getBase_Port().setType(type);
+			if (mappingRule instanceof ITemplateMappingRule) {
+				((ITemplateMappingRule) mappingRule).updateBinding(port);
+			}
+		}
+	}
+
+	/**
+	 * Check whether a port needs to be updated, since its derived interfaces
+	 * are either not existing or out of date.
+	 *
+	 * @param port
+	 * @return
+	 */
+	public static boolean needsUpdate(final Port port) {
+		final IMappingRule mappingRule = getMappingRule(port);
+		if (mappingRule != null) {
+			return mappingRule.needsUpdate(port);
+		}
+		return false;
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/META-INF/MANIFEST.MF b/components/org.eclipse.papyrus.designer.components.modellibs.core/META-INF/MANIFEST.MF
index fc67734..e4248b4 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/META-INF/MANIFEST.MF
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/META-INF/MANIFEST.MF
@@ -1,12 +1,13 @@
 Manifest-Version: 1.0
 Export-Package: org.eclipse.papyrus.designer.components.modellibs.core,
- org.eclipse.papyrus.designer.components.modellibs.core.xtend
+ org.eclipse.papyrus.designer.components.modellibs.core.mappingrules,
+ org.eclipse.papyrus.designer.components.modellibs.core.transformations
 Require-Bundle: org.eclipse.ui,
  org.eclipse.ui.ide;bundle-version="3.8.0",
  org.eclipse.core.runtime,
  org.eclipse.papyrus.designer.components.fcm.profile;bundle-version="0.7.4",
- org.eclipse.papyrus.designer.components.transformation.core;bundle-version="0.7.4",
- org.eclipse.papyrus.designer.components.vsl;bundle-version="0.7.4",
+ org.eclipse.papyrus.designer.components.transformation;bundle-version="0.7.4",
+ org.eclipse.papyrus.designer.transformation.vsl;bundle-version="0.7.4",
  org.eclipse.uml2.uml;bundle-version="4.0.0",
  org.eclipse.papyrus.uml.tools.utils;bundle-version="1.2.0",
  org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
@@ -17,7 +18,12 @@
  org.eclipse.xtext.xbase.lib,
  org.eclipse.xtend.lib,
  org.eclipse.xtend.lib.macro,
- org.eclipse.papyrus.designer.languages.cpp.codegen;bundle-version="0.7.4"
+ org.eclipse.papyrus.designer.transformation.core;bundle-version="0.7.4",
+ org.eclipse.papyrus.designer.transformation.base;bundle-version="0.7.4",
+ org.eclipse.papyrus.designer.transformation.extensions;bundle-version="0.7.4",
+ org.eclipse.papyrus.designer.transformation.profile;bundle-version="0.7.4",
+ org.eclipse.papyrus.designer.deployment.tools;bundle-version="0.7.5",
+ org.eclipse.papyrus.designer.languages.common.profile;bundle-version="1.0.2"
 Bundle-Vendor: %providerName
 Bundle-ActivationPolicy: lazy
 Bundle-Version: 0.7.5.qualifier
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/AbitComplexSM.notation b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/AbitComplexSM.notation
deleted file mode 100644
index a5bc6f1..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/AbitComplexSM.notation
+++ /dev/null
@@ -1,1039 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
-  <notation:Diagram xmi:id="_XSHWMF36Ed-UvNEDwY5GNg" type="PapyrusUMLClassDiagram" name="Interfaces" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_MTW5IDcZEeGPyrZ5I3hMlA" type="Interface_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTYuUDcZEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTYuUTcZEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTZVYDcZEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTZVYTcZEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTZVYjcZEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTZVYzcZEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_MTZVZDcZEeGPyrZ5I3hMlA" type="Interface_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IDa5YPX4EeWa_pjn9guopQ" visible="false" type="Interface_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZVZjcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZVZzcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZVaDcZEeGPyrZ5I3hMlA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZVaTcZEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IHycAPX4EeWa_pjn9guopQ" type="Interface_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_QIpIoDcZEeGPyrZ5I3hMlA" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-jHsIFmOEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-ovzAFmOEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="AbitComplexSM.uml#_DGs6wDLgEd28fJKJJnUaeQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_QIpIoTcZEeGPyrZ5I3hMlA"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_QIqWwDcZEeGPyrZ5I3hMlA" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__X1GkFmOEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__X6mIFmOEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="AbitComplexSM.uml#_L8EY8DLgEd28fJKJJnUaeQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_QIqWwTcZEeGPyrZ5I3hMlA"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_1U9e4McqEeSsAI2TZshUyg" type="Reception_InterfaceReceptionLabel">
-          <element xmi:type="uml:Reception" href="AbitComplexSM.uml#_1U0U8McqEeSsAI2TZshUyg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1U9e4ccqEeSsAI2TZshUyg"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_M-0sIMcrEeSsAI2TZshUyg" type="Reception_InterfaceReceptionLabel">
-          <element xmi:type="uml:Reception" href="AbitComplexSM.uml#_M-tXYMcrEeSsAI2TZshUyg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_M-0sIccrEeSsAI2TZshUyg"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZ8cDcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZ8cTcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZ8cjcZEeGPyrZ5I3hMlA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZ8czcZEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IHycAfX4EeWa_pjn9guopQ" visible="false" type="Interface_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZ8dTcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZ8djcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZ8dzcZEeGPyrZ5I3hMlA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZ8eDcZEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hsloIFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hsloIVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hsloIlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_XYUeMGkLEeWakucY9QdE0g" type="Interface_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_XYUeMWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Interface" href="AbitComplexSM.uml#_cn-H0DLbEd2qeKRLMdIx_A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTW5ITcZEeGPyrZ5I3hMlA" x="150" y="111" width="337" height="110"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_ywpIAMcqEeSsAI2TZshUyg" type="Signal_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_ywpvEMcqEeSsAI2TZshUyg" type="Signal_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ywpvEccqEeSsAI2TZshUyg" type="Signal_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_ywpvEscqEeSsAI2TZshUyg" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IH2tcPX4EeWa_pjn9guopQ" type="Signal_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_ywqWIccqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_ywqWIscqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_ywqWI8cqEeSsAI2TZshUyg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ywqWJMcqEeSsAI2TZshUyg"/>
-      </children>
-      <element xmi:type="uml:Signal" href="AbitComplexSM.uml#_ywk2kMcqEeSsAI2TZshUyg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ywpIAccqEeSsAI2TZshUyg" x="640" y="120"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_z0oUkMcqEeSsAI2TZshUyg" type="Signal_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_z0o7oMcqEeSsAI2TZshUyg" type="Signal_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_z0o7occqEeSsAI2TZshUyg" type="Signal_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_z0o7oscqEeSsAI2TZshUyg" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IH4ioPX4EeWa_pjn9guopQ" type="Signal_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_z0o7pMcqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_z0o7pccqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_z0o7pscqEeSsAI2TZshUyg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0o7p8cqEeSsAI2TZshUyg"/>
-      </children>
-      <element xmi:type="uml:Signal" href="AbitComplexSM.uml#_z0nGcMcqEeSsAI2TZshUyg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0oUkccqEeSsAI2TZshUyg" x="840" y="120"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_XSHWMV36Ed-UvNEDwY5GNg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_XYVFQGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="AbitComplexSM.uml#_Tp4n8DLaEd2qeKRLMdIx_A"/>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_aeSh0F37Ed-UvNEDwY5GNg" type="CompositeStructure" name="CompositeDiagram SimpleSM" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_c2tKsF37Ed-UvNEDwY5GNg" type="Class_Shape" fontName="Monospace" fontHeight="10" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MXrr0H8eEd-5xfPoaTlRww" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MXsS4H8eEd-5xfPoaTlRww" key="QualifiedNameDepth" value="1"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NqCEgH8eEd-5xfPoaTlRww" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NqCEgX8eEd-5xfPoaTlRww" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_c2tKsl37Ed-UvNEDwY5GNg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_I-1YwPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2tKtF37Ed-UvNEDwY5GNg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_FzA74GfbEd-T-rJ3Ep9Y5Q" type="Port_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzSosGfbEd-T-rJ3Ep9Y5Q" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzTPwGfbEd-T-rJ3Ep9Y5Q" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzTPwWfbEd-T-rJ3Ep9Y5Q" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzT20GfbEd-T-rJ3Ep9Y5Q" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzT20WfbEd-T-rJ3Ep9Y5Q" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzT20mfbEd-T-rJ3Ep9Y5Q" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FzUd4GfbEd-T-rJ3Ep9Y5Q" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FzUd4WfbEd-T-rJ3Ep9Y5Q" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FzUd4mfbEd-T-rJ3Ep9Y5Q" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FzUd42fbEd-T-rJ3Ep9Y5Q" x="-50" y="-30"/>
-        </children>
-        <element xmi:type="uml:Port" href="AbitComplexSM.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FzA74WfbEd-T-rJ3Ep9Y5Q" x="-10" y="130"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hw-_8FbmEeObiJAlOlmjpQ" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hw-_8VbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="FCM:RuleApplication" href="AbitComplexSM.uml#_DWIYoP6yEd6Ie_kieu_3CQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hw-_8lbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hxIJ4FbmEeObiJAlOlmjpQ" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hxIJ4VbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="C_Cpp:Include" href="AbitComplexSM.uml#_EaeJMNp0EeKd1ax3yaXM9w"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxIJ4lbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hxIJ41bmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hxIJ5FbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxIJ5VbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Xth5MGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Xth5MWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Xvnj4GkLEeWakucY9QdE0g" type="StereotypeCompartment">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XvvfsGkLEeWakucY9QdE0g" source="PapyrusCSSForceValue">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XvvfsWkLEeWakucY9QdE0g" key="visible" value="true"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_XvoyAGkLEeWakucY9QdE0g" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_r2VLUJD2Ed-I9dVdNhZAGQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_XvoyAWkLEeWakucY9QdE0g"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Xvnj4WkLEeWakucY9QdE0g" showTitle="true"/>
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_Xvnj4mkLEeWakucY9QdE0g" name="stereotype" stringValue="FCM::RuleApplication"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_te7YAMtkEd2H_o0jIC6qDQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xvnj42kLEeWakucY9QdE0g"/>
-      </children>
-      <element xmi:type="uml:Class" href="AbitComplexSM.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2tKsV37Ed-UvNEDwY5GNg" x="100" y="140" width="321" height="161"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_ccPtMDemEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQUQDemEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQUQTemEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQUQjemEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQUQzemEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQURDemEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQURTemEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ccQURjemEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="AbitComplexSM.uml#_cb-ncDemEeGPyrZ5I3hMlA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccPtMTemEeGPyrZ5I3hMlA" x="500" y="140" width="184"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Xvj5gGkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_Xvj5gWkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xvj5g2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="AbitComplexSM.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xvj5gmkLEeWakucY9QdE0g" x="308" y="72"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_XxYecGkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_XxYecWkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XxYec2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="AbitComplexSM.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XxYecmkLEeWakucY9QdE0g" x="190" y="108"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Dv6ycCgBEeapjr3l63b85A" type="Class_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Dv91wCgBEeapjr3l63b85A" type="Class_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Dv91wSgBEeapjr3l63b85A" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Dv91wigBEeapjr3l63b85A" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Dv-c0CgBEeapjr3l63b85A" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Dv-c0SgBEeapjr3l63b85A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dv-c0igBEeapjr3l63b85A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Dwk5wCgBEeapjr3l63b85A" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Dwk5wSgBEeapjr3l63b85A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dwk5wigBEeapjr3l63b85A"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_PI7SECgBEeapjr3l63b85A" type="Port_Shape">
-        <children xmi:type="notation:DecorationNode" xmi:id="_PI7SEigBEeapjr3l63b85A" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_PI7SEygBEeapjr3l63b85A" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_PI7SFCgBEeapjr3l63b85A" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_PI7SFSgBEeapjr3l63b85A" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PI7SESgBEeapjr3l63b85A" x="-10" y="30"/>
-      </children>
-      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dv6ycSgBEeapjr3l63b85A" x="100" y="20" width="321" height="61"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_PJhvACgBEeapjr3l63b85A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_PJhvASgBEeapjr3l63b85A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_PJhvAygBEeapjr3l63b85A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PJhvAigBEeapjr3l63b85A" x="190" y="-9"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_aeSh0V37Ed-UvNEDwY5GNg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_Xth5MmkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_0yX_oCgBEeapjr3l63b85A">
-      <owner xmi:type="uml:Package" href="AbitComplexSM.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
-    </styles>
-    <element xmi:type="uml:Package" href="AbitComplexSM.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
-    <edges xmi:type="notation:Connector" xmi:id="_gMg50DemEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_ccPtMDemEeGPyrZ5I3hMlA" target="_c2tKsF37Ed-UvNEDwY5GNg" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_gMg50TemEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gMg50jemEeGPyrZ5I3hMlA" points="[-10, -7, 55, 0]$[-42, -9, 23, -2]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gM_a8DemEeGPyrZ5I3hMlA" id="(0.0,0.6349206349206349)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gNACADemEeGPyrZ5I3hMlA" id="(1.0,0.43795620437956206)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Xvj5hGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_c2tKsF37Ed-UvNEDwY5GNg" target="_Xvj5gGkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_Xvj5hWkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xvj5iWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="AbitComplexSM.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xvj5hmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xvj5h2kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xvj5iGkLEeWakucY9QdE0g"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_XxYedGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_FzA74GfbEd-T-rJ3Ep9Y5Q" target="_XxYecGkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_XxYedWkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XxZFgGkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="AbitComplexSM.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XxYedmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XxYed2kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XxYeeGkLEeWakucY9QdE0g"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_LvBXACgBEeapjr3l63b85A" type="Generalization_Edge" source="_c2tKsF37Ed-UvNEDwY5GNg" target="_Dv6ycCgBEeapjr3l63b85A">
-      <children xmi:type="notation:DecorationNode" xmi:id="_LvClICgBEeapjr3l63b85A" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LvClISgBEeapjr3l63b85A" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_LvBXASgBEeapjr3l63b85A"/>
-      <element xmi:type="uml:Generalization" href="AbitComplexSM.uml#_LuEUwCgBEeapjr3l63b85A"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LvBXAigBEeapjr3l63b85A" points="[260, 140, -643984, -643984]$[260, 66, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LvZxgCgBEeapjr3l63b85A" id="(0.4984423676012461,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LvZxgSgBEeapjr3l63b85A" id="(0.4984423676012461,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_PJhvBCgBEeapjr3l63b85A" type="StereotypeCommentLink" source="_PI7SECgBEeapjr3l63b85A" target="_PJhvACgBEeapjr3l63b85A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_PJhvBSgBEeapjr3l63b85A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_PJiWECgBEeapjr3l63b85A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PJhvBigBEeapjr3l63b85A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PJhvBygBEeapjr3l63b85A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PJhvCCgBEeapjr3l63b85A"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_q-Wa0F37Ed-UvNEDwY5GNg" type="CompositeStructure" name="CompositeDiagram System" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_sGaPEF37Ed-UvNEDwY5GNg" type="Class_Shape" fontName="Sans Serif" fontHeight="10" transparency="0" gradient="8047085, 0, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6B6WUGSuEd-dQdK1-7wIFg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6B69YGSuEd-dQdK1-7wIFg" key="QualifiedNameDepth" value="3"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_62o-4GSuEd-dQdK1-7wIFg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_62o-4WSuEd-dQdK1-7wIFg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KXK-0GGEEeO2F4QRMDSOXg" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KXK-0WGEEeO2F4QRMDSOXg" key="fillColor" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_sGa2IF37Ed-UvNEDwY5GNg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JEi_MPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_vHCHcF37Ed-UvNEDwY5GNg" type="Property_Shape" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_haY70F38Ed-UvNEDwY5GNg" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_haY70V38Ed-UvNEDwY5GNg" key="QualifiedNameDepth" value="4"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_64BTMHl_EeOuQYJqyYp5HQ" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_64BTMXl_EeOuQYJqyYp5HQ" key="fillColor" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_vHCHcl37Ed-UvNEDwY5GNg" type="Property_NameLabel">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DC4cAFmPEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DJ5qAFmPEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JEkNUfX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vHCHdF37Ed-UvNEDwY5GNg"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_zk0VwDrcEeGgAdAmWw4pyQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk080TrcEeGgAdAmWw4pyQ" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk080jrcEeGgAdAmWw4pyQ" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk080zrcEeGgAdAmWw4pyQ" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk081DrcEeGgAdAmWw4pyQ" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk1j4DrcEeGgAdAmWw4pyQ" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk1j4TrcEeGgAdAmWw4pyQ" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_zk1j4jrcEeGgAdAmWw4pyQ" type="Port_NameLabel">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BYsLEFmPEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BeLIAFmPEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="28"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_zk1j4zrcEeGgAdAmWw4pyQ" x="25" y="3"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_zk1j5DrcEeGgAdAmWw4pyQ" visible="false" type="Port_StereotypeLabel">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_zk1j5TrcEeGgAdAmWw4pyQ" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="AbitComplexSM.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zk080DrcEeGgAdAmWw4pyQ" x="-10" y="50"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_hzStEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_hzStEVbmEeObiJAlOlmjpQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hzStElbmEeObiJAlOlmjpQ"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_Xx40xGkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_Xx40xWkLEeWakucY9QdE0g" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="AbitComplexSM.uml#_gV1cgDLiEd2RVeNawwNNzg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vHCHcV37Ed-UvNEDwY5GNg" x="54" y="33" width="201" height="112"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_X1dtMmkLEeWakucY9QdE0g" type="StereotypeComment">
-          <styles xmi:type="notation:TitleStyle" xmi:id="_X1dtM2kLEeWakucY9QdE0g" showTitle="true"/>
-          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X1dtNWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-            <eObjectValue xmi:type="uml:Port" href="AbitComplexSM.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-          </styles>
-          <element xsi:nil="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X1dtNGkLEeWakucY9QdE0g" x="190" y="59"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGa2Il37Ed-UvNEDwY5GNg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hzPCsFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hzPCsVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hzPCslbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Xx40wGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Xx40wWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="AbitComplexSM.uml#_bYJagDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGaPEV37Ed-UvNEDwY5GNg" x="60" y="40" width="321" height="221"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_q-Wa0V37Ed-UvNEDwY5GNg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_Xx40ymkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="AbitComplexSM.uml#_XLQjUDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_X1dtNmkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_zk0VwDrcEeGgAdAmWw4pyQ" target="_X1dtMmkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_X1dtN2kLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X1eUQmkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="AbitComplexSM.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X1dtOGkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X1eUQGkLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X1eUQWkLEeWakucY9QdE0g"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_6FvnwGONEd-seu3qyZgHfg" type="PapyrusUMLClassDiagram" name="deployment plans" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_TOVRYHltEeOh_8tymvdOOg" type="Package_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_TOVRYnltEeOh_8tymvdOOg" type="Package_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JLvMUPX4EeWa_pjn9guopQ" type="Package_PackagedElementCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_TOVRZHltEeOh_8tymvdOOg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TOVRZXltEeOh_8tymvdOOg"/>
-      </children>
-      <element xmi:type="uml:Package" href="AbitComplexSM.uml#_QQiDgHltEeOh_8tymvdOOg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TOVRYXltEeOh_8tymvdOOg" x="149" y="152" width="221" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_X47Q4GkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_X47Q4WkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X47Q42kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Package" href="AbitComplexSM.uml#_QQiDgHltEeOh_8tymvdOOg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X47Q4mkLEeWakucY9QdE0g" x="240" y="40"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_6FvnwWONEd-seu3qyZgHfg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_X3OnwGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="AbitComplexSM.uml#_234GEDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_X4738GkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_TOVRYHltEeOh_8tymvdOOg" target="_X47Q4GkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_X4738WkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X4739WkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Package" href="AbitComplexSM.uml#_QQiDgHltEeOh_8tymvdOOg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X4738mkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X47382kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X4739GkLEeWakucY9QdE0g"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_KYrjcKxkEeCgusK7cm6qjQ" type="PapyrusUMLClassDiagram" name="Platform" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_LsWKwKxkEeCgusK7cm6qjQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx0KxkEeCgusK7cm6qjQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx0axkEeCgusK7cm6qjQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx0qxkEeCgusK7cm6qjQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx06xkEeCgusK7cm6qjQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx1KxkEeCgusK7cm6qjQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx1axkEeCgusK7cm6qjQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LsWx1qxkEeCgusK7cm6qjQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JOqkgPX4EeWa_pjn9guopQ" visible="false" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY4axkEeCgusK7cm6qjQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY4qxkEeCgusK7cm6qjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY46xkEeCgusK7cm6qjQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JOrLkPX4EeWa_pjn9guopQ" visible="false" type="Class_OperationCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY5axkEeCgusK7cm6qjQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY5qxkEeCgusK7cm6qjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY56xkEeCgusK7cm6qjQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JOrLkfX4EeWa_pjn9guopQ" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY6axkEeCgusK7cm6qjQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY6qxkEeCgusK7cm6qjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY66xkEeCgusK7cm6qjQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h25asFbmEeObiJAlOlmjpQ" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h25asVbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="FCM:Target" href="AbitComplexSM.uml#_HvbFMLqQEd-BObGGoBbehA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h25aslbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h26BwFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h26BwVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h26BwlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X5Fo8GkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X5Fo8WkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Node" href="AbitComplexSM.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsWKwaxkEeCgusK7cm6qjQ" x="57" y="55" width="160" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_X6kPoGkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_X6kPoWkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X6kPo2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Node" href="AbitComplexSM.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X6kPomkLEeWakucY9QdE0g" x="257" y="55"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_KYrjcaxkEeCgusK7cm6qjQ"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_X5Fo8mkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="AbitComplexSM.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_X6kPpGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_LsWKwKxkEeCgusK7cm6qjQ" target="_X6kPoGkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_X6kPpWkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X6kPqWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Node" href="AbitComplexSM.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X6kPpmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X6kPp2kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X6kPqGkLEeWakucY9QdE0g"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_HoscYMniEeCMCo5Ox2CNmg" type="CompositeStructure" name="HWArchitecture" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_M1wXIMniEeCMCo5Ox2CNmg" type="Class_Shape" fontName="" fontHeight="10" fillColor="10011046" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BgMniEeCMCo5Ox2CNmg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10BgcniEeCMCo5Ox2CNmg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BgsniEeCMCo5Ox2CNmg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10Bg8niEeCMCo5Ox2CNmg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BhMniEeCMCo5Ox2CNmg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10BhcniEeCMCo5Ox2CNmg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_M10BhsniEeCMCo5Ox2CNmg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JRHbkPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_QgbSEMniEeCMCo5Ox2CNmg" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgbSEsniEeCMCo5Ox2CNmg" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QgbSE8niEeCMCo5Ox2CNmg" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qgb5IMniEeCMCo5Ox2CNmg" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qgb5IcniEeCMCo5Ox2CNmg" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qgb5IsniEeCMCo5Ox2CNmg" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qgb5I8niEeCMCo5Ox2CNmg" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_Qgb5JMniEeCMCo5Ox2CNmg" type="Property_NameLabel"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JRICoPX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qgb5JsniEeCMCo5Ox2CNmg"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_h493QFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_h493QVbmEeObiJAlOlmjpQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h493QlbmEeObiJAlOlmjpQ"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_X6unsmkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_X6uns2kLEeWakucY9QdE0g" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="AbitComplexSM.uml#_QgKzYMniEeCMCo5Ox2CNmg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QgbSEcniEeCMCo5Ox2CNmg" x="83" y="28" width="165" height="55"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_Ndrf8GGIEeO2F4QRMDSOXg" type="Property_Shape">
-          <children xmi:type="notation:DecorationNode" xmi:id="_Ndrf8mGIEeO2F4QRMDSOXg" type="Property_NameLabel"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JRJQwPX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_Ndrf9GGIEeO2F4QRMDSOXg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ndrf9WGIEeO2F4QRMDSOXg"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_znjjUHDZEeORJcfdyIEeTg" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_znjjUXDZEeORJcfdyIEeTg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_znjjUnDZEeORJcfdyIEeTg"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_X6untGkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_X6untWkLEeWakucY9QdE0g" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="AbitComplexSM.uml#_Ndc2cGGIEeO2F4QRMDSOXg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ndrf8WGIEeO2F4QRMDSOXg" x="346" y="33" width="109"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M10BiMniEeCMCo5Ox2CNmg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h48CEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h48CEVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h48CElbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X6unsGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unsWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="AbitComplexSM.uml#_M1a_8MniEeCMCo5Ox2CNmg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M1wXIcniEeCMCo5Ox2CNmg" x="72" y="72" width="577" height="163"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_BLhG8DemEeGPyrZ5I3hMlA" type="Node_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG8jemEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG8zemEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG9DemEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG9TemEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG9jemEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG9zemEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_BLhuADemEeGPyrZ5I3hMlA" type="Node_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JRKe4PX4EeWa_pjn9guopQ" visible="false" type="Node_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_BLhuAjemEeGPyrZ5I3hMlA" showTitle="true"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BLhuAzemEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h4_FYFbmEeObiJAlOlmjpQ" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h4_FYVbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="FCM:Target" href="AbitComplexSM.uml#_HvbFMLqQEd-BObGGoBbehA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h4_FYlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h5CIsFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h5CIsVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h5CIslbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X6untmkLEeWakucY9QdE0g" type="Node_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unt2kLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_X8sWkGkLEeWakucY9QdE0g" type="StereotypeCompartment">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_X8woAGkLEeWakucY9QdE0g" source="PapyrusCSSForceValue">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X8xPEGkLEeWakucY9QdE0g" key="visible" value="true"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_X8uLwmkLEeWakucY9QdE0g" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_BZCjMJOGEd-5qPBhYeIVtw"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_X8uLw2kLEeWakucY9QdE0g"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_X8tksGkLEeWakucY9QdE0g" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#__5rAUGE_Ed-eArNXja7SuA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_X8tksWkLEeWakucY9QdE0g"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_X8sWkWkLEeWakucY9QdE0g" showTitle="true"/>
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_X8sWkmkLEeWakucY9QdE0g" name="stereotype" stringValue="FCM::Target"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X8sWk2kLEeWakucY9QdE0g"/>
-      </children>
-      <element xmi:type="uml:Node" href="AbitComplexSM.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BLhG8TemEeGPyrZ5I3hMlA" x="71" y="269" width="164" height="119"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_GVBbMGGIEeO2F4QRMDSOXg" type="Class_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_GVCCQGGIEeO2F4QRMDSOXg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JRLF8PX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_GVCCQmGIEeO2F4QRMDSOXg" showTitle="true"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GVCCQ2GIEeO2F4QRMDSOXg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_znnNsHDZEeORJcfdyIEeTg" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_znnNsXDZEeORJcfdyIEeTg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_znnNsnDZEeORJcfdyIEeTg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X6unuGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unuWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="AbitComplexSM.uml#_GUl9YGGIEeO2F4QRMDSOXg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GVBbMWGIEeO2F4QRMDSOXg" x="459" y="270" width="187" height="118"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_HoscYcniEeCMCo5Ox2CNmg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_X6unumkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="AbitComplexSM.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_0MCIsOYXEeCBL_IbXY9ofw" type="PapyrusUMLStateMachineDiagram" name="SmDiagramServer" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_0MCIseYXEeCBL_IbXY9ofw" type="StateMachine_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIsuYXEeCBL_IbXY9ofw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIs-YXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItOYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIteYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItuYXEeCBL_IbXY9ofw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIt-YXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JlR4wHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JlR4wXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LKHvoHn3EeOfttgBwSq-Ig" key="gradient" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0MCIuOYXEeCBL_IbXY9ofw" type="StateMachine_NameLabel">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIueYXEeCBL_IbXY9ofw" width="981" height="20"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JVovMPX4EeWa_pjn9guopQ" type="StateMachine_RegionCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_0MCIu-YXEeCBL_IbXY9ofw" type="Region_Shape" fontName="Sans Serif" lineColor="0" lineWidth="1">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvOYXEeCBL_IbXY9ofw" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIveYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvuYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIv-YXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwOYXEeCBL_IbXY9ofw" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIweYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwuYXEeCBL_IbXY9ofw" source="RegionAnnotationKey">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIw-YXEeCBL_IbXY9ofw" key="RegionZoneKey" value=""/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TbH8gHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TbH8gXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uP7skPZMEeWa_pjn9guopQ" key="lineWidth" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JVpWQPX4EeWa_pjn9guopQ" type="Region_SubvertexCompartment">
-            <children xmi:type="notation:Shape" xmi:id="_1U-twOYXEeCBL_IbXY9ofw" type="Pseudostate_InitialShape" fontName="Sans Serif" fillColor="0" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_U0OYXEeCBL_IbXY9ofw" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74OYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74eYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74uYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74-YXEeCBL_IbXY9ofw" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_75OYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LqN7kMcpEeSsAI2TZshUyg" source="PapyrusCSSForceValue">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LqPJsMcpEeSsAI2TZshUyg" key="gradient" value="true"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75eYXEeCBL_IbXY9ofw" type="Pseudostate_InitialFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_75uYXEeCBL_IbXY9ofw" x="36" y="-9"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75-YXEeCBL_IbXY9ofw" type="Pseudostate_InitialStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_76OYXEeCBL_IbXY9ofw" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="AbitComplexSM.uml#_1UVNgOYXEeCBL_IbXY9ofw"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1U-tweYXEeCBL_IbXY9ofw" x="41" y="18"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_53eokOYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPoOYXEeCBL_IbXY9ofw" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53fPoeYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPouYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2sOYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53f2seYXEeCBL_IbXY9ofw" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2suYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_53f2s-YXEeCBL_IbXY9ofw" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7PRh8OYXEeCBL_IbXY9ofw" width="99" height="20"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_JVp9UPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
-                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PvBTIPX4EeWa_pjn9guopQ" source="PapyrusCSSForceValue">
-                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PvB6MPX4EeWa_pjn9guopQ" key="visible" value="true"/>
-                </eAnnotations>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53f2teYXEeCBL_IbXY9ofw" y="20" width="99" height="43"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_h9cHkFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_h9cHkVbmEeObiJAlOlmjpQ"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9cHklbmEeObiJAlOlmjpQ"/>
-              </children>
-              <element xmi:type="uml:State" href="AbitComplexSM.uml#_53E_8OYXEeCBL_IbXY9ofw"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53eokeYXEeCBL_IbXY9ofw" x="180" y="40" width="99" height="63"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_8AQS8OYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8AQ6AOYXEeCBL_IbXY9ofw" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEOYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhEeYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEuYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhE-YXEeCBL_IbXY9ofw" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhFOYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_8ARhFeYXEeCBL_IbXY9ofw" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8A06sOYXEeCBL_IbXY9ofw" width="100" height="20"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_JVrLcPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8ARhF-YXEeCBL_IbXY9ofw" y="20" width="100" height="42"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_h9ej0FbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_h9ej0VbmEeObiJAlOlmjpQ"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ej0lbmEeObiJAlOlmjpQ"/>
-              </children>
-              <element xmi:type="uml:State" href="AbitComplexSM.uml#_7_1cMOYXEeCBL_IbXY9ofw"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8AQS8eYXEeCBL_IbXY9ofw" x="179" y="238" width="100" height="62"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_oxRiMCjmEeaJJusTB1aIbg" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_oxSwUCjmEeaJJusTB1aIbg" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p6M5ICjmEeaJJusTB1aIbg" width="101"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_oxTXYCjmEeaJJusTB1aIbg" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_oxTXYSjmEeaJJusTB1aIbg" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_oxTXYijmEeaJJusTB1aIbg" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxTXYyjmEeaJJusTB1aIbg" y="-1" width="101"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_8DYl4CkDEeaWptp_P1JVYQ" type="compartment_shape_display">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_8DYl4SkDEeaWptp_P1JVYQ"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8DYl4ikDEeaWptp_P1JVYQ"/>
-              </children>
-              <children xmi:type="notation:Shape" xmi:id="_hGz_0CkFEeaWptp_P1JVYQ" type="Behavior_EntryBehaviorLabel">
-                <element xmi:type="uml:OpaqueBehavior" href="AbitComplexSM.uml#_hGRNQCkFEeaWptp_P1JVYQ"/>
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_hGz_0SkFEeaWptp_P1JVYQ" x="-10" y="-10"/>
-              </children>
-              <element xmi:type="uml:State" href="AbitComplexSM.uml#_owZYcCjmEeaJJusTB1aIbg"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxRiMSjmEeaJJusTB1aIbg" x="599" y="40" width="101" height="61"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="__-OxACjmEeaJJusTB1aIbg" type="Pseudostate_JunctionShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="__-PYECjmEeaJJusTB1aIbg" visible="false" type="Pseudostate_JunctionFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYESjmEeaJJusTB1aIbg" x="34" y="22"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="__-PYEijmEeaJJusTB1aIbg" type="Pseudostate_JunctionStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYEyjmEeaJJusTB1aIbg" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="AbitComplexSM.uml#__9lQwCjmEeaJJusTB1aIbg"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="__-OxASjmEeaJJusTB1aIbg" x="559" y="160"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_mySKUCkEEeaWptp_P1JVYQ" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_myTYcCkEEeaWptp_P1JVYQ" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nRa9YCkEEeaWptp_P1JVYQ" width="421" height="20"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_myTYcSkEEeaWptp_P1JVYQ" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_myTYcikEEeaWptp_P1JVYQ" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_myTYcykEEeaWptp_P1JVYQ" type="State_RegionCompartment">
-                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pXB_ACkEEeaWptp_P1JVYQ" source="PapyrusCSSForceValue">
-                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pXCmECkEEeaWptp_P1JVYQ" key="visible" value="true"/>
-                </eAnnotations>
-                <children xmi:type="notation:Shape" xmi:id="_pXLI8CkEEeaWptp_P1JVYQ" type="Region_Shape">
-                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pXLwAikEEeaWptp_P1JVYQ" source="RegionAnnotationKey">
-                    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pXLwAykEEeaWptp_P1JVYQ" key="RegionZoneKey" value=""/>
-                  </eAnnotations>
-                  <children xmi:type="notation:BasicCompartment" xmi:id="_pXLwACkEEeaWptp_P1JVYQ" type="Region_SubvertexCompartment">
-                    <children xmi:type="notation:Shape" xmi:id="_pXOzUCkEEeaWptp_P1JVYQ" type="State_Shape">
-                      <children xmi:type="notation:DecorationNode" xmi:id="_pXOzUikEEeaWptp_P1JVYQ" type="State_NameLabel">
-                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m48BwCu-EeafWNwvkqnGkA" width="81"/>
-                      </children>
-                      <children xmi:type="notation:DecorationNode" xmi:id="_pXOzUykEEeaWptp_P1JVYQ" type="State_FloatingNameLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_pXOzVCkEEeaWptp_P1JVYQ" x="40"/>
-                      </children>
-                      <children xmi:type="notation:BasicCompartment" xmi:id="_pXOzVSkEEeaWptp_P1JVYQ" type="State_RegionCompartment">
-                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pXOzVikEEeaWptp_P1JVYQ" y="-1" width="81"/>
-                      </children>
-                      <element xmi:type="uml:State" href="AbitComplexSM.uml#_pXM-ICkEEeaWptp_P1JVYQ"/>
-                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pXOzUSkEEeaWptp_P1JVYQ" x="219" y="60" width="81" height="61"/>
-                    </children>
-                    <children xmi:type="notation:Shape" xmi:id="_w_1jcCkEEeaWptp_P1JVYQ" type="Pseudostate_ShallowHistoryShape">
-                      <children xmi:type="notation:DecorationNode" xmi:id="_w_2KgCkEEeaWptp_P1JVYQ" type="Pseudostate_ShallowHistoryFloatingNameLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_w_2KgSkEEeaWptp_P1JVYQ" x="40" y="-20"/>
-                      </children>
-                      <children xmi:type="notation:DecorationNode" xmi:id="_w_2KgikEEeaWptp_P1JVYQ" type="Pseudostate_ShallowHistoryStereotypeLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_w_2KgykEEeaWptp_P1JVYQ" x="25" y="-10"/>
-                      </children>
-                      <element xmi:type="uml:Pseudostate" href="AbitComplexSM.uml#_w-8yoCkEEeaWptp_P1JVYQ"/>
-                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w_1jcSkEEeaWptp_P1JVYQ" x="19" y="20"/>
-                    </children>
-                    <children xmi:type="notation:Shape" xmi:id="_-BL54CkEEeaWptp_P1JVYQ" type="State_Shape">
-                      <children xmi:type="notation:DecorationNode" xmi:id="_-BL54ikEEeaWptp_P1JVYQ" type="State_NameLabel">
-                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zUfjgCu-EeafWNwvkqnGkA" width="78"/>
-                      </children>
-                      <children xmi:type="notation:DecorationNode" xmi:id="_-BL54ykEEeaWptp_P1JVYQ" type="State_FloatingNameLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_-BMg8CkEEeaWptp_P1JVYQ" x="40"/>
-                      </children>
-                      <children xmi:type="notation:BasicCompartment" xmi:id="_-BMg8SkEEeaWptp_P1JVYQ" type="State_RegionCompartment">
-                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-BMg8ikEEeaWptp_P1JVYQ" y="-1" width="78"/>
-                      </children>
-                      <element xmi:type="uml:State" href="AbitComplexSM.uml#_-AIxACkEEeaWptp_P1JVYQ"/>
-                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-BL54SkEEeaWptp_P1JVYQ" x="19" y="80" width="78" height="61"/>
-                    </children>
-                    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pXLwASkEEeaWptp_P1JVYQ"/>
-                  </children>
-                  <element xmi:type="uml:Region" href="AbitComplexSM.uml#_pXD0MCkEEeaWptp_P1JVYQ"/>
-                  <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pXLI8SkEEeaWptp_P1JVYQ" width="421" height="181"/>
-                </children>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_myTYdCkEEeaWptp_P1JVYQ" y="20" width="421" height="181"/>
-              </children>
-              <element xmi:type="uml:State" href="AbitComplexSM.uml#_mxZZgCkEEeaWptp_P1JVYQ"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mySKUSkEEeaWptp_P1JVYQ" x="539" y="240" width="421" height="201"/>
-            </children>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxeYXEeCBL_IbXY9ofw"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_h9XPEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_h9XPEVbmEeObiJAlOlmjpQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9XPElbmEeObiJAlOlmjpQ"/>
-          </children>
-          <element xmi:type="uml:Region" href="AbitComplexSM.uml#_0Lv00OYXEeCBL_IbXY9ofw"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxuYXEeCBL_IbXY9ofw" width="981" height="461"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIx-YXEeCBL_IbXY9ofw" y="20" width="981" height="461"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h9ULwFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h9ULwVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ULwlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <styles xmi:type="notation:StringListValueStyle" xmi:id="_v51OQHn2EeOfttgBwSq-Ig" name="cssClass"/>
-      <element xmi:type="uml:StateMachine" href="AbitComplexSM.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIyOYXEeCBL_IbXY9ofw" x="40" y="40" width="981" height="481"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_0MCIyeYXEeCBL_IbXY9ofw"/>
-    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_B2g2QHn3EeOfttgBwSq-Ig" name="css_stylesheets" eObjectListValue="_B2g2QXn3EeOfttgBwSq-Ig"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_YAq3oGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:StateMachine" href="AbitComplexSM.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
-    <edges xmi:type="notation:Connector" xmi:id="_CLUHAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_1U-twOYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_loi7ECkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8MeYYEeCBL_IbXY9ofw" x="-5" y="1"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MuYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lpG7wCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8M-YYEeCBL_IbXY9ofw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8NOYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lpZ2sCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8NeYYEeCBL_IbXY9ofw" x="1" y="58"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_CLUHAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_CLBzIOYYEeCBL_IbXY9ofw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CLUHAuYYEeCBL_IbXY9ofw" points="[10, -4, -180, 0]$[175, -7, -15, -3]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CMH_UOYYEeCBL_IbXY9ofw" id="(0.16483516483516483,0.4142857142857143)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Doz_wOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0OYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lFjiwCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0eYYEeCBL_IbXY9ofw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0uYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lF1PkCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0-YYEeCBL_IbXY9ofw" x="-2" y="84"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m1OYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lGFHMCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m1eYYEeCBL_IbXY9ofw" x="-1" y="58"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Doz_weYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_Doi6AOYYEeCBL_IbXY9ofw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Doz_wuYYEeCBL_IbXY9ofw" points="[4, 9, 0, -45]$[1, 47, -3, -7]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacsOYYEeCBL_IbXY9ofw" id="(0.2,0.9846153846153847)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacseYYEeCBL_IbXY9ofw" id="(0.2,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_OIPMAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_OIPzEOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lD7yICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIOYYEeCBL_IbXY9ofw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaIeYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lEucUCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIuYYEeCBL_IbXY9ofw" x="-32" y="20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaI-YYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lFJ6ICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaJOYYEeCBL_IbXY9ofw" x="-1" y="58"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_OIPMAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_OH_UYOYYEeCBL_IbXY9ofw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OIPMAuYYEeCBL_IbXY9ofw" points="[-4, -31, 8, 88]$[4, -128, 16, -9]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgOYYEeCBL_IbXY9ofw" id="(0.8,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgeYYEeCBL_IbXY9ofw" id="(0.8,0.9846153846153847)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_mPjVYOtqEeCzSsOGmQH2aA" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" roundedBendpointsRadius="10" routing="Rectilinear" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wFmGcHoDEeOA64V_YLapaA" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wFmtgHoDEeOA64V_YLapaA" key="smoothness" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoOtqEeCzSsOGmQH2aA" visible="false" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XwnVkPX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxoetqEeCzSsOGmQH2aA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoutqEeCzSsOGmQH2aA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XxIS8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxo-tqEeCzSsOGmQH2aA" x="-15" y="28"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxpOtqEeCzSsOGmQH2aA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Xxll8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxpetqEeCzSsOGmQH2aA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_mPjVYetqEeCzSsOGmQH2aA" fontName=""/>
-      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_mJvoUOtqEeCzSsOGmQH2aA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mPjVYutqEeCzSsOGmQH2aA" points="[299, 171, -643984, -643984]$[147, 171, -643984, -643984]$[147, 272, -643984, -643984]$[299, 272, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wOtqEeCzSsOGmQH2aA" id="(0.0,0.6915887850467289)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wetqEeCzSsOGmQH2aA" id="(0.0,0.5)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_rgm2QCjmEeaJJusTB1aIbg" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_oxRiMCjmEeaJJusTB1aIbg">
-      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUCjmEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l3qVICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUSjmEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUijmEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l4T1YCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUyjmEeaJJusTB1aIbg" x="-140" y="-25"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_rgndVCjmEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l48HgCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndVSjmEeaJJusTB1aIbg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_rgm2QSjmEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_rdKgsCjmEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rgm2QijmEeaJJusTB1aIbg" points="[399, 131, -643984, -643984]$[551, 131, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhuQkCjmEeaJJusTB1aIbg" id="(1.0,0.5)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhu3oCjmEeaJJusTB1aIbg" id="(0.0,0.5932203389830508)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_BPTXUCjnEeaJJusTB1aIbg" type="Transition_Edge" source="_oxRiMCjmEeaJJusTB1aIbg" target="__-OxACjmEeaJJusTB1aIbg" roundedBendpointsRadius="10" routing="Rectilinear">
-      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXUyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cWcoICkFEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVCjnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cWvjECkFEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVijnEeaJJusTB1aIbg" x="-45" y="-22"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cXNdICkFEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXWCjnEeaJJusTB1aIbg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_BPTXUSjnEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_BO7j4CjnEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BPTXUijnEeaJJusTB1aIbg" points="[680, 161, -643984, -643984]$[680, 180, -643984, -643984]$[590, 180, -643984, -643984]$[590, 222, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUCjnEeaJJusTB1aIbg" id="(0.39603960396039606,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUSjnEeaJJusTB1aIbg" id="(0.5,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_G11iACjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_53eokOYXEeCBL_IbXY9ofw" roundedBendpointsRadius="10" routing="Rectilinear">
-      <children xmi:type="notation:DecorationNode" xmi:id="_G11iAyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l5PpgCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBCjnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_G11iBSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l5fhICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBijnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_G11iByjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l5zDICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iCCjnEeaJJusTB1aIbg" x="-2" y="57"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_G11iASjnEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_G1QTMCjnEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G11iAijnEeaJJusTB1aIbg" points="[583, 227, -643984, -643984]$[317, 227, -643984, -643984]$[317, 160, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2gQYCjnEeaJJusTB1aIbg" id="(0.15,0.3863945578231304)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2g3cCjnEeaJJusTB1aIbg" id="(0.9797979797979798,0.9117647058823529)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_HndzQCjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_w_1jcCkEEeaWptp_P1JVYQ" roundedBendpointsRadius="10" routing="Rectilinear">
-      <children xmi:type="notation:DecorationNode" xmi:id="_HndzQyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lGXbECkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRCjnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lGpH4CkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRijnEeaJJusTB1aIbg" x="10" y="-5"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lG-fECkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzSCjnEeaJJusTB1aIbg" x="-2" y="57"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_HndzQSjnEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_HnKRQCjnEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HndzQijnEeaJJusTB1aIbg" points="[608, 220, -643984, -643984]$[608, 280, -643984, -643984]$[610, 280, -643984, -643984]$[610, 341, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoK94CjnEeaJJusTB1aIbg" id="(0.4,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoLk8CjnEeaJJusTB1aIbg" id="(0.5,0.05)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_zVFjkCkEEeaWptp_P1JVYQ" type="Transition_Edge" source="_w_1jcCkEEeaWptp_P1JVYQ" target="_pXOzUCkEEeaWptp_P1JVYQ" roundedBendpointsRadius="10" routing="Rectilinear">
-      <children xmi:type="notation:DecorationNode" xmi:id="_zVGKoikEEeaWptp_P1JVYQ" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_mYSdsCu8EeafWNwvkqnGkA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_zVGKoykEEeaWptp_P1JVYQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_zVGKpCkEEeaWptp_P1JVYQ" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_mYuikCu8EeafWNwvkqnGkA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_zVGKpSkEEeaWptp_P1JVYQ" x="-31" y="-20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_zVGKpikEEeaWptp_P1JVYQ" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_mZcUQCu8EeafWNwvkqnGkA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_zVGKpykEEeaWptp_P1JVYQ" x="1" y="59"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_zVGKoCkEEeaWptp_P1JVYQ"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_zRtfcCkEEeaWptp_P1JVYQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zVGKoSkEEeaWptp_P1JVYQ" points="[618, 353, -643984, -643984]$[700, 353, -643984, -643984]$[700, 400, -643984, -643984]$[800, 400, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zWNk8CkEEeaWptp_P1JVYQ" id="(0.9,0.65)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zWNk8SkEEeaWptp_P1JVYQ" id="(0.0,0.32786885245901637)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="__p2g0CkEEeaWptp_P1JVYQ" type="Transition_Edge" source="_pXOzUCkEEeaWptp_P1JVYQ" target="_-BL54CkEEeaWptp_P1JVYQ" roundedBendpointsRadius="10" routing="Rectilinear">
-      <children xmi:type="notation:DecorationNode" xmi:id="__p2g0ykEEeaWptp_P1JVYQ" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vSNrwCu8EeafWNwvkqnGkA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="__p2g1CkEEeaWptp_P1JVYQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="__p2g1SkEEeaWptp_P1JVYQ" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vTEnYCu8EeafWNwvkqnGkA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="__p2g1ikEEeaWptp_P1JVYQ" x="59" y="-55"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="__p2g1ykEEeaWptp_P1JVYQ" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vTp2MCu8EeafWNwvkqnGkA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="__p2g2CkEEeaWptp_P1JVYQ" x="-1" y="58"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="__p2g0SkEEeaWptp_P1JVYQ"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#__pc4MCkEEeaWptp_P1JVYQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__p2g0ikEEeaWptp_P1JVYQ" points="[800, 420, -643984, -643984]$[678, 420, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__q6QwCkEEeaWptp_P1JVYQ" id="(0.0,0.6557377049180327)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__q630CkEEeaWptp_P1JVYQ" id="(1.0,0.45454545454545453)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_JP4m8CkFEeaWptp_P1JVYQ" type="Transition_Edge" source="_-BL54CkEEeaWptp_P1JVYQ" target="_8AQS8OYXEeCBL_IbXY9ofw" roundedBendpointsRadius="10" routing="Rectilinear">
-      <children xmi:type="notation:DecorationNode" xmi:id="_JP4m8ykFEeaWptp_P1JVYQ" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kS-XACu8EeafWNwvkqnGkA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_JP4m9CkFEeaWptp_P1JVYQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_JP4m9SkFEeaWptp_P1JVYQ" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kTuk8Cu8EeafWNwvkqnGkA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_JP4m9ikFEeaWptp_P1JVYQ" x="160" y="-35"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_JP4m9ykFEeaWptp_P1JVYQ" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUVo8Cu8EeafWNwvkqnGkA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_JP4m-CkFEeaWptp_P1JVYQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_JP4m8SkFEeaWptp_P1JVYQ"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_JPEuoCkFEeaWptp_P1JVYQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JP4m8ikFEeaWptp_P1JVYQ" points="[632, 420, -643984, -643984]$[280, 420, -643984, -643984]$[280, 360, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JQsfQCkFEeaWptp_P1JVYQ" id="(0.0,0.5909090909090909)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JQsfQSkFEeaWptp_P1JVYQ" id="(0.6,1.0)"/>
-    </edges>
-  </notation:Diagram>
-  <css:EmbeddedStyleSheet xmi:id="_B2g2QXn3EeOfttgBwSq-Ig" label="Animation" content=":animated{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 3px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #c00000;&#xA;&#x9;bold: true;&#xA;} &#xA;&#xA;:suspended{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #fab953;&#xA;&#x9;bold: true;&#xA;}&#xA;&#xA;:visited{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #92d050;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #92d050;&#xA;}&#xA;Transition > Label {&#xA;&#x9;bodyCutLength: 1;&#xA;&#x9;indicateParameters: true;&#xA;&#x9;lineBreakBeforeEffect : true;&#xA;}"/>
-  <css:ModelStyleSheets xmi:id="_Rz4BcMcpEeSsAI2TZshUyg"/>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/AbitComplexSM.uml b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/AbitComplexSM.uml
deleted file mode 100644
index 3ce802d..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/AbitComplexSM.uml
+++ /dev/null
@@ -1,416 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc">
-  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="ABitComplexSMExample">
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
-      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/core.uml#_O6TiIDLUEd26WNosUASSSw"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_YvEs8OusEeCTfOY57pgE3w">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/statemachine.uml#_ago_QOUTEd-P08Bciq_LqQ"/>
-    </packageImport>
-    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="components">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_cb-ncDemEeGPyrZ5I3hMlA" annotatedElement="_oqZNUDLaEd2qeKRLMdIx_A">
-        <body>State-machine support is enabled with a container rule</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Package" xmi:id="_Tp4n8DLaEd2qeKRLMdIx_A" name="Interfaces">
-        <packagedElement xmi:type="uml:Interface" xmi:id="_cn-H0DLbEd2qeKRLMdIx_A" name="ICompute">
-          <ownedReception xmi:type="uml:Reception" xmi:id="_1U0U8McqEeSsAI2TZshUyg" name="add" signal="_ywk2kMcqEeSsAI2TZshUyg"/>
-          <ownedReception xmi:type="uml:Reception" xmi:id="_M-tXYMcrEeSsAI2TZshUyg" name="mult" signal="_z0nGcMcqEeSsAI2TZshUyg"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_DGs6wDLgEd28fJKJJnUaeQ" name="add">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6wTLgEd28fJKJJnUaeQ" name="a">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6wzLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6wjLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6xTLgEd28fJKJJnUaeQ" name="b">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6xzLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6xjLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6yTLgEd28fJKJJnUaeQ" name="res" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6yzLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6yjLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-          </ownedOperation>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_L8EY8DLgEd28fJKJJnUaeQ" name="mult">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY8TLgEd28fJKJJnUaeQ" name="a">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY8zLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY8jLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY9TLgEd28fJKJJnUaeQ" name="b">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY9zLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY9jLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY-TLgEd28fJKJJnUaeQ" name="res" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY-zLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY-jLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-          </ownedOperation>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Signal" xmi:id="_ywk2kMcqEeSsAI2TZshUyg" name="Add"/>
-        <packagedElement xmi:type="uml:Signal" xmi:id="_z0nGcMcqEeSsAI2TZshUyg" name="Mult"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_XLQjUDLiEd2RVeNawwNNzg" name="System">
-        <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="System_impl">
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_gV1cgDLiEd2RVeNawwNNzg" name="simpleSM" type="_oqZNUDLaEd2qeKRLMdIx_A" isUnique="false" aggregation="composite"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_oqZNUDLaEd2qeKRLMdIx_A" name="SimpleSM" classifierBehavior="_y7KWsOYXEeCBL_IbXY9ofw">
-        <generalization xmi:type="uml:Generalization" xmi:id="_LuEUwCgBEeapjr3l63b85A">
-          <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
-        </generalization>
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_4KiE8DLbEd2qeKRLMdIx_A" name="p" type="_cn-H0DLbEd2qeKRLMdIx_A" aggregation="composite"/>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_Ya5_oCkFEeaWptp_P1JVYQ" name="x">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedAttribute>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_YQqH0JYlEd6G9q9hwr11bw" name="derived realization of ICompute" client="_oqZNUDLaEd2qeKRLMdIx_A" supplier="_cn-H0DLbEd2qeKRLMdIx_A" contract="_cn-H0DLbEd2qeKRLMdIx_A"/>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_VGnYgCgBEeapjr3l63b85A" name="derived realization of IStart" client="_oqZNUDLaEd2qeKRLMdIx_A">
-          <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
-          <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
-        </interfaceRealization>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_qxjWINnmEd2_cstbO2Uzgg" name="mult" specification="_4ZEZwHecEd6r18stFZxmFQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_es-r0C1REea25uwDpRQuxg" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_es-r0S1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_es-r0i1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_es_S4C1REea25uwDpRQuxg" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_es_S4S1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_es_S4i1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_es_58C1REea25uwDpRQuxg" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_es_58S1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_es_58i1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <language>C/C++</language>
-          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a*b=&quot; &lt;&lt; a*b &lt;&lt; endl;
-return a*b;</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ML-4AKI5Ed6FqJCjEUrkqQ" name="add" specification="_TbIjUJYlEd6G9q9hwr11bw">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_etAhAC1REea25uwDpRQuxg" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_etAhAS1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_etAhAi1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_etAhAy1REea25uwDpRQuxg" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_etBIEC1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_etBIES1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_etBIEi1REea25uwDpRQuxg" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_etBIEy1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_etBvIC1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <language>C/C++</language>
-          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a+b=&quot; &lt;&lt; a+b &lt;&lt; endl;
-return a+b;</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_y7KWsOYXEeCBL_IbXY9ofw" name="SMSimple">
-          <region xmi:type="uml:Region" xmi:id="_0Lv00OYXEeCBL_IbXY9ofw" name="Region0">
-            <transition xmi:type="uml:Transition" xmi:id="_CLBzIOYYEeCBL_IbXY9ofw" name="Transition0" source="_1UVNgOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw"/>
-            <transition xmi:type="uml:Transition" xmi:id="_Doi6AOYYEeCBL_IbXY9ofw" name="Transition1" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
-              <trigger xmi:type="uml:Trigger" xmi:id="_rHpXoOtoEeCjb9i0gG4phA" event="_rHoJgOtoEeCjb9i0gG4phA"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_OH_UYOYYEeCBL_IbXY9ofw" name="Transition2" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw">
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_CAWpgSSoEeG6GJ4vU06VYQ" name="add" isAbstract="true">
-                <language>C/C++</language>
-                <body>add(2,3);&#xD;
-mult(3,5);&#xD;
-std::cout &lt;&lt;&quot;From State1 to State0 \n&quot;;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_-aQtACaeEeG4fZdVXNtoOQ" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_mJvoUOtqEeCzSsOGmQH2aA" name="Transition3" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
-              <trigger xmi:type="uml:Trigger" xmi:id="_8WepQHoDEeOA64V_YLapaA" event="_8WeCMHoDEeOA64V_YLapaA"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_rdKgsCjmEeaJJusTB1aIbg" source="_53E_8OYXEeCBL_IbXY9ofw" target="_owZYcCjmEeaJJusTB1aIbg">
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_-EnkACjmEeaJJusTB1aIbg" isAbstract="true">
-                <language>C++</language>
-                <body>cout &lt;&lt; &quot;From State 0 to State 2&quot; &lt;&lt; endl;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_4eMuECjmEeaJJusTB1aIbg" event="_4WSIMCjmEeaJJusTB1aIbg"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_BO7j4CjnEeaJJusTB1aIbg" source="_owZYcCjmEeaJJusTB1aIbg" target="__9lQwCjmEeaJJusTB1aIbg">
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_F9mScCjnEeaJJusTB1aIbg">
-                <language>C++</language>
-                <body>x = 6;&#xD;
-std::cout &lt;&lt;&quot;From State 2 to Junction1\n&quot;;&#xD;
-</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_GlK94CjpEeaJJusTB1aIbg" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_G1QTMCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_53E_8OYXEeCBL_IbXY9ofw"/>
-            <transition xmi:type="uml:Transition" xmi:id="_HnKRQCjnEeaJJusTB1aIbg" guard="_KB4nQCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_w-8yoCkEEeaWptp_P1JVYQ">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_KB4nQCjnEeaJJusTB1aIbg">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_KB4nQSjnEeaJJusTB1aIbg">
-                  <language>C++</language>
-                  <body>x == 5</body>
-                </specification>
-              </ownedRule>
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_QlLVICjnEeaJJusTB1aIbg" isAbstract="true">
-                <language>C++</language>
-                <body>cout &lt;&lt; &quot;From Junction1 to Shallow history&quot; &lt;&lt; endl;</body>
-              </effect>
-            </transition>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_1UVNgOYXEeCBL_IbXY9ofw" name="Initial0"/>
-            <subvertex xmi:type="uml:State" xmi:id="_53E_8OYXEeCBL_IbXY9ofw" name="State0"/>
-            <subvertex xmi:type="uml:State" xmi:id="_7_1cMOYXEeCBL_IbXY9ofw" name="State1"/>
-            <subvertex xmi:type="uml:State" xmi:id="_owZYcCjmEeaJJusTB1aIbg" name="State2">
-              <entry xmi:type="uml:OpaqueBehavior" xmi:id="_hGRNQCkFEeaWptp_P1JVYQ">
-                <language>C++</language>
-                <body>x = 5;</body>
-              </entry>
-            </subvertex>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="__9lQwCjmEeaJJusTB1aIbg" name="Junction1" kind="junction"/>
-            <subvertex xmi:type="uml:State" xmi:id="_mxZZgCkEEeaWptp_P1JVYQ" name="State3">
-              <region xmi:type="uml:Region" xmi:id="_pXD0MCkEEeaWptp_P1JVYQ" name="Region1">
-                <transition xmi:type="uml:Transition" xmi:id="_zRtfcCkEEeaWptp_P1JVYQ" source="_w-8yoCkEEeaWptp_P1JVYQ" target="_pXM-ICkEEeaWptp_P1JVYQ">
-                  <effect xmi:type="uml:OpaqueBehavior" xmi:id="_7hUlMCkEEeaWptp_P1JVYQ" isAbstract="true">
-                    <language>C++</language>
-                    <body>cout &lt;&lt; &quot;From Shallow history to State 3_1&quot; &lt;&lt; endl;</body>
-                  </effect>
-                </transition>
-                <transition xmi:type="uml:Transition" xmi:id="__pc4MCkEEeaWptp_P1JVYQ" source="_pXM-ICkEEeaWptp_P1JVYQ" target="_-AIxACkEEeaWptp_P1JVYQ">
-                  <effect xmi:type="uml:OpaqueBehavior" xmi:id="_Im4tQCkFEeaWptp_P1JVYQ" isAbstract="true">
-                    <language>C++</language>
-                    <body>cout &lt;&lt; &quot;From State 3_1 to State 3_2&quot; &lt;&lt; endl;</body>
-                  </effect>
-                  <trigger xmi:type="uml:Trigger" xmi:id="_D0f8UCkFEeaWptp_P1JVYQ" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
-                </transition>
-                <transition xmi:type="uml:Transition" xmi:id="_JPEuoCkFEeaWptp_P1JVYQ" source="_-AIxACkEEeaWptp_P1JVYQ" target="_7_1cMOYXEeCBL_IbXY9ofw">
-                  <effect xmi:type="uml:OpaqueBehavior" xmi:id="_QHO5QCkFEeaWptp_P1JVYQ" isAbstract="true">
-                    <language>C++</language>
-                    <body>cout &lt;&lt; &quot;From State 5 to State 1&quot; &lt;&lt; endl;</body>
-                  </effect>
-                  <trigger xmi:type="uml:Trigger" xmi:id="_NO0hsCkFEeaWptp_P1JVYQ" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
-                </transition>
-                <subvertex xmi:type="uml:State" xmi:id="_pXM-ICkEEeaWptp_P1JVYQ" name="State3_1"/>
-                <subvertex xmi:type="uml:Pseudostate" xmi:id="_w-8yoCkEEeaWptp_P1JVYQ" name="ShallowHistory1" kind="shallowHistory"/>
-                <subvertex xmi:type="uml:State" xmi:id="_-AIxACkEEeaWptp_P1JVYQ" name="State3_2"/>
-              </region>
-            </subvertex>
-          </region>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_YNCW4CgBEeapjr3l63b85A" name="run" specification="_VGsRACgBEeapjr3l63b85A">
-          <language>C/C++</language>
-          <body>cout &lt;&lt; &quot;call add (2, 3);&quot; &lt;&lt; endl;
-cout &lt;&lt; &quot;result: &quot; &lt;&lt; add (2, 3) &lt;&lt; endl;
-cout &lt;&lt; &quot;sleeping for 15 seconds (statemachine remains active);&quot; &lt;&lt; endl;
-sleep(15);
-</body>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_4ZEZwHecEd6r18stFZxmFQ" name="mult" method="_qxjWINnmEd2_cstbO2Uzgg">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_es5MQC1REea25uwDpRQuxg" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_es6aYC1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_es6aYS1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_es6aYi1REea25uwDpRQuxg" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_es8PkC1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_es8PkS1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_es82oC1REea25uwDpRQuxg" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_es9dsC1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_es9dsS1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_TbIjUJYlEd6G9q9hwr11bw" name="add" method="_ML-4AKI5Ed6FqJCjEUrkqQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_espUoC1REea25uwDpRQuxg" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_esrJ0C1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_esrJ0S1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_esrJ0i1REea25uwDpRQuxg" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ess_AC1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ess_AS1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_ess_Ai1REea25uwDpRQuxg" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_esu0MC1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_esu0MS1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_VGsRACgBEeapjr3l63b85A" name="run" method="_YNCW4CgBEeapjr3l63b85A"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_rGzqIOtoEeCjb9i0gG4phA" name="events">
-        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_rHoJgOtoEeCjb9i0gG4phA" name="TE - {value=50, unit=ms}" isRelative="true">
-          <when xmi:type="uml:TimeExpression" xmi:id="_rHoJgetoEeCjb9i0gG4phA">
-            <expr xmi:type="uml:OpaqueExpression" xmi:id="_rHoJgutoEeCjb9i0gG4phA">
-              <language>Natural language</language>
-              <body>{value=50, unit=ms}</body>
-            </expr>
-          </when>
-        </packagedElement>
-        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_-PMFcCaeEeG4fZdVXNtoOQ" name="TE - {value=500, unit=ms}" isRelative="true">
-          <when xmi:type="uml:TimeExpression" xmi:id="_-PMFcSaeEeG4fZdVXNtoOQ">
-            <expr xmi:type="uml:OpaqueExpression" xmi:id="_-PMFciaeEeG4fZdVXNtoOQ">
-              <language>Natural language</language>
-              <body>{value=500, unit=ms}</body>
-            </expr>
-          </when>
-        </packagedElement>
-        <packagedElement xmi:type="uml:CallEvent" xmi:id="_8WeCMHoDEeOA64V_YLapaA" name="CE - CServer_impl - add" operation="_TbIjUJYlEd6G9q9hwr11bw"/>
-        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_4WSIMCjmEeaJJusTB1aIbg" name="TE - {value=25, unit=ms}" isRelative="true">
-          <when xmi:type="uml:TimeExpression" xmi:id="_4WSIMSjmEeaJJusTB1aIbg">
-            <expr xmi:type="uml:OpaqueExpression" xmi:id="_4WSIMijmEeaJJusTB1aIbg">
-              <language>Natural language</language>
-              <body>{value=25, unit=ms}</body>
-            </expr>
-          </when>
-        </packagedElement>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_v3fMgDLiEd2RVeNawwNNzg" name="platform">
-      <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="MonoNode">
-        <generalization xmi:type="uml:Generalization" xmi:id="_A39CYHDaEeORJcfdyIEeTg">
-          <general xmi:type="uml:Class" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmImnHEeOtZICylR5Azw"/>
-        </generalization>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_M1a_8MniEeCMCo5Ox2CNmg" name="HWArchitectureMonolithic">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_QgKzYMniEeCMCo5Ox2CNmg" name="monoNode" visibility="public" type="_zY9vMDLiEd2RVeNawwNNzg" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XijRAMniEeCMCo5Ox2CNmg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XkfxwMniEeCMCo5Ox2CNmg" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_XlIq8MniEeCMCo5Ox2CNmg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_Ndc2cGGIEeO2F4QRMDSOXg" name="Eclipse" type="_GUl9YGGIEeO2F4QRMDSOXg" aggregation="composite"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_GUl9YGGIEeO2F4QRMDSOXg" name="EclipseServer">
-        <generalization xmi:type="uml:Generalization" xmi:id="_Bpd-4HDaEeORJcfdyIEeTg">
-          <general xmi:type="uml:Class" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmImnHEeOtZICylR5Azw"/>
-        </generalization>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_ZDrmkHDaEeORJcfdyIEeTg" name="HWArchitectureMonolithicPlatform">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDrmkXDaEeORJcfdyIEeTg" classifier="_M1a_8MniEeCMCo5Ox2CNmg">
-          <slot xmi:type="uml:Slot" xmi:id="_ZDsNoXDaEeORJcfdyIEeTg" definingFeature="_QgKzYMniEeCMCo5Ox2CNmg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_ZDs0sHDaEeORJcfdyIEeTg" instance="_ZDsNoHDaEeORJcfdyIEeTg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_ZDtbwHDaEeORJcfdyIEeTg" definingFeature="_Ndc2cGGIEeO2F4QRMDSOXg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_ZDuC0HDaEeORJcfdyIEeTg" instance="_ZDs0sXDaEeORJcfdyIEeTg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDsNoHDaEeORJcfdyIEeTg" name="monoNode" classifier="_zY9vMDLiEd2RVeNawwNNzg">
-          <slot xmi:type="uml:Slot" xmi:id="_fg9zEHDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJWnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralString" xmi:id="_fg-aIHDaEeORJcfdyIEeTg" name="value for IPaddress" value="127.0.0.1">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-            </value>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_hDbrYHDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJmnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralInteger" xmi:id="_hDcScHDaEeORJcfdyIEeTg" name="value for portNumber" value="12345">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-            </value>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDs0sXDaEeORJcfdyIEeTg" name="Eclipse" classifier="_GUl9YGGIEeO2F4QRMDSOXg">
-          <slot xmi:type="uml:Slot" xmi:id="_oXzQ4HDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJWnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralString" xmi:id="_oXz38HDaEeORJcfdyIEeTg" name="value for IPaddress" value="127.0.0.1">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-            </value>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_plcIsHDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJmnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralInteger" xmi:id="_plcvwHDaEeORJcfdyIEeTg" name="value for portNumber" value="12346">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-            </value>
-          </slot>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_NaSPIHltEeOh_8tymvdOOg" name="System_implPlatform">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaS2MHltEeOh_8tymvdOOg" classifier="_bYJagDLiEd2RVeNawwNNzg">
-          <slot xmi:type="uml:Slot" xmi:id="_NaTdQXltEeOh_8tymvdOOg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaUEUHltEeOh_8tymvdOOg" instance="_NaTdQHltEeOh_8tymvdOOg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_NaVScHltEeOh_8tymvdOOg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaV5gHltEeOh_8tymvdOOg" instance="_NaUrYHltEeOh_8tymvdOOg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_NaXHoHltEeOh_8tymvdOOg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaXHoXltEeOh_8tymvdOOg" instance="_NaWgkHltEeOh_8tymvdOOg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_NaXusXltEeOh_8tymvdOOg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaYVwHltEeOh_8tymvdOOg" instance="_NaXusHltEeOh_8tymvdOOg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaTdQHltEeOh_8tymvdOOg" name="server" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaUrYHltEeOh_8tymvdOOg" name="client"/>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaWgkHltEeOh_8tymvdOOg" name="singleton_localanimservice">
-          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/statemachine.uml#_xELAwF81EeGbQoflzrdx0g"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaXusHltEeOh_8tymvdOOg" name="singleton_remoteanimservice">
-          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/statemachine.uml#_B0gFAHg_EeOejZqJpKQeww"/>
-        </packagedElement>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
-      <packagedElement xmi:type="uml:Package" xmi:id="_QQiDgHltEeOh_8tymvdOOg" name="System_implDepPlan">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_QQm8AHltEeOh_8tymvdOOg" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg">
-          <slot xmi:type="uml:Slot" xmi:id="_QQtpsHltEeOh_8tymvdOOg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_QQuQwHltEeOh_8tymvdOOg" instance="_QQr0gHltEeOh_8tymvdOOg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_QQr0gHltEeOh_8tymvdOOg" name="mainInstance.simpleSM" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
-        <packagedElement xmi:type="uml:Abstraction" xmi:id="_StNrwCQdEeabuaUFyev1pw" name="allocate mainInstance to monoNode" client="_QQm8AHltEeOh_8tymvdOOg" supplier="_ZDsNoHDaEeORJcfdyIEeTg"/>
-      </packagedElement>
-    </packagedElement>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_GcC0cAHtEd6HSdiss9GQ0A">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Gd1kMAHtEd6HSdiss9GQ0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_z1TwgFW3Ed63BrxiKsw-0Q">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z2GasFW3Ed63BrxiKsw-0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_zi-sUE2sEeGl8qrc8BM7vA">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0QJUUE2sEeGl8qrc8BM7vA" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
-    </profileApplication>
-  </uml:Model>
-  <FCM:DerivedElement xmi:id="_DWb6oP6yEd6Ie_kieu_3CQ" base_Element="_TbIjUJYlEd6G9q9hwr11bw" source="_DGs6wDLgEd28fJKJJnUaeQ"/>
-  <FCM:DerivedElement xmi:id="_DXK6cP6yEd6Ie_kieu_3CQ" base_Element="_4ZEZwHecEd6r18stFZxmFQ" source="_L8EY8DLgEd28fJKJJnUaeQ"/>
-  <FCM:RuleApplication xmi:id="_DWIYoP6yEd6Ie_kieu_3CQ" base_Class="_oqZNUDLaEd2qeKRLMdIx_A">
-    <containerRule xmi:type="FCM:ContainerRule" href="pathmap://QML_CORE/statemachine.uml#_7BlhkCPoEeauR8esGjVxRA"/>
-    <propagateRule>false</propagateRule>
-    <containerRule xmi:type="FCM:CompositeCRule" href="pathmap://QML_CORE/statemachine.uml#_BncCwO68EeCZ9MjsZTV1zw"/>
-    <interceptor href="pathmap://QML_TRACE/tracing.uml#_35od4DKrEd-z5o2wSoJ16A"/>
-  </FCM:RuleApplication>
-  <FCM:Port xmi:id="_GofhQP6yEd6Ie_kieu_3CQ" base_Port="_4KiE8DLbEd2qeKRLMdIx_A" type="_cn-H0DLbEd2qeKRLMdIx_A">
-    <kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_wySlkFRxEd6GqrP6fkWBoQ"/>
-  </FCM:Port>
-  <FCM:Target xmi:id="_HvbFMLqQEd-BObGGoBbehA" base_Node="_zY9vMDLiEd2RVeNawwNNzg">
-    <targetArch xmi:type="FCM:TargetArchitecture" href="pathmap://QML_CORE/core.uml#_FYOqwF0OEd-12d_h0i1xhQ"/>
-    <usedOS xmi:type="FCM:OperatingSystem" href="pathmap://QML_CORE/core.uml#_1eULwF0NEd-12d_h0i1xhQ"/>
-  </FCM:Target>
-  <C_Cpp:Include xmi:id="_EaeJMNp0EeKd1ax3yaXM9w" body="#include &lt;iostream>&#xA;using namespace std;&#xA;&#xA;#include &lt;unistd.h>&#xA;" base_class="_oqZNUDLaEd2qeKRLMdIx_A"/>
-  <FCM:DeploymentPlan xmi:id="_QQlt4HltEeOh_8tymvdOOg" mainInstance="_QQm8AHltEeOh_8tymvdOOg" base_Package="_QQiDgHltEeOh_8tymvdOOg"/>
-  <Alloc:Allocate xmi:id="_StSkQCQdEeabuaUFyev1pw" base_Abstraction="_StNrwCQdEeabuaUFyev1pw"/>
-  <FCM:DerivedElement xmi:id="_VGxwkCgBEeapjr3l63b85A" base_Element="_VGsRACgBEeapjr3l63b85A">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/AbitComplexSMOrthogonal.notation b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/AbitComplexSMOrthogonal.notation
deleted file mode 100644
index 1e4ba98..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/AbitComplexSMOrthogonal.notation
+++ /dev/null
@@ -1,1130 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
-  <notation:Diagram xmi:id="_XSHWMF36Ed-UvNEDwY5GNg" type="PapyrusUMLClassDiagram" name="Interfaces" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_MTW5IDcZEeGPyrZ5I3hMlA" type="Interface_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTYuUDcZEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTYuUTcZEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTZVYDcZEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTZVYTcZEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTZVYjcZEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTZVYzcZEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_MTZVZDcZEeGPyrZ5I3hMlA" type="Interface_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IDa5YPX4EeWa_pjn9guopQ" visible="false" type="Interface_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZVZjcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZVZzcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZVaDcZEeGPyrZ5I3hMlA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZVaTcZEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IHycAPX4EeWa_pjn9guopQ" type="Interface_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_QIpIoDcZEeGPyrZ5I3hMlA" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-jHsIFmOEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-ovzAFmOEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="AbitComplexSMOrthogonal.uml#_DGs6wDLgEd28fJKJJnUaeQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_QIpIoTcZEeGPyrZ5I3hMlA"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_QIqWwDcZEeGPyrZ5I3hMlA" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__X1GkFmOEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__X6mIFmOEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="AbitComplexSMOrthogonal.uml#_L8EY8DLgEd28fJKJJnUaeQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_QIqWwTcZEeGPyrZ5I3hMlA"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_1U9e4McqEeSsAI2TZshUyg" type="Reception_InterfaceReceptionLabel">
-          <element xmi:type="uml:Reception" href="AbitComplexSMOrthogonal.uml#_1U0U8McqEeSsAI2TZshUyg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1U9e4ccqEeSsAI2TZshUyg"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_M-0sIMcrEeSsAI2TZshUyg" type="Reception_InterfaceReceptionLabel">
-          <element xmi:type="uml:Reception" href="AbitComplexSMOrthogonal.uml#_M-tXYMcrEeSsAI2TZshUyg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_M-0sIccrEeSsAI2TZshUyg"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZ8cDcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZ8cTcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZ8cjcZEeGPyrZ5I3hMlA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZ8czcZEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IHycAfX4EeWa_pjn9guopQ" visible="false" type="Interface_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZ8dTcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZ8djcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZ8dzcZEeGPyrZ5I3hMlA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZ8eDcZEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hsloIFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hsloIVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hsloIlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_XYUeMGkLEeWakucY9QdE0g" type="Interface_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_XYUeMWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Interface" href="AbitComplexSMOrthogonal.uml#_cn-H0DLbEd2qeKRLMdIx_A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTW5ITcZEeGPyrZ5I3hMlA" x="150" y="111" width="337" height="110"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_ywpIAMcqEeSsAI2TZshUyg" type="Signal_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_ywpvEMcqEeSsAI2TZshUyg" type="Signal_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ywpvEccqEeSsAI2TZshUyg" type="Signal_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_ywpvEscqEeSsAI2TZshUyg" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IH2tcPX4EeWa_pjn9guopQ" type="Signal_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_ywqWIccqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_ywqWIscqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_ywqWI8cqEeSsAI2TZshUyg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ywqWJMcqEeSsAI2TZshUyg"/>
-      </children>
-      <element xmi:type="uml:Signal" href="AbitComplexSMOrthogonal.uml#_ywk2kMcqEeSsAI2TZshUyg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ywpIAccqEeSsAI2TZshUyg" x="640" y="120"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_z0oUkMcqEeSsAI2TZshUyg" type="Signal_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_z0o7oMcqEeSsAI2TZshUyg" type="Signal_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_z0o7occqEeSsAI2TZshUyg" type="Signal_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_z0o7oscqEeSsAI2TZshUyg" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IH4ioPX4EeWa_pjn9guopQ" type="Signal_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_z0o7pMcqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_z0o7pccqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_z0o7pscqEeSsAI2TZshUyg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0o7p8cqEeSsAI2TZshUyg"/>
-      </children>
-      <element xmi:type="uml:Signal" href="AbitComplexSMOrthogonal.uml#_z0nGcMcqEeSsAI2TZshUyg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0oUkccqEeSsAI2TZshUyg" x="840" y="120"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_XSHWMV36Ed-UvNEDwY5GNg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_XYVFQGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_Tp4n8DLaEd2qeKRLMdIx_A"/>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_aeSh0F37Ed-UvNEDwY5GNg" type="CompositeStructure" name="CompositeDiagram SimpleSM" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_c2tKsF37Ed-UvNEDwY5GNg" type="Class_Shape" fontName="Monospace" fontHeight="10" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MXrr0H8eEd-5xfPoaTlRww" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MXsS4H8eEd-5xfPoaTlRww" key="QualifiedNameDepth" value="1"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NqCEgH8eEd-5xfPoaTlRww" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NqCEgX8eEd-5xfPoaTlRww" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_c2tKsl37Ed-UvNEDwY5GNg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_I-1YwPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2tKtF37Ed-UvNEDwY5GNg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_FzA74GfbEd-T-rJ3Ep9Y5Q" type="Port_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzSosGfbEd-T-rJ3Ep9Y5Q" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzTPwGfbEd-T-rJ3Ep9Y5Q" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzTPwWfbEd-T-rJ3Ep9Y5Q" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzT20GfbEd-T-rJ3Ep9Y5Q" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzT20WfbEd-T-rJ3Ep9Y5Q" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzT20mfbEd-T-rJ3Ep9Y5Q" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FzUd4GfbEd-T-rJ3Ep9Y5Q" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FzUd4WfbEd-T-rJ3Ep9Y5Q" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FzUd4mfbEd-T-rJ3Ep9Y5Q" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FzUd42fbEd-T-rJ3Ep9Y5Q" x="-50" y="-30"/>
-        </children>
-        <element xmi:type="uml:Port" href="AbitComplexSMOrthogonal.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FzA74WfbEd-T-rJ3Ep9Y5Q" x="-10" y="130"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hw-_8FbmEeObiJAlOlmjpQ" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hw-_8VbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="FCM:RuleApplication" href="AbitComplexSMOrthogonal.uml#_DWIYoP6yEd6Ie_kieu_3CQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hw-_8lbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hxIJ4FbmEeObiJAlOlmjpQ" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hxIJ4VbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="C_Cpp:Include" href="AbitComplexSMOrthogonal.uml#_EaeJMNp0EeKd1ax3yaXM9w"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxIJ4lbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hxIJ41bmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hxIJ5FbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxIJ5VbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Xth5MGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Xth5MWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Xvnj4GkLEeWakucY9QdE0g" type="StereotypeCompartment">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XvvfsGkLEeWakucY9QdE0g" source="PapyrusCSSForceValue">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XvvfsWkLEeWakucY9QdE0g" key="visible" value="true"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_XvoyAGkLEeWakucY9QdE0g" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_r2VLUJD2Ed-I9dVdNhZAGQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_XvoyAWkLEeWakucY9QdE0g"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Xvnj4WkLEeWakucY9QdE0g" showTitle="true"/>
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_Xvnj4mkLEeWakucY9QdE0g" name="stereotype" stringValue="FCM::RuleApplication"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_te7YAMtkEd2H_o0jIC6qDQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xvnj42kLEeWakucY9QdE0g"/>
-      </children>
-      <element xmi:type="uml:Class" href="AbitComplexSMOrthogonal.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2tKsV37Ed-UvNEDwY5GNg" x="100" y="140" width="321" height="161"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_ccPtMDemEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQUQDemEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQUQTemEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQUQjemEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQUQzemEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQURDemEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQURTemEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ccQURjemEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="AbitComplexSMOrthogonal.uml#_cb-ncDemEeGPyrZ5I3hMlA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccPtMTemEeGPyrZ5I3hMlA" x="500" y="140" width="184"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Xvj5gGkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_Xvj5gWkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xvj5g2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="AbitComplexSMOrthogonal.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xvj5gmkLEeWakucY9QdE0g" x="308" y="72"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_XxYecGkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_XxYecWkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XxYec2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="AbitComplexSMOrthogonal.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XxYecmkLEeWakucY9QdE0g" x="190" y="108"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Dv6ycCgBEeapjr3l63b85A" type="Class_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Dv91wCgBEeapjr3l63b85A" type="Class_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Dv91wSgBEeapjr3l63b85A" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Dv91wigBEeapjr3l63b85A" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Dv-c0CgBEeapjr3l63b85A" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Dv-c0SgBEeapjr3l63b85A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dv-c0igBEeapjr3l63b85A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Dwk5wCgBEeapjr3l63b85A" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Dwk5wSgBEeapjr3l63b85A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dwk5wigBEeapjr3l63b85A"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_PI7SECgBEeapjr3l63b85A" type="Port_Shape">
-        <children xmi:type="notation:DecorationNode" xmi:id="_PI7SEigBEeapjr3l63b85A" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_PI7SEygBEeapjr3l63b85A" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_PI7SFCgBEeapjr3l63b85A" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_PI7SFSgBEeapjr3l63b85A" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PI7SESgBEeapjr3l63b85A" x="-10" y="30"/>
-      </children>
-      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dv6ycSgBEeapjr3l63b85A" x="100" y="20" width="321" height="61"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_PJhvACgBEeapjr3l63b85A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_PJhvASgBEeapjr3l63b85A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_PJhvAygBEeapjr3l63b85A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PJhvAigBEeapjr3l63b85A" x="190" y="-9"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_aeSh0V37Ed-UvNEDwY5GNg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_Xth5MmkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_0yX_oCgBEeapjr3l63b85A">
-      <owner xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
-    </styles>
-    <element xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
-    <edges xmi:type="notation:Connector" xmi:id="_gMg50DemEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_ccPtMDemEeGPyrZ5I3hMlA" target="_c2tKsF37Ed-UvNEDwY5GNg" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_gMg50TemEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gMg50jemEeGPyrZ5I3hMlA" points="[-10, -7, 55, 0]$[-42, -9, 23, -2]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gM_a8DemEeGPyrZ5I3hMlA" id="(0.0,0.6349206349206349)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gNACADemEeGPyrZ5I3hMlA" id="(1.0,0.43795620437956206)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Xvj5hGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_c2tKsF37Ed-UvNEDwY5GNg" target="_Xvj5gGkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_Xvj5hWkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xvj5iWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="AbitComplexSMOrthogonal.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xvj5hmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xvj5h2kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xvj5iGkLEeWakucY9QdE0g"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_XxYedGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_FzA74GfbEd-T-rJ3Ep9Y5Q" target="_XxYecGkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_XxYedWkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XxZFgGkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="AbitComplexSMOrthogonal.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XxYedmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XxYed2kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XxYeeGkLEeWakucY9QdE0g"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_LvBXACgBEeapjr3l63b85A" type="Generalization_Edge" source="_c2tKsF37Ed-UvNEDwY5GNg" target="_Dv6ycCgBEeapjr3l63b85A">
-      <children xmi:type="notation:DecorationNode" xmi:id="_LvClICgBEeapjr3l63b85A" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LvClISgBEeapjr3l63b85A" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_LvBXASgBEeapjr3l63b85A"/>
-      <element xmi:type="uml:Generalization" href="AbitComplexSMOrthogonal.uml#_LuEUwCgBEeapjr3l63b85A"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LvBXAigBEeapjr3l63b85A" points="[260, 140, -643984, -643984]$[260, 66, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LvZxgCgBEeapjr3l63b85A" id="(0.4984423676012461,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LvZxgSgBEeapjr3l63b85A" id="(0.4984423676012461,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_PJhvBCgBEeapjr3l63b85A" type="StereotypeCommentLink" source="_PI7SECgBEeapjr3l63b85A" target="_PJhvACgBEeapjr3l63b85A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_PJhvBSgBEeapjr3l63b85A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_PJiWECgBEeapjr3l63b85A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PJhvBigBEeapjr3l63b85A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PJhvBygBEeapjr3l63b85A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PJhvCCgBEeapjr3l63b85A"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_q-Wa0F37Ed-UvNEDwY5GNg" type="CompositeStructure" name="CompositeDiagram System" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_sGaPEF37Ed-UvNEDwY5GNg" type="Class_Shape" fontName="Sans Serif" fontHeight="10" transparency="0" gradient="8047085, 0, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6B6WUGSuEd-dQdK1-7wIFg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6B69YGSuEd-dQdK1-7wIFg" key="QualifiedNameDepth" value="3"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_62o-4GSuEd-dQdK1-7wIFg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_62o-4WSuEd-dQdK1-7wIFg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KXK-0GGEEeO2F4QRMDSOXg" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KXK-0WGEEeO2F4QRMDSOXg" key="fillColor" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_sGa2IF37Ed-UvNEDwY5GNg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JEi_MPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_vHCHcF37Ed-UvNEDwY5GNg" type="Property_Shape" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_haY70F38Ed-UvNEDwY5GNg" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_haY70V38Ed-UvNEDwY5GNg" key="QualifiedNameDepth" value="4"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_64BTMHl_EeOuQYJqyYp5HQ" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_64BTMXl_EeOuQYJqyYp5HQ" key="fillColor" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_vHCHcl37Ed-UvNEDwY5GNg" type="Property_NameLabel">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DC4cAFmPEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DJ5qAFmPEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JEkNUfX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vHCHdF37Ed-UvNEDwY5GNg"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_zk0VwDrcEeGgAdAmWw4pyQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk080TrcEeGgAdAmWw4pyQ" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk080jrcEeGgAdAmWw4pyQ" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk080zrcEeGgAdAmWw4pyQ" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk081DrcEeGgAdAmWw4pyQ" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk1j4DrcEeGgAdAmWw4pyQ" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk1j4TrcEeGgAdAmWw4pyQ" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_zk1j4jrcEeGgAdAmWw4pyQ" type="Port_NameLabel">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BYsLEFmPEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BeLIAFmPEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="28"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_zk1j4zrcEeGgAdAmWw4pyQ" x="25" y="3"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_zk1j5DrcEeGgAdAmWw4pyQ" visible="false" type="Port_StereotypeLabel">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_zk1j5TrcEeGgAdAmWw4pyQ" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="AbitComplexSMOrthogonal.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zk080DrcEeGgAdAmWw4pyQ" x="-10" y="50"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_hzStEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_hzStEVbmEeObiJAlOlmjpQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hzStElbmEeObiJAlOlmjpQ"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_Xx40xGkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_Xx40xWkLEeWakucY9QdE0g" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="AbitComplexSMOrthogonal.uml#_gV1cgDLiEd2RVeNawwNNzg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vHCHcV37Ed-UvNEDwY5GNg" x="54" y="33" width="201" height="112"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_X1dtMmkLEeWakucY9QdE0g" type="StereotypeComment">
-          <styles xmi:type="notation:TitleStyle" xmi:id="_X1dtM2kLEeWakucY9QdE0g" showTitle="true"/>
-          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X1dtNWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-            <eObjectValue xmi:type="uml:Port" href="AbitComplexSMOrthogonal.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-          </styles>
-          <element xsi:nil="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X1dtNGkLEeWakucY9QdE0g" x="190" y="59"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGa2Il37Ed-UvNEDwY5GNg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hzPCsFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hzPCsVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hzPCslbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Xx40wGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Xx40wWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="AbitComplexSMOrthogonal.uml#_bYJagDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGaPEV37Ed-UvNEDwY5GNg" x="60" y="40" width="321" height="221"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_q-Wa0V37Ed-UvNEDwY5GNg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_Xx40ymkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_XLQjUDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_X1dtNmkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_zk0VwDrcEeGgAdAmWw4pyQ" target="_X1dtMmkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_X1dtN2kLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X1eUQmkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="AbitComplexSMOrthogonal.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X1dtOGkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X1eUQGkLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X1eUQWkLEeWakucY9QdE0g"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_6FvnwGONEd-seu3qyZgHfg" type="PapyrusUMLClassDiagram" name="deployment plans" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_TOVRYHltEeOh_8tymvdOOg" type="Package_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_TOVRYnltEeOh_8tymvdOOg" type="Package_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JLvMUPX4EeWa_pjn9guopQ" type="Package_PackagedElementCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_TOVRZHltEeOh_8tymvdOOg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TOVRZXltEeOh_8tymvdOOg"/>
-      </children>
-      <element xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_QQiDgHltEeOh_8tymvdOOg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TOVRYXltEeOh_8tymvdOOg" x="40" y="40" width="221" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_X47Q4GkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_X47Q4WkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X47Q42kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_QQiDgHltEeOh_8tymvdOOg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X47Q4mkLEeWakucY9QdE0g" x="240" y="40"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_6FvnwWONEd-seu3qyZgHfg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_X3OnwGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_234GEDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_X4738GkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_TOVRYHltEeOh_8tymvdOOg" target="_X47Q4GkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_X4738WkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X4739WkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_QQiDgHltEeOh_8tymvdOOg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X4738mkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X47382kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X4739GkLEeWakucY9QdE0g"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_KYrjcKxkEeCgusK7cm6qjQ" type="PapyrusUMLClassDiagram" name="Platform" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_LsWKwKxkEeCgusK7cm6qjQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx0KxkEeCgusK7cm6qjQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx0axkEeCgusK7cm6qjQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx0qxkEeCgusK7cm6qjQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx06xkEeCgusK7cm6qjQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx1KxkEeCgusK7cm6qjQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx1axkEeCgusK7cm6qjQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LsWx1qxkEeCgusK7cm6qjQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JOqkgPX4EeWa_pjn9guopQ" visible="false" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY4axkEeCgusK7cm6qjQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY4qxkEeCgusK7cm6qjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY46xkEeCgusK7cm6qjQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JOrLkPX4EeWa_pjn9guopQ" visible="false" type="Class_OperationCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY5axkEeCgusK7cm6qjQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY5qxkEeCgusK7cm6qjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY56xkEeCgusK7cm6qjQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JOrLkfX4EeWa_pjn9guopQ" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY6axkEeCgusK7cm6qjQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY6qxkEeCgusK7cm6qjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY66xkEeCgusK7cm6qjQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h25asFbmEeObiJAlOlmjpQ" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h25asVbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="FCM:Target" href="AbitComplexSMOrthogonal.uml#_HvbFMLqQEd-BObGGoBbehA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h25aslbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h26BwFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h26BwVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h26BwlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X5Fo8GkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X5Fo8WkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Node" href="AbitComplexSMOrthogonal.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsWKwaxkEeCgusK7cm6qjQ" x="57" y="55" width="160" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_X6kPoGkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_X6kPoWkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X6kPo2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Node" href="AbitComplexSMOrthogonal.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X6kPomkLEeWakucY9QdE0g" x="257" y="55"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_KYrjcaxkEeCgusK7cm6qjQ"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_X5Fo8mkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_X6kPpGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_LsWKwKxkEeCgusK7cm6qjQ" target="_X6kPoGkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_X6kPpWkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X6kPqWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Node" href="AbitComplexSMOrthogonal.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X6kPpmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X6kPp2kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X6kPqGkLEeWakucY9QdE0g"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_HoscYMniEeCMCo5Ox2CNmg" type="CompositeStructure" name="HWArchitecture" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_M1wXIMniEeCMCo5Ox2CNmg" type="Class_Shape" fontName="" fontHeight="10" fillColor="10011046" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BgMniEeCMCo5Ox2CNmg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10BgcniEeCMCo5Ox2CNmg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BgsniEeCMCo5Ox2CNmg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10Bg8niEeCMCo5Ox2CNmg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BhMniEeCMCo5Ox2CNmg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10BhcniEeCMCo5Ox2CNmg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_M10BhsniEeCMCo5Ox2CNmg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JRHbkPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_QgbSEMniEeCMCo5Ox2CNmg" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgbSEsniEeCMCo5Ox2CNmg" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QgbSE8niEeCMCo5Ox2CNmg" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qgb5IMniEeCMCo5Ox2CNmg" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qgb5IcniEeCMCo5Ox2CNmg" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qgb5IsniEeCMCo5Ox2CNmg" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qgb5I8niEeCMCo5Ox2CNmg" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_Qgb5JMniEeCMCo5Ox2CNmg" type="Property_NameLabel"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JRICoPX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qgb5JsniEeCMCo5Ox2CNmg"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_h493QFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_h493QVbmEeObiJAlOlmjpQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h493QlbmEeObiJAlOlmjpQ"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_X6unsmkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_X6uns2kLEeWakucY9QdE0g" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="AbitComplexSMOrthogonal.uml#_QgKzYMniEeCMCo5Ox2CNmg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QgbSEcniEeCMCo5Ox2CNmg" x="83" y="28" width="165" height="55"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_Ndrf8GGIEeO2F4QRMDSOXg" type="Property_Shape">
-          <children xmi:type="notation:DecorationNode" xmi:id="_Ndrf8mGIEeO2F4QRMDSOXg" type="Property_NameLabel"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JRJQwPX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_Ndrf9GGIEeO2F4QRMDSOXg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ndrf9WGIEeO2F4QRMDSOXg"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_znjjUHDZEeORJcfdyIEeTg" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_znjjUXDZEeORJcfdyIEeTg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_znjjUnDZEeORJcfdyIEeTg"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_X6untGkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_X6untWkLEeWakucY9QdE0g" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="AbitComplexSMOrthogonal.uml#_Ndc2cGGIEeO2F4QRMDSOXg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ndrf8WGIEeO2F4QRMDSOXg" x="346" y="33" width="109"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M10BiMniEeCMCo5Ox2CNmg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h48CEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h48CEVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h48CElbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X6unsGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unsWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="AbitComplexSMOrthogonal.uml#_M1a_8MniEeCMCo5Ox2CNmg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M1wXIcniEeCMCo5Ox2CNmg" x="72" y="72" width="577" height="163"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_BLhG8DemEeGPyrZ5I3hMlA" type="Node_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG8jemEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG8zemEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG9DemEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG9TemEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG9jemEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG9zemEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_BLhuADemEeGPyrZ5I3hMlA" type="Node_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JRKe4PX4EeWa_pjn9guopQ" visible="false" type="Node_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_BLhuAjemEeGPyrZ5I3hMlA" showTitle="true"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BLhuAzemEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h4_FYFbmEeObiJAlOlmjpQ" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h4_FYVbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="FCM:Target" href="AbitComplexSMOrthogonal.uml#_HvbFMLqQEd-BObGGoBbehA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h4_FYlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h5CIsFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h5CIsVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h5CIslbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X6untmkLEeWakucY9QdE0g" type="Node_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unt2kLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_X8sWkGkLEeWakucY9QdE0g" type="StereotypeCompartment">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_X8woAGkLEeWakucY9QdE0g" source="PapyrusCSSForceValue">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X8xPEGkLEeWakucY9QdE0g" key="visible" value="true"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_X8uLwmkLEeWakucY9QdE0g" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_BZCjMJOGEd-5qPBhYeIVtw"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_X8uLw2kLEeWakucY9QdE0g"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_X8tksGkLEeWakucY9QdE0g" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#__5rAUGE_Ed-eArNXja7SuA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_X8tksWkLEeWakucY9QdE0g"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_X8sWkWkLEeWakucY9QdE0g" showTitle="true"/>
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_X8sWkmkLEeWakucY9QdE0g" name="stereotype" stringValue="FCM::Target"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X8sWk2kLEeWakucY9QdE0g"/>
-      </children>
-      <element xmi:type="uml:Node" href="AbitComplexSMOrthogonal.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BLhG8TemEeGPyrZ5I3hMlA" x="71" y="269" width="164" height="119"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_GVBbMGGIEeO2F4QRMDSOXg" type="Class_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_GVCCQGGIEeO2F4QRMDSOXg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JRLF8PX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_GVCCQmGIEeO2F4QRMDSOXg" showTitle="true"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GVCCQ2GIEeO2F4QRMDSOXg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_znnNsHDZEeORJcfdyIEeTg" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_znnNsXDZEeORJcfdyIEeTg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_znnNsnDZEeORJcfdyIEeTg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X6unuGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unuWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="AbitComplexSMOrthogonal.uml#_GUl9YGGIEeO2F4QRMDSOXg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GVBbMWGIEeO2F4QRMDSOXg" x="459" y="270" width="187" height="118"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_HoscYcniEeCMCo5Ox2CNmg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_X6unumkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_0MCIsOYXEeCBL_IbXY9ofw" type="PapyrusUMLStateMachineDiagram" name="SmDiagramServer" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_0MCIseYXEeCBL_IbXY9ofw" type="StateMachine_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIsuYXEeCBL_IbXY9ofw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIs-YXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItOYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIteYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItuYXEeCBL_IbXY9ofw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIt-YXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JlR4wHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JlR4wXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LKHvoHn3EeOfttgBwSq-Ig" key="gradient" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0MCIuOYXEeCBL_IbXY9ofw" type="StateMachine_NameLabel">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIueYXEeCBL_IbXY9ofw" width="1078" height="20"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JVovMPX4EeWa_pjn9guopQ" type="StateMachine_RegionCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_0MCIu-YXEeCBL_IbXY9ofw" type="Region_Shape" fontName="Sans Serif" lineColor="0" lineWidth="1">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvOYXEeCBL_IbXY9ofw" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIveYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvuYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIv-YXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwOYXEeCBL_IbXY9ofw" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIweYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwuYXEeCBL_IbXY9ofw" source="RegionAnnotationKey">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIw-YXEeCBL_IbXY9ofw" key="RegionZoneKey" value=""/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TbH8gHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TbH8gXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uP7skPZMEeWa_pjn9guopQ" key="lineWidth" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JVpWQPX4EeWa_pjn9guopQ" type="Region_SubvertexCompartment">
-            <children xmi:type="notation:Shape" xmi:id="_1U-twOYXEeCBL_IbXY9ofw" type="Pseudostate_InitialShape" fontName="Sans Serif" fillColor="0" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_U0OYXEeCBL_IbXY9ofw" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74OYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74eYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74uYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74-YXEeCBL_IbXY9ofw" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_75OYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LqN7kMcpEeSsAI2TZshUyg" source="PapyrusCSSForceValue">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LqPJsMcpEeSsAI2TZshUyg" key="gradient" value="true"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75eYXEeCBL_IbXY9ofw" type="Pseudostate_InitialFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_75uYXEeCBL_IbXY9ofw" x="36" y="-9"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75-YXEeCBL_IbXY9ofw" type="Pseudostate_InitialStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_76OYXEeCBL_IbXY9ofw" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="AbitComplexSMOrthogonal.uml#_1UVNgOYXEeCBL_IbXY9ofw"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1U-tweYXEeCBL_IbXY9ofw" x="41" y="18"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_53eokOYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPoOYXEeCBL_IbXY9ofw" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53fPoeYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPouYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2sOYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53f2seYXEeCBL_IbXY9ofw" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2suYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_53f2s-YXEeCBL_IbXY9ofw" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7PRh8OYXEeCBL_IbXY9ofw" width="99" height="20"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_JVp9UPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
-                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PvBTIPX4EeWa_pjn9guopQ" source="PapyrusCSSForceValue">
-                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PvB6MPX4EeWa_pjn9guopQ" key="visible" value="true"/>
-                </eAnnotations>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53f2teYXEeCBL_IbXY9ofw" y="20" width="99" height="48"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_h9cHkFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_h9cHkVbmEeObiJAlOlmjpQ"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9cHklbmEeObiJAlOlmjpQ"/>
-              </children>
-              <element xmi:type="uml:State" href="AbitComplexSMOrthogonal.uml#_53E_8OYXEeCBL_IbXY9ofw"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53eokeYXEeCBL_IbXY9ofw" x="180" y="35" width="99" height="68"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_8AQS8OYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8AQ6AOYXEeCBL_IbXY9ofw" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEOYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhEeYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEuYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhE-YXEeCBL_IbXY9ofw" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhFOYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_8ARhFeYXEeCBL_IbXY9ofw" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8A06sOYXEeCBL_IbXY9ofw" width="100" height="20"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_JVrLcPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8ARhF-YXEeCBL_IbXY9ofw" y="20" width="100" height="42"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_h9ej0FbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_h9ej0VbmEeObiJAlOlmjpQ"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ej0lbmEeObiJAlOlmjpQ"/>
-              </children>
-              <element xmi:type="uml:State" href="AbitComplexSMOrthogonal.uml#_7_1cMOYXEeCBL_IbXY9ofw"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8AQS8eYXEeCBL_IbXY9ofw" x="179" y="238" width="100" height="62"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_oxRiMCjmEeaJJusTB1aIbg" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_oxSwUCjmEeaJJusTB1aIbg" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p6M5ICjmEeaJJusTB1aIbg" width="79"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_oxTXYCjmEeaJJusTB1aIbg" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_oxTXYSjmEeaJJusTB1aIbg" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_oxTXYijmEeaJJusTB1aIbg" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxTXYyjmEeaJJusTB1aIbg" y="-1" width="79"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_8DYl4CkDEeaWptp_P1JVYQ" type="compartment_shape_display">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_8DYl4SkDEeaWptp_P1JVYQ"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8DYl4ikDEeaWptp_P1JVYQ"/>
-              </children>
-              <children xmi:type="notation:Shape" xmi:id="_hGz_0CkFEeaWptp_P1JVYQ" type="Behavior_EntryBehaviorLabel">
-                <element xmi:type="uml:OpaqueBehavior" href="AbitComplexSMOrthogonal.uml#_hGRNQCkFEeaWptp_P1JVYQ"/>
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_hGz_0SkFEeaWptp_P1JVYQ" x="-10" y="-10"/>
-              </children>
-              <element xmi:type="uml:State" href="AbitComplexSMOrthogonal.uml#_owZYcCjmEeaJJusTB1aIbg"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxRiMSjmEeaJJusTB1aIbg" x="502" y="33" width="79" height="59"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="__-OxACjmEeaJJusTB1aIbg" type="Pseudostate_JunctionShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="__-PYECjmEeaJJusTB1aIbg" type="Pseudostate_JunctionFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYESjmEeaJJusTB1aIbg" x="34" y="22"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="__-PYEijmEeaJJusTB1aIbg" type="Pseudostate_JunctionStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYEyjmEeaJJusTB1aIbg" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="AbitComplexSMOrthogonal.uml#__9lQwCjmEeaJJusTB1aIbg"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="__-OxASjmEeaJJusTB1aIbg" x="539" y="162"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_mySKUCkEEeaWptp_P1JVYQ" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_myTYcCkEEeaWptp_P1JVYQ" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nRa9YCkEEeaWptp_P1JVYQ" width="396" height="20"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_myTYcSkEEeaWptp_P1JVYQ" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_myTYcikEEeaWptp_P1JVYQ" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_myTYcykEEeaWptp_P1JVYQ" type="State_RegionCompartment">
-                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pXB_ACkEEeaWptp_P1JVYQ" source="PapyrusCSSForceValue">
-                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pXCmECkEEeaWptp_P1JVYQ" key="visible" value="true"/>
-                </eAnnotations>
-                <children xmi:type="notation:Shape" xmi:id="_pXLI8CkEEeaWptp_P1JVYQ" type="Region_Shape">
-                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pXLwAikEEeaWptp_P1JVYQ" source="RegionAnnotationKey">
-                    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pXLwAykEEeaWptp_P1JVYQ" key="RegionZoneKey" value="T"/>
-                  </eAnnotations>
-                  <children xmi:type="notation:BasicCompartment" xmi:id="_pXLwACkEEeaWptp_P1JVYQ" type="Region_SubvertexCompartment">
-                    <children xmi:type="notation:Shape" xmi:id="_pXOzUCkEEeaWptp_P1JVYQ" type="State_Shape">
-                      <children xmi:type="notation:DecorationNode" xmi:id="_pXOzUikEEeaWptp_P1JVYQ" type="State_NameLabel"/>
-                      <children xmi:type="notation:DecorationNode" xmi:id="_pXOzUykEEeaWptp_P1JVYQ" type="State_FloatingNameLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_pXOzVCkEEeaWptp_P1JVYQ" x="40"/>
-                      </children>
-                      <children xmi:type="notation:BasicCompartment" xmi:id="_pXOzVSkEEeaWptp_P1JVYQ" type="State_RegionCompartment">
-                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pXOzVikEEeaWptp_P1JVYQ"/>
-                      </children>
-                      <element xmi:type="uml:State" href="AbitComplexSMOrthogonal.uml#_pXM-ICkEEeaWptp_P1JVYQ"/>
-                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pXOzUSkEEeaWptp_P1JVYQ" x="173" y="16"/>
-                    </children>
-                    <children xmi:type="notation:Shape" xmi:id="_w_1jcCkEEeaWptp_P1JVYQ" type="Pseudostate_ShallowHistoryShape">
-                      <children xmi:type="notation:DecorationNode" xmi:id="_w_2KgCkEEeaWptp_P1JVYQ" type="Pseudostate_ShallowHistoryFloatingNameLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_w_2KgSkEEeaWptp_P1JVYQ" x="25" y="-9"/>
-                      </children>
-                      <children xmi:type="notation:DecorationNode" xmi:id="_w_2KgikEEeaWptp_P1JVYQ" type="Pseudostate_ShallowHistoryStereotypeLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_w_2KgykEEeaWptp_P1JVYQ" x="25" y="-10"/>
-                      </children>
-                      <element xmi:type="uml:Pseudostate" href="AbitComplexSMOrthogonal.uml#_w-8yoCkEEeaWptp_P1JVYQ"/>
-                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w_1jcSkEEeaWptp_P1JVYQ" x="34" y="16"/>
-                    </children>
-                    <children xmi:type="notation:Shape" xmi:id="_-BL54CkEEeaWptp_P1JVYQ" type="State_Shape">
-                      <children xmi:type="notation:DecorationNode" xmi:id="_-BL54ikEEeaWptp_P1JVYQ" type="State_NameLabel"/>
-                      <children xmi:type="notation:DecorationNode" xmi:id="_-BL54ykEEeaWptp_P1JVYQ" type="State_FloatingNameLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_-BMg8CkEEeaWptp_P1JVYQ" x="40"/>
-                      </children>
-                      <children xmi:type="notation:BasicCompartment" xmi:id="_-BMg8SkEEeaWptp_P1JVYQ" type="State_RegionCompartment">
-                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-BMg8ikEEeaWptp_P1JVYQ"/>
-                      </children>
-                      <element xmi:type="uml:State" href="AbitComplexSMOrthogonal.uml#_-AIxACkEEeaWptp_P1JVYQ"/>
-                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-BL54SkEEeaWptp_P1JVYQ" x="51" y="74"/>
-                    </children>
-                    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pXLwASkEEeaWptp_P1JVYQ"/>
-                  </children>
-                  <element xmi:type="uml:Region" href="AbitComplexSMOrthogonal.uml#_pXD0MCkEEeaWptp_P1JVYQ"/>
-                  <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pXLI8SkEEeaWptp_P1JVYQ" width="396" height="128"/>
-                </children>
-                <children xmi:type="notation:Shape" xmi:id="_0LmGECkKEeaYyIUJlvqqqw" type="Region_Shape">
-                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0LpwcCkKEeaYyIUJlvqqqw" source="RegionAnnotationKey">
-                    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0LpwcSkKEeaYyIUJlvqqqw" key="RegionZoneKey" value="B"/>
-                  </eAnnotations>
-                  <children xmi:type="notation:BasicCompartment" xmi:id="_0LpJYCkKEeaYyIUJlvqqqw" type="Region_SubvertexCompartment">
-                    <children xmi:type="notation:Shape" xmi:id="_01jCACkKEeaYyIUJlvqqqw" type="State_Shape">
-                      <children xmi:type="notation:DecorationNode" xmi:id="_01jpECkKEeaYyIUJlvqqqw" type="State_NameLabel"/>
-                      <children xmi:type="notation:DecorationNode" xmi:id="_01jpESkKEeaYyIUJlvqqqw" type="State_FloatingNameLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_01jpEikKEeaYyIUJlvqqqw" x="40"/>
-                      </children>
-                      <children xmi:type="notation:BasicCompartment" xmi:id="_01jpEykKEeaYyIUJlvqqqw" type="State_RegionCompartment">
-                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_01jpFCkKEeaYyIUJlvqqqw"/>
-                      </children>
-                      <children xmi:type="notation:BasicCompartment" xmi:id="_02So4CkKEeaYyIUJlvqqqw" type="compartment_shape_display">
-                        <styles xmi:type="notation:TitleStyle" xmi:id="_02So4SkKEeaYyIUJlvqqqw"/>
-                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_02So4ikKEeaYyIUJlvqqqw"/>
-                      </children>
-                      <children xmi:type="notation:Shape" xmi:id="_mal-4CkLEeaYyIUJlvqqqw" type="Behavior_EntryBehaviorLabel">
-                        <element xmi:type="uml:OpaqueBehavior" href="AbitComplexSMOrthogonal.uml#_mZyGkCkLEeaYyIUJlvqqqw"/>
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_mal-4SkLEeaYyIUJlvqqqw" x="-10" y="-10"/>
-                      </children>
-                      <element xmi:type="uml:State" href="AbitComplexSMOrthogonal.uml#_00q4QCkKEeaYyIUJlvqqqw"/>
-                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_01jCASkKEeaYyIUJlvqqqw" x="72" y="43"/>
-                    </children>
-                    <children xmi:type="notation:Shape" xmi:id="_2LlA0CkKEeaYyIUJlvqqqw" type="State_Shape">
-                      <children xmi:type="notation:DecorationNode" xmi:id="_2Lln4CkKEeaYyIUJlvqqqw" type="State_NameLabel"/>
-                      <children xmi:type="notation:DecorationNode" xmi:id="_2Lln4SkKEeaYyIUJlvqqqw" type="State_FloatingNameLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_2Lln4ikKEeaYyIUJlvqqqw" x="40"/>
-                      </children>
-                      <children xmi:type="notation:BasicCompartment" xmi:id="_2Lln4ykKEeaYyIUJlvqqqw" type="State_RegionCompartment">
-                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2Lln5CkKEeaYyIUJlvqqqw"/>
-                      </children>
-                      <element xmi:type="uml:State" href="AbitComplexSMOrthogonal.uml#_2KfbsCkKEeaYyIUJlvqqqw"/>
-                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LlA0SkKEeaYyIUJlvqqqw" x="323" y="43"/>
-                    </children>
-                    <children xmi:type="notation:Shape" xmi:id="_3wizgCkKEeaYyIUJlvqqqw" type="Pseudostate_InitialShape">
-                      <children xmi:type="notation:DecorationNode" xmi:id="_3wizgikKEeaYyIUJlvqqqw" type="Pseudostate_InitialFloatingNameLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_3wizgykKEeaYyIUJlvqqqw" x="25" y="3"/>
-                      </children>
-                      <children xmi:type="notation:DecorationNode" xmi:id="_3wizhCkKEeaYyIUJlvqqqw" type="Pseudostate_InitialStereotypeLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_3wizhSkKEeaYyIUJlvqqqw" x="25" y="-10"/>
-                      </children>
-                      <element xmi:type="uml:Pseudostate" href="AbitComplexSMOrthogonal.uml#_3vbZMCkKEeaYyIUJlvqqqw"/>
-                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3wizgSkKEeaYyIUJlvqqqw" x="14" y="16"/>
-                    </children>
-                    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0LpJYSkKEeaYyIUJlvqqqw"/>
-                  </children>
-                  <element xmi:type="uml:Region" href="AbitComplexSMOrthogonal.uml#_0LTyMCkKEeaYyIUJlvqqqw"/>
-                  <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0LmGESkKEeaYyIUJlvqqqw" y="128" width="396" height="128"/>
-                </children>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_myTYdCkEEeaWptp_P1JVYQ" y="20" width="396" height="256"/>
-              </children>
-              <element xmi:type="uml:State" href="AbitComplexSMOrthogonal.uml#_mxZZgCkEEeaWptp_P1JVYQ"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mySKUSkEEeaWptp_P1JVYQ" x="514" y="262" width="396" height="276"/>
-            </children>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxeYXEeCBL_IbXY9ofw"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_h9XPEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_h9XPEVbmEeObiJAlOlmjpQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9XPElbmEeObiJAlOlmjpQ"/>
-          </children>
-          <element xmi:type="uml:Region" href="AbitComplexSMOrthogonal.uml#_0Lv00OYXEeCBL_IbXY9ofw"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxuYXEeCBL_IbXY9ofw" width="1078" height="542"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIx-YXEeCBL_IbXY9ofw" y="20" width="1078" height="542"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h9ULwFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h9ULwVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ULwlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <styles xmi:type="notation:StringListValueStyle" xmi:id="_v51OQHn2EeOfttgBwSq-Ig" name="cssClass"/>
-      <element xmi:type="uml:StateMachine" href="AbitComplexSMOrthogonal.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIyOYXEeCBL_IbXY9ofw" x="40" y="40" width="1078" height="562"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_0MCIyeYXEeCBL_IbXY9ofw"/>
-    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_B2g2QHn3EeOfttgBwSq-Ig" name="css_stylesheets" eObjectListValue="_B2g2QXn3EeOfttgBwSq-Ig"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_YAq3oGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:StateMachine" href="AbitComplexSMOrthogonal.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
-    <edges xmi:type="notation:Connector" xmi:id="_CLUHAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_1U-twOYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_loi7ECkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8MeYYEeCBL_IbXY9ofw" x="-5" y="1"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MuYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lpG7wCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8M-YYEeCBL_IbXY9ofw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8NOYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lpZ2sCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8NeYYEeCBL_IbXY9ofw" x="1" y="58"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_CLUHAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_CLBzIOYYEeCBL_IbXY9ofw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CLUHAuYYEeCBL_IbXY9ofw" points="[10, -4, -180, 0]$[175, -7, -15, -3]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CMH_UOYYEeCBL_IbXY9ofw" id="(0.16483516483516483,0.4142857142857143)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Doz_wOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0OYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lFjiwCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0eYYEeCBL_IbXY9ofw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0uYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lF1PkCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0-YYEeCBL_IbXY9ofw" x="-2" y="84"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m1OYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lGFHMCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m1eYYEeCBL_IbXY9ofw" x="-1" y="58"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Doz_weYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_Doi6AOYYEeCBL_IbXY9ofw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Doz_wuYYEeCBL_IbXY9ofw" points="[4, 9, 0, -45]$[1, 47, -3, -7]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacsOYYEeCBL_IbXY9ofw" id="(0.2,0.9846153846153847)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacseYYEeCBL_IbXY9ofw" id="(0.2,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_OIPMAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_OIPzEOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lD7yICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIOYYEeCBL_IbXY9ofw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaIeYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lEucUCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIuYYEeCBL_IbXY9ofw" x="16" y="-8"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaI-YYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lFJ6ICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaJOYYEeCBL_IbXY9ofw" x="-1" y="58"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_OIPMAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_OH_UYOYYEeCBL_IbXY9ofw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OIPMAuYYEeCBL_IbXY9ofw" points="[-4, -31, 8, 88]$[4, -128, 16, -9]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgOYYEeCBL_IbXY9ofw" id="(0.8,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgeYYEeCBL_IbXY9ofw" id="(0.8,0.9846153846153847)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_mPjVYOtqEeCzSsOGmQH2aA" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" roundedBendpointsRadius="10" routing="Rectilinear" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wFmGcHoDEeOA64V_YLapaA" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wFmtgHoDEeOA64V_YLapaA" key="smoothness" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoOtqEeCzSsOGmQH2aA" visible="false" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XwnVkPX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxoetqEeCzSsOGmQH2aA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoutqEeCzSsOGmQH2aA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XxIS8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxo-tqEeCzSsOGmQH2aA" x="-15" y="28"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxpOtqEeCzSsOGmQH2aA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Xxll8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxpetqEeCzSsOGmQH2aA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_mPjVYetqEeCzSsOGmQH2aA" fontName=""/>
-      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_mJvoUOtqEeCzSsOGmQH2aA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mPjVYutqEeCzSsOGmQH2aA" points="[299, 171, -643984, -643984]$[147, 171, -643984, -643984]$[147, 272, -643984, -643984]$[299, 272, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wOtqEeCzSsOGmQH2aA" id="(0.0,0.6915887850467289)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wetqEeCzSsOGmQH2aA" id="(0.0,0.5)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_rgm2QCjmEeaJJusTB1aIbg" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_oxRiMCjmEeaJJusTB1aIbg">
-      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUCjmEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l3qVICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUSjmEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUijmEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l4T1YCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUyjmEeaJJusTB1aIbg" x="-103" y="-48"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_rgndVCjmEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l48HgCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndVSjmEeaJJusTB1aIbg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_rgm2QSjmEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_rdKgsCjmEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rgm2QijmEeaJJusTB1aIbg" points="[399, 131, -643984, -643984]$[551, 131, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhuQkCjmEeaJJusTB1aIbg" id="(1.0,0.5)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhu3oCjmEeaJJusTB1aIbg" id="(0.0,0.5932203389830508)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_BPTXUCjnEeaJJusTB1aIbg" type="Transition_Edge" source="_oxRiMCjmEeaJJusTB1aIbg" target="__-OxACjmEeaJJusTB1aIbg">
-      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXUyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cWcoICkFEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVCjnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cWvjECkFEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVijnEeaJJusTB1aIbg" x="4" y="-61"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cXNdICkFEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXWCjnEeaJJusTB1aIbg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_BPTXUSjnEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_BO7j4CjnEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BPTXUijnEeaJJusTB1aIbg" points="[590, 155, -643984, -643984]$[590, 222, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUCjnEeaJJusTB1aIbg" id="(0.4936708860759494,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUSjnEeaJJusTB1aIbg" id="(0.5,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_G11iACjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_53eokOYXEeCBL_IbXY9ofw">
-      <children xmi:type="notation:DecorationNode" xmi:id="_G11iAyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l5PpgCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBCjnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_G11iBSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l5fhICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBijnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_G11iByjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l5zDICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iCCjnEeaJJusTB1aIbg" x="-2" y="57"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_G11iASjnEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_G1QTMCjnEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G11iAijnEeaJJusTB1aIbg" points="[583, 227, -643984, -643984]$[397, 159, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2gQYCjnEeaJJusTB1aIbg" id="(0.15,0.3863945578231304)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2g3cCjnEeaJJusTB1aIbg" id="(0.9797979797979798,0.9117647058823529)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_HndzQCjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_w_1jcCkEEeaWptp_P1JVYQ">
-      <children xmi:type="notation:DecorationNode" xmi:id="_HndzQyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lGXbECkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRCjnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lGpH4CkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRijnEeaJJusTB1aIbg" x="-17" y="-13"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lG-fECkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzSCjnEeaJJusTB1aIbg" x="-2" y="57"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_HndzQSjnEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_HnKRQCjnEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HndzQijnEeaJJusTB1aIbg" points="[585, 234, -643984, -643984]$[400, 277, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoK94CjnEeaJJusTB1aIbg" id="(0.27479674796748554,0.8330623306233065)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoLk8CjnEeaJJusTB1aIbg" id="(0.35,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_zVFjkCkEEeaWptp_P1JVYQ" type="Transition_Edge" source="_w_1jcCkEEeaWptp_P1JVYQ" target="_pXOzUCkEEeaWptp_P1JVYQ">
-      <children xmi:type="notation:DecorationNode" xmi:id="_zVGKoikEEeaWptp_P1JVYQ" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_zVGKoykEEeaWptp_P1JVYQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_zVGKpCkEEeaWptp_P1JVYQ" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_zVGKpSkEEeaWptp_P1JVYQ" x="36" y="-67"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_zVGKpikEEeaWptp_P1JVYQ" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_zVGKpykEEeaWptp_P1JVYQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_zVGKoCkEEeaWptp_P1JVYQ"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_zRtfcCkEEeaWptp_P1JVYQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zVGKoSkEEeaWptp_P1JVYQ" points="[608, 371, -643984, -643984]$[729, 377, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zWNk8CkEEeaWptp_P1JVYQ" id="(0.9216981132075432,0.6566037735849051)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zWNk8SkEEeaWptp_P1JVYQ" id="(0.0,0.4318181818181818)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="__p2g0CkEEeaWptp_P1JVYQ" type="Transition_Edge" source="_pXOzUCkEEeaWptp_P1JVYQ" target="_-BL54CkEEeaWptp_P1JVYQ">
-      <children xmi:type="notation:DecorationNode" xmi:id="__p2g0ykEEeaWptp_P1JVYQ" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="__p2g1CkEEeaWptp_P1JVYQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="__p2g1SkEEeaWptp_P1JVYQ" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="__p2g1ikEEeaWptp_P1JVYQ" x="2" y="-10"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="__p2g1ykEEeaWptp_P1JVYQ" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="__p2g2CkEEeaWptp_P1JVYQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="__p2g0SkEEeaWptp_P1JVYQ"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#__pc4MCkEEeaWptp_P1JVYQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__p2g0ikEEeaWptp_P1JVYQ" points="[733, 400, -643984, -643984]$[647, 431, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__q6QwCkEEeaWptp_P1JVYQ" id="(0.1,0.9545454545454546)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__q630CkEEeaWptp_P1JVYQ" id="(1.0,0.3409090909090909)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_JP4m8CkFEeaWptp_P1JVYQ" type="Transition_Edge" source="_-BL54CkEEeaWptp_P1JVYQ" target="_8AQS8OYXEeCBL_IbXY9ofw">
-      <children xmi:type="notation:DecorationNode" xmi:id="_JP4m8ykFEeaWptp_P1JVYQ" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_JP4m9CkFEeaWptp_P1JVYQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_JP4m9SkFEeaWptp_P1JVYQ" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_JP4m9ikFEeaWptp_P1JVYQ" x="120" y="18"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_JP4m9ykFEeaWptp_P1JVYQ" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_JP4m-CkFEeaWptp_P1JVYQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_JP4m8SkFEeaWptp_P1JVYQ"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_JPEuoCkFEeaWptp_P1JVYQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JP4m8ikFEeaWptp_P1JVYQ" points="[628, 442, -643984, -643984]$[317, 356, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JQsfQCkFEeaWptp_P1JVYQ" id="(0.0,0.6590909090909091)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JQsfQSkFEeaWptp_P1JVYQ" id="(0.97,0.9354838709677419)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_4zdpECkKEeaYyIUJlvqqqw" type="Transition_Edge" source="_3wizgCkKEeaYyIUJlvqqqw" target="_01jCACkKEeaYyIUJlvqqqw">
-      <children xmi:type="notation:DecorationNode" xmi:id="_4zdpEykKEeaYyIUJlvqqqw" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_4zdpFCkKEeaYyIUJlvqqqw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_4zdpFSkKEeaYyIUJlvqqqw" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_4zdpFikKEeaYyIUJlvqqqw" x="-91" y="108"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_4zdpFykKEeaYyIUJlvqqqw" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_4zdpGCkKEeaYyIUJlvqqqw" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_4zdpESkKEeaYyIUJlvqqqw"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_4wueICkKEeaYyIUJlvqqqw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4zdpEikKEeaYyIUJlvqqqw" points="[584, 503, -643984, -643984]$[628, 530, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_40sYICkKEeaYyIUJlvqqqw" id="(0.7353932584269671,0.8646067415730357)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_40s_MCkKEeaYyIUJlvqqqw" id="(0.0,0.38636363636363635)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_99EAICkKEeaYyIUJlvqqqw" type="Transition_Edge" source="_01jCACkKEeaYyIUJlvqqqw" target="_2LlA0CkKEeaYyIUJlvqqqw">
-      <children xmi:type="notation:DecorationNode" xmi:id="_99EnMCkKEeaYyIUJlvqqqw" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JwRvgCkLEeaYyIUJlvqqqw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_99EnMSkKEeaYyIUJlvqqqw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_99EnMikKEeaYyIUJlvqqqw" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JxAvUCkLEeaYyIUJlvqqqw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_99EnMykKEeaYyIUJlvqqqw" x="-57" y="33"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_99EnNCkKEeaYyIUJlvqqqw" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JxepYCkLEeaYyIUJlvqqqw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_99EnNSkKEeaYyIUJlvqqqw" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_99EAISkKEeaYyIUJlvqqqw"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_98L2YCkKEeaYyIUJlvqqqw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_99EAIikKEeaYyIUJlvqqqw" points="[668, 537, -643984, -643984]$[742, 537, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9-UkYCkKEeaYyIUJlvqqqw" id="(1.0,0.5454545454545454)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9-UkYSkKEeaYyIUJlvqqqw" id="(0.0,0.5454545454545454)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_MOsSsCkLEeaYyIUJlvqqqw" type="Transition_Edge" source="_2LlA0CkKEeaYyIUJlvqqqw" target="_01jCACkKEeaYyIUJlvqqqw">
-      <children xmi:type="notation:DecorationNode" xmi:id="_MOsSsykLEeaYyIUJlvqqqw" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_eMacgCkLEeaYyIUJlvqqqw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_MOs5wCkLEeaYyIUJlvqqqw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_MOs5wSkLEeaYyIUJlvqqqw" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_eNHnICkLEeaYyIUJlvqqqw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_MOs5wikLEeaYyIUJlvqqqw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_MOs5wykLEeaYyIUJlvqqqw" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_eN5qQCkLEeaYyIUJlvqqqw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_MOs5xCkLEeaYyIUJlvqqqw" x="-2" y="57"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_MOsSsSkLEeaYyIUJlvqqqw"/>
-      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_MOEnoCkLEeaYyIUJlvqqqw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MOsSsikLEeaYyIUJlvqqqw" points="[867, 516, -643984, -643984]$[668, 522, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MQH2ECkLEeaYyIUJlvqqqw" id="(0.025,0.11363636363636363)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MQH2ESkLEeaYyIUJlvqqqw" id="(1.0,0.20454545454545456)"/>
-    </edges>
-  </notation:Diagram>
-  <css:EmbeddedStyleSheet xmi:id="_B2g2QXn3EeOfttgBwSq-Ig" label="Animation" content=":animated{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 3px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #c00000;&#xA;&#x9;bold: true;&#xA;} &#xA;&#xA;:suspended{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #fab953;&#xA;&#x9;bold: true;&#xA;}&#xA;&#xA;:visited{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #92d050;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #92d050;&#xA;}&#xA;Transition > Label {&#xA;&#x9;bodyCutLength: 1;&#xA;&#x9;indicateParameters: true;&#xA;&#x9;lineBreakBeforeEffect : true;&#xA;}"/>
-  <css:ModelStyleSheets xmi:id="_Rz4BcMcpEeSsAI2TZshUyg"/>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/AbitComplexSMOrthogonal.uml b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/AbitComplexSMOrthogonal.uml
deleted file mode 100644
index 17dbb2b..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/AbitComplexSMOrthogonal.uml
+++ /dev/null
@@ -1,450 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc">
-  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="ABitComplexSMOrthogonalExample">
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
-      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/core.uml#_O6TiIDLUEd26WNosUASSSw"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_YvEs8OusEeCTfOY57pgE3w">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/statemachine.uml#_ago_QOUTEd-P08Bciq_LqQ"/>
-    </packageImport>
-    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="components">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_cb-ncDemEeGPyrZ5I3hMlA" annotatedElement="_oqZNUDLaEd2qeKRLMdIx_A">
-        <body>State-machine support is enabled with a container rule</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Package" xmi:id="_Tp4n8DLaEd2qeKRLMdIx_A" name="Interfaces">
-        <packagedElement xmi:type="uml:Interface" xmi:id="_cn-H0DLbEd2qeKRLMdIx_A" name="ICompute">
-          <ownedReception xmi:type="uml:Reception" xmi:id="_1U0U8McqEeSsAI2TZshUyg" name="add" signal="_ywk2kMcqEeSsAI2TZshUyg"/>
-          <ownedReception xmi:type="uml:Reception" xmi:id="_M-tXYMcrEeSsAI2TZshUyg" name="mult" signal="_z0nGcMcqEeSsAI2TZshUyg"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_DGs6wDLgEd28fJKJJnUaeQ" name="add">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6wTLgEd28fJKJJnUaeQ" name="a">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6wzLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6wjLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6xTLgEd28fJKJJnUaeQ" name="b">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6xzLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6xjLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6yTLgEd28fJKJJnUaeQ" name="res" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6yzLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6yjLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-          </ownedOperation>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_L8EY8DLgEd28fJKJJnUaeQ" name="mult">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY8TLgEd28fJKJJnUaeQ" name="a">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY8zLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY8jLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY9TLgEd28fJKJJnUaeQ" name="b">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY9zLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY9jLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY-TLgEd28fJKJJnUaeQ" name="res" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY-zLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY-jLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-          </ownedOperation>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Signal" xmi:id="_ywk2kMcqEeSsAI2TZshUyg" name="Add"/>
-        <packagedElement xmi:type="uml:Signal" xmi:id="_z0nGcMcqEeSsAI2TZshUyg" name="Mult"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_XLQjUDLiEd2RVeNawwNNzg" name="System">
-        <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="System_impl">
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_gV1cgDLiEd2RVeNawwNNzg" name="simpleSM" type="_oqZNUDLaEd2qeKRLMdIx_A" isUnique="false" aggregation="composite"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_oqZNUDLaEd2qeKRLMdIx_A" name="SimpleSM" classifierBehavior="_y7KWsOYXEeCBL_IbXY9ofw">
-        <generalization xmi:type="uml:Generalization" xmi:id="_LuEUwCgBEeapjr3l63b85A">
-          <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
-        </generalization>
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_4KiE8DLbEd2qeKRLMdIx_A" name="p" type="_cn-H0DLbEd2qeKRLMdIx_A" aggregation="composite"/>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_Ya5_oCkFEeaWptp_P1JVYQ" name="x">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedAttribute>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_YQqH0JYlEd6G9q9hwr11bw" name="derived realization of ICompute" client="_oqZNUDLaEd2qeKRLMdIx_A" supplier="_cn-H0DLbEd2qeKRLMdIx_A" contract="_cn-H0DLbEd2qeKRLMdIx_A"/>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_VGnYgCgBEeapjr3l63b85A" name="derived realization of IStart" client="_oqZNUDLaEd2qeKRLMdIx_A">
-          <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
-          <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
-        </interfaceRealization>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_qxjWINnmEd2_cstbO2Uzgg" name="mult" specification="_4ZEZwHecEd6r18stFZxmFQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqWHcC1REea25uwDpRQuxg" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqWHcS1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqWHci1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqWHcy1REea25uwDpRQuxg" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqWugC1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqWugS1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqWugi1REea25uwDpRQuxg" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqWugy1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqWuhC1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <language>C/C++</language>
-          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a*b=&quot; &lt;&lt; a*b &lt;&lt; endl;
-return a*b;</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ML-4AKI5Ed6FqJCjEUrkqQ" name="add" specification="_TbIjUJYlEd6G9q9hwr11bw">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqXVkC1REea25uwDpRQuxg" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqXVkS1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqXVki1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqX8oC1REea25uwDpRQuxg" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqX8oS1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqX8oi1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqX8oy1REea25uwDpRQuxg" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqX8pC1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqYjsC1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <language>C/C++</language>
-          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a+b=&quot; &lt;&lt; a+b &lt;&lt; endl;
-return a+b;</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_y7KWsOYXEeCBL_IbXY9ofw" name="SMServer">
-          <region xmi:type="uml:Region" xmi:id="_0Lv00OYXEeCBL_IbXY9ofw" name="Region0">
-            <transition xmi:type="uml:Transition" xmi:id="_CLBzIOYYEeCBL_IbXY9ofw" name="Transition0" source="_1UVNgOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw"/>
-            <transition xmi:type="uml:Transition" xmi:id="_Doi6AOYYEeCBL_IbXY9ofw" name="Transition1" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
-              <trigger xmi:type="uml:Trigger" xmi:id="_rHpXoOtoEeCjb9i0gG4phA" event="_rHoJgOtoEeCjb9i0gG4phA"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_OH_UYOYYEeCBL_IbXY9ofw" name="Transition2" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw">
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_CAWpgSSoEeG6GJ4vU06VYQ" name="add">
-                <language>C/C++</language>
-                <body>add(2,3);&#xD;
-mult(3,5);&#xD;
-std::cout &lt;&lt;&quot;From State1 to State0 \n&quot;;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_-aQtACaeEeG4fZdVXNtoOQ" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_mJvoUOtqEeCzSsOGmQH2aA" name="Transition3" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
-              <trigger xmi:type="uml:Trigger" xmi:id="_8WepQHoDEeOA64V_YLapaA" event="_8WeCMHoDEeOA64V_YLapaA"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_rdKgsCjmEeaJJusTB1aIbg" source="_53E_8OYXEeCBL_IbXY9ofw" target="_owZYcCjmEeaJJusTB1aIbg">
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_-EnkACjmEeaJJusTB1aIbg">
-                <language>C++</language>
-                <body>std::cout &lt;&lt; &quot;From State 0 to State 2\n&quot;;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_4eMuECjmEeaJJusTB1aIbg" event="_4WSIMCjmEeaJJusTB1aIbg"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_BO7j4CjnEeaJJusTB1aIbg" source="_owZYcCjmEeaJJusTB1aIbg" target="__9lQwCjmEeaJJusTB1aIbg">
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_F9mScCjnEeaJJusTB1aIbg">
-                <language>C++</language>
-                <body>x = 6;&#xD;
-std::cout &lt;&lt;&quot;From State 2 to Junction1\n&quot;;&#xD;
-</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_GlK94CjpEeaJJusTB1aIbg" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_G1QTMCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_53E_8OYXEeCBL_IbXY9ofw"/>
-            <transition xmi:type="uml:Transition" xmi:id="_HnKRQCjnEeaJJusTB1aIbg" guard="_KB4nQCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_w-8yoCkEEeaWptp_P1JVYQ">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_KB4nQCjnEeaJJusTB1aIbg">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_KB4nQSjnEeaJJusTB1aIbg">
-                  <language>C++</language>
-                  <body>x == 5</body>
-                </specification>
-              </ownedRule>
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_QlLVICjnEeaJJusTB1aIbg">
-                <language>C++</language>
-                <body>std::cout &lt;&lt; &quot;From Junction1 to Shallow history \n&quot;;</body>
-              </effect>
-            </transition>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_1UVNgOYXEeCBL_IbXY9ofw" name="Initial0"/>
-            <subvertex xmi:type="uml:State" xmi:id="_53E_8OYXEeCBL_IbXY9ofw" name="State0"/>
-            <subvertex xmi:type="uml:State" xmi:id="_7_1cMOYXEeCBL_IbXY9ofw" name="State1"/>
-            <subvertex xmi:type="uml:State" xmi:id="_owZYcCjmEeaJJusTB1aIbg" name="State2">
-              <entry xmi:type="uml:OpaqueBehavior" xmi:id="_hGRNQCkFEeaWptp_P1JVYQ">
-                <language>C++</language>
-                <body>x = 5;</body>
-              </entry>
-            </subvertex>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="__9lQwCjmEeaJJusTB1aIbg" name="Junction1" kind="junction"/>
-            <subvertex xmi:type="uml:State" xmi:id="_mxZZgCkEEeaWptp_P1JVYQ" name="State3">
-              <region xmi:type="uml:Region" xmi:id="_pXD0MCkEEeaWptp_P1JVYQ" name="Region1">
-                <transition xmi:type="uml:Transition" xmi:id="_zRtfcCkEEeaWptp_P1JVYQ" source="_w-8yoCkEEeaWptp_P1JVYQ" target="_pXM-ICkEEeaWptp_P1JVYQ">
-                  <effect xmi:type="uml:OpaqueBehavior" xmi:id="_7hUlMCkEEeaWptp_P1JVYQ">
-                    <language>C++</language>
-                    <body>std::cout &lt;&lt; &quot;From Shallow history  to State 4\n&quot;;</body>
-                  </effect>
-                </transition>
-                <transition xmi:type="uml:Transition" xmi:id="__pc4MCkEEeaWptp_P1JVYQ" source="_pXM-ICkEEeaWptp_P1JVYQ" target="_-AIxACkEEeaWptp_P1JVYQ">
-                  <effect xmi:type="uml:OpaqueBehavior" xmi:id="_Im4tQCkFEeaWptp_P1JVYQ">
-                    <language>C++</language>
-                    <body>std::cout &lt;&lt; &quot;From State 4 to State 5 \n&quot;;</body>
-                  </effect>
-                  <trigger xmi:type="uml:Trigger" xmi:id="_D0f8UCkFEeaWptp_P1JVYQ" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
-                </transition>
-                <transition xmi:type="uml:Transition" xmi:id="_JPEuoCkFEeaWptp_P1JVYQ" source="_-AIxACkEEeaWptp_P1JVYQ" target="_7_1cMOYXEeCBL_IbXY9ofw">
-                  <effect xmi:type="uml:OpaqueBehavior" xmi:id="_QHO5QCkFEeaWptp_P1JVYQ">
-                    <language>C++</language>
-                    <body>std::cout &lt;&lt; &quot;From State 5 to State 1 \n&quot;;</body>
-                  </effect>
-                  <trigger xmi:type="uml:Trigger" xmi:id="_NO0hsCkFEeaWptp_P1JVYQ" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
-                </transition>
-                <subvertex xmi:type="uml:State" xmi:id="_pXM-ICkEEeaWptp_P1JVYQ" name="State4"/>
-                <subvertex xmi:type="uml:Pseudostate" xmi:id="_w-8yoCkEEeaWptp_P1JVYQ" name="ShallowHistory1" kind="shallowHistory"/>
-                <subvertex xmi:type="uml:State" xmi:id="_-AIxACkEEeaWptp_P1JVYQ" name="State5"/>
-              </region>
-              <region xmi:type="uml:Region" xmi:id="_0LTyMCkKEeaYyIUJlvqqqw" name="Region2">
-                <transition xmi:type="uml:Transition" xmi:id="_4wueICkKEeaYyIUJlvqqqw" source="_3vbZMCkKEeaYyIUJlvqqqw" target="_00q4QCkKEeaYyIUJlvqqqw">
-                  <effect xmi:type="uml:OpaqueBehavior" xmi:id="_83I54CkKEeaYyIUJlvqqqw">
-                    <language>C++</language>
-                    <body>std::cout &lt;&lt;&quot;Initial to state 6\n&quot;;</body>
-                  </effect>
-                </transition>
-                <transition xmi:type="uml:Transition" xmi:id="_98L2YCkKEeaYyIUJlvqqqw" source="_00q4QCkKEeaYyIUJlvqqqw" target="_2KfbsCkKEeaYyIUJlvqqqw">
-                  <effect xmi:type="uml:OpaqueBehavior" xmi:id="_iNXwgCkLEeaYyIUJlvqqqw">
-                    <language>C++</language>
-                    <body>std::cout&lt;&lt;&quot;From state6 to state7\n&quot;;</body>
-                  </effect>
-                  <trigger xmi:type="uml:Trigger" xmi:id="_IiaOMCkLEeaYyIUJlvqqqw" event="_ay7_QCkLEeaYyIUJlvqqqw"/>
-                </transition>
-                <transition xmi:type="uml:Transition" xmi:id="_MOEnoCkLEeaYyIUJlvqqqw" source="_2KfbsCkKEeaYyIUJlvqqqw" target="_00q4QCkKEeaYyIUJlvqqqw">
-                  <trigger xmi:type="uml:Trigger" xmi:id="_bCRbwCkLEeaYyIUJlvqqqw" event="_ay7_QCkLEeaYyIUJlvqqqw"/>
-                </transition>
-                <subvertex xmi:type="uml:State" xmi:id="_00q4QCkKEeaYyIUJlvqqqw" name="State6">
-                  <entry xmi:type="uml:OpaqueBehavior" xmi:id="_mZyGkCkLEeaYyIUJlvqqqw">
-                    <language>C++</language>
-                    <body>std::cout&lt;&lt;&quot;Entering state6\n&quot;;</body>
-                  </entry>
-                </subvertex>
-                <subvertex xmi:type="uml:State" xmi:id="_2KfbsCkKEeaYyIUJlvqqqw" name="State7"/>
-                <subvertex xmi:type="uml:Pseudostate" xmi:id="_3vbZMCkKEeaYyIUJlvqqqw" name="Initial1"/>
-              </region>
-            </subvertex>
-          </region>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_YNCW4CgBEeapjr3l63b85A" name="run" specification="_VGsRACgBEeapjr3l63b85A">
-          <language>C/C++</language>
-          <body>cout &lt;&lt; &quot;call add (2, 3);&quot; &lt;&lt; endl;
-cout &lt;&lt; &quot;result: &quot; &lt;&lt; add (2, 3) &lt;&lt; endl;
-cout &lt;&lt; &quot;sleeping for 15 seconds (statemachine remains active);&quot; &lt;&lt; endl;
-sleep(15);
-</body>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_4ZEZwHecEd6r18stFZxmFQ" name="mult" method="_qxjWINnmEd2_cstbO2Uzgg">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqR2AC1REea25uwDpRQuxg" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqSdEC1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqTEIC1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqTEIS1REea25uwDpRQuxg" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqTrMC1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqTrMS1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqTrMi1REea25uwDpRQuxg" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqU5UC1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqU5US1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_TbIjUJYlEd6G9q9hwr11bw" name="add" method="_ML-4AKI5Ed6FqJCjEUrkqQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqMWcC1REea25uwDpRQuxg" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqM9gC1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqNkkC1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqNkkS1REea25uwDpRQuxg" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqOLoC1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqOLoS1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqOLoi1REea25uwDpRQuxg" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqPZwC1REea25uwDpRQuxg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqPZwS1REea25uwDpRQuxg" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_VGsRACgBEeapjr3l63b85A" name="run" method="_YNCW4CgBEeapjr3l63b85A"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_rGzqIOtoEeCjb9i0gG4phA" name="events">
-        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_rHoJgOtoEeCjb9i0gG4phA" name="TE - {value=50, unit=ms}" isRelative="true">
-          <when xmi:type="uml:TimeExpression" xmi:id="_rHoJgetoEeCjb9i0gG4phA">
-            <expr xmi:type="uml:OpaqueExpression" xmi:id="_rHoJgutoEeCjb9i0gG4phA">
-              <language>Natural language</language>
-              <body>{value=50, unit=ms}</body>
-            </expr>
-          </when>
-        </packagedElement>
-        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_-PMFcCaeEeG4fZdVXNtoOQ" name="TE - {value=500, unit=ms}" isRelative="true">
-          <when xmi:type="uml:TimeExpression" xmi:id="_-PMFcSaeEeG4fZdVXNtoOQ">
-            <expr xmi:type="uml:OpaqueExpression" xmi:id="_-PMFciaeEeG4fZdVXNtoOQ">
-              <language>Natural language</language>
-              <body>{value=500, unit=ms}</body>
-            </expr>
-          </when>
-        </packagedElement>
-        <packagedElement xmi:type="uml:CallEvent" xmi:id="_8WeCMHoDEeOA64V_YLapaA" name="CE - CServer_impl - add" operation="_TbIjUJYlEd6G9q9hwr11bw"/>
-        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_4WSIMCjmEeaJJusTB1aIbg" name="TE - {value=25, unit=ms}" isRelative="true">
-          <when xmi:type="uml:TimeExpression" xmi:id="_4WSIMSjmEeaJJusTB1aIbg">
-            <expr xmi:type="uml:OpaqueExpression" xmi:id="_4WSIMijmEeaJJusTB1aIbg">
-              <language>Natural language</language>
-              <body>{value=25, unit=ms}</body>
-            </expr>
-          </when>
-        </packagedElement>
-        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_ay7_QCkLEeaYyIUJlvqqqw" name="TE-{value=1, unit=s}" isRelative="true">
-          <when xmi:type="uml:TimeExpression" xmi:id="_ay7_QSkLEeaYyIUJlvqqqw">
-            <expr xmi:type="uml:OpaqueExpression" xmi:id="_ay7_QikLEeaYyIUJlvqqqw">
-              <language>Natural language</language>
-              <body>{value=1, unit=s}</body>
-            </expr>
-          </when>
-        </packagedElement>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_v3fMgDLiEd2RVeNawwNNzg" name="platform">
-      <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="MonoNode">
-        <generalization xmi:type="uml:Generalization" xmi:id="_A39CYHDaEeORJcfdyIEeTg">
-          <general xmi:type="uml:Class" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmImnHEeOtZICylR5Azw"/>
-        </generalization>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_M1a_8MniEeCMCo5Ox2CNmg" name="HWArchitectureMonolithic">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_QgKzYMniEeCMCo5Ox2CNmg" name="monoNode" visibility="public" type="_zY9vMDLiEd2RVeNawwNNzg" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XijRAMniEeCMCo5Ox2CNmg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XkfxwMniEeCMCo5Ox2CNmg" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_XlIq8MniEeCMCo5Ox2CNmg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_Ndc2cGGIEeO2F4QRMDSOXg" name="Eclipse" type="_GUl9YGGIEeO2F4QRMDSOXg" aggregation="composite"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_GUl9YGGIEeO2F4QRMDSOXg" name="EclipseServer">
-        <generalization xmi:type="uml:Generalization" xmi:id="_Bpd-4HDaEeORJcfdyIEeTg">
-          <general xmi:type="uml:Class" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmImnHEeOtZICylR5Azw"/>
-        </generalization>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_ZDrmkHDaEeORJcfdyIEeTg" name="HWArchitectureMonolithicPlatform">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDrmkXDaEeORJcfdyIEeTg" classifier="_M1a_8MniEeCMCo5Ox2CNmg">
-          <slot xmi:type="uml:Slot" xmi:id="_ZDsNoXDaEeORJcfdyIEeTg" definingFeature="_QgKzYMniEeCMCo5Ox2CNmg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_ZDs0sHDaEeORJcfdyIEeTg" instance="_ZDsNoHDaEeORJcfdyIEeTg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_ZDtbwHDaEeORJcfdyIEeTg" definingFeature="_Ndc2cGGIEeO2F4QRMDSOXg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_ZDuC0HDaEeORJcfdyIEeTg" instance="_ZDs0sXDaEeORJcfdyIEeTg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDsNoHDaEeORJcfdyIEeTg" name="monoNode" classifier="_zY9vMDLiEd2RVeNawwNNzg">
-          <slot xmi:type="uml:Slot" xmi:id="_fg9zEHDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJWnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralString" xmi:id="_fg-aIHDaEeORJcfdyIEeTg" name="value for IPaddress" value="127.0.0.1">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-            </value>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_hDbrYHDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJmnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralInteger" xmi:id="_hDcScHDaEeORJcfdyIEeTg" name="value for portNumber" value="12345">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-            </value>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDs0sXDaEeORJcfdyIEeTg" name="Eclipse" classifier="_GUl9YGGIEeO2F4QRMDSOXg">
-          <slot xmi:type="uml:Slot" xmi:id="_oXzQ4HDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJWnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralString" xmi:id="_oXz38HDaEeORJcfdyIEeTg" name="value for IPaddress" value="127.0.0.1">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-            </value>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_plcIsHDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJmnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralInteger" xmi:id="_plcvwHDaEeORJcfdyIEeTg" name="value for portNumber" value="12346">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-            </value>
-          </slot>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_NaSPIHltEeOh_8tymvdOOg" name="System_implPlatform">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaS2MHltEeOh_8tymvdOOg" classifier="_bYJagDLiEd2RVeNawwNNzg">
-          <slot xmi:type="uml:Slot" xmi:id="_NaTdQXltEeOh_8tymvdOOg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaUEUHltEeOh_8tymvdOOg" instance="_NaTdQHltEeOh_8tymvdOOg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_NaVScHltEeOh_8tymvdOOg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaV5gHltEeOh_8tymvdOOg" instance="_NaUrYHltEeOh_8tymvdOOg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_NaXHoHltEeOh_8tymvdOOg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaXHoXltEeOh_8tymvdOOg" instance="_NaWgkHltEeOh_8tymvdOOg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_NaXusXltEeOh_8tymvdOOg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaYVwHltEeOh_8tymvdOOg" instance="_NaXusHltEeOh_8tymvdOOg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaTdQHltEeOh_8tymvdOOg" name="server" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaUrYHltEeOh_8tymvdOOg" name="client"/>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaWgkHltEeOh_8tymvdOOg" name="singleton_localanimservice">
-          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/statemachine.uml#_xELAwF81EeGbQoflzrdx0g"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaXusHltEeOh_8tymvdOOg" name="singleton_remoteanimservice">
-          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/statemachine.uml#_B0gFAHg_EeOejZqJpKQeww"/>
-        </packagedElement>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
-      <packagedElement xmi:type="uml:Package" xmi:id="_QQiDgHltEeOh_8tymvdOOg" name="System_implDepPlan">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_QQm8AHltEeOh_8tymvdOOg" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg">
-          <slot xmi:type="uml:Slot" xmi:id="_QQtpsHltEeOh_8tymvdOOg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_QQuQwHltEeOh_8tymvdOOg" instance="_QQr0gHltEeOh_8tymvdOOg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_QQr0gHltEeOh_8tymvdOOg" name="mainInstance.simpleSM" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
-        <packagedElement xmi:type="uml:Abstraction" xmi:id="_StNrwCQdEeabuaUFyev1pw" name="allocate mainInstance to monoNode" client="_QQm8AHltEeOh_8tymvdOOg" supplier="_ZDsNoHDaEeORJcfdyIEeTg"/>
-      </packagedElement>
-    </packagedElement>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_GcC0cAHtEd6HSdiss9GQ0A">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Gd1kMAHtEd6HSdiss9GQ0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_z1TwgFW3Ed63BrxiKsw-0Q">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z2GasFW3Ed63BrxiKsw-0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_zi-sUE2sEeGl8qrc8BM7vA">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0QJUUE2sEeGl8qrc8BM7vA" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
-    </profileApplication>
-  </uml:Model>
-  <FCM:DerivedElement xmi:id="_DWb6oP6yEd6Ie_kieu_3CQ" base_Element="_TbIjUJYlEd6G9q9hwr11bw" source="_DGs6wDLgEd28fJKJJnUaeQ"/>
-  <FCM:DerivedElement xmi:id="_DXK6cP6yEd6Ie_kieu_3CQ" base_Element="_4ZEZwHecEd6r18stFZxmFQ" source="_L8EY8DLgEd28fJKJJnUaeQ"/>
-  <FCM:RuleApplication xmi:id="_DWIYoP6yEd6Ie_kieu_3CQ" base_Class="_oqZNUDLaEd2qeKRLMdIx_A">
-    <containerRule xmi:type="FCM:ContainerRule" href="pathmap://QML_CORE/statemachine.uml#_7BlhkCPoEeauR8esGjVxRA"/>
-    <propagateRule>false</propagateRule>
-    <containerRule xmi:type="FCM:CompositeCRule" href="pathmap://QML_CORE/statemachine.uml#_BncCwO68EeCZ9MjsZTV1zw"/>
-    <interceptor href="pathmap://QML_TRACE/tracing.uml#_35od4DKrEd-z5o2wSoJ16A"/>
-  </FCM:RuleApplication>
-  <FCM:Port xmi:id="_GofhQP6yEd6Ie_kieu_3CQ" base_Port="_4KiE8DLbEd2qeKRLMdIx_A" type="_cn-H0DLbEd2qeKRLMdIx_A">
-    <kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_wySlkFRxEd6GqrP6fkWBoQ"/>
-  </FCM:Port>
-  <FCM:Target xmi:id="_HvbFMLqQEd-BObGGoBbehA" base_Node="_zY9vMDLiEd2RVeNawwNNzg">
-    <targetArch xmi:type="FCM:TargetArchitecture" href="pathmap://QML_CORE/core.uml#_FYOqwF0OEd-12d_h0i1xhQ"/>
-    <usedOS xmi:type="FCM:OperatingSystem" href="pathmap://QML_CORE/core.uml#_1eULwF0NEd-12d_h0i1xhQ"/>
-  </FCM:Target>
-  <C_Cpp:Include xmi:id="_EaeJMNp0EeKd1ax3yaXM9w" body="#include &lt;iostream>&#xA;using namespace std;&#xA;&#xA;#include &lt;unistd.h>&#xA;" base_class="_oqZNUDLaEd2qeKRLMdIx_A"/>
-  <FCM:DeploymentPlan xmi:id="_QQlt4HltEeOh_8tymvdOOg" mainInstance="_QQm8AHltEeOh_8tymvdOOg" base_Package="_QQiDgHltEeOh_8tymvdOOg"/>
-  <Alloc:Allocate xmi:id="_StSkQCQdEeabuaUFyev1pw" base_Abstraction="_StNrwCQdEeabuaUFyev1pw"/>
-  <FCM:DerivedElement xmi:id="_VGxwkCgBEeapjr3l63b85A" base_Element="_VGsRACgBEeapjr3l63b85A">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/HelloWorld.notation b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/HelloWorld.notation
index ff40b59..92c41ca 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/HelloWorld.notation
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/HelloWorld.notation
@@ -1,501 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
-  <notation:Diagram xmi:id="_7kc7YM__Ed-TP80eVS-2Rg" type="CompositeStructure" name="HelloWorldComponent" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_8LSR4M__Ed-TP80eVS-2Rg" type="Class_Shape" fontName="" fontHeight="10" fillColor="8905185" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LSR4s__Ed-TP80eVS-2Rg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LSR48__Ed-TP80eVS-2Rg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LS48M__Ed-TP80eVS-2Rg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LS48c__Ed-TP80eVS-2Rg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LS48s__Ed-TP80eVS-2Rg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LS488__Ed-TP80eVS-2Rg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_8LS49M__Ed-TP80eVS-2Rg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_8LS49c__Ed-TP80eVS-2Rg" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_8rDfAFTzEeKvFeqt5Q_lqw" type="Property_Shape" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8rGiUFTzEeKvFeqt5Q_lqw" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8rGiUVTzEeKvFeqt5Q_lqw" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8rGiUlTzEeKvFeqt5Q_lqw" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8rGiU1TzEeKvFeqt5Q_lqw" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8rGiVFTzEeKvFeqt5Q_lqw" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8rGiVVTzEeKvFeqt5Q_lqw" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4k6AsHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4k7O0Hk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4urnwHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_8rHJYFTzEeKvFeqt5Q_lqw" type="Property_NameLabel">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CBQusFT0EeKvFeqt5Q_lqw" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CGsoUFT0EeKvFeqt5Q_lqw" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_8rHJYVTzEeKvFeqt5Q_lqw" visible="false" type="Property_StructureCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_8rHJYlTzEeKvFeqt5Q_lqw" showTitle="true"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8rHJY1TzEeKvFeqt5Q_lqw"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_p2fBUrYoEeWaTqnU44XdvA" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_p2fBU7YoEeWaTqnU44XdvA" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="HelloWorld.uml#_8pupUFTzEeKvFeqt5Q_lqw"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8rDfAVTzEeKvFeqt5Q_lqw" x="40" y="30" width="163"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_qF26ELYoEeWaTqnU44XdvA" type="StereotypeComment">
-          <styles xmi:type="notation:TitleStyle" xmi:id="_qF26EbYoEeWaTqnU44XdvA" showTitle="true"/>
-          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qF26E7YoEeWaTqnU44XdvA" name="BASE_ELEMENT">
-            <eObjectValue xmi:type="uml:Property" href="HelloWorld.uml#_8pupUFTzEeKvFeqt5Q_lqw"/>
-          </styles>
-          <element xsi:nil="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qF26ErYoEeWaTqnU44XdvA" x="240" y="30"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8LS49s__Ed-TP80eVS-2Rg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_O7kMQFWUEeKdxoQIVxFNNg" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_O7kMQVWUEeKdxoQIVxFNNg" showTitle="true"/>
-        <element xmi:type="C_Cpp:Include" href="HelloWorld.uml#_11OtwPcaEd-KM6l7lmIPkw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7kMQlWUEeKdxoQIVxFNNg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_6UeXAFWUEeKdxoQIVxFNNg" type="Port_Shape" fontName="Sans Serif" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ue-EFWUEeKdxoQIVxFNNg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Ue-EVWUEeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ue-FFWUEeKdxoQIVxFNNg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6UflIFWUEeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6kEY8LYoEeWaTqnU44XdvA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6kEY8bYoEeWaTqnU44XdvA" key="displayNameLabelIcon_value" value="true"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_6UflIVWUEeKdxoQIVxFNNg" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_6UflIlWUEeKdxoQIVxFNNg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_6UflI1WUEeKdxoQIVxFNNg" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_6UflJFWUEeKdxoQIVxFNNg" x="25" y="-10"/>
-        </children>
-        <children xmi:type="notation:BasicCompartment" xmi:id="_qG7RELYoEeWaTqnU44XdvA" type="StereotypeBrace">
-          <styles xmi:type="notation:TitleStyle" xmi:id="_qG7REbYoEeWaTqnU44XdvA" showTitle="true"/>
-          <styles xmi:type="notation:StringValueStyle" xmi:id="_qG7RErYoEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Port"/>
-          <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qG74ILYoEeWaTqnU44XdvA"/>
-        </children>
-        <styles xmi:type="notation:StringListValueStyle" xmi:id="_fV6D0LkXEeS7TYMQS2xzng" name="maskLabel">
-          <stringListValue>multiplicity</stringListValue>
-          <stringListValue>name</stringListValue>
-          <stringListValue>type</stringListValue>
-          <stringListValue>derived</stringListValue>
-        </styles>
-        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UeXAVWUEeKdxoQIVxFNNg" y="31"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_p2fBULYoEeWaTqnU44XdvA" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_p2fBUbYoEeWaTqnU44XdvA" y="5"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_qEMGILYoEeWaTqnU44XdvA" visible="false" type="StereotypeLabel">
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_qEMGIbYoEeWaTqnU44XdvA" name="stereotype" stringValue="C_Cpp::Include"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_RwTdQByJEduN1bTiWJ0lyw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qEMGIrYoEeWaTqnU44XdvA"/>
-      </children>
-      <element xmi:type="uml:Class" href="HelloWorld.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8LSR4c__Ed-TP80eVS-2Rg" x="80" y="160" width="261" height="109"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_-HlK8DecEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyADecEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyATecEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyAjecEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyAzecEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyBDecEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyBTecEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_-HlyBjecEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="HelloWorld.uml#_-Hd2MDecEeGPyrZ5I3hMlA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-HlK8TecEeGPyrZ5I3hMlA" x="420" y="135" width="301" height="55"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_0EFQQDedEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3UDedEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3UTedEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3UjedEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3UzedEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3VDedEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3VTedEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0EF3VjedEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="HelloWorld.uml#_0D64MDedEeGPyrZ5I3hMlA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0EFQQTedEeGPyrZ5I3hMlA" x="420" y="18" width="301"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_SypoQFT0EeKvFeqt5Q_lqw" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SyqPUFT0EeKvFeqt5Q_lqw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SyqPUVT0EeKvFeqt5Q_lqw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SyqPUlT0EeKvFeqt5Q_lqw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SyqPU1T0EeKvFeqt5Q_lqw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SyqPVFT0EeKvFeqt5Q_lqw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SyqPVVT0EeKvFeqt5Q_lqw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_SyqPVlT0EeKvFeqt5Q_lqw" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="HelloWorld.uml#_SxvpUFT0EeKvFeqt5Q_lqw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SypoQVT0EeKvFeqt5Q_lqw" x="420" y="220" width="301" height="45"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_rjTBsFWUEeKdxoQIVxFNNg" type="Class_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rjTowFWUEeKdxoQIVxFNNg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rjTowVWUEeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rjTowlWUEeKdxoQIVxFNNg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rjTow1WUEeKdxoQIVxFNNg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rjToxFWUEeKdxoQIVxFNNg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rjUP0FWUEeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_rjUP0VWUEeKdxoQIVxFNNg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_rjUP0lWUEeKdxoQIVxFNNg" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_rjUP01WUEeKdxoQIVxFNNg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rjUP1FWUEeKdxoQIVxFNNg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_wd8WwFWUEeKdxoQIVxFNNg" type="Port_Shape" fontName="Sans Serif" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wd890FWUEeKdxoQIVxFNNg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wd890VWUEeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wd891FWUEeKdxoQIVxFNNg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wd891VWUEeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ygFe8LYpEeWaTqnU44XdvA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ygFe8bYpEeWaTqnU44XdvA" key="displayNameLabelIcon_value" value="true"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_wd891lWUEeKdxoQIVxFNNg" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_wd9k4FWUEeKdxoQIVxFNNg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_wd9k4VWUEeKdxoQIVxFNNg" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_wd9k4lWUEeKdxoQIVxFNNg" x="25" y="-10"/>
-        </children>
-        <children xmi:type="notation:BasicCompartment" xmi:id="_qKT8QLYoEeWaTqnU44XdvA" type="StereotypeBrace">
-          <children xmi:type="notation:DecorationNode" xmi:id="_qKVKZLYoEeWaTqnU44XdvA" visible="false" type="StereotypePropertyBrace">
-            <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_lARBIOLzEd2hC_i8ZB1Yiw"/>
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_qKVKZbYoEeWaTqnU44XdvA"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_qKVKYrYoEeWaTqnU44XdvA" visible="false" type="StereotypePropertyBrace">
-            <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_erj_ECzCEeWf2IvZSSBQwg"/>
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_qKVKY7YoEeWaTqnU44XdvA"/>
-          </children>
-          <styles xmi:type="notation:TitleStyle" xmi:id="_qKT8QbYoEeWaTqnU44XdvA" showTitle="true"/>
-          <styles xmi:type="notation:StringValueStyle" xmi:id="_qKT8QrYoEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Port"/>
-          <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qKT8Q7YoEeWaTqnU44XdvA"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qHuiULYoEeWaTqnU44XdvA" visible="false" type="StereotypeLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__ERNsLYoEeWaTqnU44XdvA" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__ERNsbYoEeWaTqnU44XdvA" key="visible" value="true"/>
-          </eAnnotations>
-          <styles xmi:type="notation:StringValueStyle" xmi:id="_qHuiUbYoEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Port"/>
-          <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qHuiUrYoEeWaTqnU44XdvA"/>
-        </children>
-        <styles xmi:type="notation:StringListValueStyle" xmi:id="_hG-_4LkXEeS7TYMQS2xzng" name="maskLabel">
-          <stringListValue>multiplicity</stringListValue>
-          <stringListValue>name</stringListValue>
-          <stringListValue>type</stringListValue>
-          <stringListValue>derived</stringListValue>
-        </styles>
-        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wd8WwVWUEeKdxoQIVxFNNg" y="32"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_p2fBVLYoEeWaTqnU44XdvA" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_p2fBVbYoEeWaTqnU44XdvA" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rjTBsVWUEeKdxoQIVxFNNg" x="80" y="18" width="261" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_qEg2QLYoEeWaTqnU44XdvA" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_qEg2QbYoEeWaTqnU44XdvA" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qEg2Q7YoEeWaTqnU44XdvA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="HelloWorld.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qEg2QrYoEeWaTqnU44XdvA" x="280" y="160"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_qHJTgLYoEeWaTqnU44XdvA" type="StereotypeComment">
-      <children xmi:type="notation:BasicCompartment" xmi:id="_qHQoQLYoEeWaTqnU44XdvA" type="StereotypeCompartment">
-        <children xmi:type="notation:DecorationNode" xmi:id="_qHQoRLYoEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_AorBUMtrEd2H_o0jIC6qDQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qHQoRbYoEeWaTqnU44XdvA"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_qHQoQbYoEeWaTqnU44XdvA" showTitle="true"/>
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_qHQoQrYoEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Port"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qHQoQ7YoEeWaTqnU44XdvA"/>
-      </children>
-      <styles xmi:type="notation:TitleStyle" xmi:id="_qHJTgbYoEeWaTqnU44XdvA" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qHJTg7YoEeWaTqnU44XdvA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qHJTgrYoEeWaTqnU44XdvA" x="200" y="31"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_qKVxcLYoEeWaTqnU44XdvA" type="StereotypeComment">
-      <children xmi:type="notation:BasicCompartment" xmi:id="_qKXmoLYoEeWaTqnU44XdvA" type="StereotypeCompartment">
-        <children xmi:type="notation:DecorationNode" xmi:id="_qKXmprYoEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_erj_ECzCEeWf2IvZSSBQwg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qKXmp7YoEeWaTqnU44XdvA"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qKXmqLYoEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_lARBIOLzEd2hC_i8ZB1Yiw"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qKXmqbYoEeWaTqnU44XdvA"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_qKXmobYoEeWaTqnU44XdvA" showTitle="true"/>
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_qKXmorYoEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Port"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qKXmo7YoEeWaTqnU44XdvA"/>
-      </children>
-      <styles xmi:type="notation:TitleStyle" xmi:id="_qKVxcbYoEeWaTqnU44XdvA" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qKVxc7YoEeWaTqnU44XdvA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qKVxcrYoEeWaTqnU44XdvA" x="190" y="27"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_7kc7Yc__Ed-TP80eVS-2Rg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_p2fBVrYoEeWaTqnU44XdvA" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="HelloWorld.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
-    <edges xmi:type="notation:Connector" xmi:id="_uHz6kP8nEd-hWJO6cv3VJA" type="Generalization_Edge" source="_8LSR4M__Ed-TP80eVS-2Rg" target="_rjTBsFWUEeKdxoQIVxFNNg" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_uH0hoP8nEd-hWJO6cv3VJA" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_uH0hof8nEd-hWJO6cv3VJA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_uHz6kf8nEd-hWJO6cv3VJA" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="HelloWorld.uml#_tyiqss__Ed-TP80eVS-2Rg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uHz6kv8nEd-hWJO6cv3VJA" points="[-103, -45, 204, 90]$[-307, -135, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YcZOULkXEeS7TYMQS2xzng" id="(0.47244094488188976,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zpY_EFWUEeKdxoQIVxFNNg" id="(0.4782608695652174,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_FOfGwDeeEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_0EFQQDedEeGPyrZ5I3hMlA" target="_rjTBsFWUEeKdxoQIVxFNNg" routing="Rectilinear" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_FOfGwTeeEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FOfGwjeeEeGPyrZ5I3hMlA" points="[420, 60, -643984, -643984]$[343, 60, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FOwMgDeeEeGPyrZ5I3hMlA" id="(0.0,0.3684210526315789)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FOwMgTeeEeGPyrZ5I3hMlA" id="(0.9881422924901185,0.5753424657534246)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_F4Ju0DeeEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_-HlK8DecEeGPyrZ5I3hMlA" target="_8LSR4M__Ed-TP80eVS-2Rg" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_F4Ju0TeeEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_F4Ju0jeeEeGPyrZ5I3hMlA" points="[-25, 3, 78, 0]$[-80, -2, 23, -5]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F4a0kDeeEeGPyrZ5I3hMlA" id="(0.0,0.5625)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F4a0kTeeEeGPyrZ5I3hMlA" id="(0.9448818897637795,0.1834862385321101)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_YapykFT0EeKvFeqt5Q_lqw" type="Comment_AnnotatedElementEdge" source="_SypoQFT0EeKvFeqt5Q_lqw" target="_8rDfAFTzEeKvFeqt5Q_lqw" routing="Rectilinear" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_YapykVT0EeKvFeqt5Q_lqw" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YapyklT0EeKvFeqt5Q_lqw" points="[420, 243, -643984, -643984]$[288, 243, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ya7fYFT0EeKvFeqt5Q_lqw" id="(0.0,0.40350877192982454)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ya7fYVT0EeKvFeqt5Q_lqw" id="(1.0,0.65)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_qEhdULYoEeWaTqnU44XdvA" type="StereotypeCommentLink" source="_8LSR4M__Ed-TP80eVS-2Rg" target="_qEg2QLYoEeWaTqnU44XdvA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_qEhdUbYoEeWaTqnU44XdvA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qEiEYLYoEeWaTqnU44XdvA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="HelloWorld.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qEhdUrYoEeWaTqnU44XdvA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qEhdU7YoEeWaTqnU44XdvA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qEhdVLYoEeWaTqnU44XdvA"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_qF26FLYoEeWaTqnU44XdvA" type="StereotypeCommentLink" source="_8rDfAFTzEeKvFeqt5Q_lqw" target="_qF26ELYoEeWaTqnU44XdvA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_qF26FbYoEeWaTqnU44XdvA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qF26GbYoEeWaTqnU44XdvA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Property" href="HelloWorld.uml#_8pupUFTzEeKvFeqt5Q_lqw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qF26FrYoEeWaTqnU44XdvA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qF26F7YoEeWaTqnU44XdvA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qF26GLYoEeWaTqnU44XdvA"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_qHJThLYoEeWaTqnU44XdvA" type="StereotypeCommentLink" source="_6UeXAFWUEeKdxoQIVxFNNg" target="_qHJTgLYoEeWaTqnU44XdvA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_qHJThbYoEeWaTqnU44XdvA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qHJTibYoEeWaTqnU44XdvA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qHJThrYoEeWaTqnU44XdvA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qHJTh7YoEeWaTqnU44XdvA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qHJTiLYoEeWaTqnU44XdvA"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_qKVxdLYoEeWaTqnU44XdvA" type="StereotypeCommentLink" source="_wd8WwFWUEeKdxoQIVxFNNg" target="_qKVxcLYoEeWaTqnU44XdvA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_qKVxdbYoEeWaTqnU44XdvA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qKVxebYoEeWaTqnU44XdvA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qKVxdrYoEeWaTqnU44XdvA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qKVxd7YoEeWaTqnU44XdvA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qKVxeLYoEeWaTqnU44XdvA"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_o6ZisNCREd-hqYHBJe17_Q" type="CompositeStructure" name="System" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_VSa6YNHtEd-A1oPfP47IaQ" type="Class_Shape" fontName="" fontHeight="10" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScIgNHtEd-A1oPfP47IaQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvkNHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScvkdHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvktHtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScvk9HtEd-A1oPfP47IaQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvlNHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_VScvldHtEd-A1oPfP47IaQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_VScvltHtEd-A1oPfP47IaQ" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_XsS70NHtEd-A1oPfP47IaQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi4NHtEd-A1oPfP47IaQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi4dHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi4tHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi49HtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi5NHtEd-A1oPfP47IaQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi5dHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6iThgHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6iUvoHk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6o-xQHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_XsTi5tHtEd-A1oPfP47IaQ" type="Property_NameLabel">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yonwwFTzEeKvFeqt5Q_lqw" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yzIXoFTzEeKvFeqt5Q_lqw" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_XsTi59HtEd-A1oPfP47IaQ" type="Property_StructureCompartment">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XsUJ8NHtEd-A1oPfP47IaQ"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_qKx2UrYoEeWaTqnU44XdvA" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_qKx2U7YoEeWaTqnU44XdvA" y="5"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_qOFB8LYoEeWaTqnU44XdvA" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_qOFB8bYoEeWaTqnU44XdvA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qOFB8rYoEeWaTqnU44XdvA"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_Gj0IcLYpEeWaTqnU44XdvA" type="Port_Shape">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KLVowLYpEeWaTqnU44XdvA" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KLVowbYpEeWaTqnU44XdvA" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_Gj19oLYpEeWaTqnU44XdvA" type="Port_NameLabel">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_Gj19obYpEeWaTqnU44XdvA" x="25" y="3"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_Gj19orYpEeWaTqnU44XdvA" type="Port_StereotypeLabel">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_Gj19o7YpEeWaTqnU44XdvA" x="25" y="-10"/>
-            </children>
-            <children xmi:type="notation:BasicCompartment" xmi:id="_GkyY0LYpEeWaTqnU44XdvA" type="StereotypeBrace">
-              <children xmi:type="notation:DecorationNode" xmi:id="_Gky_4LYpEeWaTqnU44XdvA" visible="false" type="StereotypePropertyBrace">
-                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Jh8GcLYpEeWaTqnU44XdvA" source="PapyrusCSSForceValue">
-                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Jh8GcbYpEeWaTqnU44XdvA" key="visible" value="true"/>
-                </eAnnotations>
-                <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_AorBUMtrEd2H_o0jIC6qDQ"/>
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_Gky_4bYpEeWaTqnU44XdvA"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_Gky_4rYpEeWaTqnU44XdvA" visible="false" type="StereotypePropertyBrace">
-                <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_erj_ECzCEeWf2IvZSSBQwg"/>
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_Gky_47YpEeWaTqnU44XdvA"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_Gky_5LYpEeWaTqnU44XdvA" visible="false" type="StereotypePropertyBrace">
-                <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_lARBIOLzEd2hC_i8ZB1Yiw"/>
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_Gky_5bYpEeWaTqnU44XdvA"/>
-              </children>
-              <styles xmi:type="notation:TitleStyle" xmi:id="_GkyY0bYpEeWaTqnU44XdvA" showTitle="true"/>
-              <styles xmi:type="notation:StringValueStyle" xmi:id="_GkyY0rYpEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Port"/>
-              <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkyY07YpEeWaTqnU44XdvA"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_GkxxwLYpEeWaTqnU44XdvA" visible="false" type="StereotypeLabel">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_I6RCcLYpEeWaTqnU44XdvA" source="PapyrusCSSForceValue">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_I6RpgLYpEeWaTqnU44XdvA" key="visible" value="true"/>
-              </eAnnotations>
-              <styles xmi:type="notation:StringValueStyle" xmi:id="_GkxxwbYpEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Port"/>
-              <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkxxwrYpEeWaTqnU44XdvA"/>
-            </children>
-            <styles xmi:type="notation:StringListValueStyle" xmi:id="_OThmILYpEeWaTqnU44XdvA" name="maskLabel">
-              <stringListValue>name</stringListValue>
-              <stringListValue>type</stringListValue>
-              <stringListValue>derived</stringListValue>
-            </styles>
-            <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Gj0IcbYpEeWaTqnU44XdvA" y="44"/>
-          </children>
-          <styles xmi:type="notation:StringListValueStyle" xmi:id="_MLlCMLYpEeWaTqnU44XdvA" name="maskLabel">
-            <stringListValue>name</stringListValue>
-            <stringListValue>type</stringListValue>
-            <stringListValue>derived</stringListValue>
-          </styles>
-          <element xmi:type="uml:Property" href="HelloWorld.uml#_gV1cgDLiEd2RVeNawwNNzg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XsS70dHtEd-A1oPfP47IaQ" x="40" y="20" width="193" height="85"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_Gky_5rYpEeWaTqnU44XdvA" type="StereotypeComment">
-          <children xmi:type="notation:BasicCompartment" xmi:id="_Gkzm97YpEeWaTqnU44XdvA" type="StereotypeCompartment">
-            <children xmi:type="notation:DecorationNode" xmi:id="_Gkzm_7YpEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
-              <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_lARBIOLzEd2hC_i8ZB1Yiw"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_GkznALYpEeWaTqnU44XdvA"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_Gkzm_bYpEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
-              <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_erj_ECzCEeWf2IvZSSBQwg"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_Gkzm_rYpEeWaTqnU44XdvA"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_Gkzm-7YpEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KtnPYLYpEeWaTqnU44XdvA" source="PapyrusCSSForceValue">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KtnPYbYpEeWaTqnU44XdvA" key="visible" value="true"/>
-              </eAnnotations>
-              <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_AorBUMtrEd2H_o0jIC6qDQ"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_Gkzm_LYpEeWaTqnU44XdvA"/>
-            </children>
-            <styles xmi:type="notation:TitleStyle" xmi:id="_Gkzm-LYpEeWaTqnU44XdvA" showTitle="true"/>
-            <styles xmi:type="notation:StringValueStyle" xmi:id="_Gkzm-bYpEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Port"/>
-            <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Gkzm-rYpEeWaTqnU44XdvA"/>
-          </children>
-          <styles xmi:type="notation:TitleStyle" xmi:id="_Gky_57YpEeWaTqnU44XdvA" showTitle="true"/>
-          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Gkzm8LYpEeWaTqnU44XdvA" name="BASE_ELEMENT">
-            <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-          </styles>
-          <element xsi:nil="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Gky_6LYpEeWaTqnU44XdvA" x="190" y="-9"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VScvl9HtEd-A1oPfP47IaQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_qKx2ULYoEeWaTqnU44XdvA" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_qKx2UbYoEeWaTqnU44XdvA" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="HelloWorld.uml#_bYJagDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VSa6YdHtEd-A1oPfP47IaQ" x="18" y="18" width="280" height="172"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_o6ZisdCREd-hqYHBJe17_Q"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_qKydYLYoEeWaTqnU44XdvA" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="HelloWorld.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
-    <edges xmi:type="notation:Connector" xmi:id="_Gkzm8bYpEeWaTqnU44XdvA" type="StereotypeCommentLink" source="_Gj0IcLYpEeWaTqnU44XdvA" target="_Gky_5rYpEeWaTqnU44XdvA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_Gkzm8rYpEeWaTqnU44XdvA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Gkzm9rYpEeWaTqnU44XdvA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Gkzm87YpEeWaTqnU44XdvA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Gkzm9LYpEeWaTqnU44XdvA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Gkzm9bYpEeWaTqnU44XdvA"/>
-    </edges>
-  </notation:Diagram>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
   <notation:Diagram xmi:id="_U1UegPcXEd-KM6l7lmIPkw" type="PapyrusUMLClassDiagram" name="deployment" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_FGfloCghEeCw56aD7XrQhw" type="Diagram_ShortcutShape" element="_7kc7YM__Ed-TP80eVS-2Rg" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGgMsCghEeCw56aD7XrQhw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGgMsSghEeCw56aD7XrQhw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGgMsighEeCw56aD7XrQhw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGgMsyghEeCw56aD7XrQhw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGlsQCghEeCw56aD7XrQhw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGmTUCghEeCw56aD7XrQhw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_FGmTUSghEeCw56aD7XrQhw" type="Diagram_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_FGmTUighEeCw56aD7XrQhw" x="54" y="3"/>
-      </children>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FGfloSghEeCw56aD7XrQhw" x="54" y="24" width="34" height="20"/>
-    </children>
     <children xmi:type="notation:Shape" xmi:id="_gdmuADefEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdmuAjefEeGPyrZ5I3hMlA" source="ShadowFigure">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdmuAzefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
@@ -522,37 +27,6 @@
       </eAnnotations>
       <children xmi:type="notation:DecorationNode" xmi:id="_-4liwlWREeKdxoQIVxFNNg" type="Package_NameLabel"/>
       <children xmi:type="notation:BasicCompartment" xmi:id="__Q8_QC1PEea25uwDpRQuxg" type="Package_PackagedElementCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_ZQjFQFWjEeKOivupHOJ8Ew" type="InstanceSpecification_Shape_CN" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZQjsUFWjEeKOivupHOJ8Ew" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZQjsUVWjEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZQjsUlWjEeKOivupHOJ8Ew" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZQkTYFWjEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZQkTYVWjEeKOivupHOJ8Ew" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZQkTYlWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8slAsHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8slnwHk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8-kvoHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_ZQkTY1WjEeKOivupHOJ8Ew" type="InstanceSpecification_NameLabel_CN"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_ZQkTZFWjEeKOivupHOJ8Ew" type="InstanceSpecification_SlotCompartment_CN">
-            <children xmi:type="notation:Shape" xmi:id="_ET2zcFWkEeKOivupHOJ8Ew" type="Slot_SlotLabel" fontName="Sans Serif" lineColor="0">
-              <element xmi:type="uml:Slot" href="HelloWorld.uml#_ymQ48FT2EeKvFeqt5Q_lqw"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_ET2zcVWkEeKOivupHOJ8Ew" x="58" y="15"/>
-            </children>
-            <styles xmi:type="notation:TitleStyle" xmi:id="_ZQkTZVWjEeKOivupHOJ8Ew"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_ZQkTZlWjEeKOivupHOJ8Ew"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_ZQkTZ1WjEeKOivupHOJ8Ew"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZQkTaFWjEeKOivupHOJ8Ew"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_qOXV0LYoEeWaTqnU44XdvA" type="InstanceSpecification_FloatingNameLabel_CN">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_qOXV0bYoEeWaTqnU44XdvA" y="5"/>
-          </children>
-          <element xmi:type="uml:InstanceSpecification" href="HelloWorld.uml#_ymErsFT2EeKvFeqt5Q_lqw"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZQjFQVWjEeKOivupHOJ8Ew" x="15" y="13" width="261" height="57"/>
-        </children>
         <children xmi:type="notation:Shape" xmi:id="_Z7T5gFWjEeKOivupHOJ8Ew" type="InstanceSpecification_Shape_CN" fontName="Sans Serif" lineColor="0">
           <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UgkFWjEeKOivupHOJ8Ew" source="ShadowFigure">
             <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7UgkVWjEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
@@ -582,34 +56,7 @@
             <layoutConstraint xmi:type="notation:Location" xmi:id="_qOXV07YoEeWaTqnU44XdvA" y="5"/>
           </children>
           <element xmi:type="uml:InstanceSpecification" href="HelloWorld.uml#_ymQR4FT2EeKvFeqt5Q_lqw"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7T5gVWjEeKOivupHOJ8Ew" x="15" y="133" width="261" height="64"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_85kMIFWjEeKOivupHOJ8Ew" type="InstanceSpecification_Shape_CN" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_85kzMFWjEeKOivupHOJ8Ew" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_85kzMVWjEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_85kzMlWjEeKOivupHOJ8Ew" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_85kzM1WjEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_85kzNFWjEeKOivupHOJ8Ew" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_85kzNVWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8smO0Hk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8smO0Xk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8-l9wHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_85kzNlWjEeKOivupHOJ8Ew" type="InstanceSpecification_NameLabel_CN"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_85kzN1WjEeKOivupHOJ8Ew" visible="false" type="InstanceSpecification_SlotCompartment_CN">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_85laQFWjEeKOivupHOJ8Ew"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_85laQVWjEeKOivupHOJ8Ew"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_85laQlWjEeKOivupHOJ8Ew"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_85laQ1WjEeKOivupHOJ8Ew"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_qOX84LYoEeWaTqnU44XdvA" type="InstanceSpecification_FloatingNameLabel_CN">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_qOX84bYoEeWaTqnU44XdvA" y="5"/>
-          </children>
-          <element xmi:type="uml:InstanceSpecification" href="HelloWorld.uml#_GQ1ekKwHEeCQX8uv_p0Q4A"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_85kMIVWjEeKOivupHOJ8Ew" x="375" y="13" width="163" height="46"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7T5gVWjEeKOivupHOJ8Ew" x="13" y="31" width="261" height="64"/>
         </children>
         <children xmi:type="notation:Shape" xmi:id="_wCUSAFZVEeKKZs15rvNNjA" type="Comment_Shape_CN" fontName="Sans Serif" lineColor="0">
           <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCX8YFZVEeKKZs15rvNNjA" source="ShadowFigure">
@@ -623,7 +70,7 @@
           </eAnnotations>
           <children xmi:type="notation:DecorationNode" xmi:id="_wCYjc1ZVEeKKZs15rvNNjA" type="Comment_BodyLabel_CN"/>
           <element xmi:type="uml:Comment" href="HelloWorld.uml#_wAbboFZVEeKKZs15rvNNjA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wCUSAVZVEeKKZs15rvNNjA" x="325" y="97" width="235" height="83"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wCUSAVZVEeKKZs15rvNNjA" x="67" y="126" width="432" height="67"/>
         </children>
         <styles xmi:type="notation:TitleStyle" xmi:id="_-4lixFWREeKdxoQIVxFNNg"/>
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-4lixVWREeKdxoQIVxFNNg"/>
@@ -654,30 +101,9 @@
       <element xsi:nil="true"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qX0z0rYoEeWaTqnU44XdvA" x="220" y="200"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_qYPDgLYoEeWaTqnU44XdvA" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_qYPDgbYoEeWaTqnU44XdvA" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qYPDg7YoEeWaTqnU44XdvA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Abstraction" href="HelloWorld.uml#_UPx34FWUEeKdxoQIVxFNNg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qYPDgrYoEeWaTqnU44XdvA" x="215" y="-87"/>
-    </children>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_U1UegfcXEd-KM6l7lmIPkw"/>
     <styles xmi:type="notation:StringValueStyle" xmi:id="_qOX84rYoEeWaTqnU44XdvA" name="diagram_compatibility_version" stringValue="1.2.0"/>
     <element xmi:type="uml:Package" href="HelloWorld.uml#_234GEDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_86CtQFWjEeKOivupHOJ8Ew" type="Abstraction_Edge" source="_ZQjFQFWjEeKOivupHOJ8Ew" target="_85kMIFWjEeKOivupHOJ8Ew" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_86D7YFWjEeKOivupHOJ8Ew" visible="false" type="Abstraction_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_86D7YVWjEeKOivupHOJ8Ew" x="9" y="45"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_86D7YlWjEeKOivupHOJ8Ew" type="Abstraction_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_86D7Y1WjEeKOivupHOJ8Ew" x="-4" y="-9"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_86CtQVWjEeKOivupHOJ8Ew" fontName="Sans Serif"/>
-      <element xmi:type="uml:Abstraction" href="HelloWorld.uml#_UPx34FWUEeKdxoQIVxFNNg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_86CtQlWjEeKOivupHOJ8Ew" points="[-81, -23, 28, 8]$[-109, -31, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zrOXILkXEeS7TYMQS2xzng" id="(1.0,0.40350877192982454)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zrOXIbkXEeS7TYMQS2xzng" id="(0.0,0.5)"/>
-    </edges>
     <edges xmi:type="notation:Connector" xmi:id="_Sqs9MFWkEeKOivupHOJ8Ew" type="Comment_AnnotatedElementEdge" source="_obNuEFWiEeKOivupHOJ8Ew" target="_-4h4YFWREeKdxoQIVxFNNg" routing="Rectilinear" lineColor="0">
       <styles xmi:type="notation:FontStyle" xmi:id="_Sqs9MVWkEeKOivupHOJ8Ew" fontName="Sans Serif"/>
       <element xsi:nil="true"/>
@@ -685,19 +111,12 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SrQW0FWkEeKOivupHOJ8Ew" id="(0.0,0.5277777777777778)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SrQW0VWkEeKOivupHOJ8Ew" id="(0.18739054290718038,0.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_7O5fMFZVEeKKZs15rvNNjA" type="Comment_AnnotatedElementEdge" source="_wCUSAFZVEeKKZs15rvNNjA" target="_ZQjFQFWjEeKOivupHOJ8Ew" routing="Rectilinear" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_7O5fMVZVEeKKZs15rvNNjA" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7O5fMlZVEeKKZs15rvNNjA" points="[350, 356, -643984, -643984]$[236, 356, -643984, -643984]$[236, 315, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7PO2YFZVEeKKZs15rvNNjA" id="(0.0,0.11965811965811966)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yzWT8LkXEeS7TYMQS2xzng" id="(0.7509578544061303,1.0)"/>
-    </edges>
     <edges xmi:type="notation:Connector" xmi:id="_71Q7oFZVEeKKZs15rvNNjA" type="Comment_AnnotatedElementEdge" source="_wCUSAFZVEeKKZs15rvNNjA" target="_Z7T5gFWjEeKOivupHOJ8Ew" routing="Rectilinear" lineColor="0">
       <styles xmi:type="notation:FontStyle" xmi:id="_71Q7oVZVEeKKZs15rvNNjA" fontName="Sans Serif"/>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_71Q7olZVEeKKZs15rvNNjA" points="[350, 407, -643984, -643984]$[301, 407, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_71iBYFZVEeKKZs15rvNNjA" id="(0.0,0.6410256410256411)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_71iBYVZVEeKKZs15rvNNjA" id="(1.0,0.453125)"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_71Q7olZVEeKKZs15rvNNjA" points="[253, 371, -643984, -643984]$[253, 340, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_71iBYFZVEeKKZs15rvNNjA" id="(0.37037037037037035,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_71iBYVZVEeKKZs15rvNNjA" id="(0.8199233716475096,1.0)"/>
     </edges>
     <edges xmi:type="notation:Connector" xmi:id="_qX0z1LYoEeWaTqnU44XdvA" type="StereotypeCommentLink" source="_-4h4YFWREeKdxoQIVxFNNg" target="_qX0z0LYoEeWaTqnU44XdvA">
       <styles xmi:type="notation:FontStyle" xmi:id="_qX0z1bYoEeWaTqnU44XdvA"/>
@@ -709,208 +128,21 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qX0z17YoEeWaTqnU44XdvA"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qX0z2LYoEeWaTqnU44XdvA"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_qYPDhLYoEeWaTqnU44XdvA" type="StereotypeCommentLink" source="_86CtQFWjEeKOivupHOJ8Ew" target="_qYPDgLYoEeWaTqnU44XdvA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_qYPDhbYoEeWaTqnU44XdvA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qYPDibYoEeWaTqnU44XdvA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Abstraction" href="HelloWorld.uml#_UPx34FWUEeKdxoQIVxFNNg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qYPDhrYoEeWaTqnU44XdvA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qYPDh7YoEeWaTqnU44XdvA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qYPDiLYoEeWaTqnU44XdvA"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_0rwpYDefEeGPyrZ5I3hMlA" type="CompositeStructure" name="HWArchitecture" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_1w2CIDefEeGPyrZ5I3hMlA" type="2073" fontName="" fontHeight="10" fillColor="10011046" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pMDefEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pMTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pMjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pMzefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pNDefEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pNTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_1w2pNjefEeGPyrZ5I3hMlA" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_1w2pNzefEeGPyrZ5I3hMlA" type="7073">
-        <children xmi:type="notation:Shape" xmi:id="_4HLnYDefEeGPyrZ5I3hMlA" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOcDefEeGPyrZ5I3hMlA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOcTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOcjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOczefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOdDefEeGPyrZ5I3hMlA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOdTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__C2UgHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__C2UgXk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__Oj1QHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_4HMOdjefEeGPyrZ5I3hMlA" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ENwn8FWjEeKOivupHOJ8Ew" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EUBoAFWjEeKOivupHOJ8Ew" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_4HMOdzefEeGPyrZ5I3hMlA" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_4HMOeDefEeGPyrZ5I3hMlA" showTitle="true"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4HMOeTefEeGPyrZ5I3hMlA"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_qZEJ8rYoEeWaTqnU44XdvA" type="6054">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_qZEJ87YoEeWaTqnU44XdvA" y="5"/>
-          </children>
-          <styles xmi:type="notation:StringListValueStyle" xmi:id="_DrFGELkYEeS7TYMQS2xzng" name="maskLabel">
-            <stringListValue>name</stringListValue>
-            <stringListValue>type</stringListValue>
-            <stringListValue>derived</stringListValue>
-          </styles>
-          <element xmi:type="uml:Property" href="HelloWorld.uml#_4HAoQDefEeGPyrZ5I3hMlA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4HLnYTefEeGPyrZ5I3hMlA" x="40" y="19" width="217" height="82"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_1w2pODefEeGPyrZ5I3hMlA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w2pOTefEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_qZEJ8LYoEeWaTqnU44XdvA" type="6089">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_qZEJ8bYoEeWaTqnU44XdvA" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="HelloWorld.uml#_tZvNQDefEeGPyrZ5I3hMlA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w2CITefEeGPyrZ5I3hMlA" x="80" y="63" width="301" height="154"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_7qMbIDefEeGPyrZ5I3hMlA" type="2072" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCMDefEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCMTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCMjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCMzefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCNDefEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCNTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_7qNCNjefEeGPyrZ5I3hMlA" type="5124"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_7qNCNzefEeGPyrZ5I3hMlA" visible="false" type="7072">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_7qNCODefEeGPyrZ5I3hMlA" showTitle="true"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7qNCOTefEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_qZEJ9LYoEeWaTqnU44XdvA" type="6088">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_qZEJ9bYoEeWaTqnU44XdvA" y="5"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_qcreoLYoEeWaTqnU44XdvA" visible="false" type="StereotypeLabel">
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_qcreobYoEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Target"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qcreorYoEeWaTqnU44XdvA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_qc_nsLYoEeWaTqnU44XdvA" type="StereotypeCompartment">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qdMcALYoEeWaTqnU44XdvA" source="PapyrusCSSForceValue">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qdMcAbYoEeWaTqnU44XdvA" key="visible" value="true"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qdA10LYoEeWaTqnU44XdvA" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#__5rAUGE_Ed-eArNXja7SuA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qdA10bYoEeWaTqnU44XdvA"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qdBc4rYoEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_BZCjMJOGEd-5qPBhYeIVtw"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qdBc47YoEeWaTqnU44XdvA"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qdBc4LYoEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_C5WBYGGLEd-yH9S4VNNbSQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qdBc4bYoEeWaTqnU44XdvA"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qdCD8rYoEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_8g_IsNTGEeKiLbHSN_MIRQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qdCD87YoEeWaTqnU44XdvA"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_qc_nsbYoEeWaTqnU44XdvA" showTitle="true"/>
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_qc_nsrYoEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Target"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qc_ns7YoEeWaTqnU44XdvA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_qc4S8LYoEeWaTqnU44XdvA" type="StereotypeBrace">
-        <children xmi:type="notation:DecorationNode" xmi:id="_qc5hErYoEeWaTqnU44XdvA" visible="false" type="StereotypePropertyBrace">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fqNlILYpEeWaTqnU44XdvA" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fqNlIbYpEeWaTqnU44XdvA" key="visible" value="true"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_C5WBYGGLEd-yH9S4VNNbSQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qc5hE7YoEeWaTqnU44XdvA"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_qc4S8bYoEeWaTqnU44XdvA" showTitle="true"/>
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_qc4S8rYoEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Target"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qc4S87YoEeWaTqnU44XdvA"/>
-      </children>
-      <element xmi:type="uml:Node" href="HelloWorld.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7qMbITefEeGPyrZ5I3hMlA" x="440" y="63" width="238" height="107"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_jhQ20DegEeGPyrZ5I3hMlA" type="2109" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ20jegEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ20zegEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ21DegEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ21TegEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ21jegEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ21zegEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_jhRd4DegEeGPyrZ5I3hMlA" type="5192"/>
-      <element xmi:type="uml:Comment" href="HelloWorld.uml#_jhF3sDegEeGPyrZ5I3hMlA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jhQ20TegEeGPyrZ5I3hMlA" x="431" y="217" width="277"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_qc79ULYoEeWaTqnU44XdvA" type="StereotypeComment">
-      <children xmi:type="notation:BasicCompartment" xmi:id="_qc9LcLYoEeWaTqnU44XdvA" type="StereotypeCompartment">
-        <children xmi:type="notation:DecorationNode" xmi:id="_qc9ygrYoEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_C5WBYGGLEd-yH9S4VNNbSQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qc9yg7YoEeWaTqnU44XdvA"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_qc9LcbYoEeWaTqnU44XdvA" showTitle="true"/>
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_qc9LcrYoEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Target"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qc9Lc7YoEeWaTqnU44XdvA"/>
-      </children>
-      <styles xmi:type="notation:TitleStyle" xmi:id="_qc79UbYoEeWaTqnU44XdvA" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qc79U7YoEeWaTqnU44XdvA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Node" href="HelloWorld.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qc79UrYoEeWaTqnU44XdvA" x="640" y="63"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_0rwpYTefEeGPyrZ5I3hMlA"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_qZEJ9rYoEeWaTqnU44XdvA" name="diagram_compatibility_version" stringValue="1.1.0"/>
-    <element xmi:type="uml:Package" href="HelloWorld.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_ugb6IDegEeGPyrZ5I3hMlA" type="4002" source="_jhQ20DegEeGPyrZ5I3hMlA" target="_7qMbIDefEeGPyrZ5I3hMlA" routing="Rectilinear" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_ugb6ITegEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ugb6IjegEeGPyrZ5I3hMlA" points="[540, 217, -643984, -643984]$[540, 193, -643984, -643984]$[541, 193, -643984, -643984]$[541, 170, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ugs_4DegEeGPyrZ5I3hMlA" id="(0.3971119133574007,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ugs_4TegEeGPyrZ5I3hMlA" id="(0.42436974789915966,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_qc79VLYoEeWaTqnU44XdvA" type="StereotypeCommentLink" source="_7qMbIDefEeGPyrZ5I3hMlA" target="_qc79ULYoEeWaTqnU44XdvA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_qc79VbYoEeWaTqnU44XdvA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qc79WbYoEeWaTqnU44XdvA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Node" href="HelloWorld.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qc79VrYoEeWaTqnU44XdvA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qc79V7YoEeWaTqnU44XdvA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qc79WLYoEeWaTqnU44XdvA"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_ovKvYFWjEeKOivupHOJ8Ew" type="PapyrusUMLDeploymentDiagram" name="NewDeploymentDiagram" measurementUnit="Pixel">
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_ovKvYVWjEeKOivupHOJ8Ew"/>
-    <element xmi:type="uml:Package" href="HelloWorld.uml#_234GEDLiEd2RVeNawwNNzg"/>
   </notation:Diagram>
   <notation:Diagram xmi:id="_kIfpMLfoEeWaTqnU44XdvA" type="PapyrusUMLClassDiagram" name="HelloWorld class" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_p03KgLi2EeWDsejo3zDcqw" type="2008">
-      <children xmi:type="notation:DecorationNode" xmi:id="_p04YoLi2EeWDsejo3zDcqw" type="5029"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_p04Yobi2EeWDsejo3zDcqw" type="8510">
+    <children xmi:type="notation:Shape" xmi:id="_p03KgLi2EeWDsejo3zDcqw" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_p04YoLi2EeWDsejo3zDcqw" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_p04Yobi2EeWDsejo3zDcqw" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_p04Yori2EeWDsejo3zDcqw" y="5"/>
       </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_p04_sLi2EeWDsejo3zDcqw" type="7017">
+      <children xmi:type="notation:BasicCompartment" xmi:id="_p04_sLi2EeWDsejo3zDcqw" type="Class_AttributeCompartment">
         <styles xmi:type="notation:TitleStyle" xmi:id="_p04_sbi2EeWDsejo3zDcqw"/>
         <styles xmi:type="notation:SortingStyle" xmi:id="_p04_sri2EeWDsejo3zDcqw"/>
         <styles xmi:type="notation:FilteringStyle" xmi:id="_p04_s7i2EeWDsejo3zDcqw"/>
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p04_tLi2EeWDsejo3zDcqw"/>
       </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_p04_tbi2EeWDsejo3zDcqw" type="7018">
-        <children xmi:type="notation:Shape" xmi:id="_rqq1kLi2EeWDsejo3zDcqw" type="3013">
+      <children xmi:type="notation:BasicCompartment" xmi:id="_p04_tbi2EeWDsejo3zDcqw" type="Class_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_rqq1kLi2EeWDsejo3zDcqw" type="Operation_ClassOperationLabel">
           <element xmi:type="uml:Operation" href="HelloWorld.uml#_UtCt0FTzEeKvFeqt5Q_lqw"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_rqrcoLi2EeWDsejo3zDcqw"/>
         </children>
@@ -919,14 +151,14 @@
         <styles xmi:type="notation:FilteringStyle" xmi:id="_p04_uLi2EeWDsejo3zDcqw"/>
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p04_ubi2EeWDsejo3zDcqw"/>
       </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_p04_uri2EeWDsejo3zDcqw" visible="false" type="7019">
+      <children xmi:type="notation:BasicCompartment" xmi:id="_p04_uri2EeWDsejo3zDcqw" visible="false" type="Class_NestedClassifierCompartment">
         <styles xmi:type="notation:TitleStyle" xmi:id="_p04_u7i2EeWDsejo3zDcqw"/>
         <styles xmi:type="notation:SortingStyle" xmi:id="_p04_vLi2EeWDsejo3zDcqw"/>
         <styles xmi:type="notation:FilteringStyle" xmi:id="_p04_vbi2EeWDsejo3zDcqw"/>
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p04_vri2EeWDsejo3zDcqw"/>
       </children>
       <element xmi:type="uml:Class" href="HelloWorld.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p03Kgbi2EeWDsejo3zDcqw" x="92" y="99" width="205"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p03Kgbi2EeWDsejo3zDcqw" x="80" y="140" width="201"/>
     </children>
     <children xmi:type="notation:Shape" xmi:id="_p1HpMLi2EeWDsejo3zDcqw" type="StereotypeComment">
       <styles xmi:type="notation:TitleStyle" xmi:id="_p1HpMbi2EeWDsejo3zDcqw" showTitle="true"/>
@@ -936,12 +168,42 @@
       <element xsi:nil="true"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p1HpMri2EeWDsejo3zDcqw" x="200"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_yB3BILi2EeWDsejo3zDcqw" type="2012">
-      <children xmi:type="notation:DecorationNode" xmi:id="_yB3BIri2EeWDsejo3zDcqw" type="5038"/>
+    <children xmi:type="notation:Shape" xmi:id="_yB3BILi2EeWDsejo3zDcqw" type="Comment_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_yB3BIri2EeWDsejo3zDcqw" type="Comment_BodyLabel"/>
       <element xmi:type="uml:Comment" href="HelloWorld.uml#_2OyuALcpEeWaTqnU44XdvA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yB3BIbi2EeWDsejo3zDcqw" x="398" y="124" width="637"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yB3BIbi2EeWDsejo3zDcqw" x="360" y="200" width="637"/>
     </children>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_kIfpMbfoEeWaTqnU44XdvA" name="diagram_compatibility_version" stringValue="1.1.0"/>
+    <children xmi:type="notation:Shape" xmi:id="_32ti4HEJEeatX-i6MtVR2A" type="Interface_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_32uJ8HEJEeatX-i6MtVR2A" type="Interface_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_32uJ8XEJEeatX-i6MtVR2A" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_32uJ8nEJEeatX-i6MtVR2A" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_32uJ83EJEeatX-i6MtVR2A" visible="false" type="Interface_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_32uJ9HEJEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_32uJ9XEJEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_32uJ9nEJEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_32uJ93EJEeatX-i6MtVR2A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_32uJ-HEJEeatX-i6MtVR2A" type="Interface_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_6MegYHEJEeatX-i6MtVR2A" type="Operation_InterfaceOperationLabel">
+          <element xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_6MegYXEJEeatX-i6MtVR2A"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_32uJ-XEJEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_32uJ-nEJEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_32uJ-3EJEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_32uJ_HEJEeatX-i6MtVR2A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_32uJ_XEJEeatX-i6MtVR2A" visible="false" type="Interface_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_32uJ_nEJEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_32uJ_3EJEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_32uKAHEJEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_32uKAXEJEeatX-i6MtVR2A"/>
+      </children>
+      <element xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_32ti4XEJEeatX-i6MtVR2A" x="80" y="20" width="201" height="61"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_kIfpMbfoEeWaTqnU44XdvA" name="diagram_compatibility_version" stringValue="1.2.0"/>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_kIfpMrfoEeWaTqnU44XdvA"/>
     <styles xmi:type="style:PapyrusViewStyle" xmi:id="_kIfpM7foEeWaTqnU44XdvA">
       <owner xmi:type="uml:Package" href="HelloWorld.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
@@ -957,12 +219,25 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1IQRLi2EeWDsejo3zDcqw"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1I3ULi2EeWDsejo3zDcqw"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_2DiG0Li2EeWDsejo3zDcqw" type="4013" source="_yB3BILi2EeWDsejo3zDcqw" target="_p03KgLi2EeWDsejo3zDcqw">
+    <edges xmi:type="notation:Connector" xmi:id="_2DiG0Li2EeWDsejo3zDcqw" type="Comment_AnnotatedElementEdge" source="_yB3BILi2EeWDsejo3zDcqw" target="_p03KgLi2EeWDsejo3zDcqw">
       <styles xmi:type="notation:FontStyle" xmi:id="_2DiG0bi2EeWDsejo3zDcqw"/>
       <element xsi:nil="true"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2DiG0ri2EeWDsejo3zDcqw" points="[398, 154, -643984, -643984]$[297, 170, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2DuUELi2EeWDsejo3zDcqw" id="(0.0,0.8166666666666667)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2DuUEbi2EeWDsejo3zDcqw" id="(1.0,0.6826923076923077)"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2DuUELi2EeWDsejo3zDcqw" id="(0.0,0.3333333333333333)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2DuUEbi2EeWDsejo3zDcqw" id="(1.0,0.7692307692307693)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Dq_CMHEKEeatX-i6MtVR2A" type="InterfaceRealization_Edge" source="_p03KgLi2EeWDsejo3zDcqw" target="_32ti4HEJEeatX-i6MtVR2A">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Dq_CM3EKEeatX-i6MtVR2A" type="InterfaceRealization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Dq_CNHEKEeatX-i6MtVR2A" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Dq_CNXEKEeatX-i6MtVR2A" type="InterfaceRealization_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Dq_CNnEKEeatX-i6MtVR2A" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Dq_CMXEKEeatX-i6MtVR2A"/>
+      <element xmi:type="uml:InterfaceRealization" href="HelloWorld.uml#_Dq2fUHEKEeatX-i6MtVR2A"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Dq_CMnEKEeatX-i6MtVR2A" points="[180, 140, -643984, -643984]$[180, 81, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DrPg4HEKEeatX-i6MtVR2A" id="(0.4975124378109453,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DrQH8HEKEeatX-i6MtVR2A" id="(0.4975124378109453,1.0)"/>
     </edges>
   </notation:Diagram>
 </xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/HelloWorld.uml b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/HelloWorld.uml
index 949ad51..fcc5721 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/HelloWorld.uml
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/HelloWorld.uml
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc">
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
   <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="HelloWorld">
     <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
       <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
     </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/core.uml#_O6TiIDLUEd26WNosUASSSw"/>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_pao64HEJEeatX-i6MtVR2A">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_TRAFO/trafos.uml#_Q6TiIDLUEd26WNosUASSSw"/>
     </packageImport>
     <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="components">
       <ownedComment xmi:type="uml:Comment" xmi:id="_-Hd2MDecEeGPyrZ5I3hMlA" annotatedElement="_tyiqsc__Ed-TP80eVS-2Rg">
@@ -23,17 +23,14 @@
         <ownedComment xmi:type="uml:Comment" xmi:id="_2OyuALcpEeWaTqnU44XdvA" annotatedElement="_UtCt0FTzEeKvFeqt5Q_lqw">
           <body>The operation &quot;run&quot; is defined in interface IRunnnable that is provided by the IStart port. The synchronisation mechanism in Qompass (&quot;Sync. derived element&quot;, needs to be triggered by user) adds a corresponding &quot;derived&quot; operation to the class </body>
         </ownedComment>
-        <generalization xmi:type="uml:Generalization" xmi:id="_tyiqss__Ed-TP80eVS-2Rg">
-          <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
-        </generalization>
         <ownedAttribute xmi:type="uml:Property" xmi:id="_8pupUFTzEeKvFeqt5Q_lqw" name="message" visibility="public" aggregation="composite">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
           <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__HwK8FTzEeKvFeqt5Q_lqw" value="1"/>
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__HwyAFTzEeKvFeqt5Q_lqw" value="1"/>
         </ownedAttribute>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_Us15gFTzEeKvFeqt5Q_lqw" name="derived realization of IStart" client="_tyiqsc__Ed-TP80eVS-2Rg">
-          <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
-          <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_Dq2fUHEKEeatX-i6MtVR2A" client="_tyiqsc__Ed-TP80eVS-2Rg">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+          <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
         </interfaceRealization>
         <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_tyjRwc__Ed-TP80eVS-2Rg" name="run" specification="_UtCt0FTzEeKvFeqt5Q_lqw">
           <language>C/C++</language>
@@ -41,33 +38,6 @@
         </ownedBehavior>
         <ownedOperation xmi:type="uml:Operation" xmi:id="_UtCt0FTzEeKvFeqt5Q_lqw" name="run" method="_tyjRwc__Ed-TP80eVS-2Rg"/>
       </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="System">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_gV1cgDLiEd2RVeNawwNNzg" name="hello" visibility="public" type="_tyiqsc__Ed-TP80eVS-2Rg" isUnique="false" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dCT24G6JEeGqWMX2LwdLDw" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dCUd8G6JEeGqWMX2LwdLDw" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_dCWTIG6JEeGqWMX2LwdLDw">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_v3fMgDLiEd2RVeNawwNNzg" name="platform">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_jhF3sDegEeGPyrZ5I3hMlA" annotatedElement="_zY9vMDLiEd2RVeNawwNNzg">
-        <body>Simple single node configuration. TargetOS is set to Linux, but will work on any OS, since this simple example does not use the OS abstraction layer</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="MonoNode"/>
-      <packagedElement xmi:type="uml:Class" xmi:id="_tZvNQDefEeGPyrZ5I3hMlA" name="Platform">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_4HAoQDefEeGPyrZ5I3hMlA" name="monoNode" visibility="public" type="_zY9vMDLiEd2RVeNawwNNzg" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6WEg0DefEeGPyrZ5I3hMlA" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6WFu8DefEeGPyrZ5I3hMlA" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_6WHkIDefEeGPyrZ5I3hMlA">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_YxI8IDegEeGPyrZ5I3hMlA" name="HWArchitecturePlatform">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_GQ1ekKwHEeCQX8uv_p0Q4A" name="monoNode" classifier="_zY9vMDLiEd2RVeNawwNNzg"/>
-      </packagedElement>
     </packagedElement>
     <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
       <ownedComment xmi:type="uml:Comment" xmi:id="_VMRFgDOJEeC7y-fR3OSnFw">
@@ -80,23 +50,17 @@
         <body>Deployment plan for system, i.e. set of instance specification along with configuration and allocation</body>
       </ownedComment>
       <packagedElement xmi:type="uml:Package" xmi:id="_yl9-AFT2EeKvFeqt5Q_lqw" name="SystemDepPlan">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_wAbboFZVEeKKZs15rvNNjA" annotatedElement="_ymErsFT2EeKvFeqt5Q_lqw _ymQR4FT2EeKvFeqt5Q_lqw">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_wAbboFZVEeKKZs15rvNNjA" annotatedElement="_ymQR4FT2EeKvFeqt5Q_lqw">
           <body>Value mainInstance.hello is a UML instance-value, i.e. a reference to the instance specification on the left.
 &quot;Test message&quot; is a StringValue initializing the message attribute</body>
         </ownedComment>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ymErsFT2EeKvFeqt5Q_lqw" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg">
-          <slot xmi:type="uml:Slot" xmi:id="_ymQ48FT2EeKvFeqt5Q_lqw" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_ymRgAFT2EeKvFeqt5Q_lqw" instance="_ymQR4FT2EeKvFeqt5Q_lqw"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ymQR4FT2EeKvFeqt5Q_lqw" name="mainInstance.hello" classifier="_tyiqsc__Ed-TP80eVS-2Rg">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ymQR4FT2EeKvFeqt5Q_lqw" name="mainInstance" classifier="_tyiqsc__Ed-TP80eVS-2Rg">
           <slot xmi:type="uml:Slot" xmi:id="_tfj4gFUwEeKdxoQIVxFNNg" definingFeature="_8pupUFTzEeKvFeqt5Q_lqw">
             <value xmi:type="uml:LiteralString" xmi:id="_tfni4FUwEeKdxoQIVxFNNg" name="value for message" value="&quot;Test message&quot;">
               <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
             </value>
           </slot>
         </packagedElement>
-        <packagedElement xmi:type="uml:Abstraction" xmi:id="_UPx34FWUEeKdxoQIVxFNNg" name="allocate mainInstance to monoNode" client="_ymErsFT2EeKvFeqt5Q_lqw" supplier="_GQ1ekKwHEeCQX8uv_p0Q4A"/>
       </packagedElement>
     </packagedElement>
     <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
@@ -137,16 +101,11 @@
     </profileApplication>
   </uml:Model>
   <C_Cpp:Include xmi:id="_11OtwPcaEd-KM6l7lmIPkw" body="#include &lt;iostream>&#xA;using namespace std;" base_class="_tyiqsc__Ed-TP80eVS-2Rg"/>
-  <FCM:Target xmi:id="_LD_uICr7EeCfcI_SvPT4lw" base_Node="_zY9vMDLiEd2RVeNawwNNzg">
-    <targetArch xmi:type="FCM:TargetArchitecture" href="pathmap://QML_CORE/core.uml#_FYOqwF0OEd-12d_h0i1xhQ"/>
-    <usedOS xmi:type="FCM:OperatingSystem" href="pathmap://QML_CORE/core.uml#_1eULwF0NEd-12d_h0i1xhQ"/>
-  </FCM:Target>
   <FCM:DerivedElement xmi:id="_UtTMgFTzEeKvFeqt5Q_lqw" base_Element="_UtCt0FTzEeKvFeqt5Q_lqw">
     <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
   </FCM:DerivedElement>
   <FCM:ConfigurationProperty xmi:id="_KTwJUFT0EeKvFeqt5Q_lqw" base_Property="_8pupUFTzEeKvFeqt5Q_lqw"/>
-  <FCM:DeploymentPlan xmi:id="_ymC2gFT2EeKvFeqt5Q_lqw" mainInstance="_ymErsFT2EeKvFeqt5Q_lqw" base_Package="_yl9-AFT2EeKvFeqt5Q_lqw"/>
-  <Alloc:Allocate xmi:id="_UP7B0FWUEeKdxoQIVxFNNg" base_Abstraction="_UPx34FWUEeKdxoQIVxFNNg"/>
+  <FCM:DeploymentPlan xmi:id="_ymC2gFT2EeKvFeqt5Q_lqw" base_Package="_yl9-AFT2EeKvFeqt5Q_lqw"/>
   <FCM:CodeGenOptions xmi:id="_1uf4ENykEeKPWMO32vUmzw" base_Package="_LOqIEDLaEd2qeKRLMdIx_A">
     <progLanguage xmi:type="FCM:ProgLanguage" href="pathmap://QML_CORE/core.uml#_5WrSINzEEeKPWMO32vUmzw"/>
   </FCM:CodeGenOptions>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/HelloWorldJava.notation b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/HelloWorldJava.notation
deleted file mode 100644
index e677195..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/HelloWorldJava.notation
+++ /dev/null
@@ -1,680 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
-  <notation:Diagram xmi:id="_7kc7YM__Ed-TP80eVS-2Rg" type="CompositeStructure" name="HelloWorldComponent" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_8LSR4M__Ed-TP80eVS-2Rg" type="Class_Shape" fontName="" fontHeight="10" fillColor="8905185" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LSR4s__Ed-TP80eVS-2Rg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LSR48__Ed-TP80eVS-2Rg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LS48M__Ed-TP80eVS-2Rg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LS48c__Ed-TP80eVS-2Rg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LS48s__Ed-TP80eVS-2Rg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LS488__Ed-TP80eVS-2Rg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_8LS49M__Ed-TP80eVS-2Rg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_EQ80cPt2EeWCnMkQqeR-Qg" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_8rDfAFTzEeKvFeqt5Q_lqw" type="Property_Shape" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8rGiUFTzEeKvFeqt5Q_lqw" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8rGiUVTzEeKvFeqt5Q_lqw" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8rGiUlTzEeKvFeqt5Q_lqw" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8rGiU1TzEeKvFeqt5Q_lqw" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8rGiVFTzEeKvFeqt5Q_lqw" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8rGiVVTzEeKvFeqt5Q_lqw" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4k6AsHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4k7O0Hk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4urnwHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_8rHJYFTzEeKvFeqt5Q_lqw" type="Property_NameLabel">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CBQusFT0EeKvFeqt5Q_lqw" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CGsoUFT0EeKvFeqt5Q_lqw" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_EQ9bgPt2EeWCnMkQqeR-Qg" visible="false" type="Property_StructureCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_8rHJYlTzEeKvFeqt5Q_lqw" showTitle="true"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8rHJY1TzEeKvFeqt5Q_lqw"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_pc5KUtp_EeWr5tIXyQonbg" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_pc5KU9p_EeWr5tIXyQonbg" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="HelloWorldJava.uml#_8pupUFTzEeKvFeqt5Q_lqw"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8rDfAVTzEeKvFeqt5Q_lqw" x="40" y="30" width="163"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_pkoxENp_EeWr5tIXyQonbg" type="StereotypeComment">
-          <styles xmi:type="notation:TitleStyle" xmi:id="_pkoxEdp_EeWr5tIXyQonbg" showTitle="true"/>
-          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pkoxE9p_EeWr5tIXyQonbg" name="BASE_ELEMENT">
-            <eObjectValue xmi:type="uml:Property" href="HelloWorldJava.uml#_8pupUFTzEeKvFeqt5Q_lqw"/>
-          </styles>
-          <element xsi:nil="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pkoxEtp_EeWr5tIXyQonbg" x="240" y="30"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8LS49s__Ed-TP80eVS-2Rg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_O7kMQFWUEeKdxoQIVxFNNg" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_O7kMQVWUEeKdxoQIVxFNNg" showTitle="true"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7kMQlWUEeKdxoQIVxFNNg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_6UeXAFWUEeKdxoQIVxFNNg" type="Port_Shape" fontName="Sans Serif" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ue-EFWUEeKdxoQIVxFNNg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Ue-EVWUEeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ue-ElWUEeKdxoQIVxFNNg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Ue-E1WUEeKdxoQIVxFNNg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ue-FFWUEeKdxoQIVxFNNg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6UflIFWUEeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_6UflIVWUEeKdxoQIVxFNNg" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_6UflIlWUEeKdxoQIVxFNNg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_6UflI1WUEeKdxoQIVxFNNg" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_6UflJFWUEeKdxoQIVxFNNg" x="25" y="-10"/>
-        </children>
-        <styles xmi:type="notation:StringListValueStyle" xmi:id="_fV6D0LkXEeS7TYMQS2xzng" name="maskLabel">
-          <stringListValue>multiplicity</stringListValue>
-          <stringListValue>name</stringListValue>
-          <stringListValue>type</stringListValue>
-          <stringListValue>derived</stringListValue>
-        </styles>
-        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UeXAVWUEeKdxoQIVxFNNg" y="50"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_pc5KUNp_EeWr5tIXyQonbg" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_pc5KUdp_EeWr5tIXyQonbg" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="HelloWorldJava.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8LSR4c__Ed-TP80eVS-2Rg" x="80" y="160" width="254" height="121"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_-HlK8DecEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyADecEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyATecEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyAjecEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyAzecEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyBDecEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyBTecEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_-HlyBjecEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="HelloWorldJava.uml#_-Hd2MDecEeGPyrZ5I3hMlA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-HlK8TecEeGPyrZ5I3hMlA" x="420" y="135" width="301" height="55"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_0EFQQDedEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3UDedEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3UTedEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3UjedEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3UzedEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3VDedEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3VTedEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0EF3VjedEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="HelloWorldJava.uml#_0D64MDedEeGPyrZ5I3hMlA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0EFQQTedEeGPyrZ5I3hMlA" x="420" y="18" width="301"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_SypoQFT0EeKvFeqt5Q_lqw" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SyqPUFT0EeKvFeqt5Q_lqw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SyqPUVT0EeKvFeqt5Q_lqw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SyqPUlT0EeKvFeqt5Q_lqw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SyqPU1T0EeKvFeqt5Q_lqw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SyqPVFT0EeKvFeqt5Q_lqw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SyqPVVT0EeKvFeqt5Q_lqw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_SyqPVlT0EeKvFeqt5Q_lqw" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="HelloWorldJava.uml#_SxvpUFT0EeKvFeqt5Q_lqw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SypoQVT0EeKvFeqt5Q_lqw" x="420" y="220" width="301" height="45"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_rjTBsFWUEeKdxoQIVxFNNg" type="Class_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rjTowFWUEeKdxoQIVxFNNg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rjTowVWUEeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rjTowlWUEeKdxoQIVxFNNg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rjTow1WUEeKdxoQIVxFNNg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rjToxFWUEeKdxoQIVxFNNg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rjUP0FWUEeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_rjUP0VWUEeKdxoQIVxFNNg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_EUQAEPt2EeWCnMkQqeR-Qg" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_rjUP01WUEeKdxoQIVxFNNg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rjUP1FWUEeKdxoQIVxFNNg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_wd8WwFWUEeKdxoQIVxFNNg" type="Port_Shape" fontName="Sans Serif" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wd890FWUEeKdxoQIVxFNNg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wd890VWUEeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wd890lWUEeKdxoQIVxFNNg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wd8901WUEeKdxoQIVxFNNg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wd891FWUEeKdxoQIVxFNNg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wd891VWUEeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_wd891lWUEeKdxoQIVxFNNg" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_wd9k4FWUEeKdxoQIVxFNNg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_wd9k4VWUEeKdxoQIVxFNNg" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_wd9k4lWUEeKdxoQIVxFNNg" x="25" y="-10"/>
-        </children>
-        <styles xmi:type="notation:StringListValueStyle" xmi:id="_hG-_4LkXEeS7TYMQS2xzng" name="maskLabel">
-          <stringListValue>multiplicity</stringListValue>
-          <stringListValue>name</stringListValue>
-          <stringListValue>type</stringListValue>
-          <stringListValue>derived</stringListValue>
-        </styles>
-        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wd8WwVWUEeKdxoQIVxFNNg" x="-10" y="27"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_pc5KVNp_EeWr5tIXyQonbg" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_pc5KVdp_EeWr5tIXyQonbg" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rjTBsVWUEeKdxoQIVxFNNg" x="90" y="18" width="253" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_pkx7ANp_EeWr5tIXyQonbg" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_pkx7Adp_EeWr5tIXyQonbg" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pkx7A9p_EeWr5tIXyQonbg" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pkx7Atp_EeWr5tIXyQonbg" x="200" y="50"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_pk-vVtp_EeWr5tIXyQonbg" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_pk_WYNp_EeWr5tIXyQonbg" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pk_WYtp_EeWr5tIXyQonbg" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pk_WYdp_EeWr5tIXyQonbg" x="190" y="27"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_7kc7Yc__Ed-TP80eVS-2Rg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_pc5KVtp_EeWr5tIXyQonbg" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="HelloWorldJava.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
-    <edges xmi:type="notation:Connector" xmi:id="_uHz6kP8nEd-hWJO6cv3VJA" type="Generalization_Edge" source="_8LSR4M__Ed-TP80eVS-2Rg" target="_rjTBsFWUEeKdxoQIVxFNNg" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_uH0hoP8nEd-hWJO6cv3VJA" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_uH0hof8nEd-hWJO6cv3VJA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_uHz6kf8nEd-hWJO6cv3VJA" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="HelloWorldJava.uml#_tyiqss__Ed-TP80eVS-2Rg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uHz6kv8nEd-hWJO6cv3VJA" points="[-103, -45, 204, 90]$[-307, -135, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YcZOULkXEeS7TYMQS2xzng" id="(0.515748031496063,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zpY_EFWUEeKdxoQIVxFNNg" id="(0.4782608695652174,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_FOfGwDeeEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_0EFQQDedEeGPyrZ5I3hMlA" target="_rjTBsFWUEeKdxoQIVxFNNg" routing="Rectilinear" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_FOfGwTeeEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FOfGwjeeEeGPyrZ5I3hMlA" points="[-6, -3, 83, 0]$[-62, -3, 27, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FOwMgDeeEeGPyrZ5I3hMlA" id="(0.020338983050847456,0.4027777777777778)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FOwMgTeeEeGPyrZ5I3hMlA" id="(0.9881422924901185,0.5753424657534246)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_F4Ju0DeeEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_-HlK8DecEeGPyrZ5I3hMlA" target="_8LSR4M__Ed-TP80eVS-2Rg" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_F4Ju0TeeEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_F4Ju0jeeEeGPyrZ5I3hMlA" points="[-25, 3, 78, 0]$[-80, -2, 23, -5]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F4a0kDeeEeGPyrZ5I3hMlA" id="(0.0,0.5125)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F4a0kTeeEeGPyrZ5I3hMlA" id="(0.9448818897637795,0.1834862385321101)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_YapykFT0EeKvFeqt5Q_lqw" type="Comment_AnnotatedElementEdge" source="_SypoQFT0EeKvFeqt5Q_lqw" target="_8rDfAFTzEeKvFeqt5Q_lqw" routing="Rectilinear" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_YapykVT0EeKvFeqt5Q_lqw" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YapyklT0EeKvFeqt5Q_lqw" points="[420, 260, -643984, -643984]$[288, 260, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ya7fYFT0EeKvFeqt5Q_lqw" id="(0.0,0.7017543859649122)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ya7fYVT0EeKvFeqt5Q_lqw" id="(1.0,0.625)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_pkoxFNp_EeWr5tIXyQonbg" type="StereotypeCommentLink" source="_8rDfAFTzEeKvFeqt5Q_lqw" target="_pkoxENp_EeWr5tIXyQonbg">
-      <styles xmi:type="notation:FontStyle" xmi:id="_pkoxFdp_EeWr5tIXyQonbg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pkoxGdp_EeWr5tIXyQonbg" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Property" href="HelloWorldJava.uml#_8pupUFTzEeKvFeqt5Q_lqw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pkoxFtp_EeWr5tIXyQonbg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pkoxF9p_EeWr5tIXyQonbg"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pkoxGNp_EeWr5tIXyQonbg"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_pkx7BNp_EeWr5tIXyQonbg" type="StereotypeCommentLink" source="_6UeXAFWUEeKdxoQIVxFNNg" target="_pkx7ANp_EeWr5tIXyQonbg">
-      <styles xmi:type="notation:FontStyle" xmi:id="_pkx7Bdp_EeWr5tIXyQonbg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pkx7Cdp_EeWr5tIXyQonbg" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pkx7Btp_EeWr5tIXyQonbg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pkx7B9p_EeWr5tIXyQonbg"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pkx7CNp_EeWr5tIXyQonbg"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_pk_WY9p_EeWr5tIXyQonbg" type="StereotypeCommentLink" source="_wd8WwFWUEeKdxoQIVxFNNg" target="_pk-vVtp_EeWr5tIXyQonbg">
-      <styles xmi:type="notation:FontStyle" xmi:id="_pk_WZNp_EeWr5tIXyQonbg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pk_WaNp_EeWr5tIXyQonbg" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pk_WZdp_EeWr5tIXyQonbg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pk_WZtp_EeWr5tIXyQonbg"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pk_WZ9p_EeWr5tIXyQonbg"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_o6ZisNCREd-hqYHBJe17_Q" type="CompositeStructure" name="System" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_VSa6YNHtEd-A1oPfP47IaQ" type="Class_Shape" fontName="" fontHeight="10" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScIgNHtEd-A1oPfP47IaQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvkNHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScvkdHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvktHtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScvk9HtEd-A1oPfP47IaQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvlNHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_VScvldHtEd-A1oPfP47IaQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_E2nGQPt2EeWCnMkQqeR-Qg" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_XsS70NHtEd-A1oPfP47IaQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi4NHtEd-A1oPfP47IaQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi4dHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi4tHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi49HtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi5NHtEd-A1oPfP47IaQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi5dHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6iThgHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6iUvoHk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6o-xQHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_XsTi5tHtEd-A1oPfP47IaQ" type="Property_NameLabel">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yonwwFTzEeKvFeqt5Q_lqw" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yzIXoFTzEeKvFeqt5Q_lqw" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_E2ntUPt2EeWCnMkQqeR-Qg" type="Property_StructureCompartment">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XsUJ8NHtEd-A1oPfP47IaQ"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_plRqQtp_EeWr5tIXyQonbg" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_plRqQ9p_EeWr5tIXyQonbg" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="HelloWorldJava.uml#_gV1cgDLiEd2RVeNawwNNzg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XsS70dHtEd-A1oPfP47IaQ" x="40" y="20" width="193" height="85"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VScvl9HtEd-A1oPfP47IaQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_plRqQNp_EeWr5tIXyQonbg" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_plRqQdp_EeWr5tIXyQonbg" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="HelloWorldJava.uml#_bYJagDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VSa6YdHtEd-A1oPfP47IaQ" x="18" y="18" width="280" height="172"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_o6ZisdCREd-hqYHBJe17_Q"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_plRqRNp_EeWr5tIXyQonbg" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="HelloWorldJava.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_U1UegPcXEd-KM6l7lmIPkw" type="PapyrusUMLClassDiagram" name="deployment" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_FGfloCghEeCw56aD7XrQhw" type="Diagram_ShortcutShape" element="_7kc7YM__Ed-TP80eVS-2Rg" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGgMsCghEeCw56aD7XrQhw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGgMsSghEeCw56aD7XrQhw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGgMsighEeCw56aD7XrQhw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGgMsyghEeCw56aD7XrQhw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGlsQCghEeCw56aD7XrQhw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGmTUCghEeCw56aD7XrQhw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_FGmTUSghEeCw56aD7XrQhw" type="Diagram_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_FGmTUighEeCw56aD7XrQhw" x="54" y="3"/>
-      </children>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FGfloSghEeCw56aD7XrQhw" x="54" y="24" width="34" height="20"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_gdmuADefEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdmuAjefEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdmuAzefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdmuBDefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdmuBTefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdnVEDefEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdnVETefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_gdnVEjefEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="HelloWorldJava.uml#_gdeyMDefEeGPyrZ5I3hMlA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gdmuATefEeGPyrZ5I3hMlA" x="315" y="18" width="226" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_-4h4YFWREeKdxoQIVxFNNg" type="Package_Shape" fontName="Sans Serif" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-4k7sFWREeKdxoQIVxFNNg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-4k7sVWREeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-4k7slWREeKdxoQIVxFNNg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-4k7s1WREeKdxoQIVxFNNg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-4liwFWREeKdxoQIVxFNNg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-4liwVWREeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_-4liwlWREeKdxoQIVxFNNg" type="Package_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_E5tdkPt2EeWCnMkQqeR-Qg" type="Package_PackagedElementCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_ZQjFQFWjEeKOivupHOJ8Ew" type="InstanceSpecification_Shape_CN" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZQjsUFWjEeKOivupHOJ8Ew" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZQjsUVWjEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZQjsUlWjEeKOivupHOJ8Ew" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZQkTYFWjEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZQkTYVWjEeKOivupHOJ8Ew" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZQkTYlWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8slAsHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8slnwHk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8-kvoHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_ZQkTY1WjEeKOivupHOJ8Ew" type="InstanceSpecification_NameLabel_CN"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_E5ursPt2EeWCnMkQqeR-Qg" type="InstanceSpecification_SlotCompartment_CN">
-            <children xmi:type="notation:Shape" xmi:id="_ET2zcFWkEeKOivupHOJ8Ew" type="Slot_SlotLabel" fontName="Sans Serif" lineColor="0">
-              <element xmi:type="uml:Slot" href="HelloWorldJava.uml#_ymQ48FT2EeKvFeqt5Q_lqw"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_ET2zcVWkEeKOivupHOJ8Ew" x="58" y="15"/>
-            </children>
-            <styles xmi:type="notation:TitleStyle" xmi:id="_ZQkTZVWjEeKOivupHOJ8Ew"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_ZQkTZlWjEeKOivupHOJ8Ew"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_ZQkTZ1WjEeKOivupHOJ8Ew"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZQkTaFWjEeKOivupHOJ8Ew"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_pm6pANp_EeWr5tIXyQonbg" type="InstanceSpecification_FloatingNameLabel_CN">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_pm6pAdp_EeWr5tIXyQonbg" y="5"/>
-          </children>
-          <element xmi:type="uml:InstanceSpecification" href="HelloWorldJava.uml#_ymErsFT2EeKvFeqt5Q_lqw"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZQjFQVWjEeKOivupHOJ8Ew" x="15" y="13" width="261" height="57"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_Z7T5gFWjEeKOivupHOJ8Ew" type="InstanceSpecification_Shape_CN" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UgkFWjEeKOivupHOJ8Ew" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7UgkVWjEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UgklWjEeKOivupHOJ8Ew" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7Ugk1WjEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UglFWjEeKOivupHOJ8Ew" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7UglVWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8smO0nk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8smO03k1EeOph7IIHUnNoA" key="fillColor" value="true"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8-nL4Hk1EeOph7IIHUnNoA" key="gradient" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_Z7UgllWjEeKOivupHOJ8Ew" type="InstanceSpecification_NameLabel_CN"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_E5vSwPt2EeWCnMkQqeR-Qg" type="InstanceSpecification_SlotCompartment_CN">
-            <children xmi:type="notation:Shape" xmi:id="_6VXKAFWjEeKOivupHOJ8Ew" type="Slot_SlotLabel" fontName="Sans Serif" lineColor="0">
-              <element xmi:type="uml:Slot" href="HelloWorldJava.uml#_tfj4gFUwEeKdxoQIVxFNNg"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_6VXKAVWjEeKOivupHOJ8Ew" x="26" y="15"/>
-            </children>
-            <styles xmi:type="notation:TitleStyle" xmi:id="_Z7UgmFWjEeKOivupHOJ8Ew"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_Z7UgmVWjEeKOivupHOJ8Ew"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_Z7UgmlWjEeKOivupHOJ8Ew"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7Ugm1WjEeKOivupHOJ8Ew"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_pm6pAtp_EeWr5tIXyQonbg" type="InstanceSpecification_FloatingNameLabel_CN">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_pm6pA9p_EeWr5tIXyQonbg" y="5"/>
-          </children>
-          <element xmi:type="uml:InstanceSpecification" href="HelloWorldJava.uml#_ymQR4FT2EeKvFeqt5Q_lqw"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7T5gVWjEeKOivupHOJ8Ew" x="15" y="133" width="261" height="64"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_85kMIFWjEeKOivupHOJ8Ew" type="InstanceSpecification_Shape_CN" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_85kzMFWjEeKOivupHOJ8Ew" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_85kzMVWjEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_85kzMlWjEeKOivupHOJ8Ew" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_85kzM1WjEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_85kzNFWjEeKOivupHOJ8Ew" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_85kzNVWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8smO0Hk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8smO0Xk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8-l9wHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_85kzNlWjEeKOivupHOJ8Ew" type="InstanceSpecification_NameLabel_CN"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_E5vSwft2EeWCnMkQqeR-Qg" visible="false" type="InstanceSpecification_SlotCompartment_CN">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_85laQFWjEeKOivupHOJ8Ew"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_85laQVWjEeKOivupHOJ8Ew"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_85laQlWjEeKOivupHOJ8Ew"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_85laQ1WjEeKOivupHOJ8Ew"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_pm6pBNp_EeWr5tIXyQonbg" type="InstanceSpecification_FloatingNameLabel_CN">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_pm6pBdp_EeWr5tIXyQonbg" y="5"/>
-          </children>
-          <element xmi:type="uml:InstanceSpecification" href="HelloWorldJava.uml#_GQ1ekKwHEeCQX8uv_p0Q4A"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_85kMIVWjEeKOivupHOJ8Ew" x="375" y="13" width="163" height="46"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_wCUSAFZVEeKKZs15rvNNjA" type="Comment_Shape_CN" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCX8YFZVEeKKZs15rvNNjA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCX8YVZVEeKKZs15rvNNjA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCX8YlZVEeKKZs15rvNNjA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCYjcFZVEeKKZs15rvNNjA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCYjcVZVEeKKZs15rvNNjA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCYjclZVEeKKZs15rvNNjA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_wCYjc1ZVEeKKZs15rvNNjA" type="Comment_BodyLabel_CN"/>
-          <element xmi:type="uml:Comment" href="HelloWorldJava.uml#_wAbboFZVEeKKZs15rvNNjA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wCUSAVZVEeKKZs15rvNNjA" x="325" y="97" width="208" height="83"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_-4lixFWREeKdxoQIVxFNNg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-4lixVWREeKdxoQIVxFNNg"/>
-      </children>
-      <styles xmi:type="notation:IntValueStyle" xmi:id="_u3oFQLkXEeS7TYMQS2xzng" name="shapeDirection" intValue="1"/>
-      <element xmi:type="uml:Package" href="HelloWorldJava.uml#_yl9-AFT2EeKvFeqt5Q_lqw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-4h4YVWREeKdxoQIVxFNNg" x="20" y="200" width="571" height="275"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_obNuEFWiEeKOivupHOJ8Ew" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obQxYFWiEeKOivupHOJ8Ew" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obQxYVWiEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obQxYlWiEeKOivupHOJ8Ew" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obQxY1WiEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obRYcFWiEeKOivupHOJ8Ew" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obRYcVWiEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_obRYclWiEeKOivupHOJ8Ew" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="HelloWorldJava.uml#_oZw8kFWiEeKOivupHOJ8Ew"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_obNuEVWiEeKOivupHOJ8Ew" x="315" y="90" width="226" height="55"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_pqN0oNp_EeWr5tIXyQonbg" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_pqN0odp_EeWr5tIXyQonbg" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pqN0o9p_EeWr5tIXyQonbg" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Package" href="HelloWorldJava.uml#_yl9-AFT2EeKvFeqt5Q_lqw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pqN0otp_EeWr5tIXyQonbg" x="220" y="200"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_pqYMsNp_EeWr5tIXyQonbg" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_pqYMsdp_EeWr5tIXyQonbg" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pqYMs9p_EeWr5tIXyQonbg" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Abstraction" href="HelloWorldJava.uml#_UPx34FWUEeKdxoQIVxFNNg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pqYMstp_EeWr5tIXyQonbg" x="215" y="-87"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_U1UegfcXEd-KM6l7lmIPkw"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_pm6pBtp_EeWr5tIXyQonbg" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="HelloWorldJava.uml#_234GEDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_86CtQFWjEeKOivupHOJ8Ew" type="Abstraction_Edge" source="_ZQjFQFWjEeKOivupHOJ8Ew" target="_85kMIFWjEeKOivupHOJ8Ew" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_86D7YFWjEeKOivupHOJ8Ew" type="Abstraction_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_86D7YVWjEeKOivupHOJ8Ew" x="-14" y="40"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_86D7YlWjEeKOivupHOJ8Ew" type="Abstraction_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_86D7Y1WjEeKOivupHOJ8Ew" x="-4" y="-9"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_86CtQVWjEeKOivupHOJ8Ew" fontName="Sans Serif"/>
-      <element xmi:type="uml:Abstraction" href="HelloWorldJava.uml#_UPx34FWUEeKdxoQIVxFNNg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_86CtQlWjEeKOivupHOJ8Ew" points="[-81, -23, 28, 8]$[-109, -31, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zrOXILkXEeS7TYMQS2xzng" id="(1.0,0.40350877192982454)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zrOXIbkXEeS7TYMQS2xzng" id="(0.0,0.5)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Sqs9MFWkEeKOivupHOJ8Ew" type="Comment_AnnotatedElementEdge" source="_obNuEFWiEeKOivupHOJ8Ew" target="_-4h4YFWREeKdxoQIVxFNNg" routing="Rectilinear" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_Sqs9MVWkEeKOivupHOJ8Ew" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Sqs9MlWkEeKOivupHOJ8Ew" points="[113, 34, 301, -38]$[113, 93, 301, 21]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SrQW0FWkEeKOivupHOJ8Ew" id="(0.0,0.5277777777777778)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SrQW0VWkEeKOivupHOJ8Ew" id="(0.18739054290718038,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_7O5fMFZVEeKKZs15rvNNjA" type="Comment_AnnotatedElementEdge" source="_wCUSAFZVEeKKZs15rvNNjA" target="_ZQjFQFWjEeKOivupHOJ8Ew" routing="Rectilinear" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_7O5fMVZVEeKKZs15rvNNjA" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7O5fMlZVEeKKZs15rvNNjA" points="[350, 356, -643984, -643984]$[232, 356, -643984, -643984]$[232, 315, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7PO2YFZVEeKKZs15rvNNjA" id="(0.0,0.11965811965811966)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yzWT8LkXEeS7TYMQS2xzng" id="(0.7318007662835249,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_71Q7oFZVEeKKZs15rvNNjA" type="Comment_AnnotatedElementEdge" source="_wCUSAFZVEeKKZs15rvNNjA" target="_Z7T5gFWjEeKOivupHOJ8Ew" routing="Rectilinear" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_71Q7oVZVEeKKZs15rvNNjA" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_71Q7olZVEeKKZs15rvNNjA" points="[-12, 8, 82, 0]$[-73, 9, 21, 1]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_71iBYFZVEeKKZs15rvNNjA" id="(0.0,0.6410256410256411)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_71iBYVZVEeKKZs15rvNNjA" id="(1.0,0.609375)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_pqN0pNp_EeWr5tIXyQonbg" type="StereotypeCommentLink" source="_-4h4YFWREeKdxoQIVxFNNg" target="_pqN0oNp_EeWr5tIXyQonbg">
-      <styles xmi:type="notation:FontStyle" xmi:id="_pqN0pdp_EeWr5tIXyQonbg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pqN0qdp_EeWr5tIXyQonbg" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Package" href="HelloWorldJava.uml#_yl9-AFT2EeKvFeqt5Q_lqw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pqN0ptp_EeWr5tIXyQonbg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pqN0p9p_EeWr5tIXyQonbg"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pqN0qNp_EeWr5tIXyQonbg"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_pqYMtNp_EeWr5tIXyQonbg" type="StereotypeCommentLink" source="_86CtQFWjEeKOivupHOJ8Ew" target="_pqYMsNp_EeWr5tIXyQonbg">
-      <styles xmi:type="notation:FontStyle" xmi:id="_pqYMtdp_EeWr5tIXyQonbg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pqYMudp_EeWr5tIXyQonbg" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Abstraction" href="HelloWorldJava.uml#_UPx34FWUEeKdxoQIVxFNNg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pqYMttp_EeWr5tIXyQonbg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pqYMt9p_EeWr5tIXyQonbg"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pqYMuNp_EeWr5tIXyQonbg"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_0rwpYDefEeGPyrZ5I3hMlA" type="CompositeStructure" name="HWArchitecture" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_1w2CIDefEeGPyrZ5I3hMlA" type="Class_Shape" fontName="" fontHeight="10" fillColor="10011046" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pMDefEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pMTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pMjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pMzefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pNDefEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pNTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_1w2pNjefEeGPyrZ5I3hMlA" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_FEr-gPt2EeWCnMkQqeR-Qg" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_4HLnYDefEeGPyrZ5I3hMlA" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOcDefEeGPyrZ5I3hMlA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOcTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOcjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOczefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOdDefEeGPyrZ5I3hMlA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOdTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__C2UgHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__C2UgXk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__Oj1QHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_4HMOdjefEeGPyrZ5I3hMlA" type="Property_NameLabel">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ENwn8FWjEeKOivupHOJ8Ew" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EUBoAFWjEeKOivupHOJ8Ew" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_FEr-gft2EeWCnMkQqeR-Qg" visible="false" type="Property_StructureCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_4HMOeDefEeGPyrZ5I3hMlA" showTitle="true"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4HMOeTefEeGPyrZ5I3hMlA"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_pqvZEtp_EeWr5tIXyQonbg" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_pqvZE9p_EeWr5tIXyQonbg" y="5"/>
-          </children>
-          <styles xmi:type="notation:StringListValueStyle" xmi:id="_DrFGELkYEeS7TYMQS2xzng" name="maskLabel">
-            <stringListValue>name</stringListValue>
-            <stringListValue>type</stringListValue>
-            <stringListValue>derived</stringListValue>
-          </styles>
-          <element xmi:type="uml:Property" href="HelloWorldJava.uml#_4HAoQDefEeGPyrZ5I3hMlA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4HLnYTefEeGPyrZ5I3hMlA" x="49" y="22" width="190"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_1w2pODefEeGPyrZ5I3hMlA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w2pOTefEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_pqvZENp_EeWr5tIXyQonbg" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_pqvZEdp_EeWr5tIXyQonbg" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="HelloWorldJava.uml#_tZvNQDefEeGPyrZ5I3hMlA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w2CITefEeGPyrZ5I3hMlA" x="80" y="63" width="301" height="154"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_7qMbIDefEeGPyrZ5I3hMlA" type="Node_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCMDefEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCMTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCMjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCMzefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCNDefEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCNTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_7qNCNjefEeGPyrZ5I3hMlA" type="Node_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_FEr-gvt2EeWCnMkQqeR-Qg" visible="false" type="Node_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_7qNCODefEeGPyrZ5I3hMlA" showTitle="true"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7qNCOTefEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_pqvZFNp_EeWr5tIXyQonbg" type="Node_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_pqvZFdp_EeWr5tIXyQonbg" y="5"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ptJz4Np_EeWr5tIXyQonbg" visible="false" type="StereotypeLabel">
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_ptJz4dp_EeWr5tIXyQonbg" name="stereotype" stringValue="FCM::Target"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ptJz4tp_EeWr5tIXyQonbg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_ptS90Np_EeWr5tIXyQonbg" type="StereotypeCompartment">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ptbgsNp_EeWr5tIXyQonbg" source="PapyrusCSSForceValue">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ptbgsdp_EeWr5tIXyQonbg" key="visible" value="true"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ptUL8Np_EeWr5tIXyQonbg" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#__5rAUGE_Ed-eArNXja7SuA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ptUL8dp_EeWr5tIXyQonbg"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ptUL9Np_EeWr5tIXyQonbg" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_BZCjMJOGEd-5qPBhYeIVtw"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ptUL9dp_EeWr5tIXyQonbg"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_ptS90dp_EeWr5tIXyQonbg" showTitle="true"/>
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_ptS90tp_EeWr5tIXyQonbg" name="stereotype" stringValue="FCM::Target"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ptS909p_EeWr5tIXyQonbg"/>
-      </children>
-      <element xmi:type="uml:Node" href="HelloWorldJava.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7qMbITefEeGPyrZ5I3hMlA" x="440" y="63" width="181" height="91"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_jhQ20DegEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ20jegEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ20zegEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ21DegEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ21TegEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ21jegEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ21zegEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_jhRd4DegEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="HelloWorldJava.uml#_jhF3sDegEeGPyrZ5I3hMlA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jhQ20TegEeGPyrZ5I3hMlA" x="435" y="183" width="277"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_0rwpYTefEeGPyrZ5I3hMlA"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_pqvZFtp_EeWr5tIXyQonbg" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="HelloWorldJava.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_ugb6IDegEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_jhQ20DegEeGPyrZ5I3hMlA" target="_7qMbIDefEeGPyrZ5I3hMlA" routing="Rectilinear" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_ugb6ITegEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ugb6IjegEeGPyrZ5I3hMlA" points="[-3, -6, 22, 58]$[-30, -51, -5, 13]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ugs_4DegEeGPyrZ5I3hMlA" id="(0.2815884476534296,0.05)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ugs_4TegEeGPyrZ5I3hMlA" id="(0.4420289855072464,0.8266666666666667)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_ovKvYFWjEeKOivupHOJ8Ew" type="PapyrusUMLDeploymentDiagram" name="NewDeploymentDiagram" measurementUnit="Pixel">
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_ovKvYVWjEeKOivupHOJ8Ew"/>
-    <element xmi:type="uml:Package" href="HelloWorldJava.uml#_234GEDLiEd2RVeNawwNNzg"/>
-  </notation:Diagram>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/HelloWorldJava.uml b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/HelloWorldJava.uml
deleted file mode 100644
index 2da7d41..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/HelloWorldJava.uml
+++ /dev/null
@@ -1,164 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:Codegen="http://www.eclipse.org/papyrus/Codegen/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc">
-  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="HelloWorld">
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
-      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/core.uml#_O6TiIDLUEd26WNosUASSSw"/>
-    </packageImport>
-    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="components">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_-Hd2MDecEeGPyrZ5I3hMlA" annotatedElement="_tyiqsc__Ed-TP80eVS-2Rg">
-        <body>Simple HelloWorld component that prints a message in its &quot;run&quot; operation that is provided via the &quot;start&quot; port
-</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_0D64MDedEeGPyrZ5I3hMlA">
-        <annotatedElement xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
-        <body>Part of the Qompass core model library. Provides the specific port &quot;start&quot;. The &quot;run&quot; operation (defined within interface IStart) of this port is called by generated boot-code after instantiation and configuration of a component. </body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Class" xmi:id="_tyiqsc__Ed-TP80eVS-2Rg" name="HelloWorld">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_SxvpUFT0EeKvFeqt5Q_lqw" annotatedElement="_8pupUFTzEeKvFeqt5Q_lqw">
-          <body>Configuration attribute within the Hello World component. Its value is configured on the instance level.</body>
-        </ownedComment>
-        <generalization xmi:type="uml:Generalization" xmi:id="_tyiqss__Ed-TP80eVS-2Rg">
-          <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
-        </generalization>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_8pupUFTzEeKvFeqt5Q_lqw" name="message" visibility="public" aggregation="composite">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__HwK8FTzEeKvFeqt5Q_lqw" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__HwyAFTzEeKvFeqt5Q_lqw" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="__HynMFTzEeKvFeqt5Q_lqw">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_Us15gFTzEeKvFeqt5Q_lqw" name="derived realization of IStart" client="_tyiqsc__Ed-TP80eVS-2Rg">
-          <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
-          <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
-        </interfaceRealization>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_tyjRwc__Ed-TP80eVS-2Rg" name="run" specification="_UtCt0FTzEeKvFeqt5Q_lqw">
-          <language>C/C++</language>
-          <language>JAVA</language>
-          <body>cout &lt;&lt; &quot;Hello world: &quot; &lt;&lt; message &lt;&lt; endl;</body>
-          <body>System.out.println(&quot;Hello&quot;);</body>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_UtCt0FTzEeKvFeqt5Q_lqw" name="run" method="_tyjRwc__Ed-TP80eVS-2Rg"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="System">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_gV1cgDLiEd2RVeNawwNNzg" name="hello" visibility="public" type="_tyiqsc__Ed-TP80eVS-2Rg" isUnique="false" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dCT24G6JEeGqWMX2LwdLDw" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dCUd8G6JEeGqWMX2LwdLDw" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_dCWTIG6JEeGqWMX2LwdLDw">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_v3fMgDLiEd2RVeNawwNNzg" name="platform">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_jhF3sDegEeGPyrZ5I3hMlA" annotatedElement="_zY9vMDLiEd2RVeNawwNNzg">
-        <body>Simple single node configuration. TargetOS is set to Linux, but will work on any OS, since this simple example does not use the OS abstraction layer</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="MonoNode"/>
-      <packagedElement xmi:type="uml:Class" xmi:id="_tZvNQDefEeGPyrZ5I3hMlA" name="Platform">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_4HAoQDefEeGPyrZ5I3hMlA" name="javaNode" visibility="public" type="_zY9vMDLiEd2RVeNawwNNzg" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6WEg0DefEeGPyrZ5I3hMlA" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6WFu8DefEeGPyrZ5I3hMlA" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_6WHkIDefEeGPyrZ5I3hMlA">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_YxI8IDegEeGPyrZ5I3hMlA" name="HWArchitecturePlatform">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_GQ1ekKwHEeCQX8uv_p0Q4A" name="javaNode" classifier="_zY9vMDLiEd2RVeNawwNNzg"/>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_VMRFgDOJEeC7y-fR3OSnFw">
-        <body>This configuration requires the installation of the OTF trace library.&lt;br /></body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_gdeyMDefEeGPyrZ5I3hMlA">
-        <body>Cross references to composite diagram</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_oZw8kFWiEeKOivupHOJ8Ew" annotatedElement="_yl9-AFT2EeKvFeqt5Q_lqw">
-        <body>Deployment plan for system, i.e. set of instance specification along with configuration and allocation</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Package" xmi:id="_yl9-AFT2EeKvFeqt5Q_lqw" name="SystemDepPlan">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_wAbboFZVEeKKZs15rvNNjA" annotatedElement="_ymErsFT2EeKvFeqt5Q_lqw _ymQR4FT2EeKvFeqt5Q_lqw">
-          <body>Value mainInstance.hello is a UML instance-value, i.e. a reference to the instance specification on the left.
-&quot;Test message&quot; is a StringValue initializing the message attribute</body>
-        </ownedComment>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ymErsFT2EeKvFeqt5Q_lqw" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg">
-          <slot xmi:type="uml:Slot" xmi:id="_ymQ48FT2EeKvFeqt5Q_lqw" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_ymRgAFT2EeKvFeqt5Q_lqw" instance="_ymQR4FT2EeKvFeqt5Q_lqw"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ymQR4FT2EeKvFeqt5Q_lqw" name="mainInstance.hello" classifier="_tyiqsc__Ed-TP80eVS-2Rg">
-          <slot xmi:type="uml:Slot" xmi:id="_tfj4gFUwEeKdxoQIVxFNNg" definingFeature="_8pupUFTzEeKvFeqt5Q_lqw">
-            <value xmi:type="uml:LiteralString" xmi:id="_tfni4FUwEeKdxoQIVxFNNg" name="value for message" value="&quot;Test message&quot;">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-            </value>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Abstraction" xmi:id="_UPx34FWUEeKdxoQIVxFNNg" name="allocate mainInstance to javaNode" client="_ymErsFT2EeKvFeqt5Q_lqw" supplier="_GQ1ekKwHEeCQX8uv_p0Q4A"/>
-      </packagedElement>
-    </packagedElement>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_z1TwgFW3Ed63BrxiKsw-0Q">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z2GasFW3Ed63BrxiKsw-0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_sfyAwEbjEd-l4NeVOJZDkA">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_siunEEbjEd-l4NeVOJZDkA" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//GCM"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_YgAioAPMEdyuUt-4qHuVvQ"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_popJkKmqEeCxII-g1_Lmeg">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_p1PbIKmqEeCxII-g1_Lmeg" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_yNSZIAPMEdyuUt-4qHuVvQ"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_tZuBwE0tEeG4IqgA7gSE6w">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tisXkE0tEeG4IqgA7gSE6w" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_skgX0Pt2EeWCnMkQqeR-Qg">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_skiNAPt2EeWCnMkQqeR-Qg" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/PapyrusJava/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusJava_PROFILES/PapyrusJava.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_U0R90C1QEea25uwDpRQuxg">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0Sk4C1QEea25uwDpRQuxg" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Codegen/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://Codegen_PROFILES/Codegen.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/>
-    </profileApplication>
-  </uml:Model>
-  <FCM:Target xmi:id="_LD_uICr7EeCfcI_SvPT4lw" base_Node="_zY9vMDLiEd2RVeNawwNNzg">
-    <targetArch xmi:type="FCM:TargetArchitecture" href="pathmap://QML_CORE/core.uml#_FYOqwF0OEd-12d_h0i1xhQ"/>
-    <usedOS xmi:type="FCM:OperatingSystem" href="pathmap://QML_CORE/core.uml#_1eULwF0NEd-12d_h0i1xhQ"/>
-  </FCM:Target>
-  <FCM:DerivedElement xmi:id="_UtTMgFTzEeKvFeqt5Q_lqw" base_Element="_UtCt0FTzEeKvFeqt5Q_lqw">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:ConfigurationProperty xmi:id="_KTwJUFT0EeKvFeqt5Q_lqw" base_Property="_8pupUFTzEeKvFeqt5Q_lqw"/>
-  <FCM:DeploymentPlan xmi:id="_ymC2gFT2EeKvFeqt5Q_lqw" mainInstance="_ymErsFT2EeKvFeqt5Q_lqw" base_Package="_yl9-AFT2EeKvFeqt5Q_lqw"/>
-  <Alloc:Allocate xmi:id="_UP7B0FWUEeKdxoQIVxFNNg" base_Abstraction="_UPx34FWUEeKdxoQIVxFNNg"/>
-  <FCM:CodeGenOptions xmi:id="_1uf4ENykEeKPWMO32vUmzw" base_Package="_LOqIEDLaEd2qeKRLMdIx_A">
-    <compToOOmapping xmi:type="FCM:CompToOOmapping" href="pathmap://QML_CORE/core.uml#_45ldwKLvEeSBiP8ZTcBQrQ"/>
-    <progLanguage xmi:type="FCM:ProgLanguage" href="pathmap://QML_CORE/core.uml#_9OaYsNzEEeKPWMO32vUmzw"/>
-  </FCM:CodeGenOptions>
-  <Codegen:GeneratorHint xmi:id="_Xt7EcC1QEea25uwDpRQuxg" base_Element="_O6TiIDLUEd26WNosUASSSw">
-    <language xmi:type="Codegen:Language" href="pathmap://Codegen_PROFILES/languages.uml#_2Zt6YCjREeayco6FJ_OtTQ"/>
-  </Codegen:GeneratorHint>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/ProducerConsumer.notation b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/ProducerConsumer.notation
index ac857a7..ab5a288 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/ProducerConsumer.notation
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/ProducerConsumer.notation
@@ -292,7 +292,7 @@
     <children xmi:type="notation:Shape" xmi:id="_YJDc1A3gEeWSq5WX_4UlHg" type="StereotypeComment">
       <styles xmi:type="notation:TitleStyle" xmi:id="_YJDc1Q3gEeWSq5WX_4UlHg" showTitle="true"/>
       <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YJDc1w3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
       </styles>
       <element xsi:nil="true"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YJDc1g3gEeWSq5WX_4UlHg" x="200" y="48"/>
@@ -322,10 +322,10 @@
           <stringListValue>type</stringListValue>
           <stringListValue>derived</stringListValue>
         </styles>
-        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_2elREMRcEeWq5unKf5DK_A"/>
+        <element xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_2elREMRcEeWq5unKf5DK_A"/>
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="__4-QsRbWEeasT4HdO7q9gg" x="-10" y="30"/>
       </children>
-      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_zDDlYMRcEeWq5unKf5DK_A"/>
+      <element xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_zDDlYMRcEeWq5unKf5DK_A"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4yNCURbWEeasT4HdO7q9gg" x="160" y="40" width="261" height="81"/>
     </children>
     <children xmi:type="notation:Shape" xmi:id="_8i8TkBbXEeasT4HdO7q9gg" type="DataType_Shape">
@@ -956,7 +956,7 @@
     </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_V5euUP8nEd-hWJO6cv3VJA" type="CompositeStructure" name="Publisher" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_Wky8MP8nEd-hWJO6cv3VJA" type="2073" fontName="" fontHeight="10" fillColor="8905185" lineColor="0">
+    <children xmi:type="notation:Shape" xmi:id="_Wky8MP8nEd-hWJO6cv3VJA" type="Class_Shape" fontName="" fontHeight="10" fillColor="8905185" lineColor="0">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wk0KUP8nEd-hWJO6cv3VJA" source="ShadowFigure">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wk0KUf8nEd-hWJO6cv3VJA" key="ShadowFigure_Value" value="false"/>
       </eAnnotations>
@@ -966,11 +966,11 @@
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wk0KVP8nEd-hWJO6cv3VJA" source="QualifiedName">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wk0KVf8nEd-hWJO6cv3VJA" key="QualifiedNameDepth" value="1000"/>
       </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Wk0xYP8nEd-hWJO6cv3VJA" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Wk0xYf8nEd-hWJO6cv3VJA" type="7073">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Wk0xYP8nEd-hWJO6cv3VJA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Wk0xYf8nEd-hWJO6cv3VJA" type="Class_StructureCompartment">
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wk0xYv8nEd-hWJO6cv3VJA"/>
       </children>
-      <children xmi:type="notation:Shape" xmi:id="_eCjHMP8nEd-hWJO6cv3VJA" type="3069" fontName="" fontHeight="10" lineColor="0">
+      <children xmi:type="notation:Shape" xmi:id="_eCjHMP8nEd-hWJO6cv3VJA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
         <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eCjuQP8nEd-hWJO6cv3VJA" source="ShadowFigure">
           <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eCjuQf8nEd-hWJO6cv3VJA" key="ShadowFigure_Value" value="false"/>
         </eAnnotations>
@@ -980,13 +980,13 @@
         <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eCkVUv8nEd-hWJO6cv3VJA" source="QualifiedName">
           <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eCkVU_8nEd-hWJO6cv3VJA" key="QualifiedNameDepth" value="1000"/>
         </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_eCkVVP8nEd-hWJO6cv3VJA" type="5125">
+        <children xmi:type="notation:DecorationNode" xmi:id="_eCkVVP8nEd-hWJO6cv3VJA" type="Port_NameLabel">
           <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Dz37gFZXEeKKZs15rvNNjA" source="CustomAppearance_Annotation">
             <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D7CTcFZXEeKKZs15rvNNjA" key="CustomAppearance_MaskValue" value="28"/>
           </eAnnotations>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_eCkVVf8nEd-hWJO6cv3VJA" x="-89"/>
         </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_eCkVVv8nEd-hWJO6cv3VJA" visible="false" type="6029">
+        <children xmi:type="notation:DecorationNode" xmi:id="_eCkVVv8nEd-hWJO6cv3VJA" visible="false" type="Port_StereotypeLabel">
           <layoutConstraint xmi:type="notation:Location" xmi:id="_eCkVV_8nEd-hWJO6cv3VJA" x="25" y="-10"/>
         </children>
         <styles xmi:type="notation:StringListValueStyle" xmi:id="_3sUesKY3EeSQZvr8taS8TA" name="maskLabel">
@@ -994,10 +994,10 @@
           <stringListValue>derived</stringListValue>
           <stringListValue>type</stringListValue>
         </styles>
-        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <element xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eCjHMf8nEd-hWJO6cv3VJA" x="-10" y="36"/>
       </children>
-      <children xmi:type="notation:Shape" xmi:id="_fwpAsP8nEd-hWJO6cv3VJA" type="3069" fontName="" fontHeight="10" lineColor="0">
+      <children xmi:type="notation:Shape" xmi:id="_fwpAsP8nEd-hWJO6cv3VJA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
         <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fwpAsv8nEd-hWJO6cv3VJA" source="ShadowFigure">
           <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fwpAs_8nEd-hWJO6cv3VJA" key="ShadowFigure_Value" value="false"/>
         </eAnnotations>
@@ -1007,13 +1007,13 @@
         <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fwpnwv8nEd-hWJO6cv3VJA" source="QualifiedName">
           <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fwpnw_8nEd-hWJO6cv3VJA" key="QualifiedNameDepth" value="1000"/>
         </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_fwpnxP8nEd-hWJO6cv3VJA" type="5125">
+        <children xmi:type="notation:DecorationNode" xmi:id="_fwpnxP8nEd-hWJO6cv3VJA" type="Port_NameLabel">
           <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVFyMFZXEeKKZs15rvNNjA" source="CustomAppearance_Annotation">
             <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EhugAFZXEeKKZs15rvNNjA" key="CustomAppearance_MaskValue" value="28"/>
           </eAnnotations>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_fwpnxf8nEd-hWJO6cv3VJA" x="25" y="3"/>
         </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_fwpnxv8nEd-hWJO6cv3VJA" visible="false" type="6029">
+        <children xmi:type="notation:DecorationNode" xmi:id="_fwpnxv8nEd-hWJO6cv3VJA" visible="false" type="Port_StereotypeLabel">
           <layoutConstraint xmi:type="notation:Location" xmi:id="_fwpnx_8nEd-hWJO6cv3VJA" x="27" y="-18"/>
         </children>
         <styles xmi:type="notation:StringListValueStyle" xmi:id="_5gZEYKY3EeSQZvr8taS8TA" name="maskLabel">
@@ -1024,13 +1024,13 @@
         <element xmi:type="uml:Port" href="ProducerConsumer.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fwpAsf8nEd-hWJO6cv3VJA" x="117" y="36"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_YMzUYA3gEeWSq5WX_4UlHg" type="6089">
+      <children xmi:type="notation:DecorationNode" xmi:id="_YMzUYA3gEeWSq5WX_4UlHg" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_YMzUYQ3gEeWSq5WX_4UlHg" y="5"/>
       </children>
       <element xmi:type="uml:Class" href="ProducerConsumer.uml#_IfjoETLbEd2qeKRLMdIx_A"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wky8Mf8nEd-hWJO6cv3VJA" x="144" y="108" width="136" height="73"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_XKXHYP8nEd-hWJO6cv3VJA" type="2073" fontName="" fontHeight="10" lineColor="0">
+    <children xmi:type="notation:Shape" xmi:id="_XKXHYP8nEd-hWJO6cv3VJA" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XKXHYv8nEd-hWJO6cv3VJA" source="ShadowFigure">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XKXucP8nEd-hWJO6cv3VJA" key="ShadowFigure_Value" value="false"/>
       </eAnnotations>
@@ -1040,11 +1040,11 @@
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XKXuc_8nEd-hWJO6cv3VJA" source="QualifiedName">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XKXudP8nEd-hWJO6cv3VJA" key="QualifiedNameDepth" value="1000"/>
       </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_XKXudf8nEd-hWJO6cv3VJA" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_XKXudv8nEd-hWJO6cv3VJA" type="7073">
+      <children xmi:type="notation:DecorationNode" xmi:id="_XKXudf8nEd-hWJO6cv3VJA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_XKXudv8nEd-hWJO6cv3VJA" type="Class_StructureCompartment">
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XKXud_8nEd-hWJO6cv3VJA"/>
       </children>
-      <children xmi:type="notation:Shape" xmi:id="_euJo8P8nEd-hWJO6cv3VJA" type="3069" fontName="" fontHeight="10" lineColor="0">
+      <children xmi:type="notation:Shape" xmi:id="_euJo8P8nEd-hWJO6cv3VJA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
         <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_euKQAP8nEd-hWJO6cv3VJA" source="ShadowFigure">
           <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_euKQAf8nEd-hWJO6cv3VJA" key="ShadowFigure_Value" value="false"/>
         </eAnnotations>
@@ -1054,13 +1054,13 @@
         <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_euK3Ef8nEd-hWJO6cv3VJA" source="QualifiedName">
           <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_euK3Ev8nEd-hWJO6cv3VJA" key="QualifiedNameDepth" value="1000"/>
         </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_euK3E_8nEd-hWJO6cv3VJA" type="5125">
+        <children xmi:type="notation:DecorationNode" xmi:id="_euK3E_8nEd-hWJO6cv3VJA" type="Port_NameLabel">
           <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DRgOQFZXEeKKZs15rvNNjA" source="CustomAppearance_Annotation">
             <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYoxAFZXEeKKZs15rvNNjA" key="CustomAppearance_MaskValue" value="28"/>
           </eAnnotations>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_euK3FP8nEd-hWJO6cv3VJA" x="-89" y="-2"/>
         </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_euK3Ff8nEd-hWJO6cv3VJA" visible="false" type="6029">
+        <children xmi:type="notation:DecorationNode" xmi:id="_euK3Ff8nEd-hWJO6cv3VJA" visible="false" type="Port_StereotypeLabel">
           <layoutConstraint xmi:type="notation:Location" xmi:id="_euK3Fv8nEd-hWJO6cv3VJA" x="25" y="-10"/>
         </children>
         <styles xmi:type="notation:StringListValueStyle" xmi:id="_4rHpQKY3EeSQZvr8taS8TA" name="maskLabel">
@@ -1068,16 +1068,16 @@
           <stringListValue>derived</stringListValue>
           <stringListValue>type</stringListValue>
         </styles>
-        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <element xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_euJo8f8nEd-hWJO6cv3VJA" x="-10" y="27"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_YMz7cA3gEeWSq5WX_4UlHg" type="6089">
+      <children xmi:type="notation:DecorationNode" xmi:id="_YMz7cA3gEeWSq5WX_4UlHg" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_YMz7cQ3gEeWSq5WX_4UlHg" y="5"/>
       </children>
-      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+      <element xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XKXHYf8nEd-hWJO6cv3VJA" x="144" y="18" width="136" height="55"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_Gz7TMDehEeGPyrZ5I3hMlA" type="2109" fontName="" fontHeight="10" lineColor="0">
+    <children xmi:type="notation:Shape" xmi:id="_Gz7TMDehEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G0CA4DehEeGPyrZ5I3hMlA" source="ShadowFigure">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G0CA4TehEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
       </eAnnotations>
@@ -1087,7 +1087,7 @@
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G0CA5DehEeGPyrZ5I3hMlA" source="QualifiedName">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G0Cn8DehEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
       </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_G0Cn8TehEeGPyrZ5I3hMlA" type="5192"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_G0Cn8TehEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
       <element xmi:type="uml:Comment" href="ProducerConsumer.uml#_GzyJQDehEeGPyrZ5I3hMlA"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Gz7TMTehEeGPyrZ5I3hMlA" x="342" y="18" width="344" height="79"/>
     </children>
@@ -1102,7 +1102,7 @@
     <children xmi:type="notation:Shape" xmi:id="_YQ04wA3gEeWSq5WX_4UlHg" type="StereotypeComment">
       <styles xmi:type="notation:TitleStyle" xmi:id="_YQ04wQ3gEeWSq5WX_4UlHg" showTitle="true"/>
       <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YQ04ww3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
       </styles>
       <element xsi:nil="true"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YQ04wg3gEeWSq5WX_4UlHg" x="190" y="36"/>
@@ -1118,23 +1118,23 @@
     <children xmi:type="notation:Shape" xmi:id="_YR86IA3gEeWSq5WX_4UlHg" type="StereotypeComment">
       <styles xmi:type="notation:TitleStyle" xmi:id="_YR86IQ3gEeWSq5WX_4UlHg" showTitle="true"/>
       <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YR86Iw3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
       </styles>
       <element xsi:nil="true"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YR86Ig3gEeWSq5WX_4UlHg" x="190" y="27"/>
     </children>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_V5euUf8nEd-hWJO6cv3VJA"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_YMz7cg3gEeWSq5WX_4UlHg" name="diagram_compatibility_version" stringValue="1.1.0"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_YMz7cg3gEeWSq5WX_4UlHg" name="diagram_compatibility_version" stringValue="1.2.0"/>
     <element xmi:type="uml:Package" href="ProducerConsumer.uml#_etOZkDLaEd2qeKRLMdIx_A"/>
-    <edges xmi:type="notation:Connector" xmi:id="_XKqpYP8nEd-hWJO6cv3VJA" type="4015" source="_Wky8MP8nEd-hWJO6cv3VJA" target="_XKXHYP8nEd-hWJO6cv3VJA" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_XKrQcP8nEd-hWJO6cv3VJA" type="6024">
+    <edges xmi:type="notation:Connector" xmi:id="_XKqpYP8nEd-hWJO6cv3VJA" type="Generalization_Edge" source="_Wky8MP8nEd-hWJO6cv3VJA" target="_XKXHYP8nEd-hWJO6cv3VJA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_XKrQcP8nEd-hWJO6cv3VJA" type="Generalization_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_XKrQcf8nEd-hWJO6cv3VJA" y="60"/>
       </children>
       <styles xmi:type="notation:FontStyle" xmi:id="_XKqpYf8nEd-hWJO6cv3VJA" fontName="" fontHeight="10"/>
       <element xmi:type="uml:Generalization" href="ProducerConsumer.uml#_34FjAPx3Ed6O2oOTPfeAMA"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XKqpYv8nEd-hWJO6cv3VJA" points="[-19, -23, 140, 174]$[-159, -197, 0, 0]"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_aJG_MDehEeGPyrZ5I3hMlA" type="4002" source="_Gz7TMDehEeGPyrZ5I3hMlA" target="_XKXHYP8nEd-hWJO6cv3VJA" routing="Rectilinear" lineColor="0">
+    <edges xmi:type="notation:Connector" xmi:id="_aJG_MDehEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_Gz7TMDehEeGPyrZ5I3hMlA" target="_XKXHYP8nEd-hWJO6cv3VJA" routing="Rectilinear" lineColor="0">
       <styles xmi:type="notation:FontStyle" xmi:id="_aJG_MTehEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
       <element xsi:nil="true"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aJG_MjehEeGPyrZ5I3hMlA" points="[342, 58, -643984, -643984]$[280, 58, -643984, -643984]"/>
@@ -1154,7 +1154,7 @@
     <edges xmi:type="notation:Connector" xmi:id="_YQ04xA3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_eCjHMP8nEd-hWJO6cv3VJA" target="_YQ04wA3gEeWSq5WX_4UlHg">
       <styles xmi:type="notation:FontStyle" xmi:id="_YQ04xQ3gEeWSq5WX_4UlHg"/>
       <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YQ04yQ3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
       </styles>
       <element xsi:nil="true"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YQ04xg3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
@@ -1174,7 +1174,7 @@
     <edges xmi:type="notation:Connector" xmi:id="_YR86JA3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_euJo8P8nEd-hWJO6cv3VJA" target="_YR86IA3gEeWSq5WX_4UlHg">
       <styles xmi:type="notation:FontStyle" xmi:id="_YR86JQ3gEeWSq5WX_4UlHg"/>
       <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YR86KQ3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
       </styles>
       <element xsi:nil="true"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YR86Jg3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/ProducerConsumer.uml b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/ProducerConsumer.uml
index 93ecc2f..2cf6f4a 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/ProducerConsumer.uml
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/ProducerConsumer.uml
@@ -1,14 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:GCM="http://www.eclipse.org/papyrus/GCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc http://www.eclipse.org/papyrus/GCM/1 http://www.eclipse.org/papyrus/MARTE/1#//GCM">
-  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="ProducerConsumer">
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:Deployment="http://www.eclipse.org/papyrus/Deployment/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:GCM="http://www.eclipse.org/papyrus/GCM/1" xmlns:Transformation="http://www.eclipse.org/papyrus/Transformation/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc http://www.eclipse.org/papyrus/GCM/1 http://www.eclipse.org/papyrus/MARTE/1#//GCM">
+  <uml:Model xmi:id="_P6TiIDLUEd26WNosUASSSw" name="ProducerConsumer">
     <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
       <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
     </packageImport>
     <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/core.uml#_O6TiIDLUEd26WNosUASSSw"/>
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_C_CORE/componentlib.uml#_O6TiIDLUEd26WNosUASSSw"/>
     </packageImport>
     <packageImport xmi:type="uml:PackageImport" xmi:id="_R8d6YP93Ed6628OhKk_dpg">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/fifo.uml#_ePwqkHLmEd6R5tffIPrlPg"/>
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_C_CORE/fifo.uml#_ePwqkHLmEd6R5tffIPrlPg"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_lFTj8GsXEeabTeJZlY2cbw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_TRAFO/trafos.uml#_Q6TiIDLUEd26WNosUASSSw"/>
     </packageImport>
     <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="components">
       <packagedElement xmi:type="uml:Package" xmi:id="_tyiqsM__Ed-TP80eVS-2Rg" name="PullConsumer">
@@ -17,17 +20,17 @@
 Use the context menu to find out that the PullConsumer supports the &quot;runStartThread&quot; interceptor which intercepts the lifecycle port.</body>
         </ownedComment>
         <ownedComment xmi:type="uml:Comment" xmi:id="_0D64MDedEeGPyrZ5I3hMlA">
-          <annotatedElement xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_zDDlYMRcEeWq5unKf5DK_A"/>
+          <annotatedElement xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_zDDlYMRcEeWq5unKf5DK_A"/>
           <body>Part of the Qompass model library. Provides the specific port &quot;lc&quot; (short for lifecycle). The &quot;activate&quot; operation of this port is called by generated boot-code after instantiation and configuration of a component. The deactivation is called before disposing a component</body>
         </ownedComment>
         <packagedElement xmi:type="uml:Class" xmi:id="_tyiqsc__Ed-TP80eVS-2Rg" name="PullConsumer_impl">
           <generalization xmi:type="uml:Generalization" xmi:id="_tyiqss__Ed-TP80eVS-2Rg">
-            <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_zDDlYMRcEeWq5unKf5DK_A"/>
+            <general xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_zDDlYMRcEeWq5unKf5DK_A"/>
           </generalization>
           <ownedAttribute xmi:type="uml:Port" xmi:id="_tyiqs8__Ed-TP80eVS-2Rg" name="p" type="_Oue04GzMEeWdOZKmOtT48A" aggregation="composite"/>
           <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_NUk6MBbXEeasT4HdO7q9gg" name="derived realization of IRunnable" client="_tyiqsc__Ed-TP80eVS-2Rg">
-            <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
-            <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
+            <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
+            <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
           </interfaceRealization>
           <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_tyjRwc__Ed-TP80eVS-2Rg" name="run" specification="_NVBmIBbXEeasT4HdO7q9gg">
             <language>C/C++</language>
@@ -62,12 +65,12 @@
         </ownedComment>
         <packagedElement xmi:type="uml:Class" xmi:id="_oqZNUDLaEd2qeKRLMdIx_A" name="PushConsumer_impl">
           <generalization xmi:type="uml:Generalization" xmi:id="_NItbAP94Ed6628OhKk_dpg">
-            <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
+            <general xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
           </generalization>
           <ownedAttribute xmi:type="uml:Port" xmi:id="_4KiE8DLbEd2qeKRLMdIx_A" name="p" type="_QxsSAGkXEeWAzPO1wYNudw" aggregation="composite"/>
           <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_Z16ywDF8EeCpQdhNuFCtew" name="derived realization of ILifeCycle" client="_oqZNUDLaEd2qeKRLMdIx_A">
-            <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-            <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+            <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+            <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
           </interfaceRealization>
           <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_FMwOsGzGEeWdOZKmOtT48A" name="derived realization of Push_PubData" client="_oqZNUDLaEd2qeKRLMdIx_A" supplier="_QxsSAGkXEeWAzPO1wYNudw" contract="_QxsSAGkXEeWAzPO1wYNudw"/>
           <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_RoXdMP94Ed6628OhKk_dpg" name="activate" specification="_uOmgID15Ed-qiK1VZWszhA">
@@ -115,18 +118,18 @@
       </packagedElement>
       <packagedElement xmi:type="uml:Package" xmi:id="_etOZkDLaEd2qeKRLMdIx_A" name="Producer">
         <ownedComment xmi:type="uml:Comment" xmi:id="_GzyJQDehEeGPyrZ5I3hMlA">
-          <annotatedElement xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+          <annotatedElement xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
           <body>Let the producer instance execute by the main thread by realising the specific port &quot;start&quot;, inherited from CStart (part of the Qompass &quot;core&quot; model library).
 </body>
         </ownedComment>
         <packagedElement xmi:type="uml:Class" xmi:id="_IfjoETLbEd2qeKRLMdIx_A" name="Producer_impl">
           <generalization xmi:type="uml:Generalization" xmi:id="_34FjAPx3Ed6O2oOTPfeAMA">
-            <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+            <general xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
           </generalization>
           <ownedAttribute xmi:type="uml:Port" xmi:id="_DtWn4DLcEd2qeKRLMdIx_A" name="q" type="_gz0CkGzMEeWdOZKmOtT48A" aggregation="composite"/>
           <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_jkNdADF8EeCpQdhNuFCtew" name="derived realization of IStart" client="_IfjoETLbEd2qeKRLMdIx_A">
-            <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
-            <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+            <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+            <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
           </interfaceRealization>
           <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_yXNVoKF4Ed6FqJCjEUrkqQ" name="run" specification="_dH4RIKF4Ed6FqJCjEUrkqQ">
             <language>C/C++</language>
@@ -170,7 +173,7 @@
             </defaultValue>
           </ownedAttribute>
           <ownedAttribute xmi:type="uml:Property" xmi:id="_d2B8ABSoEeOUifYpcO0mcw" name="main" visibility="public" aggregation="composite">
-            <type xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+            <type xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_SiY_AP-EEd6628OhKk_dpg"/>
             <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jrf6kBSoEeOUifYpcO0mcw" value="1"/>
             <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jrtV8BSoEeOUifYpcO0mcw" value="1"/>
             <defaultValue xmi:type="uml:LiteralString" xmi:id="_jsc80BSoEeOUifYpcO0mcw">
@@ -178,7 +181,7 @@
             </defaultValue>
           </ownedAttribute>
           <ownedAttribute xmi:type="uml:Property" xmi:id="_ei8sYBSoEeOUifYpcO0mcw" name="pullConThread" visibility="public" aggregation="composite">
-            <type xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+            <type xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_SiY_AP-EEd6628OhKk_dpg"/>
             <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mx3OkBSoEeOUifYpcO0mcw" value="1"/>
             <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_myNz4BSoEeOUifYpcO0mcw" value="1"/>
             <defaultValue xmi:type="uml:LiteralString" xmi:id="_mzF9oBSoEeOUifYpcO0mcw">
@@ -260,7 +263,6 @@
         <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_xB5scDOFEeCldqx_51Yicg" name="mainInstance.con" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
         <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_xB7hoDOFEeCldqx_51Yicg" name="mainInstance.prod" classifier="_IfjoETLbEd2qeKRLMdIx_A"/>
         <packagedElement xmi:type="uml:Abstraction" xmi:id="_wqyJ4E0tEeG4IqgA7gSE6w" name="allocate to monoNode" client="_xB3QMDOFEeCldqx_51Yicg" supplier="_GQ1ekKwHEeCQX8uv_p0Q4A"/>
-        <packagedElement xmi:type="uml:Enumeration" xmi:id="_LfjDsCz7Eea25uwDpRQuxg" name="Enumeration1"/>
       </packagedElement>
       <packagedElement xmi:type="uml:Package" xmi:id="_zwMLcLF4EeC9yscvWqW-eg" name="monoPull">
         <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_zwQc4bF4EeC9yscvWqW-eg" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg">
@@ -278,9 +280,9 @@
           </slot>
         </packagedElement>
         <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_zwUHQLF4EeC9yscvWqW-eg" name="mainInstance.fifoconnector">
-          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/fifo.uml#_Y1jF8HPpEd6R5tffIPrlPg"/>
+          <classifier xmi:type="uml:Class" href="pathmap://DML_C_CORE/fifo.uml#_Y1jF8HPpEd6R5tffIPrlPg"/>
           <slot xmi:type="uml:Slot" xmi:id="_zwUHQbF4EeC9yscvWqW-eg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE/fifo.uml#_XDRnoHUIEd6R5tffIPrlPg"/>
+            <definingFeature xmi:type="uml:Property" href="pathmap://DML_C_CORE/fifo.uml#_XDRnoHUIEd6R5tffIPrlPg"/>
             <value xmi:type="uml:LiteralInteger" xmi:id="_zwUuULF4EeC9yscvWqW-eg" name="value for m_size" value="30">
               <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
             </value>
@@ -290,12 +292,12 @@
         <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_zwZm0bF4EeC9yscvWqW-eg" name="mainInstance.prod" classifier="_IfjoETLbEd2qeKRLMdIx_A"/>
         <packagedElement xmi:type="uml:Abstraction" xmi:id="_vcX2AE0tEeG4IqgA7gSE6w" name="allocate to monoNode" client="_zwQc4bF4EeC9yscvWqW-eg" supplier="_GQ1ekKwHEeCQX8uv_p0Q4A"/>
         <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_RgG1QBmXEeOKbZGMG408tQ" name="mainInstance.main">
-          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+          <classifier xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_SiY_AP-EEd6628OhKk_dpg"/>
         </packagedElement>
         <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_RgyKsBmXEeOKbZGMG408tQ" name="mainInstance.pullConThread">
-          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+          <classifier xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_SiY_AP-EEd6628OhKk_dpg"/>
           <slot xmi:type="uml:Slot" xmi:id="_XHDoQBqrEeOeNvEu6098mA">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE/core.uml#_rVfYoMGJEd-Mveea1W_olA"/>
+            <definingFeature xmi:type="uml:Property" href="pathmap://DML_C_CORE/componentlib.uml#_rVfYoMGJEd-Mveea1W_olA"/>
             <value xmi:type="uml:LiteralInteger" xmi:id="_XHWjMBqrEeOeNvEu6098mA" name="value for priority" value="5">
               <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
             </value>
@@ -366,54 +368,64 @@
       </eAnnotations>
       <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
     </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_FKFzUGpNEeaytPCaLDQSnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FKWSAGpNEeaytPCaLDQSnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Deployment/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://DEP_PROFILE/Deployment.profile.uml#_gPDsIBa-EearhdjjJ6cVzQ"/>
+    </profileApplication>
   </uml:Model>
   <FCM:DerivedElement xmi:id="_B9o7sP6yEd6Ie_kieu_3CQ" base_Element="_dH4RIKF4Ed6FqJCjEUrkqQ">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
   </FCM:DerivedElement>
   <FCM:Port xmi:id="_GofhQP6yEd6Ie_kieu_3CQ" base_Port="_4KiE8DLbEd2qeKRLMdIx_A" type="_wFJ3IP91Ed6Jt8e-UqrRdQ">
-    <kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_pE6GUFR1Ed6GqrP6fkWBoQ"/>
+    <kind xmi:type="FCM:PortKind" href="pathmap://DML_C_CORE/componentlib.uml#_pE6GUFR1Ed6GqrP6fkWBoQ"/>
   </FCM:Port>
   <FCM:Port xmi:id="_IWQqoP6yEd6Ie_kieu_3CQ" base_Port="_DtWn4DLcEd2qeKRLMdIx_A" type="_wFJ3IP91Ed6Jt8e-UqrRdQ">
-    <kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_qOK0cFR1Ed6GqrP6fkWBoQ"/>
+    <kind xmi:type="FCM:PortKind" href="pathmap://DML_C_CORE/componentlib.uml#_qOK0cFR1Ed6GqrP6fkWBoQ"/>
   </FCM:Port>
   <C_Cpp:Include xmi:id="_7SAnAP76Ed6Zw96O-tCw7A" body="#include &lt;unistd.h>&#xA;#include &lt;iostream>&#xA;using namespace std;" base_class="_IfjoETLbEd2qeKRLMdIx_A"/>
   <C_Cpp:Include xmi:id="_Sa4nEP77Ed6Zw96O-tCw7A" body="#include &lt;iostream>&#xA;using namespace std;" base_class="_oqZNUDLaEd2qeKRLMdIx_A"/>
   <FCM:DerivedElement xmi:id="_uOqKgD15Ed-qiK1VZWszhA" base_Element="_uOmgID15Ed-qiK1VZWszhA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
   </FCM:DerivedElement>
   <FCM:DerivedElement xmi:id="_uOz7gD15Ed-qiK1VZWszhA" base_Element="_uOtN0D15Ed-qiK1VZWszhA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
   </FCM:DerivedElement>
   <C_Cpp:Visibility xmi:id="_0VnhsD15Ed-qiK1VZWszhA" value="public" base_generalization="_NItbAP94Ed6628OhKk_dpg"/>
   <C_Cpp:Include xmi:id="_11OtwPcaEd-KM6l7lmIPkw" body="#include &lt;unistd.h>&#xA;#include &lt;iostream>&#xA;using namespace std;" base_class="_tyiqsc__Ed-TP80eVS-2Rg"/>
   <FCM:Target xmi:id="_LD_uICr7EeCfcI_SvPT4lw" base_Node="_zY9vMDLiEd2RVeNawwNNzg">
-    <targetArch xmi:type="FCM:TargetArchitecture" href="pathmap://QML_CORE/core.uml#_FYOqwF0OEd-12d_h0i1xhQ"/>
-    <usedOS xmi:type="FCM:OperatingSystem" href="pathmap://QML_CORE/core.uml#_1eULwF0NEd-12d_h0i1xhQ"/>
+    <targetArch xmi:type="FCM:TargetArchitecture" href="pathmap://DML_C_CORE/componentlib.uml#_FYOqwF0OEd-12d_h0i1xhQ"/>
+    <usedOS xmi:type="FCM:OperatingSystem" href="pathmap://DML_C_CORE/componentlib.uml#_1eULwF0NEd-12d_h0i1xhQ"/>
   </FCM:Target>
-  <FCM:DeploymentPlan xmi:id="_xB2CEDOFEeCldqx_51Yicg" mainInstance="_xB3QMDOFEeCldqx_51Yicg" base_Package="_xBxwoDOFEeCldqx_51Yicg"/>
   <GCM:FlowPort xmi:id="_DwpFMJZ7EeCiU5xXzp1cKQ" direction="in" base_Port="_4KiE8DLbEd2qeKRLMdIx_A"/>
   <GCM:FlowPort xmi:id="_NWXCQJZ7EeCiU5xXzp1cKQ" direction="in" base_Port="_tyiqs8__Ed-TP80eVS-2Rg"/>
   <FCM:Port xmi:id="_tyjRzc__Ed-TP80eVS-2Rg" base_Port="_tyiqs8__Ed-TP80eVS-2Rg" type="_wFJ3IP91Ed6Jt8e-UqrRdQ">
-    <kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_x5mL4FRxEd6GqrP6fkWBoQ"/>
+    <kind xmi:type="FCM:PortKind" href="pathmap://DML_C_CORE/componentlib.uml#_x5mL4FRxEd6GqrP6fkWBoQ"/>
   </FCM:Port>
   <GCM:FlowPort xmi:id="_ow3PkJZ7EeCiU5xXzp1cKQ" direction="out" base_Port="_DtWn4DLcEd2qeKRLMdIx_A"/>
-  <FCM:DeploymentPlan xmi:id="_zwQc4LF4EeC9yscvWqW-eg" mainInstance="_zwQc4bF4EeC9yscvWqW-eg" base_Package="_zwMLcLF4EeC9yscvWqW-eg"/>
   <Alloc:Allocate xmi:id="_vccHcE0tEeG4IqgA7gSE6w" base_Abstraction="_vcX2AE0tEeG4IqgA7gSE6w"/>
   <Alloc:Allocate xmi:id="_wq1NME0tEeG4IqgA7gSE6w" base_Abstraction="_wqyJ4E0tEeG4IqgA7gSE6w"/>
   <FCM:Connector xmi:id="_iADdkE2rEeGl8qrc8BM7vA" base_Connector="_efVI0E2rEeGl8qrc8BM7vA">
-    <ic xmi:type="FCM:InteractionComponent" href="pathmap://QML_CORE/fifo.uml#_xQ_ccHUuEd6R5tffIPrlPg"/>
+    <ic xmi:type="FCM:InteractionComponent" href="pathmap://DML_C_CORE/fifo.uml#_xQ_ccHUuEd6R5tffIPrlPg"/>
   </FCM:Connector>
   <Alloc:Allocate xmi:id="_9fYdcBSqEeOUifYpcO0mcw" base_Abstraction="_9dY5YBSqEeOUifYpcO0mcw"/>
   <Alloc:Allocate xmi:id="__ACX4BSqEeOUifYpcO0mcw" base_Abstraction="_--_2EBSqEeOUifYpcO0mcw"/>
   <FCM:DerivedElement xmi:id="_Ffh9YCxxEeOMQpc6Y-MAJw" base_Element="_FemwUCxxEeOMQpc6Y-MAJw">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_ns4qsClUEeO4bs_nkcnKOg"/>
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_ns4qsClUEeO4bs_nkcnKOg"/>
   </FCM:DerivedElement>
   <FCM:DerivedElement xmi:id="_QxvVUGkXEeWAzPO1wYNudw" base_Element="_QxsSAGkXEeWAzPO1wYNudw" source="_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
   <FCM:DerivedElement xmi:id="_FM704GzGEeWdOZKmOtT48A" base_Element="_FMzSAGzGEeWdOZKmOtT48A" source="_Qxv8YGkXEeWAzPO1wYNudw"/>
   <FCM:DerivedElement xmi:id="_OugqEGzMEeWdOZKmOtT48A" base_Element="_Oue04GzMEeWdOZKmOtT48A" source="_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
   <FCM:DerivedElement xmi:id="_gz2e0GzMEeWdOZKmOtT48A" base_Element="_gz0CkGzMEeWdOZKmOtT48A" source="_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
   <FCM:DerivedElement xmi:id="_NVHFsBbXEeasT4HdO7q9gg" base_Element="_NVBmIBbXEeasT4HdO7q9gg">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
   </FCM:DerivedElement>
   <FCM:DerivedElement xmi:id="_vJn9sCz_Eea25uwDpRQuxg" base_Element="_vJkTUCz_Eea25uwDpRQuxg" source="_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
+  <Deployment:DeploymentPlan xmi:id="_I5QzwGpNEeaytPCaLDQSnw" base_Package="_xBxwoDOFEeCldqx_51Yicg">
+    <chain xmi:type="Transformation:M2MTrafoChain" href="pathmap://DML_C_CORE/componentlib.uml#_NQUF0GpIEeaSLtRdInZlZA"/>
+  </Deployment:DeploymentPlan>
+  <Deployment:DeploymentPlan xmi:id="_MFMkQGpNEeaytPCaLDQSnw" base_Package="_zwMLcLF4EeC9yscvWqW-eg">
+    <chain xmi:type="Transformation:M2MTrafoChain" href="pathmap://DML_C_CORE/componentlib.uml#_NQUF0GpIEeaSLtRdInZlZA"/>
+  </Deployment:DeploymentPlan>
 </xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSM.di b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSM.di
deleted file mode 100644
index 162b1a6..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSM.di
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/> 
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSM.notation b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSM.notation
deleted file mode 100644
index 6b354f9..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSM.notation
+++ /dev/null
@@ -1,1400 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
-  <notation:Diagram xmi:id="_XSHWMF36Ed-UvNEDwY5GNg" type="PapyrusUMLClassDiagram" name="Interfaces" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_MTW5IDcZEeGPyrZ5I3hMlA" type="Interface_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTYuUDcZEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTYuUTcZEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTZVYDcZEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTZVYTcZEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTZVYjcZEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTZVYzcZEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_MTZVZDcZEeGPyrZ5I3hMlA" type="Interface_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IDa5YPX4EeWa_pjn9guopQ" visible="false" type="Interface_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZVZjcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZVZzcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZVaDcZEeGPyrZ5I3hMlA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZVaTcZEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IHycAPX4EeWa_pjn9guopQ" type="Interface_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_QIpIoDcZEeGPyrZ5I3hMlA" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-jHsIFmOEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-ovzAFmOEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="SimpleSM.uml#_DGs6wDLgEd28fJKJJnUaeQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_QIpIoTcZEeGPyrZ5I3hMlA"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_QIqWwDcZEeGPyrZ5I3hMlA" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__X1GkFmOEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__X6mIFmOEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="SimpleSM.uml#_L8EY8DLgEd28fJKJJnUaeQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_QIqWwTcZEeGPyrZ5I3hMlA"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_1U9e4McqEeSsAI2TZshUyg" type="Reception_InterfaceReceptionLabel">
-          <element xmi:type="uml:Reception" href="SimpleSM.uml#_1U0U8McqEeSsAI2TZshUyg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1U9e4ccqEeSsAI2TZshUyg"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_M-0sIMcrEeSsAI2TZshUyg" type="Reception_InterfaceReceptionLabel">
-          <element xmi:type="uml:Reception" href="SimpleSM.uml#_M-tXYMcrEeSsAI2TZshUyg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_M-0sIccrEeSsAI2TZshUyg"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZ8cDcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZ8cTcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZ8cjcZEeGPyrZ5I3hMlA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZ8czcZEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IHycAfX4EeWa_pjn9guopQ" visible="false" type="Interface_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZ8dTcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZ8djcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZ8dzcZEeGPyrZ5I3hMlA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZ8eDcZEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hsloIFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hsloIVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hsloIlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_XYUeMGkLEeWakucY9QdE0g" type="Interface_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_XYUeMWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Interface" href="SimpleSM.uml#_cn-H0DLbEd2qeKRLMdIx_A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTW5ITcZEeGPyrZ5I3hMlA" x="150" y="111" width="337" height="110"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_ywpIAMcqEeSsAI2TZshUyg" type="Signal_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_ywpvEMcqEeSsAI2TZshUyg" type="Signal_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ywpvEccqEeSsAI2TZshUyg" type="Signal_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_ywpvEscqEeSsAI2TZshUyg" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IH2tcPX4EeWa_pjn9guopQ" type="Signal_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_ywqWIccqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_ywqWIscqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_ywqWI8cqEeSsAI2TZshUyg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ywqWJMcqEeSsAI2TZshUyg"/>
-      </children>
-      <element xmi:type="uml:Signal" href="SimpleSM.uml#_ywk2kMcqEeSsAI2TZshUyg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ywpIAccqEeSsAI2TZshUyg" x="640" y="120"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_z0oUkMcqEeSsAI2TZshUyg" type="Signal_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_z0o7oMcqEeSsAI2TZshUyg" type="Signal_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_z0o7occqEeSsAI2TZshUyg" type="Signal_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_z0o7oscqEeSsAI2TZshUyg" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IH4ioPX4EeWa_pjn9guopQ" type="Signal_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_z0o7pMcqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_z0o7pccqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_z0o7pscqEeSsAI2TZshUyg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0o7p8cqEeSsAI2TZshUyg"/>
-      </children>
-      <element xmi:type="uml:Signal" href="SimpleSM.uml#_z0nGcMcqEeSsAI2TZshUyg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0oUkccqEeSsAI2TZshUyg" x="840" y="120"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_XSHWMV36Ed-UvNEDwY5GNg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_XYVFQGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="SimpleSM.uml#_Tp4n8DLaEd2qeKRLMdIx_A"/>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_aeSh0F37Ed-UvNEDwY5GNg" type="CompositeStructure" name="CompositeDiagram SimpleSM" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_c2tKsF37Ed-UvNEDwY5GNg" type="Class_Shape" fontName="Monospace" fontHeight="10" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MXrr0H8eEd-5xfPoaTlRww" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MXsS4H8eEd-5xfPoaTlRww" key="QualifiedNameDepth" value="1"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NqCEgH8eEd-5xfPoaTlRww" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NqCEgX8eEd-5xfPoaTlRww" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_c2tKsl37Ed-UvNEDwY5GNg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_I-1YwPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2tKtF37Ed-UvNEDwY5GNg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_FzA74GfbEd-T-rJ3Ep9Y5Q" type="Port_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzSosGfbEd-T-rJ3Ep9Y5Q" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzTPwGfbEd-T-rJ3Ep9Y5Q" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzTPwWfbEd-T-rJ3Ep9Y5Q" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzT20GfbEd-T-rJ3Ep9Y5Q" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzT20WfbEd-T-rJ3Ep9Y5Q" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzT20mfbEd-T-rJ3Ep9Y5Q" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FzUd4GfbEd-T-rJ3Ep9Y5Q" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FzUd4WfbEd-T-rJ3Ep9Y5Q" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FzUd4mfbEd-T-rJ3Ep9Y5Q" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FzUd42fbEd-T-rJ3Ep9Y5Q" x="-50" y="-30"/>
-        </children>
-        <element xmi:type="uml:Port" href="SimpleSM.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FzA74WfbEd-T-rJ3Ep9Y5Q" x="-10" y="130"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hw-_8FbmEeObiJAlOlmjpQ" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hw-_8VbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="FCM:RuleApplication" href="SimpleSM.uml#_DWIYoP6yEd6Ie_kieu_3CQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hw-_8lbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hxIJ4FbmEeObiJAlOlmjpQ" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hxIJ4VbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="C_Cpp:Include" href="SimpleSM.uml#_EaeJMNp0EeKd1ax3yaXM9w"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxIJ4lbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hxIJ41bmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hxIJ5FbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxIJ5VbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Xth5MGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Xth5MWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Xvnj4GkLEeWakucY9QdE0g" type="StereotypeCompartment">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XvvfsGkLEeWakucY9QdE0g" source="PapyrusCSSForceValue">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XvvfsWkLEeWakucY9QdE0g" key="visible" value="true"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_XvoyAGkLEeWakucY9QdE0g" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_r2VLUJD2Ed-I9dVdNhZAGQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_XvoyAWkLEeWakucY9QdE0g"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Xvnj4WkLEeWakucY9QdE0g" showTitle="true"/>
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_Xvnj4mkLEeWakucY9QdE0g" name="stereotype" stringValue="FCM::RuleApplication"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_te7YAMtkEd2H_o0jIC6qDQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xvnj42kLEeWakucY9QdE0g"/>
-      </children>
-      <element xmi:type="uml:Class" href="SimpleSM.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2tKsV37Ed-UvNEDwY5GNg" x="100" y="140" width="321" height="161"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_ccPtMDemEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQUQDemEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQUQTemEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQUQjemEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQUQzemEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQURDemEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQURTemEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ccQURjemEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="SimpleSM.uml#_cb-ncDemEeGPyrZ5I3hMlA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccPtMTemEeGPyrZ5I3hMlA" x="500" y="140" width="184"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Xvj5gGkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_Xvj5gWkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xvj5g2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="SimpleSM.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xvj5gmkLEeWakucY9QdE0g" x="308" y="72"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_XxYecGkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_XxYecWkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XxYec2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="SimpleSM.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XxYecmkLEeWakucY9QdE0g" x="190" y="108"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Dv6ycCgBEeapjr3l63b85A" type="Class_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Dv91wCgBEeapjr3l63b85A" type="Class_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Dv91wSgBEeapjr3l63b85A" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Dv91wigBEeapjr3l63b85A" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Dv-c0CgBEeapjr3l63b85A" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Dv-c0SgBEeapjr3l63b85A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dv-c0igBEeapjr3l63b85A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Dwk5wCgBEeapjr3l63b85A" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Dwk5wSgBEeapjr3l63b85A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dwk5wigBEeapjr3l63b85A"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_PI7SECgBEeapjr3l63b85A" type="Port_Shape">
-        <children xmi:type="notation:DecorationNode" xmi:id="_PI7SEigBEeapjr3l63b85A" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_PI7SEygBEeapjr3l63b85A" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_PI7SFCgBEeapjr3l63b85A" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_PI7SFSgBEeapjr3l63b85A" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PI7SESgBEeapjr3l63b85A" x="-10" y="30"/>
-      </children>
-      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dv6ycSgBEeapjr3l63b85A" x="100" y="20" width="321" height="61"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_PJhvACgBEeapjr3l63b85A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_PJhvASgBEeapjr3l63b85A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_PJhvAygBEeapjr3l63b85A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PJhvAigBEeapjr3l63b85A" x="190" y="-9"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_aeSh0V37Ed-UvNEDwY5GNg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_Xth5MmkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_0yX_oCgBEeapjr3l63b85A">
-      <owner xmi:type="uml:Package" href="SimpleSM.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
-    </styles>
-    <element xmi:type="uml:Package" href="SimpleSM.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
-    <edges xmi:type="notation:Connector" xmi:id="_gMg50DemEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_ccPtMDemEeGPyrZ5I3hMlA" target="_c2tKsF37Ed-UvNEDwY5GNg" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_gMg50TemEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gMg50jemEeGPyrZ5I3hMlA" points="[-10, -7, 55, 0]$[-42, -9, 23, -2]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gM_a8DemEeGPyrZ5I3hMlA" id="(0.0,0.6349206349206349)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gNACADemEeGPyrZ5I3hMlA" id="(1.0,0.43795620437956206)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Xvj5hGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_c2tKsF37Ed-UvNEDwY5GNg" target="_Xvj5gGkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_Xvj5hWkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xvj5iWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="SimpleSM.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xvj5hmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xvj5h2kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xvj5iGkLEeWakucY9QdE0g"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_XxYedGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_FzA74GfbEd-T-rJ3Ep9Y5Q" target="_XxYecGkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_XxYedWkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XxZFgGkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="SimpleSM.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XxYedmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XxYed2kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XxYeeGkLEeWakucY9QdE0g"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_LvBXACgBEeapjr3l63b85A" type="Generalization_Edge" source="_c2tKsF37Ed-UvNEDwY5GNg" target="_Dv6ycCgBEeapjr3l63b85A">
-      <children xmi:type="notation:DecorationNode" xmi:id="_LvClICgBEeapjr3l63b85A" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LvClISgBEeapjr3l63b85A" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_LvBXASgBEeapjr3l63b85A"/>
-      <element xmi:type="uml:Generalization" href="SimpleSM.uml#_LuEUwCgBEeapjr3l63b85A"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LvBXAigBEeapjr3l63b85A" points="[260, 140, -643984, -643984]$[260, 66, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LvZxgCgBEeapjr3l63b85A" id="(0.4984423676012461,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LvZxgSgBEeapjr3l63b85A" id="(0.4984423676012461,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_PJhvBCgBEeapjr3l63b85A" type="StereotypeCommentLink" source="_PI7SECgBEeapjr3l63b85A" target="_PJhvACgBEeapjr3l63b85A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_PJhvBSgBEeapjr3l63b85A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_PJiWECgBEeapjr3l63b85A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PJhvBigBEeapjr3l63b85A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PJhvBygBEeapjr3l63b85A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PJhvCCgBEeapjr3l63b85A"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_q-Wa0F37Ed-UvNEDwY5GNg" type="CompositeStructure" name="CompositeDiagram System" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_sGaPEF37Ed-UvNEDwY5GNg" type="Class_Shape" fontName="Sans Serif" fontHeight="10" transparency="0" gradient="8047085, 0, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6B6WUGSuEd-dQdK1-7wIFg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6B69YGSuEd-dQdK1-7wIFg" key="QualifiedNameDepth" value="3"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_62o-4GSuEd-dQdK1-7wIFg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_62o-4WSuEd-dQdK1-7wIFg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KXK-0GGEEeO2F4QRMDSOXg" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KXK-0WGEEeO2F4QRMDSOXg" key="fillColor" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_sGa2IF37Ed-UvNEDwY5GNg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JEi_MPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_vHCHcF37Ed-UvNEDwY5GNg" type="Property_Shape" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_haY70F38Ed-UvNEDwY5GNg" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_haY70V38Ed-UvNEDwY5GNg" key="QualifiedNameDepth" value="4"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_64BTMHl_EeOuQYJqyYp5HQ" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_64BTMXl_EeOuQYJqyYp5HQ" key="fillColor" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_vHCHcl37Ed-UvNEDwY5GNg" type="Property_NameLabel">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DC4cAFmPEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DJ5qAFmPEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JEkNUfX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vHCHdF37Ed-UvNEDwY5GNg"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_zk0VwDrcEeGgAdAmWw4pyQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk080TrcEeGgAdAmWw4pyQ" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk080jrcEeGgAdAmWw4pyQ" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk080zrcEeGgAdAmWw4pyQ" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk081DrcEeGgAdAmWw4pyQ" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk1j4DrcEeGgAdAmWw4pyQ" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk1j4TrcEeGgAdAmWw4pyQ" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_zk1j4jrcEeGgAdAmWw4pyQ" type="Port_NameLabel">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BYsLEFmPEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BeLIAFmPEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="28"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_zk1j4zrcEeGgAdAmWw4pyQ" x="25" y="3"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_zk1j5DrcEeGgAdAmWw4pyQ" visible="false" type="Port_StereotypeLabel">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_zk1j5TrcEeGgAdAmWw4pyQ" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="SimpleSM.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zk080DrcEeGgAdAmWw4pyQ" x="-10" y="50"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_hzStEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_hzStEVbmEeObiJAlOlmjpQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hzStElbmEeObiJAlOlmjpQ"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_Xx40xGkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_Xx40xWkLEeWakucY9QdE0g" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="SimpleSM.uml#_gV1cgDLiEd2RVeNawwNNzg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vHCHcV37Ed-UvNEDwY5GNg" x="54" y="33" width="201" height="112"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_X1dtMmkLEeWakucY9QdE0g" type="StereotypeComment">
-          <styles xmi:type="notation:TitleStyle" xmi:id="_X1dtM2kLEeWakucY9QdE0g" showTitle="true"/>
-          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X1dtNWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-            <eObjectValue xmi:type="uml:Port" href="SimpleSM.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-          </styles>
-          <element xsi:nil="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X1dtNGkLEeWakucY9QdE0g" x="190" y="59"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGa2Il37Ed-UvNEDwY5GNg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hzPCsFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hzPCsVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hzPCslbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Xx40wGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Xx40wWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="SimpleSM.uml#_bYJagDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGaPEV37Ed-UvNEDwY5GNg" x="60" y="40" width="321" height="221"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_q-Wa0V37Ed-UvNEDwY5GNg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_Xx40ymkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="SimpleSM.uml#_XLQjUDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_X1dtNmkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_zk0VwDrcEeGgAdAmWw4pyQ" target="_X1dtMmkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_X1dtN2kLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X1eUQmkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="SimpleSM.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X1dtOGkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X1eUQGkLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X1eUQWkLEeWakucY9QdE0g"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_6FvnwGONEd-seu3qyZgHfg" type="PapyrusUMLClassDiagram" name="deployment plans" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_TOVRYHltEeOh_8tymvdOOg" type="Package_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_TOVRYnltEeOh_8tymvdOOg" type="Package_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JLvMUPX4EeWa_pjn9guopQ" type="Package_PackagedElementCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_TOVRZHltEeOh_8tymvdOOg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TOVRZXltEeOh_8tymvdOOg"/>
-      </children>
-      <element xmi:type="uml:Package" href="SimpleSM.uml#_QQiDgHltEeOh_8tymvdOOg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TOVRYXltEeOh_8tymvdOOg" x="73" y="128" width="221" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_X47Q4GkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_X47Q4WkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X47Q42kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Package" href="SimpleSM.uml#_QQiDgHltEeOh_8tymvdOOg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X47Q4mkLEeWakucY9QdE0g" x="240" y="40"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_6FvnwWONEd-seu3qyZgHfg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_X3OnwGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="SimpleSM.uml#_234GEDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_X4738GkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_TOVRYHltEeOh_8tymvdOOg" target="_X47Q4GkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_X4738WkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X4739WkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Package" href="SimpleSM.uml#_QQiDgHltEeOh_8tymvdOOg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X4738mkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X47382kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X4739GkLEeWakucY9QdE0g"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_KYrjcKxkEeCgusK7cm6qjQ" type="PapyrusUMLClassDiagram" name="Platform" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_LsWKwKxkEeCgusK7cm6qjQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx0KxkEeCgusK7cm6qjQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx0axkEeCgusK7cm6qjQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx0qxkEeCgusK7cm6qjQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx06xkEeCgusK7cm6qjQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx1KxkEeCgusK7cm6qjQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx1axkEeCgusK7cm6qjQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LsWx1qxkEeCgusK7cm6qjQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JOqkgPX4EeWa_pjn9guopQ" visible="false" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY4axkEeCgusK7cm6qjQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY4qxkEeCgusK7cm6qjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY46xkEeCgusK7cm6qjQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JOrLkPX4EeWa_pjn9guopQ" visible="false" type="Class_OperationCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY5axkEeCgusK7cm6qjQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY5qxkEeCgusK7cm6qjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY56xkEeCgusK7cm6qjQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JOrLkfX4EeWa_pjn9guopQ" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY6axkEeCgusK7cm6qjQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY6qxkEeCgusK7cm6qjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY66xkEeCgusK7cm6qjQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h25asFbmEeObiJAlOlmjpQ" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h25asVbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="FCM:Target" href="SimpleSM.uml#_HvbFMLqQEd-BObGGoBbehA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h25aslbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h26BwFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h26BwVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h26BwlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X5Fo8GkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X5Fo8WkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Node" href="SimpleSM.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsWKwaxkEeCgusK7cm6qjQ" x="57" y="55" width="160" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_X6kPoGkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_X6kPoWkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X6kPo2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Node" href="SimpleSM.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X6kPomkLEeWakucY9QdE0g" x="257" y="55"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_KYrjcaxkEeCgusK7cm6qjQ"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_X5Fo8mkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="SimpleSM.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_X6kPpGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_LsWKwKxkEeCgusK7cm6qjQ" target="_X6kPoGkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_X6kPpWkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X6kPqWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Node" href="SimpleSM.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X6kPpmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X6kPp2kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X6kPqGkLEeWakucY9QdE0g"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_HoscYMniEeCMCo5Ox2CNmg" type="CompositeStructure" name="HWArchitecture" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_M1wXIMniEeCMCo5Ox2CNmg" type="Class_Shape" fontName="" fontHeight="10" fillColor="10011046" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BgMniEeCMCo5Ox2CNmg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10BgcniEeCMCo5Ox2CNmg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BgsniEeCMCo5Ox2CNmg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10Bg8niEeCMCo5Ox2CNmg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BhMniEeCMCo5Ox2CNmg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10BhcniEeCMCo5Ox2CNmg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_M10BhsniEeCMCo5Ox2CNmg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JRHbkPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_QgbSEMniEeCMCo5Ox2CNmg" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgbSEsniEeCMCo5Ox2CNmg" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QgbSE8niEeCMCo5Ox2CNmg" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qgb5IMniEeCMCo5Ox2CNmg" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qgb5IcniEeCMCo5Ox2CNmg" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qgb5IsniEeCMCo5Ox2CNmg" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qgb5I8niEeCMCo5Ox2CNmg" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_Qgb5JMniEeCMCo5Ox2CNmg" type="Property_NameLabel"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JRICoPX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qgb5JsniEeCMCo5Ox2CNmg"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_h493QFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_h493QVbmEeObiJAlOlmjpQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h493QlbmEeObiJAlOlmjpQ"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_X6unsmkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_X6uns2kLEeWakucY9QdE0g" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="SimpleSM.uml#_QgKzYMniEeCMCo5Ox2CNmg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QgbSEcniEeCMCo5Ox2CNmg" x="83" y="28" width="165" height="55"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_Ndrf8GGIEeO2F4QRMDSOXg" type="Property_Shape">
-          <children xmi:type="notation:DecorationNode" xmi:id="_Ndrf8mGIEeO2F4QRMDSOXg" type="Property_NameLabel"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JRJQwPX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_Ndrf9GGIEeO2F4QRMDSOXg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ndrf9WGIEeO2F4QRMDSOXg"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_znjjUHDZEeORJcfdyIEeTg" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_znjjUXDZEeORJcfdyIEeTg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_znjjUnDZEeORJcfdyIEeTg"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_X6untGkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_X6untWkLEeWakucY9QdE0g" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="SimpleSM.uml#_Ndc2cGGIEeO2F4QRMDSOXg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ndrf8WGIEeO2F4QRMDSOXg" x="346" y="33" width="109"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M10BiMniEeCMCo5Ox2CNmg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h48CEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h48CEVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h48CElbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X6unsGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unsWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="SimpleSM.uml#_M1a_8MniEeCMCo5Ox2CNmg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M1wXIcniEeCMCo5Ox2CNmg" x="72" y="72" width="577" height="163"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_BLhG8DemEeGPyrZ5I3hMlA" type="Node_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG8jemEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG8zemEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG9DemEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG9TemEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG9jemEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG9zemEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_BLhuADemEeGPyrZ5I3hMlA" type="Node_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JRKe4PX4EeWa_pjn9guopQ" visible="false" type="Node_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_BLhuAjemEeGPyrZ5I3hMlA" showTitle="true"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BLhuAzemEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h4_FYFbmEeObiJAlOlmjpQ" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h4_FYVbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="FCM:Target" href="SimpleSM.uml#_HvbFMLqQEd-BObGGoBbehA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h4_FYlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h5CIsFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h5CIsVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h5CIslbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X6untmkLEeWakucY9QdE0g" type="Node_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unt2kLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_X8sWkGkLEeWakucY9QdE0g" type="StereotypeCompartment">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_X8woAGkLEeWakucY9QdE0g" source="PapyrusCSSForceValue">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X8xPEGkLEeWakucY9QdE0g" key="visible" value="true"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_X8uLwmkLEeWakucY9QdE0g" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_BZCjMJOGEd-5qPBhYeIVtw"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_X8uLw2kLEeWakucY9QdE0g"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_X8tksGkLEeWakucY9QdE0g" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#__5rAUGE_Ed-eArNXja7SuA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_X8tksWkLEeWakucY9QdE0g"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_X8sWkWkLEeWakucY9QdE0g" showTitle="true"/>
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_X8sWkmkLEeWakucY9QdE0g" name="stereotype" stringValue="FCM::Target"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X8sWk2kLEeWakucY9QdE0g"/>
-      </children>
-      <element xmi:type="uml:Node" href="SimpleSM.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BLhG8TemEeGPyrZ5I3hMlA" x="71" y="269" width="164" height="119"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_GVBbMGGIEeO2F4QRMDSOXg" type="Class_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_GVCCQGGIEeO2F4QRMDSOXg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JRLF8PX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_GVCCQmGIEeO2F4QRMDSOXg" showTitle="true"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GVCCQ2GIEeO2F4QRMDSOXg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_znnNsHDZEeORJcfdyIEeTg" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_znnNsXDZEeORJcfdyIEeTg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_znnNsnDZEeORJcfdyIEeTg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X6unuGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unuWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="SimpleSM.uml#_GUl9YGGIEeO2F4QRMDSOXg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GVBbMWGIEeO2F4QRMDSOXg" x="459" y="270" width="187" height="118"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_HoscYcniEeCMCo5Ox2CNmg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_X6unumkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="SimpleSM.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_0MCIsOYXEeCBL_IbXY9ofw" type="PapyrusUMLStateMachineDiagram" name="SmDiagramServer" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_0MCIseYXEeCBL_IbXY9ofw" type="StateMachine_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIsuYXEeCBL_IbXY9ofw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIs-YXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItOYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIteYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItuYXEeCBL_IbXY9ofw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIt-YXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JlR4wHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JlR4wXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LKHvoHn3EeOfttgBwSq-Ig" key="gradient" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0MCIuOYXEeCBL_IbXY9ofw" type="StateMachine_NameLabel">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIueYXEeCBL_IbXY9ofw" width="940" height="20"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JVovMPX4EeWa_pjn9guopQ" type="StateMachine_RegionCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_0MCIu-YXEeCBL_IbXY9ofw" type="Region_Shape" fontName="Sans Serif" lineColor="0" lineWidth="1">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvOYXEeCBL_IbXY9ofw" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIveYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvuYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIv-YXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwOYXEeCBL_IbXY9ofw" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIweYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwuYXEeCBL_IbXY9ofw" source="RegionAnnotationKey">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIw-YXEeCBL_IbXY9ofw" key="RegionZoneKey" value=""/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TbH8gHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TbH8gXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uP7skPZMEeWa_pjn9guopQ" key="lineWidth" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JVpWQPX4EeWa_pjn9guopQ" type="Region_SubvertexCompartment">
-            <children xmi:type="notation:Shape" xmi:id="_1U-twOYXEeCBL_IbXY9ofw" type="Pseudostate_InitialShape" fontName="Sans Serif" fillColor="0" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_U0OYXEeCBL_IbXY9ofw" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74OYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74eYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74uYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74-YXEeCBL_IbXY9ofw" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_75OYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LqN7kMcpEeSsAI2TZshUyg" source="PapyrusCSSForceValue">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LqPJsMcpEeSsAI2TZshUyg" key="gradient" value="true"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75eYXEeCBL_IbXY9ofw" type="Pseudostate_InitialFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_75uYXEeCBL_IbXY9ofw" x="36" y="-9"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75-YXEeCBL_IbXY9ofw" type="Pseudostate_InitialStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_76OYXEeCBL_IbXY9ofw" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="SimpleSM.uml#_1UVNgOYXEeCBL_IbXY9ofw"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1U-tweYXEeCBL_IbXY9ofw" x="114" y="19"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_53eokOYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPoOYXEeCBL_IbXY9ofw" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53fPoeYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPouYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2sOYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53f2seYXEeCBL_IbXY9ofw" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2suYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_53f2s-YXEeCBL_IbXY9ofw" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7PRh8OYXEeCBL_IbXY9ofw" width="99" height="20"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_JVp9UPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
-                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PvBTIPX4EeWa_pjn9guopQ" source="PapyrusCSSForceValue">
-                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PvB6MPX4EeWa_pjn9guopQ" key="visible" value="true"/>
-                </eAnnotations>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53f2teYXEeCBL_IbXY9ofw" y="20" width="99" height="48"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_h9cHkFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_h9cHkVbmEeObiJAlOlmjpQ"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9cHklbmEeObiJAlOlmjpQ"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSM.uml#_53E_8OYXEeCBL_IbXY9ofw"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53eokeYXEeCBL_IbXY9ofw" x="259" y="37" width="99" height="68"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_8AQS8OYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8AQ6AOYXEeCBL_IbXY9ofw" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEOYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhEeYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEuYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhE-YXEeCBL_IbXY9ofw" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhFOYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_8ARhFeYXEeCBL_IbXY9ofw" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8A06sOYXEeCBL_IbXY9ofw" width="100" height="20"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_JVrLcPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8ARhF-YXEeCBL_IbXY9ofw" y="20" width="100" height="42"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_h9ej0FbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_h9ej0VbmEeObiJAlOlmjpQ"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ej0lbmEeObiJAlOlmjpQ"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSM.uml#_7_1cMOYXEeCBL_IbXY9ofw"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8AQS8eYXEeCBL_IbXY9ofw" x="259" y="181" width="100" height="62"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_oxRiMCjmEeaJJusTB1aIbg" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_oxSwUCjmEeaJJusTB1aIbg" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p6M5ICjmEeaJJusTB1aIbg" width="79"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_oxTXYCjmEeaJJusTB1aIbg" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_oxTXYSjmEeaJJusTB1aIbg" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_oxTXYijmEeaJJusTB1aIbg" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxTXYyjmEeaJJusTB1aIbg" y="-1" width="79"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSM.uml#_owZYcCjmEeaJJusTB1aIbg"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxRiMSjmEeaJJusTB1aIbg" x="510" y="36" width="79" height="59"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="__-OxACjmEeaJJusTB1aIbg" type="Pseudostate_JunctionShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="__-PYECjmEeaJJusTB1aIbg" type="Pseudostate_JunctionFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYESjmEeaJJusTB1aIbg" x="34" y="22"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="__-PYEijmEeaJJusTB1aIbg" type="Pseudostate_JunctionStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYEyjmEeaJJusTB1aIbg" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="SimpleSM.uml#__9lQwCjmEeaJJusTB1aIbg"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="__-OxASjmEeaJJusTB1aIbg" x="539" y="162"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_cyo2gEOAEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_cyo2gkOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_cyo2g0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_cyo2hEOAEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_cyo2hUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cyo2hkOAEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSM.uml#_cyKVYEOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cyo2gUOAEeadCvQ7UGhFAA" x="257" y="295"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_juToIEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_juToIkOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_juToI0OAEeadCvQ7UGhFAA" x="50" y="3"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_juToJEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_juToJUOAEeadCvQ7UGhFAA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="SimpleSM.uml#_jt7NoEOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_juToIUOAEeadCvQ7UGhFAA" x="276" y="371"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_nhnhsEOAEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_nhnhskOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_nhnhs0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_nhnhtEOAEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_nhnhtUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nhnhtkOAEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSM.uml#_nhVN0EOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nhnhsUOAEeadCvQ7UGhFAA" x="102" y="457"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_xK-BkEOAEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_xK-BkkOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_xK-Bk0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_xK-BlEOAEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_xK-BlUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xK-BlkOAEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSM.uml#_xKx0UEOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xK-BkUOAEeadCvQ7UGhFAA" x="266" y="456"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_11fP8EOAEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_11fP8kOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_11fP80OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_11fP9EOAEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_11fP9UOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_11fP9kOAEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSM.uml#_11G1cEOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_11fP8UOAEeadCvQ7UGhFAA" x="266" y="532"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_3OV5QEOAEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_3OV5QkOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_3OV5Q0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_3OV5REOAEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_3OV5RUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3OV5RkOAEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSM.uml#_3OJsAEOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3OV5QUOAEeadCvQ7UGhFAA" x="271" y="612"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_8OR-AEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_8OR-AkOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_8OR-A0OAEeadCvQ7UGhFAA" x="77" y="2"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_8OR-BEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_8OR-BUOAEeadCvQ7UGhFAA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="SimpleSM.uml#_8N5jgEOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8OR-AUOAEeadCvQ7UGhFAA" x="273" y="687"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_Czf-gEOBEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_Czf-gkOBEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_Czf-g0OBEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_Czf-hEOBEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_Czf-hUOBEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Czf-hkOBEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSM.uml#_CzHkAEOBEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Czf-gUOBEeadCvQ7UGhFAA" x="177" y="739"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_EtlsoEOBEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_EtlsokOBEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_Etlso0OBEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_EtlspEOBEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_EtlspUOBEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EtlspkOBEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSM.uml#_EtK14EOBEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EtlsoUOBEeadCvQ7UGhFAA" x="376" y="747"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_LPfTYEOBEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_LPfTYkOBEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_LPfTY0OBEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_LPfTZEOBEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_LPfTZUOBEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LPfTZkOBEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSM.uml#_LPM_gEOBEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LPfTYUOBEeadCvQ7UGhFAA" x="271" y="801"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_PjSq4EOBEeadCvQ7UGhFAA" type="FinalState_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_PjSq4kOBEeadCvQ7UGhFAA" type="FinalState_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_PjSq40OBEeadCvQ7UGhFAA" x="25" y="3"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_PjSq5EOBEeadCvQ7UGhFAA" type="FinalState_StereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_PjSq5UOBEeadCvQ7UGhFAA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:FinalState" href="SimpleSM.uml#_PiyUkEOBEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PjSq4UOBEeadCvQ7UGhFAA" x="297" y="874"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_OZwagEOCEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_OZwagkOCEeadCvQ7UGhFAA" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O8AzAEOCEeadCvQ7UGhFAA" width="240" height="20"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_OZwag0OCEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_OZwahEOCEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_OZwahUOCEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PWnrYEOCEeadCvQ7UGhFAA" source="PapyrusCSSForceValue">
-                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PWnrYUOCEeadCvQ7UGhFAA" key="visible" value="true"/>
-                </eAnnotations>
-                <children xmi:type="notation:Shape" xmi:id="_PWtyAEOCEeadCvQ7UGhFAA" type="Region_Shape">
-                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PWtyBEOCEeadCvQ7UGhFAA" source="RegionAnnotationKey">
-                    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PWtyBUOCEeadCvQ7UGhFAA" key="RegionZoneKey" value="T"/>
-                  </eAnnotations>
-                  <children xmi:type="notation:BasicCompartment" xmi:id="_PWtyAkOCEeadCvQ7UGhFAA" type="Region_SubvertexCompartment">
-                    <children xmi:type="notation:Shape" xmi:id="_QUoy0EOCEeadCvQ7UGhFAA" type="State_Shape">
-                      <children xmi:type="notation:DecorationNode" xmi:id="_QUoy0kOCEeadCvQ7UGhFAA" type="State_NameLabel"/>
-                      <children xmi:type="notation:DecorationNode" xmi:id="_QUoy00OCEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_QUoy1EOCEeadCvQ7UGhFAA" x="40"/>
-                      </children>
-                      <children xmi:type="notation:BasicCompartment" xmi:id="_QUoy1UOCEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QUoy1kOCEeadCvQ7UGhFAA"/>
-                      </children>
-                      <element xmi:type="uml:State" href="SimpleSM.uml#_QUQYUEOCEeadCvQ7UGhFAA"/>
-                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QUoy0UOCEeadCvQ7UGhFAA" x="65" y="27"/>
-                    </children>
-                    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PWtyA0OCEeadCvQ7UGhFAA"/>
-                  </children>
-                  <element xmi:type="uml:Region" href="SimpleSM.uml#_PWnrYkOCEeadCvQ7UGhFAA"/>
-                  <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PWtyAUOCEeadCvQ7UGhFAA" width="240" height="81"/>
-                </children>
-                <children xmi:type="notation:Shape" xmi:id="_P1Z5IUOCEeadCvQ7UGhFAA" type="Region_Shape">
-                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P1Z5JUOCEeadCvQ7UGhFAA" source="RegionAnnotationKey">
-                    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P1Z5JkOCEeadCvQ7UGhFAA" key="RegionZoneKey" value="B"/>
-                  </eAnnotations>
-                  <children xmi:type="notation:BasicCompartment" xmi:id="_P1Z5I0OCEeadCvQ7UGhFAA" type="Region_SubvertexCompartment">
-                    <children xmi:type="notation:Shape" xmi:id="_RozwcEOCEeadCvQ7UGhFAA" type="State_Shape">
-                      <children xmi:type="notation:DecorationNode" xmi:id="_RozwckOCEeadCvQ7UGhFAA" type="State_NameLabel"/>
-                      <children xmi:type="notation:DecorationNode" xmi:id="_Rozwc0OCEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_RozwdEOCEeadCvQ7UGhFAA" x="40"/>
-                      </children>
-                      <children xmi:type="notation:BasicCompartment" xmi:id="_RozwdUOCEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RozwdkOCEeadCvQ7UGhFAA"/>
-                      </children>
-                      <element xmi:type="uml:State" href="SimpleSM.uml#_RobV8EOCEeadCvQ7UGhFAA"/>
-                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RozwcUOCEeadCvQ7UGhFAA" x="64" y="35"/>
-                    </children>
-                    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P1Z5JEOCEeadCvQ7UGhFAA"/>
-                  </children>
-                  <element xmi:type="uml:Region" href="SimpleSM.uml#_P1Z5IEOCEeadCvQ7UGhFAA"/>
-                  <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P1Z5IkOCEeadCvQ7UGhFAA" y="81" width="240" height="81"/>
-                </children>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OZwahkOCEeadCvQ7UGhFAA" y="20" width="240" height="163"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSM.uml#_OZYAAEOCEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OZwagUOCEeadCvQ7UGhFAA" x="577" y="270" width="240" height="183"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_S4E_8EOCEeadCvQ7UGhFAA" type="Pseudostate_ForkShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_S4E_8kOCEeadCvQ7UGhFAA" type="Pseudostate_ForkFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_S4E_80OCEeadCvQ7UGhFAA" x="25" y="3"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_S4E_9EOCEeadCvQ7UGhFAA" type="Pseudostate_ForkStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_S4E_9UOCEeadCvQ7UGhFAA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="SimpleSM.uml#_S3gYMEOCEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S4E_8UOCEeadCvQ7UGhFAA" x="435" y="310"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_cbw8sEOCEeadCvQ7UGhFAA" type="Pseudostate_JoinShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_cbw8skOCEeadCvQ7UGhFAA" type="Pseudostate_JoinFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_cbw8s0OCEeadCvQ7UGhFAA" x="25" y="3"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_cbw8tEOCEeadCvQ7UGhFAA" type="Pseudostate_JoinStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_cbw8tUOCEeadCvQ7UGhFAA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="SimpleSM.uml#_cbYiMEOCEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cbw8sUOCEeadCvQ7UGhFAA" x="860" y="334"/>
-            </children>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxeYXEeCBL_IbXY9ofw"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_h9XPEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_h9XPEVbmEeObiJAlOlmjpQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9XPElbmEeObiJAlOlmjpQ"/>
-          </children>
-          <element xmi:type="uml:Region" href="SimpleSM.uml#_0Lv00OYXEeCBL_IbXY9ofw"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxuYXEeCBL_IbXY9ofw" width="940" height="917"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIx-YXEeCBL_IbXY9ofw" y="20" width="940" height="917"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h9ULwFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h9ULwVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ULwlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <styles xmi:type="notation:StringListValueStyle" xmi:id="_v51OQHn2EeOfttgBwSq-Ig" name="cssClass"/>
-      <element xmi:type="uml:StateMachine" href="SimpleSM.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIyOYXEeCBL_IbXY9ofw" x="40" y="40" width="940" height="937"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_0MCIyeYXEeCBL_IbXY9ofw"/>
-    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_B2g2QHn3EeOfttgBwSq-Ig" name="css_stylesheets" eObjectListValue="_B2g2QXn3EeOfttgBwSq-Ig"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_YAq3oGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:StateMachine" href="SimpleSM.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
-    <edges xmi:type="notation:Connector" xmi:id="_CLUHAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_1U-twOYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8MeYYEeCBL_IbXY9ofw" x="-6"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MuYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8M-YYEeCBL_IbXY9ofw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8NOYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8NeYYEeCBL_IbXY9ofw" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_CLUHAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_CLBzIOYYEeCBL_IbXY9ofw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CLUHAuYYEeCBL_IbXY9ofw" points="[10, -4, -180, 0]$[175, -7, -15, -3]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CMH_UOYYEeCBL_IbXY9ofw" id="(0.16483516483516483,0.4142857142857143)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Doz_wOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0OYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0eYYEeCBL_IbXY9ofw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0uYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0-YYEeCBL_IbXY9ofw" x="-1" y="86"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m1OYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m1eYYEeCBL_IbXY9ofw" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Doz_weYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_Doi6AOYYEeCBL_IbXY9ofw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Doz_wuYYEeCBL_IbXY9ofw" points="[4, 9, 0, -45]$[1, 47, -3, -7]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacsOYYEeCBL_IbXY9ofw" id="(0.2,0.9846153846153847)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacseYYEeCBL_IbXY9ofw" id="(0.2,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_OIPMAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_OIPzEOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIOYYEeCBL_IbXY9ofw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaIeYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIuYYEeCBL_IbXY9ofw" x="-16" y="-10"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaI-YYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaJOYYEeCBL_IbXY9ofw" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_OIPMAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_OH_UYOYYEeCBL_IbXY9ofw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OIPMAuYYEeCBL_IbXY9ofw" points="[-4, -31, 8, 88]$[4, -128, 16, -9]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgOYYEeCBL_IbXY9ofw" id="(0.8,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgeYYEeCBL_IbXY9ofw" id="(0.8,0.9846153846153847)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_mPjVYOtqEeCzSsOGmQH2aA" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" roundedBendpointsRadius="10" routing="Rectilinear" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wFmGcHoDEeOA64V_YLapaA" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wFmtgHoDEeOA64V_YLapaA" key="smoothness" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoOtqEeCzSsOGmQH2aA" visible="false" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XwnVkPX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxoetqEeCzSsOGmQH2aA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoutqEeCzSsOGmQH2aA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XxIS8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxo-tqEeCzSsOGmQH2aA" x="-15" y="28"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxpOtqEeCzSsOGmQH2aA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Xxll8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxpetqEeCzSsOGmQH2aA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_mPjVYetqEeCzSsOGmQH2aA" fontName=""/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_mJvoUOtqEeCzSsOGmQH2aA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mPjVYutqEeCzSsOGmQH2aA" points="[299, 171, -643984, -643984]$[147, 171, -643984, -643984]$[147, 272, -643984, -643984]$[299, 272, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wOtqEeCzSsOGmQH2aA" id="(0.0,0.6915887850467289)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wetqEeCzSsOGmQH2aA" id="(0.0,0.5)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_rgm2QCjmEeaJJusTB1aIbg" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_oxRiMCjmEeaJJusTB1aIbg">
-      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUCjmEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUSjmEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUijmEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUyjmEeaJJusTB1aIbg" x="-86" y="-52"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_rgndVCjmEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndVSjmEeaJJusTB1aIbg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_rgm2QSjmEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_rdKgsCjmEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rgm2QijmEeaJJusTB1aIbg" points="[399, 131, -643984, -643984]$[551, 131, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhuQkCjmEeaJJusTB1aIbg" id="(1.0,0.5)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhu3oCjmEeaJJusTB1aIbg" id="(0.0,0.5932203389830508)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_BPTXUCjnEeaJJusTB1aIbg" type="Transition_Edge" source="_oxRiMCjmEeaJJusTB1aIbg" target="__-OxACjmEeaJJusTB1aIbg">
-      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXUyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVCjnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVijnEeaJJusTB1aIbg" x="-10" y="-25"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXWCjnEeaJJusTB1aIbg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_BPTXUSjnEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_BO7j4CjnEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BPTXUijnEeaJJusTB1aIbg" points="[590, 155, -643984, -643984]$[590, 222, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUCjnEeaJJusTB1aIbg" id="(0.4936708860759494,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUSjnEeaJJusTB1aIbg" id="(0.5,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_G11iACjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_53eokOYXEeCBL_IbXY9ofw">
-      <children xmi:type="notation:DecorationNode" xmi:id="_G11iAyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBCjnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_G11iBSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBijnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_G11iByjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iCCjnEeaJJusTB1aIbg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_G11iASjnEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_G1QTMCjnEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G11iAijnEeaJJusTB1aIbg" points="[583, 227, -643984, -643984]$[397, 159, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2gQYCjnEeaJJusTB1aIbg" id="(0.15,0.3863945578231304)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2g3cCjnEeaJJusTB1aIbg" id="(0.9797979797979798,0.9117647058823529)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_HndzQCjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_8AQS8OYXEeCBL_IbXY9ofw">
-      <children xmi:type="notation:DecorationNode" xmi:id="_HndzQyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRCjnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRijnEeaJJusTB1aIbg" x="-18" y="-14"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzSCjnEeaJJusTB1aIbg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_HndzQSjnEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_HnKRQCjnEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HndzQijnEeaJJusTB1aIbg" points="[585, 234, -643984, -643984]$[400, 277, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoK94CjnEeaJJusTB1aIbg" id="(0.27479674796748554,0.8330623306233065)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoLk8CjnEeaJJusTB1aIbg" id="(1.0,0.5806451612903226)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_g6Nv4EOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_cyo2gEOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_g6Nv40OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_g6Nv5EOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_g6Nv5UOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_g6Nv5kOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_g6Nv50OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_g6Nv6EOAEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_g6Nv4UOAEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_g3iPUEOAEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_g6Nv4kOAEeadCvQ7UGhFAA" points="[345, 303, -643984, -643984]$[345, 355, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g6yXoEOAEeadCvQ7UGhFAA" id="(0.45,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g6yXoUOAEeadCvQ7UGhFAA" id="(0.47959183673469385,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_mUbV0EOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_cyo2gEOAEeadCvQ7UGhFAA" target="_juToIEOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_mUbV00OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mUbV1EOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mUbV1UOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mUbV1kOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mUbV10OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mUbV2EOAEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_mUbV0UOAEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_mUQWsEOAEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mUbV0kOAEeadCvQ7UGhFAA" points="[348, 399, -643984, -643984]$[348, 431, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mU9hUEOAEeadCvQ7UGhFAA" id="(0.5102040816326531,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mU9hUUOAEeadCvQ7UGhFAA" id="(0.5166666666666667,0.01666666666666856)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_qtp_4EOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_juToIEOAEeadCvQ7UGhFAA" target="_nhnhsEOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_qtp_40OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_rpjAYEOAEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_qtp_5EOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_qtp_5UOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_rp1UQEOAEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_qtp_5kOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_qtp_50OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_rqOV0EOAEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_qtp_6EOAEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_qtp_4UOAEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_qtXsAEOAEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qtp_4kOAEeadCvQ7UGhFAA" points="[327, 444, -643984, -643984]$[187, 444, -643984, -643984]$[187, 517, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_quIhAEOAEeadCvQ7UGhFAA" id="(0.15,0.65)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_quIhAUOAEeadCvQ7UGhFAA" id="(0.6666666666666666,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_0d1ggEOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_juToIEOAEeadCvQ7UGhFAA" target="_xK-BkEOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_0d1gg0OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_0d1ghEOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0d1ghUOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_0d1ghkOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0d1gh0OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_0d1giEOAEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_0d1ggUOAEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_0dpTQEOAEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0d1ggkOAEeadCvQ7UGhFAA" points="[345, 450, -643984, -643984]$[342, 516, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0eV20EOAEeadCvQ7UGhFAA" id="(0.47880000000000017,0.9788000000000039)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0eV20UOAEeadCvQ7UGhFAA" id="(0.39325842696629215,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_4uF0wEOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_xK-BkEOAEeadCvQ7UGhFAA" target="_11fP8EOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_4uF0w0OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_4uF0xEOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_4uF0xUOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_4uF0xkOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_4uF0x0OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_4uF0yEOAEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_4uF0wUOAEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_4tzg4EOAEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4uF0wkOAEeadCvQ7UGhFAA" points="[343, 560, -643984, -643984]$[340, 592, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4uk88EOAEeadCvQ7UGhFAA" id="(0.4044943820224719,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4uk88UOAEeadCvQ7UGhFAA" id="(0.4925373134328358,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_5FIbwEOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_11fP8EOAEeadCvQ7UGhFAA" target="_3OV5QEOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_5FIbw0OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_5FIbxEOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_5FIbxUOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_5FIbxkOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_5FIbx0OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_5FIbyEOAEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_5FIbwUOAEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_5E7AYEOAEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5FIbwkOAEeadCvQ7UGhFAA" points="[342, 636, -643984, -643984]$[344, 672, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5F-JQEOAEeadCvQ7UGhFAA" id="(0.5223880597014925,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5F-JQUOAEeadCvQ7UGhFAA" id="(0.5423728813559322,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_B0kREEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_3OV5QEOAEeadCvQ7UGhFAA" target="_8OR-AEOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_B0kRE0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0kRFEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_B0kRFUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0kRFkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_B0kRF0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0kRGEOBEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_B0kREUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_B0R9MEOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_B0kREkOBEeadCvQ7UGhFAA" points="[342, 716, -643984, -643984]$[338, 748, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B1YwcEOBEeadCvQ7UGhFAA" id="(0.5084745762711864,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B1YwcUOBEeadCvQ7UGhFAA" id="(0.4028225806451616,0.09717741935483559)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Gn7SYEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_8OR-AEOAEeadCvQ7UGhFAA" target="_Czf-gEOBEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Gn7SY0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn7SZEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Gn7SZUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn7SZkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Gn7SZ0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn7SaEOBEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Gn7SYUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_Gm27YEOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Gn7SYkOBEeadCvQ7UGhFAA" points="[321, 744, -643984, -643984]$[258, 784, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GonO4EOBEeadCvQ7UGhFAA" id="(0.1224358974358959,0.622435897435895)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GonO4UOBEeadCvQ7UGhFAA" id="(0.8,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_KXEdoEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_8OR-AEOAEeadCvQ7UGhFAA" target="_EtlsoEOBEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_KXEdo0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KXEdpEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_KXEdpUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KXEdpkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_KXEdp0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KXEdqEOBEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_KXEdoUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_KWyJwEOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KXEdokOBEeadCvQ7UGhFAA" points="[359, 746, -643984, -643984]$[419, 794, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KXwaIEOBEeadCvQ7UGhFAA" id="(0.7536101083032491,0.7463898916967537)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KXwaIUOBEeadCvQ7UGhFAA" id="(0.0273972602739726,0.045454545454545456)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_OBrHIEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_Czf-gEOBEeadCvQ7UGhFAA" target="_LPfTYEOBEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_OBrHI0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OBrHJEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OBrHJUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OBrHJkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OBrHJ0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OBrHKEOBEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_OBrHIUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_OBSsoEOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OBrHIkOBEeadCvQ7UGhFAA" points="[255, 843, -643984, -643984]$[312, 873, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OCZf4EOBEeadCvQ7UGhFAA" id="(0.74,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OCZf4UOBEeadCvQ7UGhFAA" id="(0.0,0.2727272727272727)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_OwDQEEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_EtlsoEOBEeadCvQ7UGhFAA" target="_LPfTYEOBEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_OwDQE0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OwDQFEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OwDQFUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OwDQFkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OwDQF0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OwDQGEOBEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_OwDQEUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_Ovt44EOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OwDQEkOBEeadCvQ7UGhFAA" points="[431, 851, -643984, -643984]$[403, 865, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ow4WgEOBEeadCvQ7UGhFAA" id="(0.1917808219178082,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ow4WgUOBEeadCvQ7UGhFAA" id="(0.978494623655914,0.09090909090909091)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_P_fesEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_LPfTYEOBEeadCvQ7UGhFAA" target="_PjSq4EOBEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_P_fes0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_P_fetEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_P_fetUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_P_fetkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_P_fet0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_P_feuEOBEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_P_fesUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_P_HEMEOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_P_feskOBEeadCvQ7UGhFAA" points="[357, 905, -643984, -643984]$[352, 936, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QAaEsEOBEeadCvQ7UGhFAA" id="(0.4838709677419355,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QAaEsUOBEeadCvQ7UGhFAA" id="(0.7082474226804095,0.1041237113402019)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Q3uHMEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_nhnhsEOAEeadCvQ7UGhFAA" target="_PjSq4EOBEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Q3uHM0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RMF0sEOBEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Q3uHNEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Q3uHNUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RMePMEOBEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Q3uHNkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Q3uHN0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RMwjEEOBEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Q3uHOEOBEeadCvQ7UGhFAA" x="1" y="58"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Q3uHMUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_Q3bzUEOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Q3uHMkOBEeadCvQ7UGhFAA" points="[174, 561, -643984, -643984]$[135, 891, -643984, -643984]$[342, 936, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Q4lC0EOBEeadCvQ7UGhFAA" id="(0.4696969696969697,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Q4lC0UOBEeadCvQ7UGhFAA" id="(0.2,0.1)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Twrb4EOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_S4E_8EOCEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Twrb40OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Twrb5EOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Twrb5UOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Twrb5kOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Twrb50OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Twrb6EOCEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Twrb4UOCEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_TwTBYEOCEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Twrb4kOCEeadCvQ7UGhFAA" points="[392, 302, -643984, -643984]$[476, 386, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Txmo8EOCEeadCvQ7UGhFAA" id="(0.92,0.9838709677419355)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Txmo8UOCEeadCvQ7UGhFAA" id="(0.0,0.4)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_a-dRMEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_S4E_8EOCEeadCvQ7UGhFAA" target="_QUoy0EOCEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_a-dRM0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_a-dRNEOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_a-dRNUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_a-dRNkOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_a-dRN0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_a-dROEOCEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_a-dRMUOCEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_a-EPoEOCEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a-dRMkOCEeadCvQ7UGhFAA" points="[486, 390, -643984, -643984]$[684, 403, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a_a6gEOCEeadCvQ7UGhFAA" id="(1.0,0.5)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a_a6gUOCEeadCvQ7UGhFAA" id="(0.0,0.5909090909090909)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_beGakEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_S4E_8EOCEeadCvQ7UGhFAA" target="_RozwcEOCEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_beGak0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_beGalEOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_beGalUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_beGalkOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_beGal0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_beGamEOCEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_beGakUOCEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_bduAEEOCEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_beGakkOCEeadCvQ7UGhFAA" points="[486, 404, -643984, -643984]$[683, 484, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bfJjcEOCEeadCvQ7UGhFAA" id="(1.0,0.85)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bfJjcUOCEeadCvQ7UGhFAA" id="(0.0,0.4090909090909091)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_de-tMEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_QUoy0EOCEeadCvQ7UGhFAA" target="_cbw8sEOCEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_de-tM0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_de-tNEOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_de-tNUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_de-tNkOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_de-tN0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_de-tOEOCEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_de-tMUOCEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_dedIwEOCEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_de-tMkOCEeadCvQ7UGhFAA" points="[724, 397, -643984, -643984]$[901, 414, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dgB2EEOCEeadCvQ7UGhFAA" id="(1.0,0.45454545454545453)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dgB2EUOCEeadCvQ7UGhFAA" id="(0.0,0.5)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_eAv9gEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_RozwcEOCEeadCvQ7UGhFAA" target="_cbw8sEOCEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_eAv9g0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_eAv9hEOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_eAv9hUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_eAv9hkOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_eAv9h0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_eAv9iEOCEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_eAv9gUOCEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_eAXjAEOCEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eAv9gkOCEeadCvQ7UGhFAA" points="[723, 491, -643984, -643984]$[901, 421, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eBm5IEOCEeadCvQ7UGhFAA" id="(1.0,0.5681818181818182)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eBm5IUOCEeadCvQ7UGhFAA" id="(0.0,0.675)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_e55MAEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_cbw8sEOCEeadCvQ7UGhFAA" target="_11fP8EOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_e55MA0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fzY_0EOCEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_e55MBEOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_e55MBUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fzxaUEOCEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_e55MBkOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_e55MB0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_f0WpIEOCEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_e55MCEOCEeadCvQ7UGhFAA" x="-1" y="58"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_e55MAUOCEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSM.uml#_e5OdoEOCEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e55MAkOCEeadCvQ7UGhFAA" points="[911, 434, -643984, -643984]$[932, 434, -643984, -643984]$[924, 536, -643984, -643984]$[374, 620, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e621UEOCEeadCvQ7UGhFAA" id="(1.0,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e621UUOCEeadCvQ7UGhFAA" id="(1.0,0.6363636363636364)"/>
-    </edges>
-  </notation:Diagram>
-  <css:EmbeddedStyleSheet xmi:id="_B2g2QXn3EeOfttgBwSq-Ig" label="Animation" content=":animated{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 3px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #c00000;&#xA;&#x9;bold: true;&#xA;} &#xA;&#xA;:suspended{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #fab953;&#xA;&#x9;bold: true;&#xA;}&#xA;&#xA;:visited{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #92d050;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #92d050;&#xA;}&#xA;Transition > Label {&#xA;&#x9;bodyCutLength: 1;&#xA;&#x9;indicateParameters: true;&#xA;&#x9;lineBreakBeforeEffect : true;&#xA;}"/>
-  <css:ModelStyleSheets xmi:id="_Rz4BcMcpEeSsAI2TZshUyg"/>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSM.uml b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSM.uml
deleted file mode 100644
index f9378c2..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSM.uml
+++ /dev/null
@@ -1,431 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc">
-  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="SimpleSMExample">
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
-      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/core.uml#_O6TiIDLUEd26WNosUASSSw"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_rwBsMP7AEd6Zw96O-tCw7A">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/corba.uml#_DtQEwDLdEd2_U4efLnjQIw"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_YvEs8OusEeCTfOY57pgE3w">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/statemachine.uml#_ago_QOUTEd-P08Bciq_LqQ"/>
-    </packageImport>
-    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="components">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_cb-ncDemEeGPyrZ5I3hMlA" annotatedElement="_oqZNUDLaEd2qeKRLMdIx_A">
-        <body>State-machine support is enabled with a container rule</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Package" xmi:id="_Tp4n8DLaEd2qeKRLMdIx_A" name="Interfaces">
-        <packagedElement xmi:type="uml:Interface" xmi:id="_cn-H0DLbEd2qeKRLMdIx_A" name="ICompute">
-          <ownedReception xmi:type="uml:Reception" xmi:id="_1U0U8McqEeSsAI2TZshUyg" name="add" signal="_ywk2kMcqEeSsAI2TZshUyg"/>
-          <ownedReception xmi:type="uml:Reception" xmi:id="_M-tXYMcrEeSsAI2TZshUyg" name="mult" signal="_z0nGcMcqEeSsAI2TZshUyg"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_DGs6wDLgEd28fJKJJnUaeQ" name="add">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6wTLgEd28fJKJJnUaeQ" name="a">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6wzLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6wjLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6xTLgEd28fJKJJnUaeQ" name="b">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6xzLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6xjLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6yTLgEd28fJKJJnUaeQ" name="res" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6yzLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6yjLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-          </ownedOperation>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_L8EY8DLgEd28fJKJJnUaeQ" name="mult">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY8TLgEd28fJKJJnUaeQ" name="a">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY8zLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY8jLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY9TLgEd28fJKJJnUaeQ" name="b">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY9zLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY9jLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY-TLgEd28fJKJJnUaeQ" name="res" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY-zLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY-jLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-          </ownedOperation>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Signal" xmi:id="_ywk2kMcqEeSsAI2TZshUyg" name="Add"/>
-        <packagedElement xmi:type="uml:Signal" xmi:id="_z0nGcMcqEeSsAI2TZshUyg" name="Mult"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_XLQjUDLiEd2RVeNawwNNzg" name="System">
-        <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="System_impl">
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_gV1cgDLiEd2RVeNawwNNzg" name="simpleSM" type="_oqZNUDLaEd2qeKRLMdIx_A" isUnique="false" aggregation="composite"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_oqZNUDLaEd2qeKRLMdIx_A" name="SimpleSM" classifierBehavior="_y7KWsOYXEeCBL_IbXY9ofw">
-        <generalization xmi:type="uml:Generalization" xmi:id="_LuEUwCgBEeapjr3l63b85A">
-          <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
-        </generalization>
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_4KiE8DLbEd2qeKRLMdIx_A" name="p" type="_cn-H0DLbEd2qeKRLMdIx_A" aggregation="composite"/>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_YQqH0JYlEd6G9q9hwr11bw" name="derived realization of ICompute" client="_oqZNUDLaEd2qeKRLMdIx_A" supplier="_cn-H0DLbEd2qeKRLMdIx_A" contract="_cn-H0DLbEd2qeKRLMdIx_A"/>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_VGnYgCgBEeapjr3l63b85A" name="derived realization of IStart" client="_oqZNUDLaEd2qeKRLMdIx_A">
-          <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
-          <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
-        </interfaceRealization>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_qxjWINnmEd2_cstbO2Uzgg" name="mult" specification="_4ZEZwHecEd6r18stFZxmFQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_VG4eQCgBEeapjr3l63b85A" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VG5FUCgBEeapjr3l63b85A" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VG5sYCgBEeapjr3l63b85A" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_VG5sYSgBEeapjr3l63b85A" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VG6TcCgBEeapjr3l63b85A" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VG66gCgBEeapjr3l63b85A" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_VG7hkCgBEeapjr3l63b85A" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VG8IoCgBEeapjr3l63b85A" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VG8IoSgBEeapjr3l63b85A" value="1"/>
-          </ownedParameter>
-          <language>C/C++</language>
-          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a*b=&quot; &lt;&lt; a*b &lt;&lt; endl;
-return a*b;</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ML-4AKI5Ed6FqJCjEUrkqQ" name="add" specification="_TbIjUJYlEd6G9q9hwr11bw">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_VG8vsCgBEeapjr3l63b85A" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VG9WwCgBEeapjr3l63b85A" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VG990CgBEeapjr3l63b85A" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_VG990SgBEeapjr3l63b85A" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VG-k4CgBEeapjr3l63b85A" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VG-k4SgBEeapjr3l63b85A" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_VG_L8CgBEeapjr3l63b85A" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VG_zACgBEeapjr3l63b85A" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VG_zASgBEeapjr3l63b85A" value="1"/>
-          </ownedParameter>
-          <language>C/C++</language>
-          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a+b=&quot; &lt;&lt; a+b &lt;&lt; endl;
-return a+b;</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_y7KWsOYXEeCBL_IbXY9ofw" name="SMServer">
-          <region xmi:type="uml:Region" xmi:id="_0Lv00OYXEeCBL_IbXY9ofw" name="Region0">
-            <transition xmi:type="uml:Transition" xmi:id="_CLBzIOYYEeCBL_IbXY9ofw" name="Transition0" source="_1UVNgOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw"/>
-            <transition xmi:type="uml:Transition" xmi:id="_Doi6AOYYEeCBL_IbXY9ofw" name="Transition1" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
-              <trigger xmi:type="uml:Trigger" xmi:id="_rHpXoOtoEeCjb9i0gG4phA" event="_rHoJgOtoEeCjb9i0gG4phA"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_OH_UYOYYEeCBL_IbXY9ofw" name="Transition2" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw">
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_CAWpgSSoEeG6GJ4vU06VYQ" name="add">
-                <language>C/C++</language>
-                <body>add(2,3);&#xD;
-mult(3,5);&#xD;
-std::cout &lt;&lt;&quot;From State1 to State0 \n&quot;;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_-aQtACaeEeG4fZdVXNtoOQ" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_mJvoUOtqEeCzSsOGmQH2aA" name="Transition3" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
-              <trigger xmi:type="uml:Trigger" xmi:id="_8WepQHoDEeOA64V_YLapaA" event="_8WeCMHoDEeOA64V_YLapaA"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_rdKgsCjmEeaJJusTB1aIbg" source="_53E_8OYXEeCBL_IbXY9ofw" target="_owZYcCjmEeaJJusTB1aIbg">
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_-EnkACjmEeaJJusTB1aIbg">
-                <language>C++</language>
-                <body>std::cout &lt;&lt; &quot;From State 0 to State 2\n&quot;;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_4eMuECjmEeaJJusTB1aIbg" event="_4WSIMCjmEeaJJusTB1aIbg"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_BO7j4CjnEeaJJusTB1aIbg" source="_owZYcCjmEeaJJusTB1aIbg" target="__9lQwCjmEeaJJusTB1aIbg">
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_F9mScCjnEeaJJusTB1aIbg">
-                <language>C++</language>
-                <body>std::cout &lt;&lt;&quot;From State 2 to Junction1\n&quot;;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_GlK94CjpEeaJJusTB1aIbg" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_G1QTMCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_53E_8OYXEeCBL_IbXY9ofw"/>
-            <transition xmi:type="uml:Transition" xmi:id="_HnKRQCjnEeaJJusTB1aIbg" guard="_KB4nQCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_7_1cMOYXEeCBL_IbXY9ofw">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_KB4nQCjnEeaJJusTB1aIbg">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_KB4nQSjnEeaJJusTB1aIbg">
-                  <language>C++</language>
-                  <body>true</body>
-                </specification>
-              </ownedRule>
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_QlLVICjnEeaJJusTB1aIbg">
-                <language>C++</language>
-                <body>std::cout &lt;&lt; &quot;From Junction1 to State 1 \n&quot;;</body>
-              </effect>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_g3iPUEOAEeadCvQ7UGhFAA" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_cyKVYEOAEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_mUQWsEOAEeadCvQ7UGhFAA" source="_cyKVYEOAEeadCvQ7UGhFAA" target="_jt7NoEOAEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_qtXsAEOAEeadCvQ7UGhFAA" guard="_wCmrUEOAEeadCvQ7UGhFAA" source="_jt7NoEOAEeadCvQ7UGhFAA" target="_nhVN0EOAEeadCvQ7UGhFAA">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_wCmrUEOAEeadCvQ7UGhFAA">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_wCmrUUOAEeadCvQ7UGhFAA">
-                  <language>C++</language>
-                  <body>which_rack==0</body>
-                </specification>
-              </ownedRule>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_0dpTQEOAEeadCvQ7UGhFAA" source="_jt7NoEOAEeadCvQ7UGhFAA" target="_xKx0UEOAEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_4tzg4EOAEeadCvQ7UGhFAA" source="_xKx0UEOAEeadCvQ7UGhFAA" target="_11G1cEOAEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_5E7AYEOAEeadCvQ7UGhFAA" source="_11G1cEOAEeadCvQ7UGhFAA" target="_3OJsAEOAEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_B0R9MEOBEeadCvQ7UGhFAA" source="_3OJsAEOAEeadCvQ7UGhFAA" target="_8N5jgEOAEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_Gm27YEOBEeadCvQ7UGhFAA" guard="_J2-oUEOBEeadCvQ7UGhFAA" source="_8N5jgEOAEeadCvQ7UGhFAA" target="_CzHkAEOBEeadCvQ7UGhFAA">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_J2-oUEOBEeadCvQ7UGhFAA">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_J2-oUUOBEeadCvQ7UGhFAA">
-                  <language>C++</language>
-                  <body>is_misplace</body>
-                </specification>
-              </ownedRule>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_KWyJwEOBEeadCvQ7UGhFAA" source="_8N5jgEOAEeadCvQ7UGhFAA" target="_EtK14EOBEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_OBSsoEOBEeadCvQ7UGhFAA" source="_CzHkAEOBEeadCvQ7UGhFAA" target="_LPM_gEOBEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_Ovt44EOBEeadCvQ7UGhFAA" source="_EtK14EOBEeadCvQ7UGhFAA" target="_LPM_gEOBEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_P_HEMEOBEeadCvQ7UGhFAA" source="_LPM_gEOBEeadCvQ7UGhFAA" target="_PiyUkEOBEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_Q3bzUEOBEeadCvQ7UGhFAA" source="_nhVN0EOAEeadCvQ7UGhFAA" target="_PiyUkEOBEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_TwTBYEOCEeadCvQ7UGhFAA" guard="_X_xSgEOCEeadCvQ7UGhFAA" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_S3gYMEOCEeadCvQ7UGhFAA">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_X_xSgEOCEeadCvQ7UGhFAA">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_X_xSgUOCEeadCvQ7UGhFAA">
-                  <language>C++</language>
-                  <body>is_misplace</body>
-                </specification>
-              </ownedRule>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_a-EPoEOCEeadCvQ7UGhFAA" source="_S3gYMEOCEeadCvQ7UGhFAA" target="_QUQYUEOCEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_bduAEEOCEeadCvQ7UGhFAA" source="_S3gYMEOCEeadCvQ7UGhFAA" target="_RobV8EOCEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_e5OdoEOCEeadCvQ7UGhFAA" source="_cbYiMEOCEeadCvQ7UGhFAA" target="_11G1cEOAEeadCvQ7UGhFAA"/>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_1UVNgOYXEeCBL_IbXY9ofw" name="Initial0"/>
-            <subvertex xmi:type="uml:State" xmi:id="_53E_8OYXEeCBL_IbXY9ofw" name="State0"/>
-            <subvertex xmi:type="uml:State" xmi:id="_7_1cMOYXEeCBL_IbXY9ofw" name="State1"/>
-            <subvertex xmi:type="uml:State" xmi:id="_owZYcCjmEeaJJusTB1aIbg" name="State2"/>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="__9lQwCjmEeaJJusTB1aIbg" name="Junction1" kind="junction"/>
-            <subvertex xmi:type="uml:State" xmi:id="_cyKVYEOAEeadCvQ7UGhFAA" name="Prepare_Conveyer"/>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_jt7NoEOAEeadCvQ7UGhFAA" name="check_rack" kind="choice"/>
-            <subvertex xmi:type="uml:State" xmi:id="_nhVN0EOAEeadCvQ7UGhFAA" name="empty_shelf"/>
-            <subvertex xmi:type="uml:State" xmi:id="_xKx0UEOAEeadCvQ7UGhFAA" name="not_empty_shelf"/>
-            <subvertex xmi:type="uml:State" xmi:id="_11G1cEOAEeadCvQ7UGhFAA" name="pick_chassis"/>
-            <subvertex xmi:type="uml:State" xmi:id="_3OJsAEOAEeadCvQ7UGhFAA" name="deliver_car"/>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_8N5jgEOAEeadCvQ7UGhFAA" name="mismatchChoice" kind="choice"/>
-            <subvertex xmi:type="uml:State" xmi:id="_CzHkAEOBEeadCvQ7UGhFAA" name="misplace"/>
-            <subvertex xmi:type="uml:State" xmi:id="_EtK14EOBEeadCvQ7UGhFAA" name="not_misplace"/>
-            <subvertex xmi:type="uml:State" xmi:id="_LPM_gEOBEeadCvQ7UGhFAA" name="rewind_conveyor"/>
-            <subvertex xmi:type="uml:FinalState" xmi:id="_PiyUkEOBEeadCvQ7UGhFAA" name="FinalState1"/>
-            <subvertex xmi:type="uml:State" xmi:id="_OZYAAEOCEeadCvQ7UGhFAA" name="State3">
-              <region xmi:type="uml:Region" xmi:id="_PWnrYkOCEeadCvQ7UGhFAA" name="Region1">
-                <transition xmi:type="uml:Transition" xmi:id="_dedIwEOCEeadCvQ7UGhFAA" source="_QUQYUEOCEeadCvQ7UGhFAA" target="_cbYiMEOCEeadCvQ7UGhFAA"/>
-                <subvertex xmi:type="uml:State" xmi:id="_QUQYUEOCEeadCvQ7UGhFAA" name="State4"/>
-              </region>
-              <region xmi:type="uml:Region" xmi:id="_P1Z5IEOCEeadCvQ7UGhFAA" name="Region2">
-                <transition xmi:type="uml:Transition" xmi:id="_eAXjAEOCEeadCvQ7UGhFAA" source="_RobV8EOCEeadCvQ7UGhFAA" target="_cbYiMEOCEeadCvQ7UGhFAA"/>
-                <subvertex xmi:type="uml:State" xmi:id="_RobV8EOCEeadCvQ7UGhFAA" name="State5"/>
-              </region>
-            </subvertex>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_S3gYMEOCEeadCvQ7UGhFAA" name="Fork1" kind="fork"/>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_cbYiMEOCEeadCvQ7UGhFAA" name="Join1" kind="join"/>
-          </region>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_YNCW4CgBEeapjr3l63b85A" name="run" specification="_VGsRACgBEeapjr3l63b85A">
-          <language>C/C++</language>
-          <body>cout &lt;&lt; &quot;call add (2, 3);&quot; &lt;&lt; endl;
-cout &lt;&lt; &quot;result: &quot; &lt;&lt; add (2, 3) &lt;&lt; endl;
-cout &lt;&lt; &quot;sleeping for 15 seconds (statemachine remains active);&quot; &lt;&lt; endl;
-sleep(15);
-</body>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_4ZEZwHecEd6r18stFZxmFQ" name="mult" method="_qxjWINnmEd2_cstbO2Uzgg">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_4ZEZwXecEd6r18stFZxmFQ" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_4ZEZwnecEd6r18stFZxmFQ" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_4ZEZw3ecEd6r18stFZxmFQ" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_TbIjUJYlEd6G9q9hwr11bw" name="add" method="_ML-4AKI5Ed6FqJCjEUrkqQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_TbZCAJYlEd6G9q9hwr11bw" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_TbdTcJYlEd6G9q9hwr11bw" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_TbkoMJYlEd6G9q9hwr11bw" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_VGsRACgBEeapjr3l63b85A" name="run" method="_YNCW4CgBEeapjr3l63b85A"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_rGzqIOtoEeCjb9i0gG4phA" name="events">
-        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_rHoJgOtoEeCjb9i0gG4phA" name="TE - {value=50, unit=ms}" isRelative="true">
-          <when xmi:type="uml:TimeExpression" xmi:id="_rHoJgetoEeCjb9i0gG4phA">
-            <expr xmi:type="uml:OpaqueExpression" xmi:id="_rHoJgutoEeCjb9i0gG4phA">
-              <language>Natural language</language>
-              <body>{value=50, unit=ms}</body>
-            </expr>
-          </when>
-        </packagedElement>
-        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_-PMFcCaeEeG4fZdVXNtoOQ" name="TE - {value=500, unit=ms}" isRelative="true">
-          <when xmi:type="uml:TimeExpression" xmi:id="_-PMFcSaeEeG4fZdVXNtoOQ">
-            <expr xmi:type="uml:OpaqueExpression" xmi:id="_-PMFciaeEeG4fZdVXNtoOQ">
-              <language>Natural language</language>
-              <body>{value=500, unit=ms}</body>
-            </expr>
-          </when>
-        </packagedElement>
-        <packagedElement xmi:type="uml:CallEvent" xmi:id="_8WeCMHoDEeOA64V_YLapaA" name="CE - CServer_impl - add" operation="_TbIjUJYlEd6G9q9hwr11bw"/>
-        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_4WSIMCjmEeaJJusTB1aIbg" name="TE - {value=25, unit=ms}" isRelative="true">
-          <when xmi:type="uml:TimeExpression" xmi:id="_4WSIMSjmEeaJJusTB1aIbg">
-            <expr xmi:type="uml:OpaqueExpression" xmi:id="_4WSIMijmEeaJJusTB1aIbg">
-              <language>Natural language</language>
-              <body>{value=25, unit=ms}</body>
-            </expr>
-          </when>
-        </packagedElement>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_v3fMgDLiEd2RVeNawwNNzg" name="platform">
-      <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="MonoNode">
-        <generalization xmi:type="uml:Generalization" xmi:id="_A39CYHDaEeORJcfdyIEeTg">
-          <general xmi:type="uml:Class" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmImnHEeOtZICylR5Azw"/>
-        </generalization>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_M1a_8MniEeCMCo5Ox2CNmg" name="HWArchitectureMonolithic">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_QgKzYMniEeCMCo5Ox2CNmg" name="monoNode" visibility="public" type="_zY9vMDLiEd2RVeNawwNNzg" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XijRAMniEeCMCo5Ox2CNmg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XkfxwMniEeCMCo5Ox2CNmg" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_XlIq8MniEeCMCo5Ox2CNmg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_Ndc2cGGIEeO2F4QRMDSOXg" name="Eclipse" type="_GUl9YGGIEeO2F4QRMDSOXg" aggregation="composite"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_GUl9YGGIEeO2F4QRMDSOXg" name="EclipseServer">
-        <generalization xmi:type="uml:Generalization" xmi:id="_Bpd-4HDaEeORJcfdyIEeTg">
-          <general xmi:type="uml:Class" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmImnHEeOtZICylR5Azw"/>
-        </generalization>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_ZDrmkHDaEeORJcfdyIEeTg" name="HWArchitectureMonolithicPlatform">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDrmkXDaEeORJcfdyIEeTg" classifier="_M1a_8MniEeCMCo5Ox2CNmg">
-          <slot xmi:type="uml:Slot" xmi:id="_ZDsNoXDaEeORJcfdyIEeTg" definingFeature="_QgKzYMniEeCMCo5Ox2CNmg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_ZDs0sHDaEeORJcfdyIEeTg" instance="_ZDsNoHDaEeORJcfdyIEeTg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_ZDtbwHDaEeORJcfdyIEeTg" definingFeature="_Ndc2cGGIEeO2F4QRMDSOXg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_ZDuC0HDaEeORJcfdyIEeTg" instance="_ZDs0sXDaEeORJcfdyIEeTg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDsNoHDaEeORJcfdyIEeTg" name="monoNode" classifier="_zY9vMDLiEd2RVeNawwNNzg">
-          <slot xmi:type="uml:Slot" xmi:id="_fg9zEHDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJWnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralString" xmi:id="_fg-aIHDaEeORJcfdyIEeTg" name="value for IPaddress" value="127.0.0.1">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-            </value>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_hDbrYHDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJmnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralInteger" xmi:id="_hDcScHDaEeORJcfdyIEeTg" name="value for portNumber" value="12345">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-            </value>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDs0sXDaEeORJcfdyIEeTg" name="Eclipse" classifier="_GUl9YGGIEeO2F4QRMDSOXg">
-          <slot xmi:type="uml:Slot" xmi:id="_oXzQ4HDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJWnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralString" xmi:id="_oXz38HDaEeORJcfdyIEeTg" name="value for IPaddress" value="127.0.0.1">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-            </value>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_plcIsHDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJmnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralInteger" xmi:id="_plcvwHDaEeORJcfdyIEeTg" name="value for portNumber" value="12346">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-            </value>
-          </slot>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_NaSPIHltEeOh_8tymvdOOg" name="System_implPlatform">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaS2MHltEeOh_8tymvdOOg" classifier="_bYJagDLiEd2RVeNawwNNzg">
-          <slot xmi:type="uml:Slot" xmi:id="_NaTdQXltEeOh_8tymvdOOg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaUEUHltEeOh_8tymvdOOg" instance="_NaTdQHltEeOh_8tymvdOOg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_NaVScHltEeOh_8tymvdOOg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaV5gHltEeOh_8tymvdOOg" instance="_NaUrYHltEeOh_8tymvdOOg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_NaXHoHltEeOh_8tymvdOOg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaXHoXltEeOh_8tymvdOOg" instance="_NaWgkHltEeOh_8tymvdOOg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_NaXusXltEeOh_8tymvdOOg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaYVwHltEeOh_8tymvdOOg" instance="_NaXusHltEeOh_8tymvdOOg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaTdQHltEeOh_8tymvdOOg" name="server" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaUrYHltEeOh_8tymvdOOg" name="client"/>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaWgkHltEeOh_8tymvdOOg" name="singleton_localanimservice">
-          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/statemachine.uml#_xELAwF81EeGbQoflzrdx0g"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaXusHltEeOh_8tymvdOOg" name="singleton_remoteanimservice">
-          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/statemachine.uml#_B0gFAHg_EeOejZqJpKQeww"/>
-        </packagedElement>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
-      <packagedElement xmi:type="uml:Package" xmi:id="_QQiDgHltEeOh_8tymvdOOg" name="System_implDepPlan">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_QQm8AHltEeOh_8tymvdOOg" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg">
-          <slot xmi:type="uml:Slot" xmi:id="_QQtpsHltEeOh_8tymvdOOg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_QQuQwHltEeOh_8tymvdOOg" instance="_QQr0gHltEeOh_8tymvdOOg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_QQr0gHltEeOh_8tymvdOOg" name="mainInstance.simpleSM" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
-        <packagedElement xmi:type="uml:Abstraction" xmi:id="_StNrwCQdEeabuaUFyev1pw" name="allocate mainInstance to monoNode" client="_QQm8AHltEeOh_8tymvdOOg" supplier="_ZDsNoHDaEeORJcfdyIEeTg"/>
-      </packagedElement>
-    </packagedElement>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_GcC0cAHtEd6HSdiss9GQ0A">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Gd1kMAHtEd6HSdiss9GQ0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_z1TwgFW3Ed63BrxiKsw-0Q">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z2GasFW3Ed63BrxiKsw-0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_zi-sUE2sEeGl8qrc8BM7vA">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0QJUUE2sEeGl8qrc8BM7vA" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
-    </profileApplication>
-  </uml:Model>
-  <FCM:DerivedElement xmi:id="_DWb6oP6yEd6Ie_kieu_3CQ" base_Element="_TbIjUJYlEd6G9q9hwr11bw" source="_DGs6wDLgEd28fJKJJnUaeQ"/>
-  <FCM:DerivedElement xmi:id="_DXK6cP6yEd6Ie_kieu_3CQ" base_Element="_4ZEZwHecEd6r18stFZxmFQ" source="_L8EY8DLgEd28fJKJJnUaeQ"/>
-  <FCM:RuleApplication xmi:id="_DWIYoP6yEd6Ie_kieu_3CQ" base_Class="_oqZNUDLaEd2qeKRLMdIx_A">
-    <containerRule xmi:type="FCM:ContainerRule" href="pathmap://QML_CORE/statemachine.uml#_7BlhkCPoEeauR8esGjVxRA"/>
-    <propagateRule>false</propagateRule>
-    <containerRule xmi:type="FCM:CompositeCRule" href="pathmap://QML_CORE/statemachine.uml#_BncCwO68EeCZ9MjsZTV1zw"/>
-    <interceptor href="pathmap://QML_TRACE/tracing.uml#_35od4DKrEd-z5o2wSoJ16A"/>
-  </FCM:RuleApplication>
-  <FCM:Port xmi:id="_GofhQP6yEd6Ie_kieu_3CQ" base_Port="_4KiE8DLbEd2qeKRLMdIx_A" type="_cn-H0DLbEd2qeKRLMdIx_A">
-    <kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_wySlkFRxEd6GqrP6fkWBoQ"/>
-  </FCM:Port>
-  <FCM:Target xmi:id="_HvbFMLqQEd-BObGGoBbehA" base_Node="_zY9vMDLiEd2RVeNawwNNzg">
-    <targetArch xmi:type="FCM:TargetArchitecture" href="pathmap://QML_CORE/core.uml#_FYOqwF0OEd-12d_h0i1xhQ"/>
-    <usedOS xmi:type="FCM:OperatingSystem" href="pathmap://QML_CORE/core.uml#_1eULwF0NEd-12d_h0i1xhQ"/>
-  </FCM:Target>
-  <C_Cpp:Include xmi:id="_EaeJMNp0EeKd1ax3yaXM9w" body="#include &lt;iostream>&#xA;using namespace std;&#xA;&#xA;#include &lt;unistd.h>&#xA;" base_class="_oqZNUDLaEd2qeKRLMdIx_A"/>
-  <FCM:DeploymentPlan xmi:id="_QQlt4HltEeOh_8tymvdOOg" mainInstance="_QQm8AHltEeOh_8tymvdOOg" base_Package="_QQiDgHltEeOh_8tymvdOOg"/>
-  <Alloc:Allocate xmi:id="_StSkQCQdEeabuaUFyev1pw" base_Abstraction="_StNrwCQdEeabuaUFyev1pw"/>
-  <FCM:DerivedElement xmi:id="_VGxwkCgBEeapjr3l63b85A" base_Element="_VGsRACgBEeapjr3l63b85A">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSMChangeEvent.notation b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSMChangeEvent.notation
deleted file mode 100644
index b3b656e..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSMChangeEvent.notation
+++ /dev/null
@@ -1,1477 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
-  <notation:Diagram xmi:id="_XSHWMF36Ed-UvNEDwY5GNg" type="PapyrusUMLClassDiagram" name="Interfaces" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_MTW5IDcZEeGPyrZ5I3hMlA" type="Interface_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTYuUDcZEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTYuUTcZEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTZVYDcZEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTZVYTcZEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTZVYjcZEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTZVYzcZEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_MTZVZDcZEeGPyrZ5I3hMlA" type="Interface_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IDa5YPX4EeWa_pjn9guopQ" visible="false" type="Interface_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZVZjcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZVZzcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZVaDcZEeGPyrZ5I3hMlA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZVaTcZEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IHycAPX4EeWa_pjn9guopQ" type="Interface_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_QIpIoDcZEeGPyrZ5I3hMlA" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-jHsIFmOEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-ovzAFmOEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="SimpleSMChangeEvent.uml#_DGs6wDLgEd28fJKJJnUaeQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_QIpIoTcZEeGPyrZ5I3hMlA"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_QIqWwDcZEeGPyrZ5I3hMlA" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__X1GkFmOEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__X6mIFmOEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="SimpleSMChangeEvent.uml#_L8EY8DLgEd28fJKJJnUaeQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_QIqWwTcZEeGPyrZ5I3hMlA"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_1U9e4McqEeSsAI2TZshUyg" type="Reception_InterfaceReceptionLabel">
-          <element xmi:type="uml:Reception" href="SimpleSMChangeEvent.uml#_1U0U8McqEeSsAI2TZshUyg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1U9e4ccqEeSsAI2TZshUyg"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_M-0sIMcrEeSsAI2TZshUyg" type="Reception_InterfaceReceptionLabel">
-          <element xmi:type="uml:Reception" href="SimpleSMChangeEvent.uml#_M-tXYMcrEeSsAI2TZshUyg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_M-0sIccrEeSsAI2TZshUyg"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZ8cDcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZ8cTcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZ8cjcZEeGPyrZ5I3hMlA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZ8czcZEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IHycAfX4EeWa_pjn9guopQ" visible="false" type="Interface_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZ8dTcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZ8djcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZ8dzcZEeGPyrZ5I3hMlA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZ8eDcZEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hsloIFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hsloIVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hsloIlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_XYUeMGkLEeWakucY9QdE0g" type="Interface_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_XYUeMWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Interface" href="SimpleSMChangeEvent.uml#_cn-H0DLbEd2qeKRLMdIx_A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTW5ITcZEeGPyrZ5I3hMlA" x="150" y="111" width="337" height="110"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_ywpIAMcqEeSsAI2TZshUyg" type="Signal_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_ywpvEMcqEeSsAI2TZshUyg" type="Signal_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ywpvEccqEeSsAI2TZshUyg" type="Signal_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_ywpvEscqEeSsAI2TZshUyg" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IH2tcPX4EeWa_pjn9guopQ" type="Signal_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_ywqWIccqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_ywqWIscqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_ywqWI8cqEeSsAI2TZshUyg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ywqWJMcqEeSsAI2TZshUyg"/>
-      </children>
-      <element xmi:type="uml:Signal" href="SimpleSMChangeEvent.uml#_ywk2kMcqEeSsAI2TZshUyg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ywpIAccqEeSsAI2TZshUyg" x="640" y="120"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_z0oUkMcqEeSsAI2TZshUyg" type="Signal_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_z0o7oMcqEeSsAI2TZshUyg" type="Signal_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_z0o7occqEeSsAI2TZshUyg" type="Signal_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_z0o7oscqEeSsAI2TZshUyg" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IH4ioPX4EeWa_pjn9guopQ" type="Signal_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_z0o7pMcqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_z0o7pccqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_z0o7pscqEeSsAI2TZshUyg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0o7p8cqEeSsAI2TZshUyg"/>
-      </children>
-      <element xmi:type="uml:Signal" href="SimpleSMChangeEvent.uml#_z0nGcMcqEeSsAI2TZshUyg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0oUkccqEeSsAI2TZshUyg" x="840" y="120"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_XSHWMV36Ed-UvNEDwY5GNg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_XYVFQGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="SimpleSMChangeEvent.uml#_Tp4n8DLaEd2qeKRLMdIx_A"/>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_aeSh0F37Ed-UvNEDwY5GNg" type="CompositeStructure" name="CompositeDiagram SimpleSM" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_c2tKsF37Ed-UvNEDwY5GNg" type="Class_Shape" fontName="Monospace" fontHeight="10" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MXrr0H8eEd-5xfPoaTlRww" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MXsS4H8eEd-5xfPoaTlRww" key="QualifiedNameDepth" value="1"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NqCEgH8eEd-5xfPoaTlRww" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NqCEgX8eEd-5xfPoaTlRww" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_c2tKsl37Ed-UvNEDwY5GNg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_I-1YwPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2tKtF37Ed-UvNEDwY5GNg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_FzA74GfbEd-T-rJ3Ep9Y5Q" type="Port_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzSosGfbEd-T-rJ3Ep9Y5Q" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzTPwGfbEd-T-rJ3Ep9Y5Q" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzTPwWfbEd-T-rJ3Ep9Y5Q" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzT20GfbEd-T-rJ3Ep9Y5Q" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzT20WfbEd-T-rJ3Ep9Y5Q" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzT20mfbEd-T-rJ3Ep9Y5Q" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FzUd4GfbEd-T-rJ3Ep9Y5Q" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FzUd4WfbEd-T-rJ3Ep9Y5Q" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FzUd4mfbEd-T-rJ3Ep9Y5Q" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FzUd42fbEd-T-rJ3Ep9Y5Q" x="-50" y="-30"/>
-        </children>
-        <element xmi:type="uml:Port" href="SimpleSMChangeEvent.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FzA74WfbEd-T-rJ3Ep9Y5Q" x="-10" y="130"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hw-_8FbmEeObiJAlOlmjpQ" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hw-_8VbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="FCM:RuleApplication" href="SimpleSMChangeEvent.uml#_DWIYoP6yEd6Ie_kieu_3CQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hw-_8lbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hxIJ4FbmEeObiJAlOlmjpQ" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hxIJ4VbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="C_Cpp:Include" href="SimpleSMChangeEvent.uml#_EaeJMNp0EeKd1ax3yaXM9w"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxIJ4lbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hxIJ41bmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hxIJ5FbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxIJ5VbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Xth5MGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Xth5MWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Xvnj4GkLEeWakucY9QdE0g" type="StereotypeCompartment">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XvvfsGkLEeWakucY9QdE0g" source="PapyrusCSSForceValue">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XvvfsWkLEeWakucY9QdE0g" key="visible" value="true"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_XvoyAGkLEeWakucY9QdE0g" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_r2VLUJD2Ed-I9dVdNhZAGQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_XvoyAWkLEeWakucY9QdE0g"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Xvnj4WkLEeWakucY9QdE0g" showTitle="true"/>
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_Xvnj4mkLEeWakucY9QdE0g" name="stereotype" stringValue="FCM::RuleApplication"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_te7YAMtkEd2H_o0jIC6qDQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xvnj42kLEeWakucY9QdE0g"/>
-      </children>
-      <element xmi:type="uml:Class" href="SimpleSMChangeEvent.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2tKsV37Ed-UvNEDwY5GNg" x="100" y="140" width="321" height="161"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_ccPtMDemEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQUQDemEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQUQTemEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQUQjemEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQUQzemEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQURDemEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQURTemEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ccQURjemEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="SimpleSMChangeEvent.uml#_cb-ncDemEeGPyrZ5I3hMlA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccPtMTemEeGPyrZ5I3hMlA" x="500" y="140" width="184"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Xvj5gGkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_Xvj5gWkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xvj5g2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="SimpleSMChangeEvent.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xvj5gmkLEeWakucY9QdE0g" x="308" y="72"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_XxYecGkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_XxYecWkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XxYec2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="SimpleSMChangeEvent.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XxYecmkLEeWakucY9QdE0g" x="190" y="108"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Dv6ycCgBEeapjr3l63b85A" type="Class_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Dv91wCgBEeapjr3l63b85A" type="Class_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Dv91wSgBEeapjr3l63b85A" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Dv91wigBEeapjr3l63b85A" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Dv-c0CgBEeapjr3l63b85A" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Dv-c0SgBEeapjr3l63b85A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dv-c0igBEeapjr3l63b85A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Dwk5wCgBEeapjr3l63b85A" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Dwk5wSgBEeapjr3l63b85A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dwk5wigBEeapjr3l63b85A"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_PI7SECgBEeapjr3l63b85A" type="Port_Shape">
-        <children xmi:type="notation:DecorationNode" xmi:id="_PI7SEigBEeapjr3l63b85A" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_PI7SEygBEeapjr3l63b85A" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_PI7SFCgBEeapjr3l63b85A" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_PI7SFSgBEeapjr3l63b85A" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PI7SESgBEeapjr3l63b85A" x="-10" y="30"/>
-      </children>
-      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dv6ycSgBEeapjr3l63b85A" x="100" y="20" width="321" height="61"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_PJhvACgBEeapjr3l63b85A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_PJhvASgBEeapjr3l63b85A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_PJhvAygBEeapjr3l63b85A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PJhvAigBEeapjr3l63b85A" x="190" y="-9"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_aeSh0V37Ed-UvNEDwY5GNg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_Xth5MmkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_0yX_oCgBEeapjr3l63b85A">
-      <owner xmi:type="uml:Package" href="SimpleSMChangeEvent.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
-    </styles>
-    <element xmi:type="uml:Package" href="SimpleSMChangeEvent.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
-    <edges xmi:type="notation:Connector" xmi:id="_gMg50DemEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_ccPtMDemEeGPyrZ5I3hMlA" target="_c2tKsF37Ed-UvNEDwY5GNg" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_gMg50TemEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gMg50jemEeGPyrZ5I3hMlA" points="[-10, -7, 55, 0]$[-42, -9, 23, -2]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gM_a8DemEeGPyrZ5I3hMlA" id="(0.0,0.6349206349206349)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gNACADemEeGPyrZ5I3hMlA" id="(1.0,0.43795620437956206)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Xvj5hGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_c2tKsF37Ed-UvNEDwY5GNg" target="_Xvj5gGkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_Xvj5hWkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xvj5iWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="SimpleSMChangeEvent.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xvj5hmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xvj5h2kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xvj5iGkLEeWakucY9QdE0g"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_XxYedGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_FzA74GfbEd-T-rJ3Ep9Y5Q" target="_XxYecGkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_XxYedWkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XxZFgGkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="SimpleSMChangeEvent.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XxYedmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XxYed2kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XxYeeGkLEeWakucY9QdE0g"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_LvBXACgBEeapjr3l63b85A" type="Generalization_Edge" source="_c2tKsF37Ed-UvNEDwY5GNg" target="_Dv6ycCgBEeapjr3l63b85A">
-      <children xmi:type="notation:DecorationNode" xmi:id="_LvClICgBEeapjr3l63b85A" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LvClISgBEeapjr3l63b85A" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_LvBXASgBEeapjr3l63b85A"/>
-      <element xmi:type="uml:Generalization" href="SimpleSMChangeEvent.uml#_LuEUwCgBEeapjr3l63b85A"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LvBXAigBEeapjr3l63b85A" points="[260, 140, -643984, -643984]$[260, 66, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LvZxgCgBEeapjr3l63b85A" id="(0.4984423676012461,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LvZxgSgBEeapjr3l63b85A" id="(0.4984423676012461,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_PJhvBCgBEeapjr3l63b85A" type="StereotypeCommentLink" source="_PI7SECgBEeapjr3l63b85A" target="_PJhvACgBEeapjr3l63b85A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_PJhvBSgBEeapjr3l63b85A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_PJiWECgBEeapjr3l63b85A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PJhvBigBEeapjr3l63b85A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PJhvBygBEeapjr3l63b85A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PJhvCCgBEeapjr3l63b85A"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_q-Wa0F37Ed-UvNEDwY5GNg" type="CompositeStructure" name="CompositeDiagram System" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_sGaPEF37Ed-UvNEDwY5GNg" type="Class_Shape" fontName="Sans Serif" fontHeight="10" transparency="0" gradient="8047085, 0, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6B6WUGSuEd-dQdK1-7wIFg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6B69YGSuEd-dQdK1-7wIFg" key="QualifiedNameDepth" value="3"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_62o-4GSuEd-dQdK1-7wIFg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_62o-4WSuEd-dQdK1-7wIFg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KXK-0GGEEeO2F4QRMDSOXg" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KXK-0WGEEeO2F4QRMDSOXg" key="fillColor" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_sGa2IF37Ed-UvNEDwY5GNg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JEi_MPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_vHCHcF37Ed-UvNEDwY5GNg" type="Property_Shape" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_haY70F38Ed-UvNEDwY5GNg" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_haY70V38Ed-UvNEDwY5GNg" key="QualifiedNameDepth" value="4"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_64BTMHl_EeOuQYJqyYp5HQ" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_64BTMXl_EeOuQYJqyYp5HQ" key="fillColor" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_vHCHcl37Ed-UvNEDwY5GNg" type="Property_NameLabel">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DC4cAFmPEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DJ5qAFmPEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JEkNUfX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vHCHdF37Ed-UvNEDwY5GNg"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_zk0VwDrcEeGgAdAmWw4pyQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk080TrcEeGgAdAmWw4pyQ" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk080jrcEeGgAdAmWw4pyQ" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk080zrcEeGgAdAmWw4pyQ" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk081DrcEeGgAdAmWw4pyQ" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk1j4DrcEeGgAdAmWw4pyQ" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk1j4TrcEeGgAdAmWw4pyQ" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_zk1j4jrcEeGgAdAmWw4pyQ" type="Port_NameLabel">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BYsLEFmPEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BeLIAFmPEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="28"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_zk1j4zrcEeGgAdAmWw4pyQ" x="25" y="3"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_zk1j5DrcEeGgAdAmWw4pyQ" visible="false" type="Port_StereotypeLabel">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_zk1j5TrcEeGgAdAmWw4pyQ" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="SimpleSMChangeEvent.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zk080DrcEeGgAdAmWw4pyQ" x="-10" y="50"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_hzStEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_hzStEVbmEeObiJAlOlmjpQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hzStElbmEeObiJAlOlmjpQ"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_Xx40xGkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_Xx40xWkLEeWakucY9QdE0g" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="SimpleSMChangeEvent.uml#_gV1cgDLiEd2RVeNawwNNzg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vHCHcV37Ed-UvNEDwY5GNg" x="54" y="33" width="201" height="112"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_X1dtMmkLEeWakucY9QdE0g" type="StereotypeComment">
-          <styles xmi:type="notation:TitleStyle" xmi:id="_X1dtM2kLEeWakucY9QdE0g" showTitle="true"/>
-          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X1dtNWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-            <eObjectValue xmi:type="uml:Port" href="SimpleSMChangeEvent.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-          </styles>
-          <element xsi:nil="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X1dtNGkLEeWakucY9QdE0g" x="190" y="59"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGa2Il37Ed-UvNEDwY5GNg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hzPCsFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hzPCsVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hzPCslbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Xx40wGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Xx40wWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="SimpleSMChangeEvent.uml#_bYJagDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGaPEV37Ed-UvNEDwY5GNg" x="60" y="40" width="321" height="221"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_q-Wa0V37Ed-UvNEDwY5GNg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_Xx40ymkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="SimpleSMChangeEvent.uml#_XLQjUDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_X1dtNmkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_zk0VwDrcEeGgAdAmWw4pyQ" target="_X1dtMmkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_X1dtN2kLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X1eUQmkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="SimpleSMChangeEvent.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X1dtOGkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X1eUQGkLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X1eUQWkLEeWakucY9QdE0g"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_6FvnwGONEd-seu3qyZgHfg" type="PapyrusUMLClassDiagram" name="deployment plans" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_TOVRYHltEeOh_8tymvdOOg" type="Package_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_TOVRYnltEeOh_8tymvdOOg" type="Package_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JLvMUPX4EeWa_pjn9guopQ" type="Package_PackagedElementCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_TOVRZHltEeOh_8tymvdOOg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TOVRZXltEeOh_8tymvdOOg"/>
-      </children>
-      <element xmi:type="uml:Package" href="SimpleSMChangeEvent.uml#_QQiDgHltEeOh_8tymvdOOg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TOVRYXltEeOh_8tymvdOOg" x="123" y="109" width="221" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_X47Q4GkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_X47Q4WkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X47Q42kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Package" href="SimpleSMChangeEvent.uml#_QQiDgHltEeOh_8tymvdOOg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X47Q4mkLEeWakucY9QdE0g" x="240" y="40"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_6FvnwWONEd-seu3qyZgHfg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_X3OnwGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="SimpleSMChangeEvent.uml#_234GEDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_X4738GkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_TOVRYHltEeOh_8tymvdOOg" target="_X47Q4GkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_X4738WkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X4739WkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Package" href="SimpleSMChangeEvent.uml#_QQiDgHltEeOh_8tymvdOOg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X4738mkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X47382kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X4739GkLEeWakucY9QdE0g"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_KYrjcKxkEeCgusK7cm6qjQ" type="PapyrusUMLClassDiagram" name="Platform" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_LsWKwKxkEeCgusK7cm6qjQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx0KxkEeCgusK7cm6qjQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx0axkEeCgusK7cm6qjQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx0qxkEeCgusK7cm6qjQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx06xkEeCgusK7cm6qjQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx1KxkEeCgusK7cm6qjQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx1axkEeCgusK7cm6qjQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LsWx1qxkEeCgusK7cm6qjQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JOqkgPX4EeWa_pjn9guopQ" visible="false" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY4axkEeCgusK7cm6qjQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY4qxkEeCgusK7cm6qjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY46xkEeCgusK7cm6qjQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JOrLkPX4EeWa_pjn9guopQ" visible="false" type="Class_OperationCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY5axkEeCgusK7cm6qjQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY5qxkEeCgusK7cm6qjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY56xkEeCgusK7cm6qjQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JOrLkfX4EeWa_pjn9guopQ" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY6axkEeCgusK7cm6qjQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY6qxkEeCgusK7cm6qjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY66xkEeCgusK7cm6qjQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h25asFbmEeObiJAlOlmjpQ" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h25asVbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="FCM:Target" href="SimpleSMChangeEvent.uml#_HvbFMLqQEd-BObGGoBbehA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h25aslbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h26BwFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h26BwVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h26BwlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X5Fo8GkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X5Fo8WkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Node" href="SimpleSMChangeEvent.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsWKwaxkEeCgusK7cm6qjQ" x="57" y="55" width="160" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_X6kPoGkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_X6kPoWkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X6kPo2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Node" href="SimpleSMChangeEvent.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X6kPomkLEeWakucY9QdE0g" x="257" y="55"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_KYrjcaxkEeCgusK7cm6qjQ"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_X5Fo8mkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="SimpleSMChangeEvent.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_X6kPpGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_LsWKwKxkEeCgusK7cm6qjQ" target="_X6kPoGkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_X6kPpWkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X6kPqWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Node" href="SimpleSMChangeEvent.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X6kPpmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X6kPp2kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X6kPqGkLEeWakucY9QdE0g"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_HoscYMniEeCMCo5Ox2CNmg" type="CompositeStructure" name="HWArchitecture" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_M1wXIMniEeCMCo5Ox2CNmg" type="Class_Shape" fontName="" fontHeight="10" fillColor="10011046" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BgMniEeCMCo5Ox2CNmg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10BgcniEeCMCo5Ox2CNmg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BgsniEeCMCo5Ox2CNmg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10Bg8niEeCMCo5Ox2CNmg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BhMniEeCMCo5Ox2CNmg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10BhcniEeCMCo5Ox2CNmg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_M10BhsniEeCMCo5Ox2CNmg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JRHbkPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_QgbSEMniEeCMCo5Ox2CNmg" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgbSEsniEeCMCo5Ox2CNmg" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QgbSE8niEeCMCo5Ox2CNmg" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qgb5IMniEeCMCo5Ox2CNmg" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qgb5IcniEeCMCo5Ox2CNmg" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qgb5IsniEeCMCo5Ox2CNmg" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qgb5I8niEeCMCo5Ox2CNmg" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_Qgb5JMniEeCMCo5Ox2CNmg" type="Property_NameLabel"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JRICoPX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qgb5JsniEeCMCo5Ox2CNmg"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_h493QFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_h493QVbmEeObiJAlOlmjpQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h493QlbmEeObiJAlOlmjpQ"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_X6unsmkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_X6uns2kLEeWakucY9QdE0g" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="SimpleSMChangeEvent.uml#_QgKzYMniEeCMCo5Ox2CNmg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QgbSEcniEeCMCo5Ox2CNmg" x="83" y="28" width="165" height="55"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_Ndrf8GGIEeO2F4QRMDSOXg" type="Property_Shape">
-          <children xmi:type="notation:DecorationNode" xmi:id="_Ndrf8mGIEeO2F4QRMDSOXg" type="Property_NameLabel"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JRJQwPX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_Ndrf9GGIEeO2F4QRMDSOXg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ndrf9WGIEeO2F4QRMDSOXg"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_znjjUHDZEeORJcfdyIEeTg" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_znjjUXDZEeORJcfdyIEeTg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_znjjUnDZEeORJcfdyIEeTg"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_X6untGkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_X6untWkLEeWakucY9QdE0g" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="SimpleSMChangeEvent.uml#_Ndc2cGGIEeO2F4QRMDSOXg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ndrf8WGIEeO2F4QRMDSOXg" x="346" y="33" width="109"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M10BiMniEeCMCo5Ox2CNmg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h48CEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h48CEVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h48CElbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X6unsGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unsWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="SimpleSMChangeEvent.uml#_M1a_8MniEeCMCo5Ox2CNmg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M1wXIcniEeCMCo5Ox2CNmg" x="72" y="72" width="577" height="163"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_BLhG8DemEeGPyrZ5I3hMlA" type="Node_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG8jemEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG8zemEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG9DemEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG9TemEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG9jemEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG9zemEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_BLhuADemEeGPyrZ5I3hMlA" type="Node_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JRKe4PX4EeWa_pjn9guopQ" visible="false" type="Node_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_BLhuAjemEeGPyrZ5I3hMlA" showTitle="true"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BLhuAzemEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h4_FYFbmEeObiJAlOlmjpQ" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h4_FYVbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="FCM:Target" href="SimpleSMChangeEvent.uml#_HvbFMLqQEd-BObGGoBbehA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h4_FYlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h5CIsFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h5CIsVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h5CIslbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X6untmkLEeWakucY9QdE0g" type="Node_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unt2kLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_X8sWkGkLEeWakucY9QdE0g" type="StereotypeCompartment">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_X8woAGkLEeWakucY9QdE0g" source="PapyrusCSSForceValue">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X8xPEGkLEeWakucY9QdE0g" key="visible" value="true"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_X8uLwmkLEeWakucY9QdE0g" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_BZCjMJOGEd-5qPBhYeIVtw"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_X8uLw2kLEeWakucY9QdE0g"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_X8tksGkLEeWakucY9QdE0g" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#__5rAUGE_Ed-eArNXja7SuA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_X8tksWkLEeWakucY9QdE0g"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_X8sWkWkLEeWakucY9QdE0g" showTitle="true"/>
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_X8sWkmkLEeWakucY9QdE0g" name="stereotype" stringValue="FCM::Target"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X8sWk2kLEeWakucY9QdE0g"/>
-      </children>
-      <element xmi:type="uml:Node" href="SimpleSMChangeEvent.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BLhG8TemEeGPyrZ5I3hMlA" x="71" y="269" width="164" height="119"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_GVBbMGGIEeO2F4QRMDSOXg" type="Class_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_GVCCQGGIEeO2F4QRMDSOXg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JRLF8PX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_GVCCQmGIEeO2F4QRMDSOXg" showTitle="true"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GVCCQ2GIEeO2F4QRMDSOXg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_znnNsHDZEeORJcfdyIEeTg" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_znnNsXDZEeORJcfdyIEeTg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_znnNsnDZEeORJcfdyIEeTg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X6unuGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unuWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="SimpleSMChangeEvent.uml#_GUl9YGGIEeO2F4QRMDSOXg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GVBbMWGIEeO2F4QRMDSOXg" x="459" y="270" width="187" height="118"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_HoscYcniEeCMCo5Ox2CNmg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_X6unumkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="SimpleSMChangeEvent.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_0MCIsOYXEeCBL_IbXY9ofw" type="PapyrusUMLStateMachineDiagram" name="SmDiagramServer" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_0MCIseYXEeCBL_IbXY9ofw" type="StateMachine_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIsuYXEeCBL_IbXY9ofw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIs-YXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItOYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIteYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItuYXEeCBL_IbXY9ofw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIt-YXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JlR4wHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JlR4wXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LKHvoHn3EeOfttgBwSq-Ig" key="gradient" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0MCIuOYXEeCBL_IbXY9ofw" type="StateMachine_NameLabel">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIueYXEeCBL_IbXY9ofw" width="940" height="20"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JVovMPX4EeWa_pjn9guopQ" type="StateMachine_RegionCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_0MCIu-YXEeCBL_IbXY9ofw" type="Region_Shape" fontName="Sans Serif" lineColor="0" lineWidth="1">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvOYXEeCBL_IbXY9ofw" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIveYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvuYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIv-YXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwOYXEeCBL_IbXY9ofw" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIweYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwuYXEeCBL_IbXY9ofw" source="RegionAnnotationKey">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIw-YXEeCBL_IbXY9ofw" key="RegionZoneKey" value=""/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TbH8gHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TbH8gXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uP7skPZMEeWa_pjn9guopQ" key="lineWidth" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JVpWQPX4EeWa_pjn9guopQ" type="Region_SubvertexCompartment">
-            <children xmi:type="notation:Shape" xmi:id="_1U-twOYXEeCBL_IbXY9ofw" type="Pseudostate_InitialShape" fontName="Sans Serif" fillColor="0" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_U0OYXEeCBL_IbXY9ofw" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74OYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74eYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74uYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74-YXEeCBL_IbXY9ofw" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_75OYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LqN7kMcpEeSsAI2TZshUyg" source="PapyrusCSSForceValue">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LqPJsMcpEeSsAI2TZshUyg" key="gradient" value="true"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75eYXEeCBL_IbXY9ofw" type="Pseudostate_InitialFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_75uYXEeCBL_IbXY9ofw" x="36" y="-9"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75-YXEeCBL_IbXY9ofw" type="Pseudostate_InitialStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_76OYXEeCBL_IbXY9ofw" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="SimpleSMChangeEvent.uml#_1UVNgOYXEeCBL_IbXY9ofw"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1U-tweYXEeCBL_IbXY9ofw" x="114" y="19"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_53eokOYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPoOYXEeCBL_IbXY9ofw" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53fPoeYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPouYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2sOYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53f2seYXEeCBL_IbXY9ofw" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2suYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_53f2s-YXEeCBL_IbXY9ofw" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7PRh8OYXEeCBL_IbXY9ofw" width="99" height="20"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_JVp9UPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
-                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PvBTIPX4EeWa_pjn9guopQ" source="PapyrusCSSForceValue">
-                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PvB6MPX4EeWa_pjn9guopQ" key="visible" value="true"/>
-                </eAnnotations>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53f2teYXEeCBL_IbXY9ofw" y="20" width="99" height="48"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_h9cHkFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_h9cHkVbmEeObiJAlOlmjpQ"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9cHklbmEeObiJAlOlmjpQ"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_53E_8OYXEeCBL_IbXY9ofw"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53eokeYXEeCBL_IbXY9ofw" x="259" y="37" width="99" height="68"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_8AQS8OYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8AQ6AOYXEeCBL_IbXY9ofw" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEOYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhEeYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEuYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhE-YXEeCBL_IbXY9ofw" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhFOYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_8ARhFeYXEeCBL_IbXY9ofw" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8A06sOYXEeCBL_IbXY9ofw" width="100" height="66"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_JVrLcPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8ARhF-YXEeCBL_IbXY9ofw" y="66" width="100" height="42"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_h9ej0FbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_h9ej0VbmEeObiJAlOlmjpQ"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ej0lbmEeObiJAlOlmjpQ"/>
-              </children>
-              <children xmi:type="notation:Shape" xmi:id="_sXiY8EVbEeaxaO4Kn-ck8A" type="Behavior_EntryBehaviorLabel">
-                <element xmi:type="uml:OpaqueBehavior" href="SimpleSMChangeEvent.uml#_sU8_AEVbEeaxaO4Kn-ck8A"/>
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_sXiY8UVbEeaxaO4Kn-ck8A" x="-10" y="-10"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_7_1cMOYXEeCBL_IbXY9ofw"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8AQS8eYXEeCBL_IbXY9ofw" x="259" y="181" width="100" height="108"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_oxRiMCjmEeaJJusTB1aIbg" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_oxSwUCjmEeaJJusTB1aIbg" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p6M5ICjmEeaJJusTB1aIbg" width="79"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_oxTXYCjmEeaJJusTB1aIbg" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_oxTXYSjmEeaJJusTB1aIbg" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_oxTXYijmEeaJJusTB1aIbg" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxTXYyjmEeaJJusTB1aIbg" y="-1" width="79"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_owZYcCjmEeaJJusTB1aIbg"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxRiMSjmEeaJJusTB1aIbg" x="510" y="36" width="79" height="59"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="__-OxACjmEeaJJusTB1aIbg" type="Pseudostate_JunctionShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="__-PYECjmEeaJJusTB1aIbg" type="Pseudostate_JunctionFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYESjmEeaJJusTB1aIbg" x="34" y="22"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="__-PYEijmEeaJJusTB1aIbg" type="Pseudostate_JunctionStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYEyjmEeaJJusTB1aIbg" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="SimpleSMChangeEvent.uml#__9lQwCjmEeaJJusTB1aIbg"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="__-OxASjmEeaJJusTB1aIbg" x="539" y="162"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_cyo2gEOAEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_cyo2gkOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_cyo2g0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_cyo2hEOAEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_cyo2hUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cyo2hkOAEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_cyKVYEOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cyo2gUOAEeadCvQ7UGhFAA" x="104" y="300"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_juToIEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_juToIkOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_juToI0OAEeadCvQ7UGhFAA" x="50" y="3"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_juToJEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_juToJUOAEeadCvQ7UGhFAA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="SimpleSMChangeEvent.uml#_jt7NoEOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_juToIUOAEeadCvQ7UGhFAA" x="276" y="371"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_nhnhsEOAEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_nhnhskOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_nhnhs0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_nhnhtEOAEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_nhnhtUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nhnhtkOAEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_nhVN0EOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nhnhsUOAEeadCvQ7UGhFAA" x="102" y="457"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_xK-BkEOAEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_xK-BkkOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_xK-Bk0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_xK-BlEOAEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_xK-BlUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xK-BlkOAEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_xKx0UEOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xK-BkUOAEeadCvQ7UGhFAA" x="266" y="456"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_11fP8EOAEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_11fP8kOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_11fP80OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_11fP9EOAEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_11fP9UOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_11fP9kOAEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_11G1cEOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_11fP8UOAEeadCvQ7UGhFAA" x="266" y="532"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_3OV5QEOAEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_3OV5QkOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_3OV5Q0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_3OV5REOAEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_3OV5RUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3OV5RkOAEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_3OJsAEOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3OV5QUOAEeadCvQ7UGhFAA" x="271" y="612"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_8OR-AEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_8OR-AkOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_8OR-A0OAEeadCvQ7UGhFAA" x="77" y="2"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_8OR-BEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_8OR-BUOAEeadCvQ7UGhFAA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="SimpleSMChangeEvent.uml#_8N5jgEOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8OR-AUOAEeadCvQ7UGhFAA" x="273" y="687"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_Czf-gEOBEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_Czf-gkOBEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_Czf-g0OBEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_Czf-hEOBEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_Czf-hUOBEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Czf-hkOBEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_CzHkAEOBEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Czf-gUOBEeadCvQ7UGhFAA" x="177" y="739"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_EtlsoEOBEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_EtlsokOBEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_Etlso0OBEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_EtlspEOBEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_EtlspUOBEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EtlspkOBEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_EtK14EOBEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EtlsoUOBEeadCvQ7UGhFAA" x="376" y="747"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_LPfTYEOBEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_LPfTYkOBEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_LPfTY0OBEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_LPfTZEOBEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_LPfTZUOBEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LPfTZkOBEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_LPM_gEOBEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LPfTYUOBEeadCvQ7UGhFAA" x="271" y="801"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_PjSq4EOBEeadCvQ7UGhFAA" type="FinalState_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_PjSq4kOBEeadCvQ7UGhFAA" type="FinalState_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_PjSq40OBEeadCvQ7UGhFAA" x="25" y="3"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_PjSq5EOBEeadCvQ7UGhFAA" type="FinalState_StereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_PjSq5UOBEeadCvQ7UGhFAA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:FinalState" href="SimpleSMChangeEvent.uml#_PiyUkEOBEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PjSq4UOBEeadCvQ7UGhFAA" x="297" y="874"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_OZwagEOCEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_OZwagkOCEeadCvQ7UGhFAA" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O8AzAEOCEeadCvQ7UGhFAA" width="240" height="20"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_OZwag0OCEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_OZwahEOCEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_OZwahUOCEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PWnrYEOCEeadCvQ7UGhFAA" source="PapyrusCSSForceValue">
-                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PWnrYUOCEeadCvQ7UGhFAA" key="visible" value="true"/>
-                </eAnnotations>
-                <children xmi:type="notation:Shape" xmi:id="_PWtyAEOCEeadCvQ7UGhFAA" type="Region_Shape">
-                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PWtyBEOCEeadCvQ7UGhFAA" source="RegionAnnotationKey">
-                    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PWtyBUOCEeadCvQ7UGhFAA" key="RegionZoneKey" value="T"/>
-                  </eAnnotations>
-                  <children xmi:type="notation:BasicCompartment" xmi:id="_PWtyAkOCEeadCvQ7UGhFAA" type="Region_SubvertexCompartment">
-                    <children xmi:type="notation:Shape" xmi:id="_QUoy0EOCEeadCvQ7UGhFAA" type="State_Shape">
-                      <children xmi:type="notation:DecorationNode" xmi:id="_QUoy0kOCEeadCvQ7UGhFAA" type="State_NameLabel"/>
-                      <children xmi:type="notation:DecorationNode" xmi:id="_QUoy00OCEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_QUoy1EOCEeadCvQ7UGhFAA" x="40"/>
-                      </children>
-                      <children xmi:type="notation:BasicCompartment" xmi:id="_QUoy1UOCEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QUoy1kOCEeadCvQ7UGhFAA"/>
-                      </children>
-                      <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_QUQYUEOCEeadCvQ7UGhFAA"/>
-                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QUoy0UOCEeadCvQ7UGhFAA" x="45" y="19"/>
-                    </children>
-                    <children xmi:type="notation:Shape" xmi:id="_5yiooFTJEeaUqofUUR_LDQ" type="FinalState_Shape">
-                      <children xmi:type="notation:DecorationNode" xmi:id="_5ykd0FTJEeaUqofUUR_LDQ" type="FinalState_FloatingNameLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_5ykd0VTJEeaUqofUUR_LDQ" x="25" y="3"/>
-                      </children>
-                      <children xmi:type="notation:DecorationNode" xmi:id="_5ykd0lTJEeaUqofUUR_LDQ" type="FinalState_StereotypeLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_5ykd01TJEeaUqofUUR_LDQ" x="25" y="-10"/>
-                      </children>
-                      <element xmi:type="uml:FinalState" href="SimpleSMChangeEvent.uml#_5xA-oFTJEeaUqofUUR_LDQ"/>
-                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5yiooVTJEeaUqofUUR_LDQ" x="149" y="16"/>
-                    </children>
-                    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PWtyA0OCEeadCvQ7UGhFAA"/>
-                  </children>
-                  <element xmi:type="uml:Region" href="SimpleSMChangeEvent.uml#_PWnrYkOCEeadCvQ7UGhFAA"/>
-                  <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PWtyAUOCEeadCvQ7UGhFAA" width="240" height="81"/>
-                </children>
-                <children xmi:type="notation:Shape" xmi:id="_P1Z5IUOCEeadCvQ7UGhFAA" type="Region_Shape">
-                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P1Z5JUOCEeadCvQ7UGhFAA" source="RegionAnnotationKey">
-                    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P1Z5JkOCEeadCvQ7UGhFAA" key="RegionZoneKey" value="B"/>
-                  </eAnnotations>
-                  <children xmi:type="notation:BasicCompartment" xmi:id="_P1Z5I0OCEeadCvQ7UGhFAA" type="Region_SubvertexCompartment">
-                    <children xmi:type="notation:Shape" xmi:id="_RozwcEOCEeadCvQ7UGhFAA" type="State_Shape">
-                      <children xmi:type="notation:DecorationNode" xmi:id="_RozwckOCEeadCvQ7UGhFAA" type="State_NameLabel"/>
-                      <children xmi:type="notation:DecorationNode" xmi:id="_Rozwc0OCEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_RozwdEOCEeadCvQ7UGhFAA" x="40"/>
-                      </children>
-                      <children xmi:type="notation:BasicCompartment" xmi:id="_RozwdUOCEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RozwdkOCEeadCvQ7UGhFAA"/>
-                      </children>
-                      <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_RobV8EOCEeadCvQ7UGhFAA"/>
-                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RozwcUOCEeadCvQ7UGhFAA" x="51" y="17"/>
-                    </children>
-                    <children xmi:type="notation:Shape" xmi:id="_68esMFTJEeaUqofUUR_LDQ" type="FinalState_Shape">
-                      <children xmi:type="notation:DecorationNode" xmi:id="_68esMlTJEeaUqofUUR_LDQ" type="FinalState_FloatingNameLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_68esM1TJEeaUqofUUR_LDQ" x="25" y="3"/>
-                      </children>
-                      <children xmi:type="notation:DecorationNode" xmi:id="_68esNFTJEeaUqofUUR_LDQ" type="FinalState_StereotypeLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_68esNVTJEeaUqofUUR_LDQ" x="25" y="-10"/>
-                      </children>
-                      <element xmi:type="uml:FinalState" href="SimpleSMChangeEvent.uml#_67iRAFTJEeaUqofUUR_LDQ"/>
-                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_68esMVTJEeaUqofUUR_LDQ" x="157" y="47"/>
-                    </children>
-                    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P1Z5JEOCEeadCvQ7UGhFAA"/>
-                  </children>
-                  <element xmi:type="uml:Region" href="SimpleSMChangeEvent.uml#_P1Z5IEOCEeadCvQ7UGhFAA"/>
-                  <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P1Z5IkOCEeadCvQ7UGhFAA" y="81" width="240" height="81"/>
-                </children>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OZwahkOCEeadCvQ7UGhFAA" y="20" width="240" height="163"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_OZYAAEOCEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OZwagUOCEeadCvQ7UGhFAA" x="577" y="270" width="240" height="183"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_S4E_8EOCEeadCvQ7UGhFAA" type="Pseudostate_ForkShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_S4E_8kOCEeadCvQ7UGhFAA" type="Pseudostate_ForkFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_S4E_80OCEeadCvQ7UGhFAA" x="25" y="3"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_S4E_9EOCEeadCvQ7UGhFAA" type="Pseudostate_ForkStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_S4E_9UOCEeadCvQ7UGhFAA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="SimpleSMChangeEvent.uml#_S3gYMEOCEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S4E_8UOCEeadCvQ7UGhFAA" x="435" y="310"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_cbw8sEOCEeadCvQ7UGhFAA" type="Pseudostate_JoinShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_cbw8skOCEeadCvQ7UGhFAA" type="Pseudostate_JoinFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_cbw8s0OCEeadCvQ7UGhFAA" x="25" y="3"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_cbw8tEOCEeadCvQ7UGhFAA" type="Pseudostate_JoinStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_cbw8tUOCEeadCvQ7UGhFAA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="SimpleSMChangeEvent.uml#_cbYiMEOCEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cbw8sUOCEeadCvQ7UGhFAA" x="860" y="334"/>
-            </children>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxeYXEeCBL_IbXY9ofw"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_h9XPEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_h9XPEVbmEeObiJAlOlmjpQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9XPElbmEeObiJAlOlmjpQ"/>
-          </children>
-          <element xmi:type="uml:Region" href="SimpleSMChangeEvent.uml#_0Lv00OYXEeCBL_IbXY9ofw"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxuYXEeCBL_IbXY9ofw" width="940" height="917"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIx-YXEeCBL_IbXY9ofw" y="20" width="940" height="917"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h9ULwFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h9ULwVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ULwlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <styles xmi:type="notation:StringListValueStyle" xmi:id="_v51OQHn2EeOfttgBwSq-Ig" name="cssClass"/>
-      <element xmi:type="uml:StateMachine" href="SimpleSMChangeEvent.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIyOYXEeCBL_IbXY9ofw" x="40" y="40" width="940" height="937"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_0MCIyeYXEeCBL_IbXY9ofw"/>
-    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_B2g2QHn3EeOfttgBwSq-Ig" name="css_stylesheets" eObjectListValue="_B2g2QXn3EeOfttgBwSq-Ig"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_YAq3oGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:StateMachine" href="SimpleSMChangeEvent.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
-    <edges xmi:type="notation:Connector" xmi:id="_CLUHAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_1U-twOYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8MeYYEeCBL_IbXY9ofw" x="-6"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MuYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8M-YYEeCBL_IbXY9ofw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8NOYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8NeYYEeCBL_IbXY9ofw" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_CLUHAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_CLBzIOYYEeCBL_IbXY9ofw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CLUHAuYYEeCBL_IbXY9ofw" points="[10, -4, -180, 0]$[175, -7, -15, -3]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CMH_UOYYEeCBL_IbXY9ofw" id="(0.16483516483516483,0.4142857142857143)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Doz_wOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0OYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0eYYEeCBL_IbXY9ofw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0uYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0-YYEeCBL_IbXY9ofw" x="-12" y="129"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m1OYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m1eYYEeCBL_IbXY9ofw" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Doz_weYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_Doi6AOYYEeCBL_IbXY9ofw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Doz_wuYYEeCBL_IbXY9ofw" points="[4, 9, 0, -45]$[1, 47, -3, -7]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacsOYYEeCBL_IbXY9ofw" id="(0.2,0.9846153846153847)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacseYYEeCBL_IbXY9ofw" id="(0.2,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_OIPMAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_OIPzEOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIOYYEeCBL_IbXY9ofw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaIeYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIuYYEeCBL_IbXY9ofw" x="-16" y="-10"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaI-YYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaJOYYEeCBL_IbXY9ofw" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_OIPMAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_OH_UYOYYEeCBL_IbXY9ofw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OIPMAuYYEeCBL_IbXY9ofw" points="[-4, -31, 8, 88]$[4, -128, 16, -9]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgOYYEeCBL_IbXY9ofw" id="(0.8,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgeYYEeCBL_IbXY9ofw" id="(0.8,0.9846153846153847)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_mPjVYOtqEeCzSsOGmQH2aA" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" roundedBendpointsRadius="10" routing="Rectilinear" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wFmGcHoDEeOA64V_YLapaA" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wFmtgHoDEeOA64V_YLapaA" key="smoothness" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoOtqEeCzSsOGmQH2aA" visible="false" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XwnVkPX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxoetqEeCzSsOGmQH2aA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoutqEeCzSsOGmQH2aA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XxIS8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxo-tqEeCzSsOGmQH2aA" x="-15" y="28"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxpOtqEeCzSsOGmQH2aA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Xxll8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxpetqEeCzSsOGmQH2aA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_mPjVYetqEeCzSsOGmQH2aA" fontName=""/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_mJvoUOtqEeCzSsOGmQH2aA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mPjVYutqEeCzSsOGmQH2aA" points="[299, 171, -643984, -643984]$[147, 171, -643984, -643984]$[147, 272, -643984, -643984]$[299, 272, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wOtqEeCzSsOGmQH2aA" id="(0.0,0.6915887850467289)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wetqEeCzSsOGmQH2aA" id="(0.0,0.5)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_rgm2QCjmEeaJJusTB1aIbg" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_oxRiMCjmEeaJJusTB1aIbg">
-      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUCjmEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUSjmEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUijmEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUyjmEeaJJusTB1aIbg" x="-86" y="-52"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_rgndVCjmEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndVSjmEeaJJusTB1aIbg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_rgm2QSjmEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_rdKgsCjmEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rgm2QijmEeaJJusTB1aIbg" points="[399, 131, -643984, -643984]$[551, 131, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhuQkCjmEeaJJusTB1aIbg" id="(1.0,0.5)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhu3oCjmEeaJJusTB1aIbg" id="(0.0,0.5932203389830508)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_BPTXUCjnEeaJJusTB1aIbg" type="Transition_Edge" source="_oxRiMCjmEeaJJusTB1aIbg" target="__-OxACjmEeaJJusTB1aIbg">
-      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXUyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVCjnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVijnEeaJJusTB1aIbg" x="-10" y="-25"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXWCjnEeaJJusTB1aIbg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_BPTXUSjnEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_BO7j4CjnEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BPTXUijnEeaJJusTB1aIbg" points="[590, 155, -643984, -643984]$[590, 222, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUCjnEeaJJusTB1aIbg" id="(0.4936708860759494,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUSjnEeaJJusTB1aIbg" id="(0.5,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_G11iACjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_53eokOYXEeCBL_IbXY9ofw">
-      <children xmi:type="notation:DecorationNode" xmi:id="_G11iAyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBCjnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_G11iBSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBijnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_G11iByjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iCCjnEeaJJusTB1aIbg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_G11iASjnEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_G1QTMCjnEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G11iAijnEeaJJusTB1aIbg" points="[583, 227, -643984, -643984]$[397, 159, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2gQYCjnEeaJJusTB1aIbg" id="(0.15,0.3863945578231304)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2g3cCjnEeaJJusTB1aIbg" id="(0.9797979797979798,0.9117647058823529)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_HndzQCjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_8AQS8OYXEeCBL_IbXY9ofw">
-      <children xmi:type="notation:DecorationNode" xmi:id="_HndzQyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRCjnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRijnEeaJJusTB1aIbg" x="-18" y="-14"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzSCjnEeaJJusTB1aIbg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_HndzQSjnEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_HnKRQCjnEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HndzQijnEeaJJusTB1aIbg" points="[585, 234, -643984, -643984]$[400, 277, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoK94CjnEeaJJusTB1aIbg" id="(0.27479674796748554,0.8330623306233065)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoLk8CjnEeaJJusTB1aIbg" id="(1.0,0.5806451612903226)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_g6Nv4EOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_cyo2gEOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_g6Nv40OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H35CgEVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_g6Nv5EOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_g6Nv5UOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H4th4EVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_g6Nv5kOAEeadCvQ7UGhFAA" x="201" y="112"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_g6Nv50OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H5dv0EVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_g6Nv6EOAEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_g6Nv4UOAEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_g3iPUEOAEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_g6Nv4kOAEeadCvQ7UGhFAA" points="[345, 303, -643984, -643984]$[345, 355, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g6yXoEOAEeadCvQ7UGhFAA" id="(0.45,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g6yXoUOAEeadCvQ7UGhFAA" id="(0.47959183673469385,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_mUbV0EOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_cyo2gEOAEeadCvQ7UGhFAA" target="_juToIEOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_mUbV00OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H11NAEVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mUbV1EOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mUbV1UOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H2fUUEVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mUbV1kOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mUbV10OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H3KpwEVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mUbV2EOAEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_mUbV0UOAEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_mUQWsEOAEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mUbV0kOAEeadCvQ7UGhFAA" points="[348, 399, -643984, -643984]$[348, 431, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mU9hUEOAEeadCvQ7UGhFAA" id="(0.5102040816326531,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mU9hUUOAEeadCvQ7UGhFAA" id="(0.5166666666666667,0.01666666666666856)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_qtp_4EOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_juToIEOAEeadCvQ7UGhFAA" target="_nhnhsEOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_qtp_40OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_rpjAYEOAEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_qtp_5EOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_qtp_5UOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_rp1UQEOAEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_qtp_5kOAEeadCvQ7UGhFAA" x="92" y="9"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_qtp_50OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_rqOV0EOAEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_qtp_6EOAEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_qtp_4UOAEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_qtXsAEOAEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qtp_4kOAEeadCvQ7UGhFAA" points="[327, 444, -643984, -643984]$[187, 444, -643984, -643984]$[187, 517, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_quIhAEOAEeadCvQ7UGhFAA" id="(0.15,0.65)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_quIhAUOAEeadCvQ7UGhFAA" id="(0.6666666666666666,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_0d1ggEOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_juToIEOAEeadCvQ7UGhFAA" target="_xK-BkEOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_0d1gg0OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_0d1ghEOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0d1ghUOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_0d1ghkOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0d1gh0OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_0d1giEOAEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_0d1ggUOAEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_0dpTQEOAEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0d1ggkOAEeadCvQ7UGhFAA" points="[345, 450, -643984, -643984]$[342, 516, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0eV20EOAEeadCvQ7UGhFAA" id="(0.47880000000000017,0.9788000000000039)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0eV20UOAEeadCvQ7UGhFAA" id="(0.39325842696629215,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_4uF0wEOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_xK-BkEOAEeadCvQ7UGhFAA" target="_11fP8EOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_4uF0w0OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_4uF0xEOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_4uF0xUOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_4uF0xkOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_4uF0x0OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_4uF0yEOAEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_4uF0wUOAEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_4tzg4EOAEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4uF0wkOAEeadCvQ7UGhFAA" points="[343, 560, -643984, -643984]$[340, 592, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4uk88EOAEeadCvQ7UGhFAA" id="(0.4044943820224719,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4uk88UOAEeadCvQ7UGhFAA" id="(0.4925373134328358,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_5FIbwEOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_11fP8EOAEeadCvQ7UGhFAA" target="_3OV5QEOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_5FIbw0OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_5FIbxEOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_5FIbxUOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_5FIbxkOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_5FIbx0OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_5FIbyEOAEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_5FIbwUOAEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_5E7AYEOAEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5FIbwkOAEeadCvQ7UGhFAA" points="[342, 636, -643984, -643984]$[344, 672, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5F-JQEOAEeadCvQ7UGhFAA" id="(0.5223880597014925,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5F-JQUOAEeadCvQ7UGhFAA" id="(0.5423728813559322,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_B0kREEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_3OV5QEOAEeadCvQ7UGhFAA" target="_8OR-AEOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_B0kRE0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0kRFEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_B0kRFUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0kRFkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_B0kRF0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0kRGEOBEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_B0kREUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_B0R9MEOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_B0kREkOBEeadCvQ7UGhFAA" points="[342, 716, -643984, -643984]$[338, 748, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B1YwcEOBEeadCvQ7UGhFAA" id="(0.5084745762711864,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B1YwcUOBEeadCvQ7UGhFAA" id="(0.4028225806451616,0.09717741935483559)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Gn7SYEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_8OR-AEOAEeadCvQ7UGhFAA" target="_Czf-gEOBEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Gn7SY0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn7SZEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Gn7SZUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn7SZkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Gn7SZ0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn7SaEOBEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Gn7SYUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_Gm27YEOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Gn7SYkOBEeadCvQ7UGhFAA" points="[321, 744, -643984, -643984]$[258, 784, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GonO4EOBEeadCvQ7UGhFAA" id="(0.1224358974358959,0.622435897435895)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GonO4UOBEeadCvQ7UGhFAA" id="(0.8,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_KXEdoEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_8OR-AEOAEeadCvQ7UGhFAA" target="_EtlsoEOBEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_KXEdo0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KXEdpEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_KXEdpUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KXEdpkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_KXEdp0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KXEdqEOBEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_KXEdoUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_KWyJwEOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KXEdokOBEeadCvQ7UGhFAA" points="[359, 746, -643984, -643984]$[419, 794, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KXwaIEOBEeadCvQ7UGhFAA" id="(0.7536101083032491,0.7463898916967537)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KXwaIUOBEeadCvQ7UGhFAA" id="(0.0273972602739726,0.045454545454545456)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_OBrHIEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_Czf-gEOBEeadCvQ7UGhFAA" target="_LPfTYEOBEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_OBrHI0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OBrHJEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OBrHJUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OBrHJkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OBrHJ0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OBrHKEOBEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_OBrHIUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_OBSsoEOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OBrHIkOBEeadCvQ7UGhFAA" points="[255, 843, -643984, -643984]$[312, 873, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OCZf4EOBEeadCvQ7UGhFAA" id="(0.74,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OCZf4UOBEeadCvQ7UGhFAA" id="(0.0,0.2727272727272727)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_OwDQEEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_EtlsoEOBEeadCvQ7UGhFAA" target="_LPfTYEOBEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_OwDQE0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OwDQFEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OwDQFUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OwDQFkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OwDQF0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OwDQGEOBEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_OwDQEUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_Ovt44EOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OwDQEkOBEeadCvQ7UGhFAA" points="[431, 851, -643984, -643984]$[403, 865, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ow4WgEOBEeadCvQ7UGhFAA" id="(0.1917808219178082,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ow4WgUOBEeadCvQ7UGhFAA" id="(0.978494623655914,0.09090909090909091)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_P_fesEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_LPfTYEOBEeadCvQ7UGhFAA" target="_PjSq4EOBEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_P_fes0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_P_fetEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_P_fetUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_P_fetkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_P_fet0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_P_feuEOBEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_P_fesUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_P_HEMEOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_P_feskOBEeadCvQ7UGhFAA" points="[357, 905, -643984, -643984]$[352, 936, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QAaEsEOBEeadCvQ7UGhFAA" id="(0.4838709677419355,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QAaEsUOBEeadCvQ7UGhFAA" id="(0.7082474226804095,0.1041237113402019)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Q3uHMEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_nhnhsEOAEeadCvQ7UGhFAA" target="_PjSq4EOBEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Q3uHM0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RMF0sEOBEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Q3uHNEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Q3uHNUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RMePMEOBEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Q3uHNkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Q3uHN0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RMwjEEOBEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Q3uHOEOBEeadCvQ7UGhFAA" x="1" y="58"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Q3uHMUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_Q3bzUEOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Q3uHMkOBEeadCvQ7UGhFAA" points="[174, 561, -643984, -643984]$[135, 891, -643984, -643984]$[342, 936, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Q4lC0EOBEeadCvQ7UGhFAA" id="(0.4696969696969697,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Q4lC0UOBEeadCvQ7UGhFAA" id="(0.2,0.1)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Twrb4EOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_S4E_8EOCEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Twrb40OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Twrb5EOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Twrb5UOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Twrb5kOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Twrb50OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Twrb6EOCEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Twrb4UOCEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_TwTBYEOCEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Twrb4kOCEeadCvQ7UGhFAA" points="[392, 302, -643984, -643984]$[476, 386, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Txmo8EOCEeadCvQ7UGhFAA" id="(0.92,0.9838709677419355)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Txmo8UOCEeadCvQ7UGhFAA" id="(0.0,0.4)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_a-dRMEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_S4E_8EOCEeadCvQ7UGhFAA" target="_QUoy0EOCEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_a-dRM0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vFSbwFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_a-dRNEOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_a-dRNUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vGri4FTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_a-dRNkOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_a-dRN0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vHxIAFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_a-dROEOCEeadCvQ7UGhFAA" x="1" y="58"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_a-dRMUOCEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_a-EPoEOCEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a-dRMkOCEeadCvQ7UGhFAA" points="[486, 390, -643984, -643984]$[684, 403, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a_a6gEOCEeadCvQ7UGhFAA" id="(1.0,0.5)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a_a6gUOCEeadCvQ7UGhFAA" id="(0.0,0.5909090909090909)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_beGakEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_S4E_8EOCEeadCvQ7UGhFAA" target="_RozwcEOCEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_beGak0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vY-z0FTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_beGalEOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_beGalUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vaLGoFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_beGalkOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_beGal0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vbPdoFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_beGamEOCEeadCvQ7UGhFAA" y="59"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_beGakUOCEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_bduAEEOCEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_beGakkOCEeadCvQ7UGhFAA" points="[486, 404, -643984, -643984]$[683, 484, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bfJjcEOCEeadCvQ7UGhFAA" id="(1.0,0.85)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bfJjcUOCEeadCvQ7UGhFAA" id="(0.0,0.4090909090909091)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_de-tMEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_QUoy0EOCEeadCvQ7UGhFAA" target="_cbw8sEOCEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_de-tM0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vA_xoFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_de-tNEOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_de-tNUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vCrzsFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_de-tNkOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_de-tN0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vEE60FTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_de-tOEOCEeadCvQ7UGhFAA" x="1" y="59"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_de-tMUOCEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_dedIwEOCEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_de-tMkOCEeadCvQ7UGhFAA" points="[724, 397, -643984, -643984]$[901, 414, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dgB2EEOCEeadCvQ7UGhFAA" id="(1.0,0.45454545454545453)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dgB2EUOCEeadCvQ7UGhFAA" id="(0.0,0.5)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_eAv9gEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_RozwcEOCEeadCvQ7UGhFAA" target="_cbw8sEOCEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_eAv9g0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vVok4FTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_eAv9hEOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_eAv9hUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vWxNUFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_eAv9hkOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_eAv9h0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vX09QFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_eAv9iEOCEeadCvQ7UGhFAA" x="-1" y="59"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_eAv9gUOCEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_eAXjAEOCEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eAv9gkOCEeadCvQ7UGhFAA" points="[723, 491, -643984, -643984]$[901, 421, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eBm5IEOCEeadCvQ7UGhFAA" id="(1.0,0.5681818181818182)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eBm5IUOCEeadCvQ7UGhFAA" id="(0.0,0.675)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_e55MAEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_cbw8sEOCEeadCvQ7UGhFAA" target="_11fP8EOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_e55MA0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fzY_0EOCEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_e55MBEOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_e55MBUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fzxaUEOCEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_e55MBkOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_e55MB0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_f0WpIEOCEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_e55MCEOCEeadCvQ7UGhFAA" x="-1" y="58"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_e55MAUOCEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_e5OdoEOCEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e55MAkOCEeadCvQ7UGhFAA" points="[911, 434, -643984, -643984]$[932, 434, -643984, -643984]$[924, 536, -643984, -643984]$[374, 620, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e621UEOCEeadCvQ7UGhFAA" id="(1.0,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e621UUOCEeadCvQ7UGhFAA" id="(1.0,0.6363636363636364)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_7YmAcFTJEeaUqofUUR_LDQ" type="Transition_Edge" source="_RozwcEOCEeadCvQ7UGhFAA" target="_68esMFTJEeaUqofUUR_LDQ">
-      <children xmi:type="notation:DecorationNode" xmi:id="_7YmAc1TJEeaUqofUUR_LDQ" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8dS-sFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_7YmAdFTJEeaUqofUUR_LDQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_7YmAdVTJEeaUqofUUR_LDQ" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8efRgFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_7YmAdlTJEeaUqofUUR_LDQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_7YmAd1TJEeaUqofUUR_LDQ" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8fbFoFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_7YmAeFTJEeaUqofUUR_LDQ" x="1" y="59"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_7YmAcVTJEeaUqofUUR_LDQ"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_7VlvwFTJEeaUqofUUR_LDQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7YmAclTJEeaUqofUUR_LDQ" points="[710, 484, -643984, -643984]$[777, 486, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7amyoFTJEeaUqofUUR_LDQ" id="(1.0,0.5227272727272727)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7amyoVTJEeaUqofUUR_LDQ" id="(0.05,0.43767123287671267)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_75V9EFTJEeaUqofUUR_LDQ" type="Transition_Edge" source="_QUoy0EOCEeadCvQ7UGhFAA" target="_5yiooFTJEeaUqofUUR_LDQ">
-      <children xmi:type="notation:DecorationNode" xmi:id="_75WkIFTJEeaUqofUUR_LDQ" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_75WkIVTJEeaUqofUUR_LDQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_75WkIlTJEeaUqofUUR_LDQ" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_75WkI1TJEeaUqofUUR_LDQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_75WkJFTJEeaUqofUUR_LDQ" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_75WkJVTJEeaUqofUUR_LDQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_75V9EVTJEeaUqofUUR_LDQ"/>
-      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_74CVgFTJEeaUqofUUR_LDQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_75V9ElTJEeaUqofUUR_LDQ" points="[704, 385, -643984, -643984]$[769, 375, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_77fSIFTJEeaUqofUUR_LDQ" id="(1.0,0.36363636363636365)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_77fSIVTJEeaUqofUUR_LDQ" id="(0.05,0.4857142857142861)"/>
-    </edges>
-  </notation:Diagram>
-  <css:EmbeddedStyleSheet xmi:id="_B2g2QXn3EeOfttgBwSq-Ig" label="Animation" content=":animated{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 3px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #c00000;&#xA;&#x9;bold: true;&#xA;} &#xA;&#xA;:suspended{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #fab953;&#xA;&#x9;bold: true;&#xA;}&#xA;&#xA;:visited{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #92d050;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #92d050;&#xA;}&#xA;Transition > Label {&#xA;&#x9;bodyCutLength: 1;&#xA;&#x9;indicateParameters: true;&#xA;&#x9;lineBreakBeforeEffect : true;&#xA;}"/>
-  <css:ModelStyleSheets xmi:id="_Rz4BcMcpEeSsAI2TZshUyg"/>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSMChangeEvent.uml b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSMChangeEvent.uml
deleted file mode 100644
index 9173d90..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSMChangeEvent.uml
+++ /dev/null
@@ -1,495 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc">
-  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="SimpleSMChangeEventExample">
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
-      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/core.uml#_O6TiIDLUEd26WNosUASSSw"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_YvEs8OusEeCTfOY57pgE3w">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/statemachine.uml#_ago_QOUTEd-P08Bciq_LqQ"/>
-    </packageImport>
-    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="components">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_cb-ncDemEeGPyrZ5I3hMlA" annotatedElement="_oqZNUDLaEd2qeKRLMdIx_A">
-        <body>State-machine support is enabled with a container rule</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Package" xmi:id="_Tp4n8DLaEd2qeKRLMdIx_A" name="Interfaces">
-        <packagedElement xmi:type="uml:Interface" xmi:id="_cn-H0DLbEd2qeKRLMdIx_A" name="ICompute">
-          <ownedReception xmi:type="uml:Reception" xmi:id="_1U0U8McqEeSsAI2TZshUyg" name="add" signal="_ywk2kMcqEeSsAI2TZshUyg"/>
-          <ownedReception xmi:type="uml:Reception" xmi:id="_M-tXYMcrEeSsAI2TZshUyg" name="mult" signal="_z0nGcMcqEeSsAI2TZshUyg"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_DGs6wDLgEd28fJKJJnUaeQ" name="add">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6wTLgEd28fJKJJnUaeQ" name="a">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6wzLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6wjLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6xTLgEd28fJKJJnUaeQ" name="b">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6xzLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6xjLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6yTLgEd28fJKJJnUaeQ" name="res" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6yzLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6yjLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-          </ownedOperation>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_L8EY8DLgEd28fJKJJnUaeQ" name="mult">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY8TLgEd28fJKJJnUaeQ" name="a">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY8zLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY8jLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY9TLgEd28fJKJJnUaeQ" name="b">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY9zLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY9jLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY-TLgEd28fJKJJnUaeQ" name="res" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY-zLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY-jLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-          </ownedOperation>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Signal" xmi:id="_ywk2kMcqEeSsAI2TZshUyg" name="Add"/>
-        <packagedElement xmi:type="uml:Signal" xmi:id="_z0nGcMcqEeSsAI2TZshUyg" name="Mult"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_XLQjUDLiEd2RVeNawwNNzg" name="System">
-        <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="System_impl">
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_gV1cgDLiEd2RVeNawwNNzg" name="simpleSM" type="_oqZNUDLaEd2qeKRLMdIx_A" isUnique="false" aggregation="composite"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_oqZNUDLaEd2qeKRLMdIx_A" name="SimpleSM" classifierBehavior="_y7KWsOYXEeCBL_IbXY9ofw">
-        <generalization xmi:type="uml:Generalization" xmi:id="_LuEUwCgBEeapjr3l63b85A">
-          <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
-        </generalization>
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_4KiE8DLbEd2qeKRLMdIx_A" name="p" type="_cn-H0DLbEd2qeKRLMdIx_A" aggregation="composite"/>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_3gJRoEVGEeaqgqiOqzyU4w" name="which_rack">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_vAIV4I7PEdySGvm5GN66HA"/>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_6uv7oEVGEeaqgqiOqzyU4w" name="is_misplace">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_vAIV4I7PEdySGvm5GN66HA"/>
-        </ownedAttribute>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_YQqH0JYlEd6G9q9hwr11bw" name="derived realization of ICompute" client="_oqZNUDLaEd2qeKRLMdIx_A" supplier="_cn-H0DLbEd2qeKRLMdIx_A" contract="_cn-H0DLbEd2qeKRLMdIx_A"/>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_VGnYgCgBEeapjr3l63b85A" name="derived realization of IStart" client="_oqZNUDLaEd2qeKRLMdIx_A">
-          <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
-          <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
-        </interfaceRealization>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_qxjWINnmEd2_cstbO2Uzgg" name="mult" specification="_4ZEZwHecEd6r18stFZxmFQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTqsokVIEeaqgqiOqzyU4w" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTrTsEVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTrTsUVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTrTskVIEeaqgqiOqzyU4w" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTrTs0VIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTrTtEVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTr6wEVIEeaqgqiOqzyU4w" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTr6wUVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTr6wkVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <language>C/C++</language>
-          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a*b=&quot; &lt;&lt; a*b &lt;&lt; endl;
-return a*b;</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ML-4AKI5Ed6FqJCjEUrkqQ" name="add" specification="_TbIjUJYlEd6G9q9hwr11bw">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTr6w0VIEeaqgqiOqzyU4w" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTr6xEVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTr6xUVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTsh0EVIEeaqgqiOqzyU4w" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTsh0UVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTsh0kVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTsh00VIEeaqgqiOqzyU4w" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTsh1EVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTsh1UVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <language>C/C++</language>
-          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a+b=&quot; &lt;&lt; a+b &lt;&lt; endl;
-return a+b;</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_y7KWsOYXEeCBL_IbXY9ofw" name="SMServer">
-          <region xmi:type="uml:Region" xmi:id="_0Lv00OYXEeCBL_IbXY9ofw" name="Region0">
-            <transition xmi:type="uml:Transition" xmi:id="_CLBzIOYYEeCBL_IbXY9ofw" name="Transition0" source="_1UVNgOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw"/>
-            <transition xmi:type="uml:Transition" xmi:id="_Doi6AOYYEeCBL_IbXY9ofw" name="Transition1" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
-              <trigger xmi:type="uml:Trigger" xmi:id="_rHpXoOtoEeCjb9i0gG4phA" event="_rHoJgOtoEeCjb9i0gG4phA"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_OH_UYOYYEeCBL_IbXY9ofw" name="Transition2" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw">
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_CAWpgSSoEeG6GJ4vU06VYQ" name="add">
-                <language>C/C++</language>
-                <body>add(2,3);&#xD;
-mult(3,5);&#xD;
-std::cout &lt;&lt;&quot;From State1 to State0 \n&quot;;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_-aQtACaeEeG4fZdVXNtoOQ" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_mJvoUOtqEeCzSsOGmQH2aA" name="Transition3" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
-              <trigger xmi:type="uml:Trigger" xmi:id="_8WepQHoDEeOA64V_YLapaA" event="_8WeCMHoDEeOA64V_YLapaA"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_rdKgsCjmEeaJJusTB1aIbg" source="_53E_8OYXEeCBL_IbXY9ofw" target="_owZYcCjmEeaJJusTB1aIbg">
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_-EnkACjmEeaJJusTB1aIbg">
-                <language>C++</language>
-                <body>std::cout &lt;&lt; &quot;From State 0 to State 2\n&quot;;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_4eMuECjmEeaJJusTB1aIbg" event="_4WSIMCjmEeaJJusTB1aIbg"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_BO7j4CjnEeaJJusTB1aIbg" source="_owZYcCjmEeaJJusTB1aIbg" target="__9lQwCjmEeaJJusTB1aIbg">
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_F9mScCjnEeaJJusTB1aIbg">
-                <language>C++</language>
-                <body>std::cout &lt;&lt;&quot;From State 2 to Junction1\n&quot;;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_GlK94CjpEeaJJusTB1aIbg" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_G1QTMCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_53E_8OYXEeCBL_IbXY9ofw"/>
-            <transition xmi:type="uml:Transition" xmi:id="_HnKRQCjnEeaJJusTB1aIbg" guard="_KB4nQCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_7_1cMOYXEeCBL_IbXY9ofw">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_KB4nQCjnEeaJJusTB1aIbg">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_KB4nQSjnEeaJJusTB1aIbg">
-                  <language>C++</language>
-                  <body>true</body>
-                </specification>
-              </ownedRule>
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_QlLVICjnEeaJJusTB1aIbg">
-                <language>C++</language>
-                <body>std::cout &lt;&lt; &quot;From Junction1 to State 1 \n&quot;;</body>
-              </effect>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_g3iPUEOAEeadCvQ7UGhFAA" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_cyKVYEOAEeadCvQ7UGhFAA">
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_SPGDsEVLEeaqgqiOqzyU4w">
-                <language>C++</language>
-                <body>std::cout &lt;&lt; &quot;goto prepare_conveyer&quot; &lt;&lt; std::endl;&#xD;
-which_rack = !which_rack;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_cPppAEVTEeanJO83GGodwg" event="_ZedTwEVTEeanJO83GGodwg"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_mUQWsEOAEeadCvQ7UGhFAA" source="_cyKVYEOAEeadCvQ7UGhFAA" target="_jt7NoEOAEeadCvQ7UGhFAA">
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_3Y2p8EVeEeaxaO4Kn-ck8A">
-                <language>C++</language>
-                <body>std::cout &lt;&lt; &quot;from conveyer to choice&quot; &lt;&lt; std::endl;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_zEX9AEVeEeaxaO4Kn-ck8A" event="_ZedTwEVTEeanJO83GGodwg"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_qtXsAEOAEeadCvQ7UGhFAA" guard="_wCmrUEOAEeadCvQ7UGhFAA" source="_jt7NoEOAEeadCvQ7UGhFAA" target="_nhVN0EOAEeadCvQ7UGhFAA">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_wCmrUEOAEeadCvQ7UGhFAA">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_wCmrUUOAEeadCvQ7UGhFAA">
-                  <language>C++</language>
-                  <body>which_rack==0</body>
-                </specification>
-              </ownedRule>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_0dpTQEOAEeadCvQ7UGhFAA" source="_jt7NoEOAEeadCvQ7UGhFAA" target="_xKx0UEOAEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_4tzg4EOAEeadCvQ7UGhFAA" source="_xKx0UEOAEeadCvQ7UGhFAA" target="_11G1cEOAEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_5E7AYEOAEeadCvQ7UGhFAA" source="_11G1cEOAEeadCvQ7UGhFAA" target="_3OJsAEOAEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_B0R9MEOBEeadCvQ7UGhFAA" source="_3OJsAEOAEeadCvQ7UGhFAA" target="_8N5jgEOAEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_Gm27YEOBEeadCvQ7UGhFAA" guard="_J2-oUEOBEeadCvQ7UGhFAA" source="_8N5jgEOAEeadCvQ7UGhFAA" target="_CzHkAEOBEeadCvQ7UGhFAA">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_J2-oUEOBEeadCvQ7UGhFAA">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_J2-oUUOBEeadCvQ7UGhFAA">
-                  <language>C++</language>
-                  <body>is_misplace</body>
-                </specification>
-              </ownedRule>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_KWyJwEOBEeadCvQ7UGhFAA" source="_8N5jgEOAEeadCvQ7UGhFAA" target="_EtK14EOBEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_OBSsoEOBEeadCvQ7UGhFAA" source="_CzHkAEOBEeadCvQ7UGhFAA" target="_LPM_gEOBEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_Ovt44EOBEeadCvQ7UGhFAA" source="_EtK14EOBEeadCvQ7UGhFAA" target="_LPM_gEOBEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_P_HEMEOBEeadCvQ7UGhFAA" source="_LPM_gEOBEeadCvQ7UGhFAA" target="_PiyUkEOBEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_Q3bzUEOBEeadCvQ7UGhFAA" source="_nhVN0EOAEeadCvQ7UGhFAA" target="_PiyUkEOBEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_TwTBYEOCEeadCvQ7UGhFAA" guard="_X_xSgEOCEeadCvQ7UGhFAA" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_S3gYMEOCEeadCvQ7UGhFAA">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_X_xSgEOCEeadCvQ7UGhFAA">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_X_xSgUOCEeadCvQ7UGhFAA">
-                  <language>C++</language>
-                  <body>!is_misplace</body>
-                </specification>
-              </ownedRule>
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_O1EM0EVLEeaqgqiOqzyU4w">
-                <language>C++</language>
-                <body>std::cout &lt;&lt; &quot;goto fork&quot; &lt;&lt; std::endl;&#xD;
-std::cout &lt;&lt;&quot;signal value a = &quot; &lt;&lt; sig.a &lt;&lt; std::endl;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_w09MAEVGEeaqgqiOqzyU4w" event="_wqLfYEVGEeaqgqiOqzyU4w"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_a-EPoEOCEeadCvQ7UGhFAA" source="_S3gYMEOCEeadCvQ7UGhFAA" target="_QUQYUEOCEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_bduAEEOCEeadCvQ7UGhFAA" source="_S3gYMEOCEeadCvQ7UGhFAA" target="_RobV8EOCEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_e5OdoEOCEeadCvQ7UGhFAA" source="_cbYiMEOCEeadCvQ7UGhFAA" target="_11G1cEOAEeadCvQ7UGhFAA"/>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_1UVNgOYXEeCBL_IbXY9ofw" name="Initial0"/>
-            <subvertex xmi:type="uml:State" xmi:id="_53E_8OYXEeCBL_IbXY9ofw" name="State0"/>
-            <subvertex xmi:type="uml:State" xmi:id="_7_1cMOYXEeCBL_IbXY9ofw" name="State1">
-              <entry xmi:type="uml:OpaqueBehavior" xmi:id="_sU8_AEVbEeaxaO4Kn-ck8A">
-                <language>C++</language>
-                <body>which_rack = (!which_rack);&#xD;
-std::cout &lt;&lt;&quot;Changed rack&quot;;</body>
-              </entry>
-            </subvertex>
-            <subvertex xmi:type="uml:State" xmi:id="_owZYcCjmEeaJJusTB1aIbg" name="State2"/>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="__9lQwCjmEeaJJusTB1aIbg" name="Junction1" kind="junction"/>
-            <subvertex xmi:type="uml:State" xmi:id="_cyKVYEOAEeadCvQ7UGhFAA" name="Prepare_Conveyer"/>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_jt7NoEOAEeadCvQ7UGhFAA" name="check_rack" kind="choice"/>
-            <subvertex xmi:type="uml:State" xmi:id="_nhVN0EOAEeadCvQ7UGhFAA" name="empty_shelf"/>
-            <subvertex xmi:type="uml:State" xmi:id="_xKx0UEOAEeadCvQ7UGhFAA" name="not_empty_shelf"/>
-            <subvertex xmi:type="uml:State" xmi:id="_11G1cEOAEeadCvQ7UGhFAA" name="pick_chassis"/>
-            <subvertex xmi:type="uml:State" xmi:id="_3OJsAEOAEeadCvQ7UGhFAA" name="deliver_car"/>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_8N5jgEOAEeadCvQ7UGhFAA" name="mismatchChoice" kind="choice"/>
-            <subvertex xmi:type="uml:State" xmi:id="_CzHkAEOBEeadCvQ7UGhFAA" name="misplace"/>
-            <subvertex xmi:type="uml:State" xmi:id="_EtK14EOBEeadCvQ7UGhFAA" name="not_misplace"/>
-            <subvertex xmi:type="uml:State" xmi:id="_LPM_gEOBEeadCvQ7UGhFAA" name="rewind_conveyor"/>
-            <subvertex xmi:type="uml:FinalState" xmi:id="_PiyUkEOBEeadCvQ7UGhFAA" name="FinalState1"/>
-            <subvertex xmi:type="uml:State" xmi:id="_OZYAAEOCEeadCvQ7UGhFAA" name="State3">
-              <region xmi:type="uml:Region" xmi:id="_PWnrYkOCEeadCvQ7UGhFAA" name="Region1">
-                <transition xmi:type="uml:Transition" xmi:id="_dedIwEOCEeadCvQ7UGhFAA" source="_QUQYUEOCEeadCvQ7UGhFAA" target="_cbYiMEOCEeadCvQ7UGhFAA"/>
-                <transition xmi:type="uml:Transition" xmi:id="_74CVgFTJEeaUqofUUR_LDQ" source="_QUQYUEOCEeadCvQ7UGhFAA" target="_5xA-oFTJEeaUqofUUR_LDQ">
-                  <trigger xmi:type="uml:Trigger" xmi:id="_AmuSMFTKEeaUqofUUR_LDQ" event="_rHoJgOtoEeCjb9i0gG4phA"/>
-                </transition>
-                <subvertex xmi:type="uml:State" xmi:id="_QUQYUEOCEeadCvQ7UGhFAA" name="State4"/>
-                <subvertex xmi:type="uml:FinalState" xmi:id="_5xA-oFTJEeaUqofUUR_LDQ" name="FinalState1"/>
-              </region>
-              <region xmi:type="uml:Region" xmi:id="_P1Z5IEOCEeadCvQ7UGhFAA" name="Region2">
-                <transition xmi:type="uml:Transition" xmi:id="_eAXjAEOCEeadCvQ7UGhFAA" source="_RobV8EOCEeadCvQ7UGhFAA" target="_cbYiMEOCEeadCvQ7UGhFAA"/>
-                <transition xmi:type="uml:Transition" xmi:id="_7VlvwFTJEeaUqofUUR_LDQ" source="_RobV8EOCEeadCvQ7UGhFAA" target="_67iRAFTJEeaUqofUUR_LDQ">
-                  <trigger xmi:type="uml:Trigger" xmi:id="__FB18FTJEeaUqofUUR_LDQ" event="_rHoJgOtoEeCjb9i0gG4phA"/>
-                </transition>
-                <subvertex xmi:type="uml:State" xmi:id="_RobV8EOCEeadCvQ7UGhFAA" name="State5"/>
-                <subvertex xmi:type="uml:FinalState" xmi:id="_67iRAFTJEeaUqofUUR_LDQ" name="FinalState1"/>
-              </region>
-            </subvertex>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_S3gYMEOCEeadCvQ7UGhFAA" name="Fork1" kind="fork"/>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_cbYiMEOCEeadCvQ7UGhFAA" name="Join1" kind="join"/>
-          </region>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_YNCW4CgBEeapjr3l63b85A" name="run" specification="_VGsRACgBEeapjr3l63b85A">
-          <language>C/C++</language>
-          <body>cout &lt;&lt; &quot;call add (2, 3);&quot; &lt;&lt; endl;&#xD;
-cout &lt;&lt; &quot;result: &quot; &lt;&lt; add (2, 3) &lt;&lt; endl;&#xD;
-cout &lt;&lt; &quot;sleeping for 15 seconds (statemachine remains active);&quot; &lt;&lt; endl;&#xD;
-#ifdef WIN32&#xD;
-Sleep(15000);&#xD;
-#else&#xD;
-sleep(15);&#xD;
-#endif&#xD;
-</body>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_4ZEZwHecEd6r18stFZxmFQ" name="mult" method="_qxjWINnmEd2_cstbO2Uzgg">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTo3cEVIEeaqgqiOqzyU4w" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTo3cUVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTpegEVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTpegUVIEeaqgqiOqzyU4w" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTpegkVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTpeg0VIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTqFkEVIEeaqgqiOqzyU4w" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTqsoEVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTqsoUVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_TbIjUJYlEd6G9q9hwr11bw" name="add" method="_ML-4AKI5Ed6FqJCjEUrkqQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_kl6KUEVIEeaqgqiOqzyU4w" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kl6xYEVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kl6xYUVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_kl6xYkVIEeaqgqiOqzyU4w" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kl6xY0VIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kl6xZEVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_kl6xZUVIEeaqgqiOqzyU4w" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kl7YcEVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kl7YcUVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_VGsRACgBEeapjr3l63b85A" name="run" method="_YNCW4CgBEeapjr3l63b85A"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_rGzqIOtoEeCjb9i0gG4phA" name="events">
-        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_rHoJgOtoEeCjb9i0gG4phA" name="TE - {value=50, unit=ms}" isRelative="true">
-          <when xmi:type="uml:TimeExpression" xmi:id="_rHoJgetoEeCjb9i0gG4phA">
-            <expr xmi:type="uml:OpaqueExpression" xmi:id="_rHoJgutoEeCjb9i0gG4phA">
-              <language>Natural language</language>
-              <body>{value=50, unit=ms}</body>
-            </expr>
-          </when>
-        </packagedElement>
-        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_-PMFcCaeEeG4fZdVXNtoOQ" name="TE - {value=500, unit=ms}" isRelative="true">
-          <when xmi:type="uml:TimeExpression" xmi:id="_-PMFcSaeEeG4fZdVXNtoOQ">
-            <expr xmi:type="uml:OpaqueExpression" xmi:id="_-PMFciaeEeG4fZdVXNtoOQ">
-              <language>Natural language</language>
-              <body>{value=500, unit=ms}</body>
-            </expr>
-          </when>
-        </packagedElement>
-        <packagedElement xmi:type="uml:CallEvent" xmi:id="_8WeCMHoDEeOA64V_YLapaA" name="CE - CServer_impl - add" operation="_TbIjUJYlEd6G9q9hwr11bw"/>
-        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_4WSIMCjmEeaJJusTB1aIbg" name="TE - {value=25, unit=ms}" isRelative="true">
-          <when xmi:type="uml:TimeExpression" xmi:id="_4WSIMSjmEeaJJusTB1aIbg">
-            <expr xmi:type="uml:OpaqueExpression" xmi:id="_4WSIMijmEeaJJusTB1aIbg">
-              <language>Natural language</language>
-              <body>{value=25, unit=ms}</body>
-            </expr>
-          </when>
-        </packagedElement>
-        <packagedElement xmi:type="uml:SignalEvent" xmi:id="_wqLfYEVGEeaqgqiOqzyU4w" name="SigEv" signal="_wBfuwEVGEeaqgqiOqzyU4w"/>
-        <packagedElement xmi:type="uml:ChangeEvent" xmi:id="_ZedTwEVTEeanJO83GGodwg" name="CHE_Event">
-          <changeExpression xmi:type="uml:OpaqueExpression" xmi:id="_ZedTwUVTEeanJO83GGodwg">
-            <language>C++</language>
-            <body>which_rack</body>
-          </changeExpression>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Signal" xmi:id="_wBfuwEVGEeaqgqiOqzyU4w" name="Sig">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_wBfuwUVGEeaqgqiOqzyU4w" name="a">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedAttribute>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_v3fMgDLiEd2RVeNawwNNzg" name="platform">
-      <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="MonoNode">
-        <generalization xmi:type="uml:Generalization" xmi:id="_A39CYHDaEeORJcfdyIEeTg">
-          <general xmi:type="uml:Class" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmImnHEeOtZICylR5Azw"/>
-        </generalization>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_M1a_8MniEeCMCo5Ox2CNmg" name="HWArchitectureMonolithic">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_QgKzYMniEeCMCo5Ox2CNmg" name="monoNode" visibility="public" type="_zY9vMDLiEd2RVeNawwNNzg" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XijRAMniEeCMCo5Ox2CNmg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XkfxwMniEeCMCo5Ox2CNmg" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_XlIq8MniEeCMCo5Ox2CNmg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_Ndc2cGGIEeO2F4QRMDSOXg" name="Eclipse" type="_GUl9YGGIEeO2F4QRMDSOXg" aggregation="composite"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_GUl9YGGIEeO2F4QRMDSOXg" name="EclipseServer">
-        <generalization xmi:type="uml:Generalization" xmi:id="_Bpd-4HDaEeORJcfdyIEeTg">
-          <general xmi:type="uml:Class" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmImnHEeOtZICylR5Azw"/>
-        </generalization>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_ZDrmkHDaEeORJcfdyIEeTg" name="HWArchitectureMonolithicPlatform">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDrmkXDaEeORJcfdyIEeTg" classifier="_M1a_8MniEeCMCo5Ox2CNmg">
-          <slot xmi:type="uml:Slot" xmi:id="_ZDsNoXDaEeORJcfdyIEeTg" definingFeature="_QgKzYMniEeCMCo5Ox2CNmg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_ZDs0sHDaEeORJcfdyIEeTg" instance="_ZDsNoHDaEeORJcfdyIEeTg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_ZDtbwHDaEeORJcfdyIEeTg" definingFeature="_Ndc2cGGIEeO2F4QRMDSOXg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_ZDuC0HDaEeORJcfdyIEeTg" instance="_ZDs0sXDaEeORJcfdyIEeTg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDsNoHDaEeORJcfdyIEeTg" name="monoNode" classifier="_zY9vMDLiEd2RVeNawwNNzg">
-          <slot xmi:type="uml:Slot" xmi:id="_fg9zEHDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJWnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralString" xmi:id="_fg-aIHDaEeORJcfdyIEeTg" name="value for IPaddress" value="127.0.0.1">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-            </value>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_hDbrYHDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJmnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralInteger" xmi:id="_hDcScHDaEeORJcfdyIEeTg" name="value for portNumber" value="12345">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-            </value>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDs0sXDaEeORJcfdyIEeTg" name="Eclipse" classifier="_GUl9YGGIEeO2F4QRMDSOXg">
-          <slot xmi:type="uml:Slot" xmi:id="_oXzQ4HDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJWnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralString" xmi:id="_oXz38HDaEeORJcfdyIEeTg" name="value for IPaddress" value="127.0.0.1">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-            </value>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_plcIsHDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJmnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralInteger" xmi:id="_plcvwHDaEeORJcfdyIEeTg" name="value for portNumber" value="12346">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-            </value>
-          </slot>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_NaSPIHltEeOh_8tymvdOOg" name="System_implPlatform">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaS2MHltEeOh_8tymvdOOg" classifier="_bYJagDLiEd2RVeNawwNNzg">
-          <slot xmi:type="uml:Slot" xmi:id="_NaTdQXltEeOh_8tymvdOOg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaUEUHltEeOh_8tymvdOOg" instance="_NaTdQHltEeOh_8tymvdOOg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_NaVScHltEeOh_8tymvdOOg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaV5gHltEeOh_8tymvdOOg" instance="_NaUrYHltEeOh_8tymvdOOg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_NaXHoHltEeOh_8tymvdOOg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaXHoXltEeOh_8tymvdOOg" instance="_NaWgkHltEeOh_8tymvdOOg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_NaXusXltEeOh_8tymvdOOg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaYVwHltEeOh_8tymvdOOg" instance="_NaXusHltEeOh_8tymvdOOg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaTdQHltEeOh_8tymvdOOg" name="server" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaUrYHltEeOh_8tymvdOOg" name="client"/>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaWgkHltEeOh_8tymvdOOg" name="singleton_localanimservice">
-          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/statemachine.uml#_xELAwF81EeGbQoflzrdx0g"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaXusHltEeOh_8tymvdOOg" name="singleton_remoteanimservice">
-          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/statemachine.uml#_B0gFAHg_EeOejZqJpKQeww"/>
-        </packagedElement>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
-      <packagedElement xmi:type="uml:Package" xmi:id="_QQiDgHltEeOh_8tymvdOOg" name="System_implDepPlan">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_QQm8AHltEeOh_8tymvdOOg" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg">
-          <slot xmi:type="uml:Slot" xmi:id="_QQtpsHltEeOh_8tymvdOOg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_QQuQwHltEeOh_8tymvdOOg" instance="_QQr0gHltEeOh_8tymvdOOg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_QQr0gHltEeOh_8tymvdOOg" name="mainInstance.simpleSM" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
-        <packagedElement xmi:type="uml:Abstraction" xmi:id="_StNrwCQdEeabuaUFyev1pw" name="allocate mainInstance to monoNode" client="_QQm8AHltEeOh_8tymvdOOg" supplier="_ZDsNoHDaEeORJcfdyIEeTg"/>
-      </packagedElement>
-    </packagedElement>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_GcC0cAHtEd6HSdiss9GQ0A">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Gd1kMAHtEd6HSdiss9GQ0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_z1TwgFW3Ed63BrxiKsw-0Q">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z2GasFW3Ed63BrxiKsw-0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_zi-sUE2sEeGl8qrc8BM7vA">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0QJUUE2sEeGl8qrc8BM7vA" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
-    </profileApplication>
-  </uml:Model>
-  <FCM:DerivedElement xmi:id="_DWb6oP6yEd6Ie_kieu_3CQ" base_Element="_TbIjUJYlEd6G9q9hwr11bw" source="_DGs6wDLgEd28fJKJJnUaeQ"/>
-  <FCM:DerivedElement xmi:id="_DXK6cP6yEd6Ie_kieu_3CQ" base_Element="_4ZEZwHecEd6r18stFZxmFQ" source="_L8EY8DLgEd28fJKJJnUaeQ"/>
-  <FCM:RuleApplication xmi:id="_DWIYoP6yEd6Ie_kieu_3CQ" base_Class="_oqZNUDLaEd2qeKRLMdIx_A">
-    <containerRule xmi:type="FCM:ContainerRule" href="pathmap://QML_CORE/statemachine.uml#_7BlhkCPoEeauR8esGjVxRA"/>
-    <propagateRule>false</propagateRule>
-    <containerRule xmi:type="FCM:CompositeCRule" href="pathmap://QML_CORE/statemachine.uml#_BncCwO68EeCZ9MjsZTV1zw"/>
-    <interceptor href="pathmap://QML_TRACE/tracing.uml#_35od4DKrEd-z5o2wSoJ16A"/>
-  </FCM:RuleApplication>
-  <FCM:Port xmi:id="_GofhQP6yEd6Ie_kieu_3CQ" base_Port="_4KiE8DLbEd2qeKRLMdIx_A" type="_cn-H0DLbEd2qeKRLMdIx_A">
-    <kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_wySlkFRxEd6GqrP6fkWBoQ"/>
-  </FCM:Port>
-  <FCM:Target xmi:id="_HvbFMLqQEd-BObGGoBbehA" base_Node="_zY9vMDLiEd2RVeNawwNNzg">
-    <targetArch xmi:type="FCM:TargetArchitecture" href="pathmap://QML_CORE/core.uml#_FYOqwF0OEd-12d_h0i1xhQ"/>
-    <usedOS xmi:type="FCM:OperatingSystem" href="pathmap://QML_CORE/core.uml#_1eULwF0NEd-12d_h0i1xhQ"/>
-  </FCM:Target>
-  <C_Cpp:Include xmi:id="_EaeJMNp0EeKd1ax3yaXM9w" body="#include &lt;iostream>&#xA;using namespace std;&#xA;&#xA;#include &lt;unistd.h>&#xA;" header="#ifdef WIN32&#xD;&#xA;#include &quot;windows.h&quot;&#xD;&#xA;#endif" base_class="_oqZNUDLaEd2qeKRLMdIx_A"/>
-  <FCM:DeploymentPlan xmi:id="_QQlt4HltEeOh_8tymvdOOg" mainInstance="_QQm8AHltEeOh_8tymvdOOg" base_Package="_QQiDgHltEeOh_8tymvdOOg"/>
-  <Alloc:Allocate xmi:id="_StSkQCQdEeabuaUFyev1pw" base_Abstraction="_StNrwCQdEeabuaUFyev1pw"/>
-  <FCM:DerivedElement xmi:id="_VGxwkCgBEeapjr3l63b85A" base_Element="_VGsRACgBEeapjr3l63b85A">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSMSignalEvent.notation b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSMSignalEvent.notation
deleted file mode 100644
index ead6b0e..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSMSignalEvent.notation
+++ /dev/null
@@ -1,1412 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
-  <notation:Diagram xmi:id="_XSHWMF36Ed-UvNEDwY5GNg" type="PapyrusUMLClassDiagram" name="Interfaces" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_MTW5IDcZEeGPyrZ5I3hMlA" type="Interface_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTYuUDcZEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTYuUTcZEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTZVYDcZEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTZVYTcZEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTZVYjcZEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTZVYzcZEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_MTZVZDcZEeGPyrZ5I3hMlA" type="Interface_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IDa5YPX4EeWa_pjn9guopQ" visible="false" type="Interface_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZVZjcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZVZzcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZVaDcZEeGPyrZ5I3hMlA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZVaTcZEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IHycAPX4EeWa_pjn9guopQ" type="Interface_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_QIpIoDcZEeGPyrZ5I3hMlA" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-jHsIFmOEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-ovzAFmOEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="SimpleSMSignalEvent.uml#_DGs6wDLgEd28fJKJJnUaeQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_QIpIoTcZEeGPyrZ5I3hMlA"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_QIqWwDcZEeGPyrZ5I3hMlA" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__X1GkFmOEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__X6mIFmOEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="SimpleSMSignalEvent.uml#_L8EY8DLgEd28fJKJJnUaeQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_QIqWwTcZEeGPyrZ5I3hMlA"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_1U9e4McqEeSsAI2TZshUyg" type="Reception_InterfaceReceptionLabel">
-          <element xmi:type="uml:Reception" href="SimpleSMSignalEvent.uml#_1U0U8McqEeSsAI2TZshUyg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1U9e4ccqEeSsAI2TZshUyg"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_M-0sIMcrEeSsAI2TZshUyg" type="Reception_InterfaceReceptionLabel">
-          <element xmi:type="uml:Reception" href="SimpleSMSignalEvent.uml#_M-tXYMcrEeSsAI2TZshUyg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_M-0sIccrEeSsAI2TZshUyg"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZ8cDcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZ8cTcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZ8cjcZEeGPyrZ5I3hMlA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZ8czcZEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IHycAfX4EeWa_pjn9guopQ" visible="false" type="Interface_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZ8dTcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZ8djcZEeGPyrZ5I3hMlA"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZ8dzcZEeGPyrZ5I3hMlA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZ8eDcZEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hsloIFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hsloIVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hsloIlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_XYUeMGkLEeWakucY9QdE0g" type="Interface_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_XYUeMWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Interface" href="SimpleSMSignalEvent.uml#_cn-H0DLbEd2qeKRLMdIx_A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTW5ITcZEeGPyrZ5I3hMlA" x="150" y="111" width="337" height="110"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_ywpIAMcqEeSsAI2TZshUyg" type="Signal_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_ywpvEMcqEeSsAI2TZshUyg" type="Signal_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ywpvEccqEeSsAI2TZshUyg" type="Signal_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_ywpvEscqEeSsAI2TZshUyg" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IH2tcPX4EeWa_pjn9guopQ" type="Signal_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_ywqWIccqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_ywqWIscqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_ywqWI8cqEeSsAI2TZshUyg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ywqWJMcqEeSsAI2TZshUyg"/>
-      </children>
-      <element xmi:type="uml:Signal" href="SimpleSMSignalEvent.uml#_ywk2kMcqEeSsAI2TZshUyg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ywpIAccqEeSsAI2TZshUyg" x="640" y="120"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_z0oUkMcqEeSsAI2TZshUyg" type="Signal_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_z0o7oMcqEeSsAI2TZshUyg" type="Signal_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_z0o7occqEeSsAI2TZshUyg" type="Signal_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_z0o7oscqEeSsAI2TZshUyg" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_IH4ioPX4EeWa_pjn9guopQ" type="Signal_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_z0o7pMcqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_z0o7pccqEeSsAI2TZshUyg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_z0o7pscqEeSsAI2TZshUyg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0o7p8cqEeSsAI2TZshUyg"/>
-      </children>
-      <element xmi:type="uml:Signal" href="SimpleSMSignalEvent.uml#_z0nGcMcqEeSsAI2TZshUyg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0oUkccqEeSsAI2TZshUyg" x="840" y="120"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_XSHWMV36Ed-UvNEDwY5GNg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_XYVFQGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="SimpleSMSignalEvent.uml#_Tp4n8DLaEd2qeKRLMdIx_A"/>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_aeSh0F37Ed-UvNEDwY5GNg" type="CompositeStructure" name="CompositeDiagram SimpleSM" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_c2tKsF37Ed-UvNEDwY5GNg" type="Class_Shape" fontName="Monospace" fontHeight="10" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MXrr0H8eEd-5xfPoaTlRww" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MXsS4H8eEd-5xfPoaTlRww" key="QualifiedNameDepth" value="1"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NqCEgH8eEd-5xfPoaTlRww" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NqCEgX8eEd-5xfPoaTlRww" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_c2tKsl37Ed-UvNEDwY5GNg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_I-1YwPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2tKtF37Ed-UvNEDwY5GNg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_FzA74GfbEd-T-rJ3Ep9Y5Q" type="Port_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzSosGfbEd-T-rJ3Ep9Y5Q" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzTPwGfbEd-T-rJ3Ep9Y5Q" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzTPwWfbEd-T-rJ3Ep9Y5Q" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzT20GfbEd-T-rJ3Ep9Y5Q" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzT20WfbEd-T-rJ3Ep9Y5Q" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzT20mfbEd-T-rJ3Ep9Y5Q" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FzUd4GfbEd-T-rJ3Ep9Y5Q" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FzUd4WfbEd-T-rJ3Ep9Y5Q" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FzUd4mfbEd-T-rJ3Ep9Y5Q" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FzUd42fbEd-T-rJ3Ep9Y5Q" x="-50" y="-30"/>
-        </children>
-        <element xmi:type="uml:Port" href="SimpleSMSignalEvent.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FzA74WfbEd-T-rJ3Ep9Y5Q" x="-10" y="130"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hw-_8FbmEeObiJAlOlmjpQ" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hw-_8VbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="FCM:RuleApplication" href="SimpleSMSignalEvent.uml#_DWIYoP6yEd6Ie_kieu_3CQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hw-_8lbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hxIJ4FbmEeObiJAlOlmjpQ" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hxIJ4VbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="C_Cpp:Include" href="SimpleSMSignalEvent.uml#_EaeJMNp0EeKd1ax3yaXM9w"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxIJ4lbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hxIJ41bmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hxIJ5FbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxIJ5VbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Xth5MGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Xth5MWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Xvnj4GkLEeWakucY9QdE0g" type="StereotypeCompartment">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XvvfsGkLEeWakucY9QdE0g" source="PapyrusCSSForceValue">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XvvfsWkLEeWakucY9QdE0g" key="visible" value="true"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_XvoyAGkLEeWakucY9QdE0g" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_r2VLUJD2Ed-I9dVdNhZAGQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_XvoyAWkLEeWakucY9QdE0g"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Xvnj4WkLEeWakucY9QdE0g" showTitle="true"/>
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_Xvnj4mkLEeWakucY9QdE0g" name="stereotype" stringValue="FCM::RuleApplication"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_te7YAMtkEd2H_o0jIC6qDQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xvnj42kLEeWakucY9QdE0g"/>
-      </children>
-      <element xmi:type="uml:Class" href="SimpleSMSignalEvent.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2tKsV37Ed-UvNEDwY5GNg" x="100" y="140" width="321" height="161"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_ccPtMDemEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQUQDemEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQUQTemEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQUQjemEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQUQzemEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQURDemEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQURTemEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ccQURjemEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="SimpleSMSignalEvent.uml#_cb-ncDemEeGPyrZ5I3hMlA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccPtMTemEeGPyrZ5I3hMlA" x="500" y="140" width="184"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Xvj5gGkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_Xvj5gWkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xvj5g2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="SimpleSMSignalEvent.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xvj5gmkLEeWakucY9QdE0g" x="308" y="72"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_XxYecGkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_XxYecWkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XxYec2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="SimpleSMSignalEvent.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XxYecmkLEeWakucY9QdE0g" x="190" y="108"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Dv6ycCgBEeapjr3l63b85A" type="Class_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Dv91wCgBEeapjr3l63b85A" type="Class_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Dv91wSgBEeapjr3l63b85A" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Dv91wigBEeapjr3l63b85A" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Dv-c0CgBEeapjr3l63b85A" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Dv-c0SgBEeapjr3l63b85A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dv-c0igBEeapjr3l63b85A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Dwk5wCgBEeapjr3l63b85A" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Dwk5wSgBEeapjr3l63b85A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dwk5wigBEeapjr3l63b85A"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_PI7SECgBEeapjr3l63b85A" type="Port_Shape">
-        <children xmi:type="notation:DecorationNode" xmi:id="_PI7SEigBEeapjr3l63b85A" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_PI7SEygBEeapjr3l63b85A" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_PI7SFCgBEeapjr3l63b85A" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_PI7SFSgBEeapjr3l63b85A" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PI7SESgBEeapjr3l63b85A" x="-10" y="30"/>
-      </children>
-      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dv6ycSgBEeapjr3l63b85A" x="100" y="20" width="321" height="61"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_PJhvACgBEeapjr3l63b85A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_PJhvASgBEeapjr3l63b85A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_PJhvAygBEeapjr3l63b85A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PJhvAigBEeapjr3l63b85A" x="190" y="-9"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_aeSh0V37Ed-UvNEDwY5GNg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_Xth5MmkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_0yX_oCgBEeapjr3l63b85A">
-      <owner xmi:type="uml:Package" href="SimpleSMSignalEvent.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
-    </styles>
-    <element xmi:type="uml:Package" href="SimpleSMSignalEvent.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
-    <edges xmi:type="notation:Connector" xmi:id="_gMg50DemEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_ccPtMDemEeGPyrZ5I3hMlA" target="_c2tKsF37Ed-UvNEDwY5GNg" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_gMg50TemEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gMg50jemEeGPyrZ5I3hMlA" points="[-10, -7, 55, 0]$[-42, -9, 23, -2]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gM_a8DemEeGPyrZ5I3hMlA" id="(0.0,0.6349206349206349)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gNACADemEeGPyrZ5I3hMlA" id="(1.0,0.43795620437956206)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Xvj5hGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_c2tKsF37Ed-UvNEDwY5GNg" target="_Xvj5gGkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_Xvj5hWkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xvj5iWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="SimpleSMSignalEvent.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xvj5hmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xvj5h2kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xvj5iGkLEeWakucY9QdE0g"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_XxYedGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_FzA74GfbEd-T-rJ3Ep9Y5Q" target="_XxYecGkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_XxYedWkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XxZFgGkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="SimpleSMSignalEvent.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XxYedmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XxYed2kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XxYeeGkLEeWakucY9QdE0g"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_LvBXACgBEeapjr3l63b85A" type="Generalization_Edge" source="_c2tKsF37Ed-UvNEDwY5GNg" target="_Dv6ycCgBEeapjr3l63b85A">
-      <children xmi:type="notation:DecorationNode" xmi:id="_LvClICgBEeapjr3l63b85A" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LvClISgBEeapjr3l63b85A" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_LvBXASgBEeapjr3l63b85A"/>
-      <element xmi:type="uml:Generalization" href="SimpleSMSignalEvent.uml#_LuEUwCgBEeapjr3l63b85A"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LvBXAigBEeapjr3l63b85A" points="[260, 140, -643984, -643984]$[260, 66, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LvZxgCgBEeapjr3l63b85A" id="(0.4984423676012461,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LvZxgSgBEeapjr3l63b85A" id="(0.4984423676012461,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_PJhvBCgBEeapjr3l63b85A" type="StereotypeCommentLink" source="_PI7SECgBEeapjr3l63b85A" target="_PJhvACgBEeapjr3l63b85A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_PJhvBSgBEeapjr3l63b85A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_PJiWECgBEeapjr3l63b85A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PJhvBigBEeapjr3l63b85A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PJhvBygBEeapjr3l63b85A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PJhvCCgBEeapjr3l63b85A"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_q-Wa0F37Ed-UvNEDwY5GNg" type="CompositeStructure" name="CompositeDiagram System" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_sGaPEF37Ed-UvNEDwY5GNg" type="Class_Shape" fontName="Sans Serif" fontHeight="10" transparency="0" gradient="8047085, 0, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6B6WUGSuEd-dQdK1-7wIFg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6B69YGSuEd-dQdK1-7wIFg" key="QualifiedNameDepth" value="3"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_62o-4GSuEd-dQdK1-7wIFg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_62o-4WSuEd-dQdK1-7wIFg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KXK-0GGEEeO2F4QRMDSOXg" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KXK-0WGEEeO2F4QRMDSOXg" key="fillColor" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_sGa2IF37Ed-UvNEDwY5GNg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JEi_MPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_vHCHcF37Ed-UvNEDwY5GNg" type="Property_Shape" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_haY70F38Ed-UvNEDwY5GNg" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_haY70V38Ed-UvNEDwY5GNg" key="QualifiedNameDepth" value="4"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_64BTMHl_EeOuQYJqyYp5HQ" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_64BTMXl_EeOuQYJqyYp5HQ" key="fillColor" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_vHCHcl37Ed-UvNEDwY5GNg" type="Property_NameLabel">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DC4cAFmPEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DJ5qAFmPEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JEkNUfX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vHCHdF37Ed-UvNEDwY5GNg"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_zk0VwDrcEeGgAdAmWw4pyQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk080TrcEeGgAdAmWw4pyQ" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk080jrcEeGgAdAmWw4pyQ" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk080zrcEeGgAdAmWw4pyQ" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk081DrcEeGgAdAmWw4pyQ" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk1j4DrcEeGgAdAmWw4pyQ" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk1j4TrcEeGgAdAmWw4pyQ" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_zk1j4jrcEeGgAdAmWw4pyQ" type="Port_NameLabel">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BYsLEFmPEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BeLIAFmPEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="28"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_zk1j4zrcEeGgAdAmWw4pyQ" x="25" y="3"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_zk1j5DrcEeGgAdAmWw4pyQ" visible="false" type="Port_StereotypeLabel">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_zk1j5TrcEeGgAdAmWw4pyQ" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="SimpleSMSignalEvent.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zk080DrcEeGgAdAmWw4pyQ" x="-10" y="50"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_hzStEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_hzStEVbmEeObiJAlOlmjpQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hzStElbmEeObiJAlOlmjpQ"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_Xx40xGkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_Xx40xWkLEeWakucY9QdE0g" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="SimpleSMSignalEvent.uml#_gV1cgDLiEd2RVeNawwNNzg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vHCHcV37Ed-UvNEDwY5GNg" x="54" y="33" width="201" height="112"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_X1dtMmkLEeWakucY9QdE0g" type="StereotypeComment">
-          <styles xmi:type="notation:TitleStyle" xmi:id="_X1dtM2kLEeWakucY9QdE0g" showTitle="true"/>
-          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X1dtNWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-            <eObjectValue xmi:type="uml:Port" href="SimpleSMSignalEvent.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-          </styles>
-          <element xsi:nil="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X1dtNGkLEeWakucY9QdE0g" x="190" y="59"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGa2Il37Ed-UvNEDwY5GNg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hzPCsFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hzPCsVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hzPCslbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Xx40wGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Xx40wWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="SimpleSMSignalEvent.uml#_bYJagDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGaPEV37Ed-UvNEDwY5GNg" x="60" y="40" width="321" height="221"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_q-Wa0V37Ed-UvNEDwY5GNg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_Xx40ymkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="SimpleSMSignalEvent.uml#_XLQjUDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_X1dtNmkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_zk0VwDrcEeGgAdAmWw4pyQ" target="_X1dtMmkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_X1dtN2kLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X1eUQmkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="SimpleSMSignalEvent.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X1dtOGkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X1eUQGkLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X1eUQWkLEeWakucY9QdE0g"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_6FvnwGONEd-seu3qyZgHfg" type="PapyrusUMLClassDiagram" name="deployment plans" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_TOVRYHltEeOh_8tymvdOOg" type="Package_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_TOVRYnltEeOh_8tymvdOOg" type="Package_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JLvMUPX4EeWa_pjn9guopQ" type="Package_PackagedElementCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_TOVRZHltEeOh_8tymvdOOg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TOVRZXltEeOh_8tymvdOOg"/>
-      </children>
-      <element xmi:type="uml:Package" href="SimpleSMSignalEvent.uml#_QQiDgHltEeOh_8tymvdOOg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TOVRYXltEeOh_8tymvdOOg" x="40" y="40" width="221" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_X47Q4GkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_X47Q4WkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X47Q42kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Package" href="SimpleSMSignalEvent.uml#_QQiDgHltEeOh_8tymvdOOg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X47Q4mkLEeWakucY9QdE0g" x="240" y="40"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_6FvnwWONEd-seu3qyZgHfg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_X3OnwGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="SimpleSMSignalEvent.uml#_234GEDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_X4738GkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_TOVRYHltEeOh_8tymvdOOg" target="_X47Q4GkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_X4738WkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X4739WkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Package" href="SimpleSMSignalEvent.uml#_QQiDgHltEeOh_8tymvdOOg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X4738mkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X47382kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X4739GkLEeWakucY9QdE0g"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_KYrjcKxkEeCgusK7cm6qjQ" type="PapyrusUMLClassDiagram" name="Platform" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_LsWKwKxkEeCgusK7cm6qjQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx0KxkEeCgusK7cm6qjQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx0axkEeCgusK7cm6qjQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx0qxkEeCgusK7cm6qjQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx06xkEeCgusK7cm6qjQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx1KxkEeCgusK7cm6qjQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx1axkEeCgusK7cm6qjQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LsWx1qxkEeCgusK7cm6qjQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JOqkgPX4EeWa_pjn9guopQ" visible="false" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY4axkEeCgusK7cm6qjQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY4qxkEeCgusK7cm6qjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY46xkEeCgusK7cm6qjQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JOrLkPX4EeWa_pjn9guopQ" visible="false" type="Class_OperationCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY5axkEeCgusK7cm6qjQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY5qxkEeCgusK7cm6qjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY56xkEeCgusK7cm6qjQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JOrLkfX4EeWa_pjn9guopQ" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY6axkEeCgusK7cm6qjQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY6qxkEeCgusK7cm6qjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY66xkEeCgusK7cm6qjQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h25asFbmEeObiJAlOlmjpQ" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h25asVbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="FCM:Target" href="SimpleSMSignalEvent.uml#_HvbFMLqQEd-BObGGoBbehA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h25aslbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h26BwFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h26BwVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h26BwlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X5Fo8GkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X5Fo8WkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Node" href="SimpleSMSignalEvent.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsWKwaxkEeCgusK7cm6qjQ" x="57" y="55" width="160" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_X6kPoGkLEeWakucY9QdE0g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_X6kPoWkLEeWakucY9QdE0g" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X6kPo2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Node" href="SimpleSMSignalEvent.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X6kPomkLEeWakucY9QdE0g" x="257" y="55"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_KYrjcaxkEeCgusK7cm6qjQ"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_X5Fo8mkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="SimpleSMSignalEvent.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_X6kPpGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_LsWKwKxkEeCgusK7cm6qjQ" target="_X6kPoGkLEeWakucY9QdE0g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_X6kPpWkLEeWakucY9QdE0g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X6kPqWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Node" href="SimpleSMSignalEvent.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X6kPpmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X6kPp2kLEeWakucY9QdE0g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X6kPqGkLEeWakucY9QdE0g"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_HoscYMniEeCMCo5Ox2CNmg" type="CompositeStructure" name="HWArchitecture" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_M1wXIMniEeCMCo5Ox2CNmg" type="Class_Shape" fontName="" fontHeight="10" fillColor="10011046" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BgMniEeCMCo5Ox2CNmg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10BgcniEeCMCo5Ox2CNmg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BgsniEeCMCo5Ox2CNmg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10Bg8niEeCMCo5Ox2CNmg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BhMniEeCMCo5Ox2CNmg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10BhcniEeCMCo5Ox2CNmg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_M10BhsniEeCMCo5Ox2CNmg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JRHbkPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_QgbSEMniEeCMCo5Ox2CNmg" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgbSEsniEeCMCo5Ox2CNmg" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QgbSE8niEeCMCo5Ox2CNmg" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qgb5IMniEeCMCo5Ox2CNmg" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qgb5IcniEeCMCo5Ox2CNmg" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qgb5IsniEeCMCo5Ox2CNmg" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qgb5I8niEeCMCo5Ox2CNmg" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_Qgb5JMniEeCMCo5Ox2CNmg" type="Property_NameLabel"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JRICoPX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qgb5JsniEeCMCo5Ox2CNmg"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_h493QFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_h493QVbmEeObiJAlOlmjpQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h493QlbmEeObiJAlOlmjpQ"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_X6unsmkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_X6uns2kLEeWakucY9QdE0g" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="SimpleSMSignalEvent.uml#_QgKzYMniEeCMCo5Ox2CNmg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QgbSEcniEeCMCo5Ox2CNmg" x="83" y="28" width="165" height="55"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_Ndrf8GGIEeO2F4QRMDSOXg" type="Property_Shape">
-          <children xmi:type="notation:DecorationNode" xmi:id="_Ndrf8mGIEeO2F4QRMDSOXg" type="Property_NameLabel"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JRJQwPX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_Ndrf9GGIEeO2F4QRMDSOXg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ndrf9WGIEeO2F4QRMDSOXg"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_znjjUHDZEeORJcfdyIEeTg" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_znjjUXDZEeORJcfdyIEeTg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_znjjUnDZEeORJcfdyIEeTg"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_X6untGkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_X6untWkLEeWakucY9QdE0g" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="SimpleSMSignalEvent.uml#_Ndc2cGGIEeO2F4QRMDSOXg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ndrf8WGIEeO2F4QRMDSOXg" x="346" y="33" width="109"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M10BiMniEeCMCo5Ox2CNmg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h48CEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h48CEVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h48CElbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X6unsGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unsWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="SimpleSMSignalEvent.uml#_M1a_8MniEeCMCo5Ox2CNmg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M1wXIcniEeCMCo5Ox2CNmg" x="72" y="72" width="577" height="163"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_BLhG8DemEeGPyrZ5I3hMlA" type="Node_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG8jemEeGPyrZ5I3hMlA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG8zemEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG9DemEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG9TemEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG9jemEeGPyrZ5I3hMlA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG9zemEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_BLhuADemEeGPyrZ5I3hMlA" type="Node_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JRKe4PX4EeWa_pjn9guopQ" visible="false" type="Node_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_BLhuAjemEeGPyrZ5I3hMlA" showTitle="true"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BLhuAzemEeGPyrZ5I3hMlA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h4_FYFbmEeObiJAlOlmjpQ" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h4_FYVbmEeObiJAlOlmjpQ" showTitle="true"/>
-        <element xmi:type="FCM:Target" href="SimpleSMSignalEvent.uml#_HvbFMLqQEd-BObGGoBbehA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h4_FYlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h5CIsFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h5CIsVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h5CIslbmEeObiJAlOlmjpQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X6untmkLEeWakucY9QdE0g" type="Node_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unt2kLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_X8sWkGkLEeWakucY9QdE0g" type="StereotypeCompartment">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_X8woAGkLEeWakucY9QdE0g" source="PapyrusCSSForceValue">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X8xPEGkLEeWakucY9QdE0g" key="visible" value="true"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_X8uLwmkLEeWakucY9QdE0g" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_BZCjMJOGEd-5qPBhYeIVtw"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_X8uLw2kLEeWakucY9QdE0g"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_X8tksGkLEeWakucY9QdE0g" type="StereotypeProperty">
-          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#__5rAUGE_Ed-eArNXja7SuA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_X8tksWkLEeWakucY9QdE0g"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_X8sWkWkLEeWakucY9QdE0g" showTitle="true"/>
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_X8sWkmkLEeWakucY9QdE0g" name="stereotype" stringValue="FCM::Target"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X8sWk2kLEeWakucY9QdE0g"/>
-      </children>
-      <element xmi:type="uml:Node" href="SimpleSMSignalEvent.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BLhG8TemEeGPyrZ5I3hMlA" x="71" y="269" width="164" height="119"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_GVBbMGGIEeO2F4QRMDSOXg" type="Class_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_GVCCQGGIEeO2F4QRMDSOXg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JRLF8PX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_GVCCQmGIEeO2F4QRMDSOXg" showTitle="true"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GVCCQ2GIEeO2F4QRMDSOXg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_znnNsHDZEeORJcfdyIEeTg" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_znnNsXDZEeORJcfdyIEeTg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_znnNsnDZEeORJcfdyIEeTg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_X6unuGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unuWkLEeWakucY9QdE0g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="SimpleSMSignalEvent.uml#_GUl9YGGIEeO2F4QRMDSOXg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GVBbMWGIEeO2F4QRMDSOXg" x="459" y="270" width="187" height="118"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_HoscYcniEeCMCo5Ox2CNmg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_X6unumkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="SimpleSMSignalEvent.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_0MCIsOYXEeCBL_IbXY9ofw" type="PapyrusUMLStateMachineDiagram" name="SmDiagramServer" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_0MCIseYXEeCBL_IbXY9ofw" type="StateMachine_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIsuYXEeCBL_IbXY9ofw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIs-YXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItOYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIteYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItuYXEeCBL_IbXY9ofw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIt-YXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JlR4wHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JlR4wXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LKHvoHn3EeOfttgBwSq-Ig" key="gradient" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0MCIuOYXEeCBL_IbXY9ofw" type="StateMachine_NameLabel">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIueYXEeCBL_IbXY9ofw" width="940" height="20"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JVovMPX4EeWa_pjn9guopQ" type="StateMachine_RegionCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_0MCIu-YXEeCBL_IbXY9ofw" type="Region_Shape" fontName="Sans Serif" lineColor="0" lineWidth="1">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvOYXEeCBL_IbXY9ofw" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIveYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvuYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIv-YXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwOYXEeCBL_IbXY9ofw" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIweYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwuYXEeCBL_IbXY9ofw" source="RegionAnnotationKey">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIw-YXEeCBL_IbXY9ofw" key="RegionZoneKey" value=""/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TbH8gHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TbH8gXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uP7skPZMEeWa_pjn9guopQ" key="lineWidth" value="true"/>
-          </eAnnotations>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JVpWQPX4EeWa_pjn9guopQ" type="Region_SubvertexCompartment">
-            <children xmi:type="notation:Shape" xmi:id="_1U-twOYXEeCBL_IbXY9ofw" type="Pseudostate_InitialShape" fontName="Sans Serif" fillColor="0" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_U0OYXEeCBL_IbXY9ofw" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74OYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74eYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74uYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74-YXEeCBL_IbXY9ofw" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_75OYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LqN7kMcpEeSsAI2TZshUyg" source="PapyrusCSSForceValue">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LqPJsMcpEeSsAI2TZshUyg" key="gradient" value="true"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75eYXEeCBL_IbXY9ofw" type="Pseudostate_InitialFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_75uYXEeCBL_IbXY9ofw" x="36" y="-9"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75-YXEeCBL_IbXY9ofw" type="Pseudostate_InitialStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_76OYXEeCBL_IbXY9ofw" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="SimpleSMSignalEvent.uml#_1UVNgOYXEeCBL_IbXY9ofw"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1U-tweYXEeCBL_IbXY9ofw" x="114" y="19"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_53eokOYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPoOYXEeCBL_IbXY9ofw" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53fPoeYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPouYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2sOYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53f2seYXEeCBL_IbXY9ofw" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2suYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_53f2s-YXEeCBL_IbXY9ofw" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7PRh8OYXEeCBL_IbXY9ofw" width="99" height="20"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_JVp9UPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
-                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PvBTIPX4EeWa_pjn9guopQ" source="PapyrusCSSForceValue">
-                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PvB6MPX4EeWa_pjn9guopQ" key="visible" value="true"/>
-                </eAnnotations>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53f2teYXEeCBL_IbXY9ofw" y="20" width="99" height="48"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_h9cHkFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_h9cHkVbmEeObiJAlOlmjpQ"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9cHklbmEeObiJAlOlmjpQ"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_53E_8OYXEeCBL_IbXY9ofw"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53eokeYXEeCBL_IbXY9ofw" x="259" y="37" width="99" height="68"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_8AQS8OYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8AQ6AOYXEeCBL_IbXY9ofw" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEOYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhEeYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEuYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhE-YXEeCBL_IbXY9ofw" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhFOYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_8ARhFeYXEeCBL_IbXY9ofw" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8A06sOYXEeCBL_IbXY9ofw" width="100" height="20"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_JVrLcPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8ARhF-YXEeCBL_IbXY9ofw" y="20" width="100" height="42"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_h9ej0FbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_h9ej0VbmEeObiJAlOlmjpQ"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ej0lbmEeObiJAlOlmjpQ"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_7_1cMOYXEeCBL_IbXY9ofw"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8AQS8eYXEeCBL_IbXY9ofw" x="259" y="181" width="100" height="62"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_oxRiMCjmEeaJJusTB1aIbg" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_oxSwUCjmEeaJJusTB1aIbg" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p6M5ICjmEeaJJusTB1aIbg" width="79"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_oxTXYCjmEeaJJusTB1aIbg" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_oxTXYSjmEeaJJusTB1aIbg" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_oxTXYijmEeaJJusTB1aIbg" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxTXYyjmEeaJJusTB1aIbg" y="-1" width="79"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_owZYcCjmEeaJJusTB1aIbg"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxRiMSjmEeaJJusTB1aIbg" x="510" y="36" width="79" height="59"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="__-OxACjmEeaJJusTB1aIbg" type="Pseudostate_JunctionShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="__-PYECjmEeaJJusTB1aIbg" type="Pseudostate_JunctionFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYESjmEeaJJusTB1aIbg" x="34" y="22"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="__-PYEijmEeaJJusTB1aIbg" type="Pseudostate_JunctionStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYEyjmEeaJJusTB1aIbg" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="SimpleSMSignalEvent.uml#__9lQwCjmEeaJJusTB1aIbg"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="__-OxASjmEeaJJusTB1aIbg" x="539" y="162"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_cyo2gEOAEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_cyo2gkOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_cyo2g0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_cyo2hEOAEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_cyo2hUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cyo2hkOAEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_cyKVYEOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cyo2gUOAEeadCvQ7UGhFAA" x="164" y="290"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_juToIEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_juToIkOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_juToI0OAEeadCvQ7UGhFAA" x="50" y="3"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_juToJEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_juToJUOAEeadCvQ7UGhFAA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="SimpleSMSignalEvent.uml#_jt7NoEOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_juToIUOAEeadCvQ7UGhFAA" x="276" y="371"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_nhnhsEOAEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_nhnhskOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_nhnhs0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_nhnhtEOAEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_nhnhtUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nhnhtkOAEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_nhVN0EOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nhnhsUOAEeadCvQ7UGhFAA" x="102" y="457"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_xK-BkEOAEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_xK-BkkOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_xK-Bk0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_xK-BlEOAEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_xK-BlUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xK-BlkOAEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_xKx0UEOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xK-BkUOAEeadCvQ7UGhFAA" x="290" y="453"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_11fP8EOAEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_11fP8kOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_11fP80OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_11fP9EOAEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_11fP9UOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_11fP9kOAEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_11G1cEOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_11fP8UOAEeadCvQ7UGhFAA" x="266" y="532"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_3OV5QEOAEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_3OV5QkOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_3OV5Q0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_3OV5REOAEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_3OV5RUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3OV5RkOAEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_3OJsAEOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3OV5QUOAEeadCvQ7UGhFAA" x="271" y="612"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_8OR-AEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_8OR-AkOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_8OR-A0OAEeadCvQ7UGhFAA" x="77" y="2"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_8OR-BEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_8OR-BUOAEeadCvQ7UGhFAA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="SimpleSMSignalEvent.uml#_8N5jgEOAEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8OR-AUOAEeadCvQ7UGhFAA" x="273" y="687"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_Czf-gEOBEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_Czf-gkOBEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_Czf-g0OBEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_Czf-hEOBEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_Czf-hUOBEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Czf-hkOBEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_CzHkAEOBEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Czf-gUOBEeadCvQ7UGhFAA" x="177" y="739"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_EtlsoEOBEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_EtlsokOBEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_Etlso0OBEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_EtlspEOBEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_EtlspUOBEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EtlspkOBEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_EtK14EOBEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EtlsoUOBEeadCvQ7UGhFAA" x="376" y="747"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_LPfTYEOBEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_LPfTYkOBEeadCvQ7UGhFAA" type="State_NameLabel"/>
-              <children xmi:type="notation:DecorationNode" xmi:id="_LPfTY0OBEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_LPfTZEOBEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_LPfTZUOBEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LPfTZkOBEeadCvQ7UGhFAA"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_LPM_gEOBEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LPfTYUOBEeadCvQ7UGhFAA" x="271" y="801"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_PjSq4EOBEeadCvQ7UGhFAA" type="FinalState_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_PjSq4kOBEeadCvQ7UGhFAA" type="FinalState_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_PjSq40OBEeadCvQ7UGhFAA" x="25" y="3"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_PjSq5EOBEeadCvQ7UGhFAA" type="FinalState_StereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_PjSq5UOBEeadCvQ7UGhFAA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:FinalState" href="SimpleSMSignalEvent.uml#_PiyUkEOBEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PjSq4UOBEeadCvQ7UGhFAA" x="297" y="874"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_OZwagEOCEeadCvQ7UGhFAA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_OZwagkOCEeadCvQ7UGhFAA" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O8AzAEOCEeadCvQ7UGhFAA" width="240" height="20"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_OZwag0OCEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_OZwahEOCEeadCvQ7UGhFAA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_OZwahUOCEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PWnrYEOCEeadCvQ7UGhFAA" source="PapyrusCSSForceValue">
-                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PWnrYUOCEeadCvQ7UGhFAA" key="visible" value="true"/>
-                </eAnnotations>
-                <children xmi:type="notation:Shape" xmi:id="_PWtyAEOCEeadCvQ7UGhFAA" type="Region_Shape">
-                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PWtyBEOCEeadCvQ7UGhFAA" source="RegionAnnotationKey">
-                    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PWtyBUOCEeadCvQ7UGhFAA" key="RegionZoneKey" value="T"/>
-                  </eAnnotations>
-                  <children xmi:type="notation:BasicCompartment" xmi:id="_PWtyAkOCEeadCvQ7UGhFAA" type="Region_SubvertexCompartment">
-                    <children xmi:type="notation:Shape" xmi:id="_QUoy0EOCEeadCvQ7UGhFAA" type="State_Shape">
-                      <children xmi:type="notation:DecorationNode" xmi:id="_QUoy0kOCEeadCvQ7UGhFAA" type="State_NameLabel"/>
-                      <children xmi:type="notation:DecorationNode" xmi:id="_QUoy00OCEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_QUoy1EOCEeadCvQ7UGhFAA" x="40"/>
-                      </children>
-                      <children xmi:type="notation:BasicCompartment" xmi:id="_QUoy1UOCEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QUoy1kOCEeadCvQ7UGhFAA"/>
-                      </children>
-                      <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_QUQYUEOCEeadCvQ7UGhFAA"/>
-                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QUoy0UOCEeadCvQ7UGhFAA" x="65" y="27"/>
-                    </children>
-                    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PWtyA0OCEeadCvQ7UGhFAA"/>
-                  </children>
-                  <element xmi:type="uml:Region" href="SimpleSMSignalEvent.uml#_PWnrYkOCEeadCvQ7UGhFAA"/>
-                  <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PWtyAUOCEeadCvQ7UGhFAA" width="240" height="81"/>
-                </children>
-                <children xmi:type="notation:Shape" xmi:id="_P1Z5IUOCEeadCvQ7UGhFAA" type="Region_Shape">
-                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P1Z5JUOCEeadCvQ7UGhFAA" source="RegionAnnotationKey">
-                    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P1Z5JkOCEeadCvQ7UGhFAA" key="RegionZoneKey" value="B"/>
-                  </eAnnotations>
-                  <children xmi:type="notation:BasicCompartment" xmi:id="_P1Z5I0OCEeadCvQ7UGhFAA" type="Region_SubvertexCompartment">
-                    <children xmi:type="notation:Shape" xmi:id="_RozwcEOCEeadCvQ7UGhFAA" type="State_Shape">
-                      <children xmi:type="notation:DecorationNode" xmi:id="_RozwckOCEeadCvQ7UGhFAA" type="State_NameLabel"/>
-                      <children xmi:type="notation:DecorationNode" xmi:id="_Rozwc0OCEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
-                        <layoutConstraint xmi:type="notation:Location" xmi:id="_RozwdEOCEeadCvQ7UGhFAA" x="40"/>
-                      </children>
-                      <children xmi:type="notation:BasicCompartment" xmi:id="_RozwdUOCEeadCvQ7UGhFAA" type="State_RegionCompartment">
-                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RozwdkOCEeadCvQ7UGhFAA"/>
-                      </children>
-                      <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_RobV8EOCEeadCvQ7UGhFAA"/>
-                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RozwcUOCEeadCvQ7UGhFAA" x="64" y="35"/>
-                    </children>
-                    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P1Z5JEOCEeadCvQ7UGhFAA"/>
-                  </children>
-                  <element xmi:type="uml:Region" href="SimpleSMSignalEvent.uml#_P1Z5IEOCEeadCvQ7UGhFAA"/>
-                  <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P1Z5IkOCEeadCvQ7UGhFAA" y="81" width="240" height="81"/>
-                </children>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OZwahkOCEeadCvQ7UGhFAA" y="20" width="240" height="163"/>
-              </children>
-              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_OZYAAEOCEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OZwagUOCEeadCvQ7UGhFAA" x="577" y="270" width="240" height="183"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_S4E_8EOCEeadCvQ7UGhFAA" type="Pseudostate_ForkShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_S4E_8kOCEeadCvQ7UGhFAA" type="Pseudostate_ForkFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_S4E_80OCEeadCvQ7UGhFAA" x="25" y="3"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_S4E_9EOCEeadCvQ7UGhFAA" type="Pseudostate_ForkStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_S4E_9UOCEeadCvQ7UGhFAA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="SimpleSMSignalEvent.uml#_S3gYMEOCEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S4E_8UOCEeadCvQ7UGhFAA" x="435" y="310"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_cbw8sEOCEeadCvQ7UGhFAA" type="Pseudostate_JoinShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_cbw8skOCEeadCvQ7UGhFAA" type="Pseudostate_JoinFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_cbw8s0OCEeadCvQ7UGhFAA" x="25" y="3"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_cbw8tEOCEeadCvQ7UGhFAA" type="Pseudostate_JoinStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_cbw8tUOCEeadCvQ7UGhFAA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="SimpleSMSignalEvent.uml#_cbYiMEOCEeadCvQ7UGhFAA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cbw8sUOCEeadCvQ7UGhFAA" x="860" y="334"/>
-            </children>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxeYXEeCBL_IbXY9ofw"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_h9XPEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_h9XPEVbmEeObiJAlOlmjpQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9XPElbmEeObiJAlOlmjpQ"/>
-          </children>
-          <element xmi:type="uml:Region" href="SimpleSMSignalEvent.uml#_0Lv00OYXEeCBL_IbXY9ofw"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxuYXEeCBL_IbXY9ofw" width="940" height="917"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIx-YXEeCBL_IbXY9ofw" y="20" width="940" height="917"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_h9ULwFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_h9ULwVbmEeObiJAlOlmjpQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ULwlbmEeObiJAlOlmjpQ"/>
-      </children>
-      <styles xmi:type="notation:StringListValueStyle" xmi:id="_v51OQHn2EeOfttgBwSq-Ig" name="cssClass"/>
-      <element xmi:type="uml:StateMachine" href="SimpleSMSignalEvent.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIyOYXEeCBL_IbXY9ofw" x="40" y="40" width="940" height="937"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_0MCIyeYXEeCBL_IbXY9ofw"/>
-    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_B2g2QHn3EeOfttgBwSq-Ig" name="css_stylesheets" eObjectListValue="_B2g2QXn3EeOfttgBwSq-Ig"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_YAq3oGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:StateMachine" href="SimpleSMSignalEvent.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
-    <edges xmi:type="notation:Connector" xmi:id="_CLUHAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_1U-twOYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8MeYYEeCBL_IbXY9ofw" x="-6"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MuYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8M-YYEeCBL_IbXY9ofw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8NOYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8NeYYEeCBL_IbXY9ofw" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_CLUHAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_CLBzIOYYEeCBL_IbXY9ofw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CLUHAuYYEeCBL_IbXY9ofw" points="[10, -4, -180, 0]$[175, -7, -15, -3]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CMH_UOYYEeCBL_IbXY9ofw" id="(0.16483516483516483,0.4142857142857143)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Doz_wOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0OYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0eYYEeCBL_IbXY9ofw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0uYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0-YYEeCBL_IbXY9ofw" x="-12" y="129"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m1OYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m1eYYEeCBL_IbXY9ofw" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Doz_weYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_Doi6AOYYEeCBL_IbXY9ofw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Doz_wuYYEeCBL_IbXY9ofw" points="[4, 9, 0, -45]$[1, 47, -3, -7]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacsOYYEeCBL_IbXY9ofw" id="(0.2,0.9846153846153847)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacseYYEeCBL_IbXY9ofw" id="(0.2,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_OIPMAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_OIPzEOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIOYYEeCBL_IbXY9ofw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaIeYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIuYYEeCBL_IbXY9ofw" x="-16" y="-10"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaI-YYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaJOYYEeCBL_IbXY9ofw" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_OIPMAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_OH_UYOYYEeCBL_IbXY9ofw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OIPMAuYYEeCBL_IbXY9ofw" points="[-4, -31, 8, 88]$[4, -128, 16, -9]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgOYYEeCBL_IbXY9ofw" id="(0.8,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgeYYEeCBL_IbXY9ofw" id="(0.8,0.9846153846153847)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_mPjVYOtqEeCzSsOGmQH2aA" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" roundedBendpointsRadius="10" routing="Rectilinear" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wFmGcHoDEeOA64V_YLapaA" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wFmtgHoDEeOA64V_YLapaA" key="smoothness" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoOtqEeCzSsOGmQH2aA" visible="false" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XwnVkPX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxoetqEeCzSsOGmQH2aA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoutqEeCzSsOGmQH2aA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XxIS8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxo-tqEeCzSsOGmQH2aA" x="-15" y="28"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxpOtqEeCzSsOGmQH2aA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Xxll8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxpetqEeCzSsOGmQH2aA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_mPjVYetqEeCzSsOGmQH2aA" fontName=""/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_mJvoUOtqEeCzSsOGmQH2aA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mPjVYutqEeCzSsOGmQH2aA" points="[299, 171, -643984, -643984]$[147, 171, -643984, -643984]$[147, 272, -643984, -643984]$[299, 272, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wOtqEeCzSsOGmQH2aA" id="(0.0,0.6915887850467289)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wetqEeCzSsOGmQH2aA" id="(0.0,0.5)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_rgm2QCjmEeaJJusTB1aIbg" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_oxRiMCjmEeaJJusTB1aIbg">
-      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUCjmEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUSjmEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUijmEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUyjmEeaJJusTB1aIbg" x="-86" y="-52"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_rgndVCjmEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndVSjmEeaJJusTB1aIbg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_rgm2QSjmEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_rdKgsCjmEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rgm2QijmEeaJJusTB1aIbg" points="[399, 131, -643984, -643984]$[551, 131, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhuQkCjmEeaJJusTB1aIbg" id="(1.0,0.5)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhu3oCjmEeaJJusTB1aIbg" id="(0.0,0.5932203389830508)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_BPTXUCjnEeaJJusTB1aIbg" type="Transition_Edge" source="_oxRiMCjmEeaJJusTB1aIbg" target="__-OxACjmEeaJJusTB1aIbg">
-      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXUyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVCjnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVijnEeaJJusTB1aIbg" x="-10" y="-25"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXWCjnEeaJJusTB1aIbg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_BPTXUSjnEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_BO7j4CjnEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BPTXUijnEeaJJusTB1aIbg" points="[590, 155, -643984, -643984]$[590, 222, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUCjnEeaJJusTB1aIbg" id="(0.4936708860759494,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUSjnEeaJJusTB1aIbg" id="(0.5,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_G11iACjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_53eokOYXEeCBL_IbXY9ofw">
-      <children xmi:type="notation:DecorationNode" xmi:id="_G11iAyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBCjnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_G11iBSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBijnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_G11iByjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iCCjnEeaJJusTB1aIbg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_G11iASjnEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_G1QTMCjnEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G11iAijnEeaJJusTB1aIbg" points="[583, 227, -643984, -643984]$[397, 159, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2gQYCjnEeaJJusTB1aIbg" id="(0.15,0.3863945578231304)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2g3cCjnEeaJJusTB1aIbg" id="(0.9797979797979798,0.9117647058823529)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_HndzQCjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_8AQS8OYXEeCBL_IbXY9ofw">
-      <children xmi:type="notation:DecorationNode" xmi:id="_HndzQyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRCjnEeaJJusTB1aIbg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRijnEeaJJusTB1aIbg" x="-18" y="-14"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzSCjnEeaJJusTB1aIbg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_HndzQSjnEeaJJusTB1aIbg"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_HnKRQCjnEeaJJusTB1aIbg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HndzQijnEeaJJusTB1aIbg" points="[585, 234, -643984, -643984]$[400, 277, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoK94CjnEeaJJusTB1aIbg" id="(0.27479674796748554,0.8330623306233065)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoLk8CjnEeaJJusTB1aIbg" id="(1.0,0.5806451612903226)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_g6Nv4EOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_cyo2gEOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_g6Nv40OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H35CgEVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_g6Nv5EOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_g6Nv5UOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H4th4EVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_g6Nv5kOAEeadCvQ7UGhFAA" x="158" y="80"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_g6Nv50OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H5dv0EVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_g6Nv6EOAEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_g6Nv4UOAEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_g3iPUEOAEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_g6Nv4kOAEeadCvQ7UGhFAA" points="[345, 303, -643984, -643984]$[345, 355, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g6yXoEOAEeadCvQ7UGhFAA" id="(0.45,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g6yXoUOAEeadCvQ7UGhFAA" id="(0.47959183673469385,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_mUbV0EOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_cyo2gEOAEeadCvQ7UGhFAA" target="_juToIEOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_mUbV00OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H11NAEVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mUbV1EOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mUbV1UOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H2fUUEVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mUbV1kOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mUbV10OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H3KpwEVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mUbV2EOAEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_mUbV0UOAEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_mUQWsEOAEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mUbV0kOAEeadCvQ7UGhFAA" points="[348, 399, -643984, -643984]$[348, 431, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mU9hUEOAEeadCvQ7UGhFAA" id="(0.5102040816326531,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mU9hUUOAEeadCvQ7UGhFAA" id="(0.5166666666666667,0.01666666666666856)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_qtp_4EOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_juToIEOAEeadCvQ7UGhFAA" target="_nhnhsEOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_qtp_40OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_rpjAYEOAEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_qtp_5EOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_qtp_5UOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_rp1UQEOAEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_qtp_5kOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_qtp_50OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_rqOV0EOAEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_qtp_6EOAEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_qtp_4UOAEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_qtXsAEOAEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qtp_4kOAEeadCvQ7UGhFAA" points="[327, 444, -643984, -643984]$[187, 444, -643984, -643984]$[187, 517, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_quIhAEOAEeadCvQ7UGhFAA" id="(0.15,0.65)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_quIhAUOAEeadCvQ7UGhFAA" id="(0.6666666666666666,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_0d1ggEOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_juToIEOAEeadCvQ7UGhFAA" target="_xK-BkEOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_0d1gg0OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EDYQIFWXEea9rOSlu9NJgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_0d1ghEOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0d1ghUOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EEV5cFWXEea9rOSlu9NJgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_0d1ghkOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0d1gh0OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EFE5QFWXEea9rOSlu9NJgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_0d1giEOAEeadCvQ7UGhFAA" x="2" y="57"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_0d1ggUOAEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_0dpTQEOAEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0d1ggkOAEeadCvQ7UGhFAA" points="[345, 450, -643984, -643984]$[342, 516, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0eV20EOAEeadCvQ7UGhFAA" id="(0.47880000000000017,0.9788000000000039)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0eV20UOAEeadCvQ7UGhFAA" id="(0.39325842696629215,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_4uF0wEOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_xK-BkEOAEeadCvQ7UGhFAA" target="_11fP8EOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_4uF0w0OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EBjrMFWXEea9rOSlu9NJgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_4uF0xEOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_4uF0xUOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ECJhEFWXEea9rOSlu9NJgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_4uF0xkOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_4uF0x0OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EC2EoFWXEea9rOSlu9NJgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_4uF0yEOAEeadCvQ7UGhFAA" x="2" y="57"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_4uF0wUOAEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_4tzg4EOAEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4uF0wkOAEeadCvQ7UGhFAA" points="[343, 560, -643984, -643984]$[340, 592, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4uk88EOAEeadCvQ7UGhFAA" id="(0.4044943820224719,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4uk88UOAEeadCvQ7UGhFAA" id="(0.4925373134328358,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_5FIbwEOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_11fP8EOAEeadCvQ7UGhFAA" target="_3OV5QEOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_5FIbw0OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_5FIbxEOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_5FIbxUOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_5FIbxkOAEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_5FIbx0OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_5FIbyEOAEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_5FIbwUOAEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_5E7AYEOAEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5FIbwkOAEeadCvQ7UGhFAA" points="[342, 636, -643984, -643984]$[344, 672, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5F-JQEOAEeadCvQ7UGhFAA" id="(0.5223880597014925,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5F-JQUOAEeadCvQ7UGhFAA" id="(0.5423728813559322,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_B0kREEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_3OV5QEOAEeadCvQ7UGhFAA" target="_8OR-AEOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_B0kRE0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0kRFEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_B0kRFUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0kRFkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_B0kRF0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0kRGEOBEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_B0kREUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_B0R9MEOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_B0kREkOBEeadCvQ7UGhFAA" points="[342, 716, -643984, -643984]$[338, 748, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B1YwcEOBEeadCvQ7UGhFAA" id="(0.5084745762711864,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B1YwcUOBEeadCvQ7UGhFAA" id="(0.4028225806451616,0.09717741935483559)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Gn7SYEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_8OR-AEOAEeadCvQ7UGhFAA" target="_Czf-gEOBEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Gn7SY0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn7SZEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Gn7SZUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn7SZkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Gn7SZ0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn7SaEOBEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Gn7SYUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_Gm27YEOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Gn7SYkOBEeadCvQ7UGhFAA" points="[321, 744, -643984, -643984]$[258, 784, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GonO4EOBEeadCvQ7UGhFAA" id="(0.1224358974358959,0.622435897435895)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GonO4UOBEeadCvQ7UGhFAA" id="(0.8,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_KXEdoEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_8OR-AEOAEeadCvQ7UGhFAA" target="_EtlsoEOBEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_KXEdo0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KXEdpEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_KXEdpUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KXEdpkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_KXEdp0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KXEdqEOBEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_KXEdoUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_KWyJwEOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KXEdokOBEeadCvQ7UGhFAA" points="[359, 746, -643984, -643984]$[419, 794, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KXwaIEOBEeadCvQ7UGhFAA" id="(0.7536101083032491,0.7463898916967537)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KXwaIUOBEeadCvQ7UGhFAA" id="(0.0273972602739726,0.045454545454545456)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_OBrHIEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_Czf-gEOBEeadCvQ7UGhFAA" target="_LPfTYEOBEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_OBrHI0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OBrHJEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OBrHJUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OBrHJkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OBrHJ0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OBrHKEOBEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_OBrHIUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_OBSsoEOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OBrHIkOBEeadCvQ7UGhFAA" points="[255, 843, -643984, -643984]$[312, 873, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OCZf4EOBEeadCvQ7UGhFAA" id="(0.74,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OCZf4UOBEeadCvQ7UGhFAA" id="(0.0,0.2727272727272727)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_OwDQEEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_EtlsoEOBEeadCvQ7UGhFAA" target="_LPfTYEOBEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_OwDQE0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OwDQFEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OwDQFUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OwDQFkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OwDQF0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_OwDQGEOBEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_OwDQEUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_Ovt44EOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OwDQEkOBEeadCvQ7UGhFAA" points="[431, 851, -643984, -643984]$[403, 865, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ow4WgEOBEeadCvQ7UGhFAA" id="(0.1917808219178082,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ow4WgUOBEeadCvQ7UGhFAA" id="(0.978494623655914,0.09090909090909091)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_P_fesEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_LPfTYEOBEeadCvQ7UGhFAA" target="_PjSq4EOBEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_P_fes0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_P_fetEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_P_fetUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_P_fetkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_P_fet0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_P_feuEOBEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_P_fesUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_P_HEMEOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_P_feskOBEeadCvQ7UGhFAA" points="[357, 905, -643984, -643984]$[352, 936, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QAaEsEOBEeadCvQ7UGhFAA" id="(0.4838709677419355,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QAaEsUOBEeadCvQ7UGhFAA" id="(0.7082474226804095,0.1041237113402019)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Q3uHMEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_nhnhsEOAEeadCvQ7UGhFAA" target="_PjSq4EOBEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Q3uHM0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RMF0sEOBEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Q3uHNEOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Q3uHNUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RMePMEOBEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Q3uHNkOBEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Q3uHN0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RMwjEEOBEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Q3uHOEOBEeadCvQ7UGhFAA" x="1" y="58"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Q3uHMUOBEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_Q3bzUEOBEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Q3uHMkOBEeadCvQ7UGhFAA" points="[174, 561, -643984, -643984]$[135, 891, -643984, -643984]$[342, 936, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Q4lC0EOBEeadCvQ7UGhFAA" id="(0.4696969696969697,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Q4lC0UOBEeadCvQ7UGhFAA" id="(0.2,0.1)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Twrb4EOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_S4E_8EOCEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Twrb40OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Twrb5EOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Twrb5UOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Twrb5kOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Twrb50OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Twrb6EOCEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Twrb4UOCEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_TwTBYEOCEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Twrb4kOCEeadCvQ7UGhFAA" points="[392, 302, -643984, -643984]$[476, 386, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Txmo8EOCEeadCvQ7UGhFAA" id="(0.92,0.9838709677419355)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Txmo8UOCEeadCvQ7UGhFAA" id="(0.0,0.4)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_a-dRMEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_S4E_8EOCEeadCvQ7UGhFAA" target="_QUoy0EOCEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_a-dRM0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_a-dRNEOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_a-dRNUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_a-dRNkOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_a-dRN0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_a-dROEOCEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_a-dRMUOCEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_a-EPoEOCEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a-dRMkOCEeadCvQ7UGhFAA" points="[486, 390, -643984, -643984]$[684, 403, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a_a6gEOCEeadCvQ7UGhFAA" id="(1.0,0.5)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a_a6gUOCEeadCvQ7UGhFAA" id="(0.0,0.5909090909090909)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_beGakEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_S4E_8EOCEeadCvQ7UGhFAA" target="_RozwcEOCEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_beGak0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_beGalEOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_beGalUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_beGalkOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_beGal0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_beGamEOCEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_beGakUOCEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_bduAEEOCEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_beGakkOCEeadCvQ7UGhFAA" points="[486, 404, -643984, -643984]$[683, 484, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bfJjcEOCEeadCvQ7UGhFAA" id="(1.0,0.85)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bfJjcUOCEeadCvQ7UGhFAA" id="(0.0,0.4090909090909091)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_de-tMEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_QUoy0EOCEeadCvQ7UGhFAA" target="_cbw8sEOCEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_de-tM0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_de-tNEOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_de-tNUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_de-tNkOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_de-tN0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_de-tOEOCEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_de-tMUOCEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_dedIwEOCEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_de-tMkOCEeadCvQ7UGhFAA" points="[724, 397, -643984, -643984]$[901, 414, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dgB2EEOCEeadCvQ7UGhFAA" id="(1.0,0.45454545454545453)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dgB2EUOCEeadCvQ7UGhFAA" id="(0.0,0.5)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_eAv9gEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_RozwcEOCEeadCvQ7UGhFAA" target="_cbw8sEOCEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_eAv9g0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_eAv9hEOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_eAv9hUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_eAv9hkOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_eAv9h0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_eAv9iEOCEeadCvQ7UGhFAA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_eAv9gUOCEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_eAXjAEOCEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eAv9gkOCEeadCvQ7UGhFAA" points="[723, 491, -643984, -643984]$[901, 421, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eBm5IEOCEeadCvQ7UGhFAA" id="(1.0,0.5681818181818182)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eBm5IUOCEeadCvQ7UGhFAA" id="(0.0,0.675)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_e55MAEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_cbw8sEOCEeadCvQ7UGhFAA" target="_11fP8EOAEeadCvQ7UGhFAA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_e55MA0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fzY_0EOCEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_e55MBEOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_e55MBUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fzxaUEOCEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_e55MBkOCEeadCvQ7UGhFAA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_e55MB0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_f0WpIEOCEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_e55MCEOCEeadCvQ7UGhFAA" x="-1" y="58"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_e55MAUOCEeadCvQ7UGhFAA"/>
-      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_e5OdoEOCEeadCvQ7UGhFAA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e55MAkOCEeadCvQ7UGhFAA" points="[911, 434, -643984, -643984]$[932, 434, -643984, -643984]$[924, 536, -643984, -643984]$[374, 620, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e621UEOCEeadCvQ7UGhFAA" id="(1.0,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e621UUOCEeadCvQ7UGhFAA" id="(1.0,0.6363636363636364)"/>
-    </edges>
-  </notation:Diagram>
-  <css:EmbeddedStyleSheet xmi:id="_B2g2QXn3EeOfttgBwSq-Ig" label="Animation" content=":animated{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 3px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #c00000;&#xA;&#x9;bold: true;&#xA;} &#xA;&#xA;:suspended{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #fab953;&#xA;&#x9;bold: true;&#xA;}&#xA;&#xA;:visited{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #92d050;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #92d050;&#xA;}&#xA;Transition > Label {&#xA;&#x9;bodyCutLength: 1;&#xA;&#x9;indicateParameters: true;&#xA;&#x9;lineBreakBeforeEffect : true;&#xA;}"/>
-  <css:ModelStyleSheets xmi:id="_Rz4BcMcpEeSsAI2TZshUyg"/>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSMSignalEvent.uml b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSMSignalEvent.uml
deleted file mode 100644
index 6085476..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSMSignalEvent.uml
+++ /dev/null
@@ -1,471 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc">
-  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="SimpleSMSignalEventExample">
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
-      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/core.uml#_O6TiIDLUEd26WNosUASSSw"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_YvEs8OusEeCTfOY57pgE3w">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/statemachine.uml#_ago_QOUTEd-P08Bciq_LqQ"/>
-    </packageImport>
-    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="components">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_cb-ncDemEeGPyrZ5I3hMlA" annotatedElement="_oqZNUDLaEd2qeKRLMdIx_A">
-        <body>State-machine support is enabled with a container rule</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Package" xmi:id="_Tp4n8DLaEd2qeKRLMdIx_A" name="Interfaces">
-        <packagedElement xmi:type="uml:Interface" xmi:id="_cn-H0DLbEd2qeKRLMdIx_A" name="ICompute">
-          <ownedReception xmi:type="uml:Reception" xmi:id="_1U0U8McqEeSsAI2TZshUyg" name="add" signal="_ywk2kMcqEeSsAI2TZshUyg"/>
-          <ownedReception xmi:type="uml:Reception" xmi:id="_M-tXYMcrEeSsAI2TZshUyg" name="mult" signal="_z0nGcMcqEeSsAI2TZshUyg"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_DGs6wDLgEd28fJKJJnUaeQ" name="add">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6wTLgEd28fJKJJnUaeQ" name="a">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6wzLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6wjLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6xTLgEd28fJKJJnUaeQ" name="b">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6xzLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6xjLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6yTLgEd28fJKJJnUaeQ" name="res" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6yzLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6yjLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-          </ownedOperation>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_L8EY8DLgEd28fJKJJnUaeQ" name="mult">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY8TLgEd28fJKJJnUaeQ" name="a">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY8zLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY8jLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY9TLgEd28fJKJJnUaeQ" name="b">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY9zLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY9jLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY-TLgEd28fJKJJnUaeQ" name="res" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY-zLgEd28fJKJJnUaeQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY-jLgEd28fJKJJnUaeQ" value="1"/>
-            </ownedParameter>
-          </ownedOperation>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Signal" xmi:id="_ywk2kMcqEeSsAI2TZshUyg" name="Add"/>
-        <packagedElement xmi:type="uml:Signal" xmi:id="_z0nGcMcqEeSsAI2TZshUyg" name="Mult"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_XLQjUDLiEd2RVeNawwNNzg" name="System">
-        <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="System_impl">
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_gV1cgDLiEd2RVeNawwNNzg" name="simpleSM" type="_oqZNUDLaEd2qeKRLMdIx_A" isUnique="false" aggregation="composite"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_oqZNUDLaEd2qeKRLMdIx_A" name="SimpleSM" classifierBehavior="_y7KWsOYXEeCBL_IbXY9ofw">
-        <generalization xmi:type="uml:Generalization" xmi:id="_LuEUwCgBEeapjr3l63b85A">
-          <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
-        </generalization>
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_4KiE8DLbEd2qeKRLMdIx_A" name="p" type="_cn-H0DLbEd2qeKRLMdIx_A" aggregation="composite"/>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_3gJRoEVGEeaqgqiOqzyU4w" name="which_rack">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_vAIV4I7PEdySGvm5GN66HA"/>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_6uv7oEVGEeaqgqiOqzyU4w" name="is_misplace">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_vAIV4I7PEdySGvm5GN66HA"/>
-        </ownedAttribute>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_YQqH0JYlEd6G9q9hwr11bw" name="derived realization of ICompute" client="_oqZNUDLaEd2qeKRLMdIx_A" supplier="_cn-H0DLbEd2qeKRLMdIx_A" contract="_cn-H0DLbEd2qeKRLMdIx_A"/>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_VGnYgCgBEeapjr3l63b85A" name="derived realization of IStart" client="_oqZNUDLaEd2qeKRLMdIx_A">
-          <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
-          <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
-        </interfaceRealization>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_qxjWINnmEd2_cstbO2Uzgg" name="mult" specification="_4ZEZwHecEd6r18stFZxmFQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTqsokVIEeaqgqiOqzyU4w" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTrTsEVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTrTsUVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTrTskVIEeaqgqiOqzyU4w" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTrTs0VIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTrTtEVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTr6wEVIEeaqgqiOqzyU4w" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTr6wUVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTr6wkVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <language>C/C++</language>
-          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a*b=&quot; &lt;&lt; a*b &lt;&lt; endl;
-return a*b;</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ML-4AKI5Ed6FqJCjEUrkqQ" name="add" specification="_TbIjUJYlEd6G9q9hwr11bw">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTr6w0VIEeaqgqiOqzyU4w" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTr6xEVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTr6xUVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTsh0EVIEeaqgqiOqzyU4w" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTsh0UVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTsh0kVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTsh00VIEeaqgqiOqzyU4w" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTsh1EVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTsh1UVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <language>C/C++</language>
-          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a+b=&quot; &lt;&lt; a+b &lt;&lt; endl;
-return a+b;</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_y7KWsOYXEeCBL_IbXY9ofw" name="SMServer">
-          <region xmi:type="uml:Region" xmi:id="_0Lv00OYXEeCBL_IbXY9ofw" name="Region0">
-            <transition xmi:type="uml:Transition" xmi:id="_CLBzIOYYEeCBL_IbXY9ofw" name="Transition0" source="_1UVNgOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw"/>
-            <transition xmi:type="uml:Transition" xmi:id="_Doi6AOYYEeCBL_IbXY9ofw" name="Transition1" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
-              <trigger xmi:type="uml:Trigger" xmi:id="_rHpXoOtoEeCjb9i0gG4phA" event="_rHoJgOtoEeCjb9i0gG4phA"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_OH_UYOYYEeCBL_IbXY9ofw" name="Transition2" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw">
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_CAWpgSSoEeG6GJ4vU06VYQ" name="add">
-                <language>C/C++</language>
-                <body>add(2,3);&#xD;
-mult(3,5);&#xD;
-std::cout &lt;&lt;&quot;From State1 to State0 \n&quot;;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_-aQtACaeEeG4fZdVXNtoOQ" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_mJvoUOtqEeCzSsOGmQH2aA" name="Transition3" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
-              <trigger xmi:type="uml:Trigger" xmi:id="_8WepQHoDEeOA64V_YLapaA" event="_8WeCMHoDEeOA64V_YLapaA"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_rdKgsCjmEeaJJusTB1aIbg" source="_53E_8OYXEeCBL_IbXY9ofw" target="_owZYcCjmEeaJJusTB1aIbg">
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_-EnkACjmEeaJJusTB1aIbg">
-                <language>C++</language>
-                <body>std::cout &lt;&lt; &quot;From State 0 to State 2\n&quot;;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_4eMuECjmEeaJJusTB1aIbg" event="_4WSIMCjmEeaJJusTB1aIbg"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_BO7j4CjnEeaJJusTB1aIbg" source="_owZYcCjmEeaJJusTB1aIbg" target="__9lQwCjmEeaJJusTB1aIbg">
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_F9mScCjnEeaJJusTB1aIbg">
-                <language>C++</language>
-                <body>std::cout &lt;&lt;&quot;From State 2 to Junction1\n&quot;;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_GlK94CjpEeaJJusTB1aIbg" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_G1QTMCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_53E_8OYXEeCBL_IbXY9ofw"/>
-            <transition xmi:type="uml:Transition" xmi:id="_HnKRQCjnEeaJJusTB1aIbg" guard="_KB4nQCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_7_1cMOYXEeCBL_IbXY9ofw">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_KB4nQCjnEeaJJusTB1aIbg">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_KB4nQSjnEeaJJusTB1aIbg">
-                  <language>C++</language>
-                  <body>true</body>
-                </specification>
-              </ownedRule>
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_QlLVICjnEeaJJusTB1aIbg">
-                <language>C++</language>
-                <body>std::cout &lt;&lt; &quot;From Junction1 to State 1 \n&quot;;</body>
-              </effect>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_g3iPUEOAEeadCvQ7UGhFAA" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_cyKVYEOAEeadCvQ7UGhFAA">
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_SPGDsEVLEeaqgqiOqzyU4w">
-                <language>C++</language>
-                <body>std::cout &lt;&lt; &quot;goto prepare_conveyer&quot; &lt;&lt; std::endl;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_PdrvMEVPEeagYdPh8JXAfw" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_mUQWsEOAEeadCvQ7UGhFAA" source="_cyKVYEOAEeadCvQ7UGhFAA" target="_jt7NoEOAEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_qtXsAEOAEeadCvQ7UGhFAA" guard="_wCmrUEOAEeadCvQ7UGhFAA" source="_jt7NoEOAEeadCvQ7UGhFAA" target="_nhVN0EOAEeadCvQ7UGhFAA">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_wCmrUEOAEeadCvQ7UGhFAA">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_wCmrUUOAEeadCvQ7UGhFAA">
-                  <language>C++</language>
-                  <body>which_rack==0</body>
-                </specification>
-              </ownedRule>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_0dpTQEOAEeadCvQ7UGhFAA" source="_jt7NoEOAEeadCvQ7UGhFAA" target="_xKx0UEOAEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_4tzg4EOAEeadCvQ7UGhFAA" source="_xKx0UEOAEeadCvQ7UGhFAA" target="_11G1cEOAEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_5E7AYEOAEeadCvQ7UGhFAA" source="_11G1cEOAEeadCvQ7UGhFAA" target="_3OJsAEOAEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_B0R9MEOBEeadCvQ7UGhFAA" source="_3OJsAEOAEeadCvQ7UGhFAA" target="_8N5jgEOAEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_Gm27YEOBEeadCvQ7UGhFAA" guard="_J2-oUEOBEeadCvQ7UGhFAA" source="_8N5jgEOAEeadCvQ7UGhFAA" target="_CzHkAEOBEeadCvQ7UGhFAA">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_J2-oUEOBEeadCvQ7UGhFAA">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_J2-oUUOBEeadCvQ7UGhFAA">
-                  <language>C++</language>
-                  <body>is_misplace</body>
-                </specification>
-              </ownedRule>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_KWyJwEOBEeadCvQ7UGhFAA" source="_8N5jgEOAEeadCvQ7UGhFAA" target="_EtK14EOBEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_OBSsoEOBEeadCvQ7UGhFAA" source="_CzHkAEOBEeadCvQ7UGhFAA" target="_LPM_gEOBEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_Ovt44EOBEeadCvQ7UGhFAA" source="_EtK14EOBEeadCvQ7UGhFAA" target="_LPM_gEOBEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_P_HEMEOBEeadCvQ7UGhFAA" source="_LPM_gEOBEeadCvQ7UGhFAA" target="_PiyUkEOBEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_Q3bzUEOBEeadCvQ7UGhFAA" source="_nhVN0EOAEeadCvQ7UGhFAA" target="_PiyUkEOBEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_TwTBYEOCEeadCvQ7UGhFAA" guard="_X_xSgEOCEeadCvQ7UGhFAA" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_S3gYMEOCEeadCvQ7UGhFAA">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_X_xSgEOCEeadCvQ7UGhFAA">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_X_xSgUOCEeadCvQ7UGhFAA">
-                  <language>C++</language>
-                  <body>!is_misplace</body>
-                </specification>
-              </ownedRule>
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_O1EM0EVLEeaqgqiOqzyU4w">
-                <language>C++</language>
-                <body>std::cout &lt;&lt; &quot;goto fork&quot; &lt;&lt; std::endl;&#xD;
-std::cout &lt;&lt;&quot;signal value a = &quot; &lt;&lt; sig.a &lt;&lt; std::endl;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_w09MAEVGEeaqgqiOqzyU4w" event="_wqLfYEVGEeaqgqiOqzyU4w"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_a-EPoEOCEeadCvQ7UGhFAA" source="_S3gYMEOCEeadCvQ7UGhFAA" target="_QUQYUEOCEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_bduAEEOCEeadCvQ7UGhFAA" source="_S3gYMEOCEeadCvQ7UGhFAA" target="_RobV8EOCEeadCvQ7UGhFAA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_e5OdoEOCEeadCvQ7UGhFAA" source="_cbYiMEOCEeadCvQ7UGhFAA" target="_11G1cEOAEeadCvQ7UGhFAA"/>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_1UVNgOYXEeCBL_IbXY9ofw" name="Initial0"/>
-            <subvertex xmi:type="uml:State" xmi:id="_53E_8OYXEeCBL_IbXY9ofw" name="State0"/>
-            <subvertex xmi:type="uml:State" xmi:id="_7_1cMOYXEeCBL_IbXY9ofw" name="State1"/>
-            <subvertex xmi:type="uml:State" xmi:id="_owZYcCjmEeaJJusTB1aIbg" name="State2"/>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="__9lQwCjmEeaJJusTB1aIbg" name="Junction1" kind="junction"/>
-            <subvertex xmi:type="uml:State" xmi:id="_cyKVYEOAEeadCvQ7UGhFAA" name="Prepare_Conveyer"/>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_jt7NoEOAEeadCvQ7UGhFAA" name="check_rack" kind="choice"/>
-            <subvertex xmi:type="uml:State" xmi:id="_nhVN0EOAEeadCvQ7UGhFAA" name="empty_shelf"/>
-            <subvertex xmi:type="uml:State" xmi:id="_xKx0UEOAEeadCvQ7UGhFAA" name="not_empty_shelf"/>
-            <subvertex xmi:type="uml:State" xmi:id="_11G1cEOAEeadCvQ7UGhFAA" name="pick_chassis"/>
-            <subvertex xmi:type="uml:State" xmi:id="_3OJsAEOAEeadCvQ7UGhFAA" name="deliver_car"/>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_8N5jgEOAEeadCvQ7UGhFAA" name="mismatchChoice" kind="choice"/>
-            <subvertex xmi:type="uml:State" xmi:id="_CzHkAEOBEeadCvQ7UGhFAA" name="misplace"/>
-            <subvertex xmi:type="uml:State" xmi:id="_EtK14EOBEeadCvQ7UGhFAA" name="not_misplace"/>
-            <subvertex xmi:type="uml:State" xmi:id="_LPM_gEOBEeadCvQ7UGhFAA" name="rewind_conveyor"/>
-            <subvertex xmi:type="uml:FinalState" xmi:id="_PiyUkEOBEeadCvQ7UGhFAA" name="FinalState1"/>
-            <subvertex xmi:type="uml:State" xmi:id="_OZYAAEOCEeadCvQ7UGhFAA" name="State3">
-              <region xmi:type="uml:Region" xmi:id="_PWnrYkOCEeadCvQ7UGhFAA" name="Region1">
-                <transition xmi:type="uml:Transition" xmi:id="_dedIwEOCEeadCvQ7UGhFAA" source="_QUQYUEOCEeadCvQ7UGhFAA" target="_cbYiMEOCEeadCvQ7UGhFAA"/>
-                <subvertex xmi:type="uml:State" xmi:id="_QUQYUEOCEeadCvQ7UGhFAA" name="State4"/>
-              </region>
-              <region xmi:type="uml:Region" xmi:id="_P1Z5IEOCEeadCvQ7UGhFAA" name="Region2">
-                <transition xmi:type="uml:Transition" xmi:id="_eAXjAEOCEeadCvQ7UGhFAA" source="_RobV8EOCEeadCvQ7UGhFAA" target="_cbYiMEOCEeadCvQ7UGhFAA"/>
-                <subvertex xmi:type="uml:State" xmi:id="_RobV8EOCEeadCvQ7UGhFAA" name="State5"/>
-              </region>
-            </subvertex>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_S3gYMEOCEeadCvQ7UGhFAA" name="Fork1" kind="fork"/>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_cbYiMEOCEeadCvQ7UGhFAA" name="Join1" kind="join"/>
-          </region>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_YNCW4CgBEeapjr3l63b85A" name="run" specification="_VGsRACgBEeapjr3l63b85A">
-          <language>C/C++</language>
-          <body>cout &lt;&lt; &quot;call add (2, 3);&quot; &lt;&lt; endl;&#xD;
-cout &lt;&lt; &quot;result: &quot; &lt;&lt; add (2, 3) &lt;&lt; endl;&#xD;
-Sig s;&#xD;
-s.a = 10;&#xD;
-sendSigEv(s);&#xD;
-cout &lt;&lt; &quot;sleeping for 15 seconds (statemachine remains active);&quot; &lt;&lt; endl;&#xD;
-#ifdef WIN32&#xD;
-Sleep(15000);&#xD;
-#else&#xD;
-sleep(15);&#xD;
-#endif&#xD;
-</body>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_4ZEZwHecEd6r18stFZxmFQ" name="mult" method="_qxjWINnmEd2_cstbO2Uzgg">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTo3cEVIEeaqgqiOqzyU4w" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTo3cUVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTpegEVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTpegUVIEeaqgqiOqzyU4w" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTpegkVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTpeg0VIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTqFkEVIEeaqgqiOqzyU4w" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTqsoEVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTqsoUVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_TbIjUJYlEd6G9q9hwr11bw" name="add" method="_ML-4AKI5Ed6FqJCjEUrkqQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_kl6KUEVIEeaqgqiOqzyU4w" name="a">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kl6xYEVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kl6xYUVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_kl6xYkVIEeaqgqiOqzyU4w" name="b">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kl6xY0VIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kl6xZEVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_kl6xZUVIEeaqgqiOqzyU4w" name="res" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kl7YcEVIEeaqgqiOqzyU4w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kl7YcUVIEeaqgqiOqzyU4w" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_VGsRACgBEeapjr3l63b85A" name="run" method="_YNCW4CgBEeapjr3l63b85A"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_rGzqIOtoEeCjb9i0gG4phA" name="events">
-        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_rHoJgOtoEeCjb9i0gG4phA" name="TE - {value=50, unit=ms}" isRelative="true">
-          <when xmi:type="uml:TimeExpression" xmi:id="_rHoJgetoEeCjb9i0gG4phA">
-            <expr xmi:type="uml:OpaqueExpression" xmi:id="_rHoJgutoEeCjb9i0gG4phA">
-              <language>Natural language</language>
-              <body>{value=50, unit=ms}</body>
-            </expr>
-          </when>
-        </packagedElement>
-        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_-PMFcCaeEeG4fZdVXNtoOQ" name="TE - {value=500, unit=ms}" isRelative="true">
-          <when xmi:type="uml:TimeExpression" xmi:id="_-PMFcSaeEeG4fZdVXNtoOQ">
-            <expr xmi:type="uml:OpaqueExpression" xmi:id="_-PMFciaeEeG4fZdVXNtoOQ">
-              <language>Natural language</language>
-              <body>{value=500, unit=ms}</body>
-            </expr>
-          </when>
-        </packagedElement>
-        <packagedElement xmi:type="uml:CallEvent" xmi:id="_8WeCMHoDEeOA64V_YLapaA" name="CE - CServer_impl - add" operation="_TbIjUJYlEd6G9q9hwr11bw"/>
-        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_4WSIMCjmEeaJJusTB1aIbg" name="TE - {value=25, unit=ms}" isRelative="true">
-          <when xmi:type="uml:TimeExpression" xmi:id="_4WSIMSjmEeaJJusTB1aIbg">
-            <expr xmi:type="uml:OpaqueExpression" xmi:id="_4WSIMijmEeaJJusTB1aIbg">
-              <language>Natural language</language>
-              <body>{value=25, unit=ms}</body>
-            </expr>
-          </when>
-        </packagedElement>
-        <packagedElement xmi:type="uml:SignalEvent" xmi:id="_wqLfYEVGEeaqgqiOqzyU4w" name="SigEv" signal="_wBfuwEVGEeaqgqiOqzyU4w"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Signal" xmi:id="_wBfuwEVGEeaqgqiOqzyU4w" name="Sig">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_wBfuwUVGEeaqgqiOqzyU4w" name="a">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedAttribute>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_v3fMgDLiEd2RVeNawwNNzg" name="platform">
-      <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="MonoNode">
-        <generalization xmi:type="uml:Generalization" xmi:id="_A39CYHDaEeORJcfdyIEeTg">
-          <general xmi:type="uml:Class" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmImnHEeOtZICylR5Azw"/>
-        </generalization>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_M1a_8MniEeCMCo5Ox2CNmg" name="HWArchitectureMonolithic">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_QgKzYMniEeCMCo5Ox2CNmg" name="monoNode" visibility="public" type="_zY9vMDLiEd2RVeNawwNNzg" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XijRAMniEeCMCo5Ox2CNmg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XkfxwMniEeCMCo5Ox2CNmg" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_XlIq8MniEeCMCo5Ox2CNmg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_Ndc2cGGIEeO2F4QRMDSOXg" name="Eclipse" type="_GUl9YGGIEeO2F4QRMDSOXg" aggregation="composite"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_GUl9YGGIEeO2F4QRMDSOXg" name="EclipseServer">
-        <generalization xmi:type="uml:Generalization" xmi:id="_Bpd-4HDaEeORJcfdyIEeTg">
-          <general xmi:type="uml:Class" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmImnHEeOtZICylR5Azw"/>
-        </generalization>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_ZDrmkHDaEeORJcfdyIEeTg" name="HWArchitectureMonolithicPlatform">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDrmkXDaEeORJcfdyIEeTg" classifier="_M1a_8MniEeCMCo5Ox2CNmg">
-          <slot xmi:type="uml:Slot" xmi:id="_ZDsNoXDaEeORJcfdyIEeTg" definingFeature="_QgKzYMniEeCMCo5Ox2CNmg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_ZDs0sHDaEeORJcfdyIEeTg" instance="_ZDsNoHDaEeORJcfdyIEeTg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_ZDtbwHDaEeORJcfdyIEeTg" definingFeature="_Ndc2cGGIEeO2F4QRMDSOXg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_ZDuC0HDaEeORJcfdyIEeTg" instance="_ZDs0sXDaEeORJcfdyIEeTg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDsNoHDaEeORJcfdyIEeTg" name="monoNode" classifier="_zY9vMDLiEd2RVeNawwNNzg">
-          <slot xmi:type="uml:Slot" xmi:id="_fg9zEHDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJWnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralString" xmi:id="_fg-aIHDaEeORJcfdyIEeTg" name="value for IPaddress" value="127.0.0.1">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-            </value>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_hDbrYHDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJmnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralInteger" xmi:id="_hDcScHDaEeORJcfdyIEeTg" name="value for portNumber" value="12345">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-            </value>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDs0sXDaEeORJcfdyIEeTg" name="Eclipse" classifier="_GUl9YGGIEeO2F4QRMDSOXg">
-          <slot xmi:type="uml:Slot" xmi:id="_oXzQ4HDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJWnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralString" xmi:id="_oXz38HDaEeORJcfdyIEeTg" name="value for IPaddress" value="127.0.0.1">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-            </value>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_plcIsHDaEeORJcfdyIEeTg">
-            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJmnHEeOtZICylR5Azw"/>
-            <value xmi:type="uml:LiteralInteger" xmi:id="_plcvwHDaEeORJcfdyIEeTg" name="value for portNumber" value="12346">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-            </value>
-          </slot>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_NaSPIHltEeOh_8tymvdOOg" name="System_implPlatform">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaS2MHltEeOh_8tymvdOOg" classifier="_bYJagDLiEd2RVeNawwNNzg">
-          <slot xmi:type="uml:Slot" xmi:id="_NaTdQXltEeOh_8tymvdOOg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaUEUHltEeOh_8tymvdOOg" instance="_NaTdQHltEeOh_8tymvdOOg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_NaVScHltEeOh_8tymvdOOg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaV5gHltEeOh_8tymvdOOg" instance="_NaUrYHltEeOh_8tymvdOOg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_NaXHoHltEeOh_8tymvdOOg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaXHoXltEeOh_8tymvdOOg" instance="_NaWgkHltEeOh_8tymvdOOg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_NaXusXltEeOh_8tymvdOOg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_NaYVwHltEeOh_8tymvdOOg" instance="_NaXusHltEeOh_8tymvdOOg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaTdQHltEeOh_8tymvdOOg" name="server" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaUrYHltEeOh_8tymvdOOg" name="client"/>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaWgkHltEeOh_8tymvdOOg" name="singleton_localanimservice">
-          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/statemachine.uml#_xELAwF81EeGbQoflzrdx0g"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaXusHltEeOh_8tymvdOOg" name="singleton_remoteanimservice">
-          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/statemachine.uml#_B0gFAHg_EeOejZqJpKQeww"/>
-        </packagedElement>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
-      <packagedElement xmi:type="uml:Package" xmi:id="_QQiDgHltEeOh_8tymvdOOg" name="System_implDepPlan">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_QQm8AHltEeOh_8tymvdOOg" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg">
-          <slot xmi:type="uml:Slot" xmi:id="_QQtpsHltEeOh_8tymvdOOg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_QQuQwHltEeOh_8tymvdOOg" instance="_QQr0gHltEeOh_8tymvdOOg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_QQr0gHltEeOh_8tymvdOOg" name="mainInstance.simpleSM" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
-        <packagedElement xmi:type="uml:Abstraction" xmi:id="_StNrwCQdEeabuaUFyev1pw" name="allocate mainInstance to monoNode" client="_QQm8AHltEeOh_8tymvdOOg" supplier="_ZDsNoHDaEeORJcfdyIEeTg"/>
-      </packagedElement>
-    </packagedElement>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_GcC0cAHtEd6HSdiss9GQ0A">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Gd1kMAHtEd6HSdiss9GQ0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_z1TwgFW3Ed63BrxiKsw-0Q">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z2GasFW3Ed63BrxiKsw-0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_zi-sUE2sEeGl8qrc8BM7vA">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0QJUUE2sEeGl8qrc8BM7vA" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
-    </profileApplication>
-  </uml:Model>
-  <FCM:DerivedElement xmi:id="_DWb6oP6yEd6Ie_kieu_3CQ" base_Element="_TbIjUJYlEd6G9q9hwr11bw" source="_DGs6wDLgEd28fJKJJnUaeQ"/>
-  <FCM:DerivedElement xmi:id="_DXK6cP6yEd6Ie_kieu_3CQ" base_Element="_4ZEZwHecEd6r18stFZxmFQ" source="_L8EY8DLgEd28fJKJJnUaeQ"/>
-  <FCM:RuleApplication xmi:id="_DWIYoP6yEd6Ie_kieu_3CQ" base_Class="_oqZNUDLaEd2qeKRLMdIx_A">
-    <containerRule xmi:type="FCM:ContainerRule" href="pathmap://QML_CORE/statemachine.uml#_7BlhkCPoEeauR8esGjVxRA"/>
-    <propagateRule>false</propagateRule>
-    <containerRule xmi:type="FCM:CompositeCRule" href="pathmap://QML_CORE/statemachine.uml#_BncCwO68EeCZ9MjsZTV1zw"/>
-    <interceptor href="pathmap://QML_TRACE/tracing.uml#_35od4DKrEd-z5o2wSoJ16A"/>
-  </FCM:RuleApplication>
-  <FCM:Port xmi:id="_GofhQP6yEd6Ie_kieu_3CQ" base_Port="_4KiE8DLbEd2qeKRLMdIx_A" type="_cn-H0DLbEd2qeKRLMdIx_A">
-    <kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_wySlkFRxEd6GqrP6fkWBoQ"/>
-  </FCM:Port>
-  <FCM:Target xmi:id="_HvbFMLqQEd-BObGGoBbehA" base_Node="_zY9vMDLiEd2RVeNawwNNzg">
-    <targetArch xmi:type="FCM:TargetArchitecture" href="pathmap://QML_CORE/core.uml#_FYOqwF0OEd-12d_h0i1xhQ"/>
-    <usedOS xmi:type="FCM:OperatingSystem" href="pathmap://QML_CORE/core.uml#_1eULwF0NEd-12d_h0i1xhQ"/>
-  </FCM:Target>
-  <C_Cpp:Include xmi:id="_EaeJMNp0EeKd1ax3yaXM9w" body="#include &lt;iostream>&#xA;using namespace std;&#xA;&#xA;#include &lt;unistd.h>&#xA;" header="#ifdef WIN32&#xD;&#xA;#include &quot;windows.h&quot;&#xD;&#xA;#endif" base_class="_oqZNUDLaEd2qeKRLMdIx_A"/>
-  <FCM:DeploymentPlan xmi:id="_QQlt4HltEeOh_8tymvdOOg" mainInstance="_QQm8AHltEeOh_8tymvdOOg" base_Package="_QQiDgHltEeOh_8tymvdOOg"/>
-  <Alloc:Allocate xmi:id="_StSkQCQdEeabuaUFyev1pw" base_Abstraction="_StNrwCQdEeabuaUFyev1pw"/>
-  <FCM:DerivedElement xmi:id="_VGxwkCgBEeapjr3l63b85A" base_Element="_VGsRACgBEeapjr3l63b85A">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/componentlib.di
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di
rename to components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/componentlib.di
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/componentlib.notation b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/componentlib.notation
new file mode 100644
index 0000000..0a7dd09
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/componentlib.notation
@@ -0,0 +1,5935 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:SW_Concurrency="http://www.eclipse.org/papyrus/SW_Concurrency/1" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/SW_Concurrency/1 http://www.eclipse.org/papyrus/MARTE/1#//SRM/SW_Concurrency">
+  <notation:Diagram xmi:id="_FYAkIG4sEd-0rs2VEGIwsA" type="CompositeStructure" name="Composite Async &amp; sync call hierarchy" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_FYAkIW4sEd-0rs2VEGIwsA" type="Class_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_FYAkIm4sEd-0rs2VEGIwsA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_FYAkI24sEd-0rs2VEGIwsA" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYAkJG4sEd-0rs2VEGIwsA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_FYAkJW4sEd-0rs2VEGIwsA" type="Port_Shape" lineColor="0">
+        <children xmi:type="notation:DecorationNode" xmi:id="_FYAkJm4sEd-0rs2VEGIwsA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__EG7cF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Uh8jQFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FYAkJ24sEd-0rs2VEGIwsA" x="-56"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_FYBLMG4sEd-0rs2VEGIwsA" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FYBLMW4sEd-0rs2VEGIwsA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLMm4sEd-0rs2VEGIwsA" x="110" y="45"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_klFeYFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_klFeYVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klFeYly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9hqK0AuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9hqK0QuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_mIpj8Ns8Ed2eM5kqcby5ZA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLM24sEd-0rs2VEGIwsA" x="225" y="90" width="120" height="84"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_FYBLNG4sEd-0rs2VEGIwsA" type="Class_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_FYBLNW4sEd-0rs2VEGIwsA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_FYBLNm4sEd-0rs2VEGIwsA" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLN24sEd-0rs2VEGIwsA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_FYBLOG4sEd-0rs2VEGIwsA" type="Port_Shape" lineColor="0">
+        <children xmi:type="notation:DecorationNode" xmi:id="_FYBLOW4sEd-0rs2VEGIwsA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__2FK8F7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VHb18FbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FYBLOm4sEd-0rs2VEGIwsA" x="25" y="1"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_FYBLO24sEd-0rs2VEGIwsA" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FYBLPG4sEd-0rs2VEGIwsA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLPW4sEd-0rs2VEGIwsA" x="-10" y="44"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_klGsgFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_klGsgVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klGsgly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9hqK0guXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9hqK0wuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_j29X4NttEd2eM5kqcby5ZA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLPm4sEd-0rs2VEGIwsA" x="420" y="90" width="121" height="79"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_cTlm4G5fEd-5CZIeuHpHAg" type="Class_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cTm1AG5fEd-5CZIeuHpHAg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cTm1AW5fEd-5CZIeuHpHAg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cTm1Am5fEd-5CZIeuHpHAg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cTm1A25fEd-5CZIeuHpHAg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cTm1BG5fEd-5CZIeuHpHAg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cTm1BW5fEd-5CZIeuHpHAg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_cTm1Bm5fEd-5CZIeuHpHAg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cTm1B25fEd-5CZIeuHpHAg" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cTm1CG5fEd-5CZIeuHpHAg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_cnOc0DrVEeGMCcwsbpLuFA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnQ5EDrVEeGMCcwsbpLuFA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnQ5ETrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnQ5EjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnQ5EzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnQ5FDrVEeGMCcwsbpLuFA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnRgIDrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_cnRgITrVEeGMCcwsbpLuFA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sbFK0F7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XaUekFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_cnRgIjrVEeGMCcwsbpLuFA" x="20" y="22"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_cnSHMDrVEeGMCcwsbpLuFA" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_cnSHMTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cnOc0TrVEeGMCcwsbpLuFA" x="-10" y="36"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_cnSuQDrVEeGMCcwsbpLuFA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnSuQjrVEeGMCcwsbpLuFA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnSuQzrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnSuRDrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnSuRTrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnTVUDrVEeGMCcwsbpLuFA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnTVUTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_cnTVUjrVEeGMCcwsbpLuFA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3vXigF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W6BN4FbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_cnTVUzrVEeGMCcwsbpLuFA" x="-22" y="24"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_cnTVVDrVEeGMCcwsbpLuFA" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_cnTVVTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cnSuQTrVEeGMCcwsbpLuFA" x="106" y="36"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_klIhsFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_klIhsVy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:InteractionComponent" href="componentlib.uml#_s8OWIFR1Ed6GqrP6fkWBoQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klIhsly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_klIhs1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_klIhtFy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klIhtVy8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9hqK1AuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9hqK1QuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_KxQBELuXEd2TTr3gJIvazw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cTmN8G5fEd-5CZIeuHpHAg" x="225" y="270" width="116" height="76"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_nkmBEG5fEd-5CZIeuHpHAg" type="Class_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nkmoIG5fEd-5CZIeuHpHAg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nknPMG5fEd-5CZIeuHpHAg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nknPMW5fEd-5CZIeuHpHAg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nknPMm5fEd-5CZIeuHpHAg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nknPM25fEd-5CZIeuHpHAg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nknPNG5fEd-5CZIeuHpHAg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_nknPNW5fEd-5CZIeuHpHAg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_nknPNm5fEd-5CZIeuHpHAg" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nknPN25fEd-5CZIeuHpHAg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_hZRPgDrVEeGMCcwsbpLuFA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZR2kDrVEeGMCcwsbpLuFA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZR2kTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZR2kjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZR2kzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZR2lDrVEeGMCcwsbpLuFA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZR2lTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_hZR2ljrVEeGMCcwsbpLuFA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_s2NAkF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_whZf8F7qEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_hZR2lzrVEeGMCcwsbpLuFA" x="21" y="25"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_hZR2mDrVEeGMCcwsbpLuFA" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_hZSdoDrVEeGMCcwsbpLuFA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hZRPgTrVEeGMCcwsbpLuFA" x="-10" y="33"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_hZSdoTrVEeGMCcwsbpLuFA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZTEsDrVEeGMCcwsbpLuFA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZTEsTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZTEsjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZTEszrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZTEtDrVEeGMCcwsbpLuFA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZTEtTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_hZTEtjrVEeGMCcwsbpLuFA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_24F8QF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2_b6YF7qEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_hZTEtzrVEeGMCcwsbpLuFA" x="-23" y="24"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_hZTEuDrVEeGMCcwsbpLuFA" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_hZTrwDrVEeGMCcwsbpLuFA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hZSdojrVEeGMCcwsbpLuFA" x="111" y="33"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_klK98Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_klK98Vy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:InteractionComponent" href="componentlib.uml#_efp4QClzEd-eoo60eNyGlg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klK98ly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_klK981y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_klK99Fy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klK99Vy8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9hqK1guXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9hqK1wuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_Whe8EClYEd-eoo60eNyGlg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nkmBEW5fEd-5CZIeuHpHAg" x="225" y="390" width="121" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_HJAqEG5gEd-5CZIeuHpHAg" type="Class_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HJBRIG5gEd-5CZIeuHpHAg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HJBRIW5gEd-5CZIeuHpHAg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HJBRIm5gEd-5CZIeuHpHAg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HJBRI25gEd-5CZIeuHpHAg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HJB4MG5gEd-5CZIeuHpHAg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HJB4MW5gEd-5CZIeuHpHAg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_HJB4Mm5gEd-5CZIeuHpHAg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_HJB4M25gEd-5CZIeuHpHAg" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HJB4NG5gEd-5CZIeuHpHAg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_iOXEcDrVEeGMCcwsbpLuFA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOXrgDrVEeGMCcwsbpLuFA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOXrgTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOXrgjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOXrgzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOXrhDrVEeGMCcwsbpLuFA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOXrhTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_iOXrhjrVEeGMCcwsbpLuFA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BXMYYF7rEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VrqkYFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_iOXrhzrVEeGMCcwsbpLuFA" x="14" y="27"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_iOXriDrVEeGMCcwsbpLuFA" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_iOXriTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iOXEcTrVEeGMCcwsbpLuFA" x="-10" y="36"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_iOYSkDrVEeGMCcwsbpLuFA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOYSkjrVEeGMCcwsbpLuFA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOY5oDrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOY5oTrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOY5ojrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOY5ozrVEeGMCcwsbpLuFA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOY5pDrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_iOY5pTrVEeGMCcwsbpLuFA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tskA0F7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WOFU8FbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_iOY5pjrVEeGMCcwsbpLuFA" x="-16" y="24"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_iOY5pzrVEeGMCcwsbpLuFA" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_iOY5qDrVEeGMCcwsbpLuFA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iOYSkTrVEeGMCcwsbpLuFA" x="111" y="36"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_klMzIFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_klMzIVy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:InteractionComponent" href="componentlib.uml#_vEYVcFR1Ed6GqrP6fkWBoQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klMzIly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_klNaMFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_klNaMVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klNaMly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9hqx4AuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9hqx4QuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_Zx2ZUA1jEd6tvthBDl600Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HJAqEW5gEd-5CZIeuHpHAg" x="420" y="270" width="121" height="76"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_H_CTIG5gEd-5CZIeuHpHAg" type="Class_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H_C6MG5gEd-5CZIeuHpHAg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H_C6MW5gEd-5CZIeuHpHAg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H_C6Mm5gEd-5CZIeuHpHAg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H_C6M25gEd-5CZIeuHpHAg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H_C6NG5gEd-5CZIeuHpHAg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H_C6NW5gEd-5CZIeuHpHAg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_H_C6Nm5gEd-5CZIeuHpHAg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_H_C6N25gEd-5CZIeuHpHAg" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H_C6OG5gEd-5CZIeuHpHAg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_kf30EDrVEeGMCcwsbpLuFA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf4bIDrVEeGMCcwsbpLuFA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf4bITrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf4bIjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf4bIzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf4bJDrVEeGMCcwsbpLuFA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf4bJTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_kf4bJjrVEeGMCcwsbpLuFA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EmPuUF7rEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GfK-0F7rEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kf4bJzrVEeGMCcwsbpLuFA" x="22" y="25"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_kf4bKDrVEeGMCcwsbpLuFA" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kf4bKTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kf30ETrVEeGMCcwsbpLuFA" x="-10" y="33"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_kf5CMDrVEeGMCcwsbpLuFA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf5pQDrVEeGMCcwsbpLuFA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf5pQTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf5pQjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf5pQzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf5pRDrVEeGMCcwsbpLuFA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf5pRTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_kf5pRjrVEeGMCcwsbpLuFA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tXAAgF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EFa5MF7rEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kf5pRzrVEeGMCcwsbpLuFA" x="25"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_kf5pSDrVEeGMCcwsbpLuFA" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kf5pSTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kf5CMTrVEeGMCcwsbpLuFA" x="111" y="33"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_klPPYFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_klPPYVy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:InteractionComponent" href="componentlib.uml#_wT-8IFR1Ed6GqrP6fkWBoQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klPPYly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_klP2cFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_klP2cVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klP2cly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9hqx4guXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9hqx4wuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_jOU60A1jEd6tvthBDl600Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H_CTIW5gEd-5CZIeuHpHAg" x="420" y="390" width="121" height="70"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__rQAQDrVEeGMCcwsbpLuFA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__rQnUDrVEeGMCcwsbpLuFA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__rQnUTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__rQnUjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__rQnUzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__rQnVDrVEeGMCcwsbpLuFA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__rQnVTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="__rQnVjrVEeGMCcwsbpLuFA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="componentlib.uml#__oxUADrVEeGMCcwsbpLuFA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__rQAQTrVEeGMCcwsbpLuFA" x="596" y="102" width="242"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_2oWskF7pEeGEmrrwB1vhPg" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2oX6sF7pEeGEmrrwB1vhPg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2oX6sV7pEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2oX6sl7pEeGEmrrwB1vhPg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2oX6s17pEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2oX6tF7pEeGEmrrwB1vhPg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2oX6tV7pEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_2oYhwF7pEeGEmrrwB1vhPg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_2oYhwV7pEeGEmrrwB1vhPg" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_2oYhwl7pEeGEmrrwB1vhPg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2oYhw17pEeGEmrrwB1vhPg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_5wCPMF7pEeGEmrrwB1vhPg" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5wC2QF7pEeGEmrrwB1vhPg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5wC2QV7pEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5wC2Ql7pEeGEmrrwB1vhPg" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5wC2Q17pEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5wC2RF7pEeGEmrrwB1vhPg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5wC2RV7pEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_5wC2Rl7pEeGEmrrwB1vhPg" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-VsWQF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZVGwQFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_5wC2R17pEeGEmrrwB1vhPg" x="-99"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_5wC2SF7pEeGEmrrwB1vhPg" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_5wC2SV7pEeGEmrrwB1vhPg" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5wCPMV7pEeGEmrrwB1vhPg" x="108" y="45"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_klRroFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_klRroVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klRroly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9hqx5AuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9hqx5QuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_0KYOQF7pEeGEmrrwB1vhPg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2oWskV7pEeGEmrrwB1vhPg" x="36" y="90" width="118" height="82"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_TLmDkF7qEeGEmrrwB1vhPg" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TLmqoF7qEeGEmrrwB1vhPg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TLmqoV7qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TLmqol7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TLmqo17qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TLmqpF7qEeGEmrrwB1vhPg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TLmqpV7qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_TLnRsF7qEeGEmrrwB1vhPg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_TLnRsV7qEeGEmrrwB1vhPg" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_TLnRsl7qEeGEmrrwB1vhPg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TLnRs17qEeGEmrrwB1vhPg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_ewlwwF7qEeGEmrrwB1vhPg" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewmX0F7qEeGEmrrwB1vhPg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewmX0V7qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewmX0l7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewmX017qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewmX1F7qEeGEmrrwB1vhPg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewmX1V7qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ewmX1l7qEeGEmrrwB1vhPg" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_08xfEF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1Gzk0F7qEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ewmX117qEeGEmrrwB1vhPg" x="-41" y="22"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ewmX2F7qEeGEmrrwB1vhPg" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ewmX2V7qEeGEmrrwB1vhPg" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ewlwwV7qEeGEmrrwB1vhPg" x="106" y="36"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_ewm-4F7qEeGEmrrwB1vhPg" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewm-4l7qEeGEmrrwB1vhPg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewm-417qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewm-5F7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewm-5V7qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewm-5l7qEeGEmrrwB1vhPg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewm-517qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ewnl8F7qEeGEmrrwB1vhPg" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_x3Ij0F7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YVUHMFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ewnl8V7qEeGEmrrwB1vhPg" x="19" y="26"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ewnl8l7qEeGEmrrwB1vhPg" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ewnl817qEeGEmrrwB1vhPg" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ewm-4V7qEeGEmrrwB1vhPg" x="-10" y="36"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_klS5wFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_klS5wVy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:InteractionComponent" href="componentlib.uml#_Z3Zs4F7tEeGEmrrwB1vhPg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klS5wly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_klTg0Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_klTg0Vy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klTg0ly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9hqx5guXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9hqx5wuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_TLShkF7qEeGEmrrwB1vhPg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TLmDkV7qEeGEmrrwB1vhPg" x="38" y="270" width="116" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9kaj4AuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9kaj4QuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9kaj4wuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9kaj4guXEeWXe7AeBUbqvw" x="310" y="45"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9kmxKAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9kmxKQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9kmxKwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9kmxKguXEeWXe7AeBUbqvw" x="190" y="44"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9k1aoAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9k1aoQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9k2BsAuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_KxQBELuXEd2TTr3gJIvazw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9k1aoguXEeWXe7AeBUbqvw" x="425" y="270"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9lGgYAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9lGgYQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9lGgYwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9lGgYguXEeWXe7AeBUbqvw" x="190" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9lapcAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9lapcQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9lapcwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9lapcguXEeWXe7AeBUbqvw" x="306" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9lsWQAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9lsWQQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9lsWQwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_Whe8EClYEd-eoo60eNyGlg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9lsWQguXEeWXe7AeBUbqvw" x="425" y="390"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9l3VYAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9l3VYQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9l3VYwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9l3VYguXEeWXe7AeBUbqvw" x="190" y="33"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9mEwwAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9mEwwQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9mEwwwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9mEwwguXEeWXe7AeBUbqvw" x="311" y="33"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9mb9IAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9mb9IQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9mckMAuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_Zx2ZUA1jEd6tvthBDl600Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9mb9IguXEeWXe7AeBUbqvw" x="620" y="270"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9mtC4AuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9mtC4QuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9mtC4wuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9mtC4guXEeWXe7AeBUbqvw" x="190" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9m-IoAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9m-IoQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9m-IowuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9m-IoguXEeWXe7AeBUbqvw" x="311" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9nMLEAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9nMLEQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9nMLEwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_jOU60A1jEd6tvthBDl600Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9nMLEguXEeWXe7AeBUbqvw" x="620" y="390"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9nXKMAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9nXKMQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9nXKMwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9nXKMguXEeWXe7AeBUbqvw" x="190" y="33"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9njXcAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9njXcQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9njXcwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9njXcguXEeWXe7AeBUbqvw" x="311" y="33"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9nuWmAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9nuWmQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9nuWmwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9nuWmguXEeWXe7AeBUbqvw" x="308" y="45"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9n6j0AuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9n6j0QuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9n6j0wuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_TLShkF7qEeGEmrrwB1vhPg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9n6j0guXEeWXe7AeBUbqvw" x="238" y="270"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9oGKAAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9oGKAQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9oGxEAuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9oGKAguXEeWXe7AeBUbqvw" x="306" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9oTlYAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9oTlYQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9oTlYwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9oTlYguXEeWXe7AeBUbqvw" x="190" y="36"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_FYBLP24sEd-0rs2VEGIwsA"/>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_7gTl0Mc1EeSsAI2TZshUyg" name="css_stylesheets" eObjectListValue="_7gUz8Mc1EeSsAI2TZshUyg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_9hqx6AuXEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="componentlib.uml#_mMCK8PiPEd2UhpY2Y3WUyg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_dNEMkG5fEd-5CZIeuHpHAg" type="Generalization_Edge" source="_cTlm4G5fEd-5CZIeuHpHAg" target="_FYAkIW4sEd-0rs2VEGIwsA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dNFasG5fEd-5CZIeuHpHAg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dNGo0G5fEd-5CZIeuHpHAg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dNEMkW5fEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_1H2JwDBEEd6V16eboHV1gw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dNEMkm5fEd-5CZIeuHpHAg" points="[-8, -20, 58, 145]$[-50, -123, 16, 42]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_drspUG5fEd-5CZIeuHpHAg" type="Generalization_Edge" source="_cTlm4G5fEd-5CZIeuHpHAg" target="_FYBLNG4sEd-0rs2VEGIwsA" routing="Rectilinear" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_drtQYG5fEd-5CZIeuHpHAg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_drtQYW5fEd-5CZIeuHpHAg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_drspUW5fEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_0KzSsDBEEd6V16eboHV1gw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_drspUm5fEd-5CZIeuHpHAg" points="[41, -38, -136, 105]$[41, -92, -136, 51]$[172, -92, -5, 51]$[172, -139, -5, 4]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jflTgG5fEd-5CZIeuHpHAg" id="(0.3305785123966942,0.9493670886075949)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pOq9QG5fEd-5CZIeuHpHAg" type="Generalization_Edge" source="_nkmBEG5fEd-5CZIeuHpHAg" target="_cTlm4G5fEd-5CZIeuHpHAg" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_pOrkUG5fEd-5CZIeuHpHAg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_pOrkUW5fEd-5CZIeuHpHAg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_pOq9QW5fEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_lYOSkClzEd-eoo60eNyGlg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pOq9Qm5fEd-5CZIeuHpHAg" points="[1, -40, 0, 83]$[0, -85, -1, 38]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_IsGNcG5gEd-5CZIeuHpHAg" type="Generalization_Edge" source="_H_CTIG5gEd-5CZIeuHpHAg" target="_HJAqEG5gEd-5CZIeuHpHAg" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IsPXYG5gEd-5CZIeuHpHAg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IsPXYW5gEd-5CZIeuHpHAg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_IsGNcW5gEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_lm4GkA1jEd6tvthBDl600Q"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IsGNcm5gEd-5CZIeuHpHAg" points="[-4, -20, 17, 90]$[-18, -90, 3, 20]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_KGqG8G5gEd-5CZIeuHpHAg" type="Generalization_Edge" source="_HJAqEG5gEd-5CZIeuHpHAg" target="_FYAkIW4sEd-0rs2VEGIwsA" routing="Rectilinear" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_KGrVEG5gEd-5CZIeuHpHAg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KGrVEW5gEd-5CZIeuHpHAg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_KGqG8W5gEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_T1zr4DBFEd6V16eboHV1gw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KGqG8m5gEd-5CZIeuHpHAg" points="[-31, -18, 261, 147]$[-232, -132, 60, 33]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Kc5csG5gEd-5CZIeuHpHAg" type="Generalization_Edge" source="_HJAqEG5gEd-5CZIeuHpHAg" target="_FYBLNG4sEd-0rs2VEGIwsA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Kc6DwG5gEd-5CZIeuHpHAg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Kc6DwW5gEd-5CZIeuHpHAg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Kc5csW5gEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_STdvYDBFEd6V16eboHV1gw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Kc5csm5gEd-5CZIeuHpHAg" points="[-12, -23, 74, 146]$[-66, -129, 20, 40]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_DjnY8DrWEeGMCcwsbpLuFA" type="Comment_AnnotatedElementEdge" source="__rQAQDrVEeGMCcwsbpLuFA" target="_FYBLNG4sEd-0rs2VEGIwsA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_DjoAADrWEeGMCcwsbpLuFA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DjoAATrWEeGMCcwsbpLuFA" points="[-19, 1, 78, 0]$[-74, 3, 23, 2]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DjzmMDrWEeGMCcwsbpLuFA" id="(0.11801242236024845,0.5)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DjzmMTrWEeGMCcwsbpLuFA" id="(0.8099173553719008,0.5443037974683544)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_WhiEoF7qEeGEmrrwB1vhPg" type="Generalization_Edge" source="_TLmDkF7qEeGEmrrwB1vhPg" target="_2oWskF7pEeGEmrrwB1vhPg" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_WhirsF7qEeGEmrrwB1vhPg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_WhirsV7qEeGEmrrwB1vhPg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_WhiEoV7qEeGEmrrwB1vhPg" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_WhUpQF7qEeGEmrrwB1vhPg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WhiEol7qEeGEmrrwB1vhPg" points="[1, -4, 0, 109]$[-3, -107, -4, 6]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wh9icF7qEeGEmrrwB1vhPg" id="(0.3673469387755102,0.06779661016949153)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wh9icV7qEeGEmrrwB1vhPg" id="(0.3728813559322034,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XgiDgF7qEeGEmrrwB1vhPg" type="Generalization_Edge" source="_TLmDkF7qEeGEmrrwB1vhPg" target="_FYBLNG4sEd-0rs2VEGIwsA" routing="Rectilinear" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_XgiqkF7qEeGEmrrwB1vhPg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XgiqkV7qEeGEmrrwB1vhPg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_XgiDgV7qEeGEmrrwB1vhPg" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_XgUoIF7qEeGEmrrwB1vhPg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XgiDgl7qEeGEmrrwB1vhPg" points="[17, -6, -338, 114]$[349, -112, -6, 8]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xg9hUF7qEeGEmrrwB1vhPg" id="(0.6632653061224489,0.1016949152542373)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xg9hUV7qEeGEmrrwB1vhPg" id="(0.3140495867768595,0.8987341772151899)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9kaj5AuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_FYAkJW4sEd-0rs2VEGIwsA" target="_9kaj4AuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9kaj5QuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9kaj6QuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9kaj5guXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9kaj5wuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9kaj6AuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9kmxLAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_FYBLOG4sEd-0rs2VEGIwsA" target="_9kmxKAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9kmxLQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9kn_QAuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9kmxLguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9kmxLwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9kmxMAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9k2BsQuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_cTlm4G5fEd-5CZIeuHpHAg" target="_9k1aoAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9k2BsguXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9k2BtguXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_KxQBELuXEd2TTr3gJIvazw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9k2BswuXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9k2BtAuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9k2BtQuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9lGgZAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_cnOc0DrVEeGMCcwsbpLuFA" target="_9lGgYAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9lGgZQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9lGgaQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9lGgZguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9lGgZwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9lGgaAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9lapdAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_cnSuQDrVEeGMCcwsbpLuFA" target="_9lapcAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9lapdQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9lapeQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9lapdguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9lapdwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9lapeAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9lsWRAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_nkmBEG5fEd-5CZIeuHpHAg" target="_9lsWQAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9lsWRQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9lsWSQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_Whe8EClYEd-eoo60eNyGlg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9lsWRguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9lsWRwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9lsWSAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9l3VZAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_hZRPgDrVEeGMCcwsbpLuFA" target="_9l3VYAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9l3VZQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9l38cAuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9l3VZguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9l3VZwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9l3VaAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9mEwxAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_hZSdoTrVEeGMCcwsbpLuFA" target="_9mEwwAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9mEwxQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9mEwyQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9mEwxguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9mEwxwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9mEwyAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9mckMQuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_HJAqEG5gEd-5CZIeuHpHAg" target="_9mb9IAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9mckMguXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9mckNguXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_Zx2ZUA1jEd6tvthBDl600Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9mckMwuXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9mckNAuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9mckNQuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9mtC5AuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_iOXEcDrVEeGMCcwsbpLuFA" target="_9mtC4AuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9mtC5QuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9mtC6QuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9mtC5guXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9mtC5wuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9mtC6AuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9m-IpAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_iOYSkDrVEeGMCcwsbpLuFA" target="_9m-IoAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9m-IpQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9m-IqQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9m-IpguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9m-IpwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9m-IqAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9nMLFAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_H_CTIG5gEd-5CZIeuHpHAg" target="_9nMLEAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9nMLFQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9nMLGQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_jOU60A1jEd6tvthBDl600Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9nMLFguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9nMLFwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9nMLGAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9nXKNAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_kf30EDrVEeGMCcwsbpLuFA" target="_9nXKMAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9nXKNQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9nXKOQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9nXKNguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9nXKNwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9nXKOAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9njXdAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_kf5CMDrVEeGMCcwsbpLuFA" target="_9njXcAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9njXdQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9njXeQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9njXdguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9njXdwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9njXeAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9nuWnAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_5wCPMF7pEeGEmrrwB1vhPg" target="_9nuWmAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9nuWnQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9nuWoQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9nuWnguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9nuWnwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9nuWoAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9n6j1AuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_TLmDkF7qEeGEmrrwB1vhPg" target="_9n6j0AuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9n6j1QuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9n6j2QuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_TLShkF7qEeGEmrrwB1vhPg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9n6j1guXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9n6j1wuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9n6j2AuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9oGxEQuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_ewlwwF7qEeGEmrrwB1vhPg" target="_9oGKAAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9oGxEguXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9oGxFguXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9oGxEwuXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9oGxFAuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9oGxFQuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9oTlZAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_ewm-4F7qEeGEmrrwB1vhPg" target="_9oTlYAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9oTlZQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9oTlaQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9oTlZguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9oTlZwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9oTlaAuXEeWXe7AeBUbqvw"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_A6ULINYGEd-CgJIavLpOxQ" type="PapyrusUMLClassDiagram" name="Class: ContainerServices" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_ByS8ANYGEd-CgJIavLpOxQ" type="Class_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByUKINYGEd-CgJIavLpOxQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ByUKIdYGEd-CgJIavLpOxQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByUKItYGEd-CgJIavLpOxQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ByUKI9YGEd-CgJIavLpOxQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByUKJNYGEd-CgJIavLpOxQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ByUxMNYGEd-CgJIavLpOxQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ByUxMdYGEd-CgJIavLpOxQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ByUxMtYGEd-CgJIavLpOxQ" type="Class_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_5X2YACVqEeGXBt65HZzY7g" type="Property_ClassAttributeLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_oG9wEFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tfIHkFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_yc3tsMThEeWfEYAFL-UFuw" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Port" href="componentlib.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_5X2YASVqEeGXBt65HZzY7g"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_60xB8CVqEeGXBt65HZzY7g" type="Property_ClassAttributeLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qGsMIFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qRYZMFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_THI2YMTgEeWfEYAFL-UFuw" visible="false" type="StereotypeLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0FDMcMThEeWfEYAFL-UFuw" source="PapyrusCSSForceValue">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0FDMccThEeWfEYAFL-UFuw" key="visible" value="true"/>
+            </eAnnotations>
+            <styles xmi:type="notation:StringValueStyle" xmi:id="_THI2YcTgEeWfEYAFL-UFuw" name="stereotype" stringValue="FCM::ConfigurationProperty"/>
+            <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_L8b3wMtvEd2H_o0jIC6qDQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_THI2YsTgEeWfEYAFL-UFuw"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_0kPp4MThEeWfEYAFL-UFuw" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="componentlib.uml#_rVfYoMGJEd-Mveea1W_olA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_60xB8SVqEeGXBt65HZzY7g"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_r31CwCXREeGX6PuSE-DJlQ" type="Property_ClassAttributeLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rmOsQFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rxObUFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_zFyH0MThEeWfEYAFL-UFuw" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Port" href="componentlib.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_r31CwSXREeGX6PuSE-DJlQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ByUxM9YGEd-CgJIavLpOxQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ByUxNNYGEd-CgJIavLpOxQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByUxNdYGEd-CgJIavLpOxQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ByUxNtYGEd-CgJIavLpOxQ" type="Class_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_s9ecMCXREeGX6PuSE-DJlQ" type="Operation_ClassOperationLabel" fontName="Sans Serif" lineColor="0">
+          <element xmi:type="uml:Operation" href="componentlib.uml#_yv198P-EEd6628OhKk_dpg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_s9ecMSXREeGX6PuSE-DJlQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_s9fDQCXREeGX6PuSE-DJlQ" type="Operation_ClassOperationLabel" fontName="Sans Serif" lineColor="0">
+          <children xmi:type="notation:DecorationNode" xmi:id="_THMgwMTgEeWfEYAFL-UFuw" visible="false" type="StereotypeLabel">
+            <styles xmi:type="notation:StringValueStyle" xmi:id="_THMgwcTgEeWfEYAFL-UFuw" name="stereotype" stringValue="FCM::DerivedElement"/>
+            <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_6B80EGV9Ed6b6erIXzmEEA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_THMgwsTgEeWfEYAFL-UFuw"/>
+          </children>
+          <element xmi:type="uml:Operation" href="componentlib.uml#_JmxyMD16Ed-Bk-AHd6yyoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_s9fDQSXREeGX6PuSE-DJlQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_s9fqUCXREeGX6PuSE-DJlQ" type="Operation_ClassOperationLabel" fontName="Sans Serif" lineColor="0">
+          <children xmi:type="notation:DecorationNode" xmi:id="_THOV8MTgEeWfEYAFL-UFuw" visible="false" type="StereotypeLabel">
+            <styles xmi:type="notation:StringValueStyle" xmi:id="_THOV8cTgEeWfEYAFL-UFuw" name="stereotype" stringValue="FCM::DerivedElement"/>
+            <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_6B80EGV9Ed6b6erIXzmEEA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_THOV8sTgEeWfEYAFL-UFuw"/>
+          </children>
+          <element xmi:type="uml:Operation" href="componentlib.uml#_JqB6gD16Ed-Bk-AHd6yyoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_s9fqUSXREeGX6PuSE-DJlQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ByUxN9YGEd-CgJIavLpOxQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ByUxONYGEd-CgJIavLpOxQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByUxOdYGEd-CgJIavLpOxQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ByUxOtYGEd-CgJIavLpOxQ" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ByUxO9YGEd-CgJIavLpOxQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ByUxPNYGEd-CgJIavLpOxQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByUxPdYGEd-CgJIavLpOxQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kym9AFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kym9AVy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="C_Cpp:Include" href="componentlib.uml#_Q7TVYBJcEd-QgZm_R1AKbA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kym9Aly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kym9A1y8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kym9BFy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="SW_Concurrency:SwSchedulableResource" href="componentlib.uml#_42YPYBn3EeONpa5JgejICQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kym9BVy8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kynkEFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kynkEVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kynkEly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9v73YAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73YQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9zgv0AuXEeWXe7AeBUbqvw" visible="false" type="StereotypeLabel">
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_9zgv0QuXEeWXe7AeBUbqvw" name="stereotype" stringValue="C_Cpp::Include"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_RwTdQByJEduN1bTiWJ0lyw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9zgv0guXEeWXe7AeBUbqvw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9zm2dguXEeWXe7AeBUbqvw" visible="false" type="StereotypeLabel">
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_9zm2dwuXEeWXe7AeBUbqvw" name="stereotype" stringValue="MARTE::MARTE_DesignModel::SRM::SW_Concurrency::SwSchedulableResource"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_hQja8BJhEdypOJGS7WfJjQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9zm2eAuXEeWXe7AeBUbqvw"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByS8AdYGEd-CgJIavLpOxQ" x="80" y="108" width="209" height="145"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_D0xKENYGEd-CgJIavLpOxQ" type="Class_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D0xxINYGEd-CgJIavLpOxQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D0xxIdYGEd-CgJIavLpOxQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D0xxItYGEd-CgJIavLpOxQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D0xxI9YGEd-CgJIavLpOxQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D0xxJNYGEd-CgJIavLpOxQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D0xxJdYGEd-CgJIavLpOxQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_D0xxJtYGEd-CgJIavLpOxQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D0xxJ9YGEd-CgJIavLpOxQ" type="Class_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_OSicECXVEeGX6PuSE-DJlQ" type="Property_ClassAttributeLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l2kawFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v7LTQFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <element xmi:type="uml:Port" href="componentlib.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_OSicESXVEeGX6PuSE-DJlQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D0xxKNYGEd-CgJIavLpOxQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D0xxKdYGEd-CgJIavLpOxQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xxKtYGEd-CgJIavLpOxQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D0xxK9YGEd-CgJIavLpOxQ" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D0xxLNYGEd-CgJIavLpOxQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D0xxLdYGEd-CgJIavLpOxQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xxLtYGEd-CgJIavLpOxQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D0xxL9YGEd-CgJIavLpOxQ" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D0xxMNYGEd-CgJIavLpOxQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D0xxMdYGEd-CgJIavLpOxQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xxMtYGEd-CgJIavLpOxQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kyqnYFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kyqnYVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kyqnYly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9v73YguXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73YwuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xKEdYGEd-CgJIavLpOxQ" x="80" y="9" width="212" height="55"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_EhiDELaaEeCj_-LEBuGpmA" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EhiqILaaEeCj_-LEBuGpmA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EhiqIbaaEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EhjRMLaaEeCj_-LEBuGpmA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EhjRMbaaEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EhjRMraaEeCj_-LEBuGpmA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EhjRM7aaEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_EhjRNLaaEeCj_-LEBuGpmA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="componentlib.uml#_hGEOAMT8Ed-zx4a_r4xAYw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EhiDEbaaEeCj_-LEBuGpmA" x="325" y="13" width="343" height="100"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_elme8PQREeCovO8AYZymZQ" type="Interface_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_elnGAPQREeCovO8AYZymZQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_elnGAfQREeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_elntEPQREeCovO8AYZymZQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_elntEfQREeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_elntEvQREeCovO8AYZymZQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_elntE_QREeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_elntFPQREeCovO8AYZymZQ" type="Interface_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_elntFfQREeCovO8AYZymZQ" visible="false" type="Interface_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_elntFvQREeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_elntF_QREeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_elntGPQREeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elntGfQREeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_elntGvQREeCovO8AYZymZQ" type="Interface_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_f1SlMPQREeCovO8AYZymZQ" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rsca8FjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rvvmkFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="componentlib.uml#_f1HmEPQREeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_f1SlMfQREeCovO8AYZymZQ"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_elntG_QREeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_elntHPQREeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_elntHfQREeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elntHvQREeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_eloUIPQREeCovO8AYZymZQ" visible="false" type="Interface_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_eloUIfQREeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_eloUIvQREeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_eloUI_QREeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eloUJPQREeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kyr1gFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kyr1gVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kyr1gly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9v73ZAuXEeWXe7AeBUbqvw" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73ZQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Interface" href="componentlib.uml#_elkpwPQREeCovO8AYZymZQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elme8fQREeCovO8AYZymZQ" x="459" y="201" width="208" height="82"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_S9Kp8PQWEeCovO8AYZymZQ" type="Interface_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S9LRAPQWEeCovO8AYZymZQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S9LRAfQWEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S9LRAvQWEeCovO8AYZymZQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S9LRA_QWEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S9LRBPQWEeCovO8AYZymZQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S9LRBfQWEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_S9LRBvQWEeCovO8AYZymZQ" type="Interface_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_S9LRB_QWEeCovO8AYZymZQ" visible="false" type="Interface_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_S9LRCPQWEeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_S9LRCfQWEeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_S9LRCvQWEeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9LRC_QWEeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_S9L4EPQWEeCovO8AYZymZQ" type="Interface_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_tK13wPQWEeCovO8AYZymZQ" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uQYXUFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uT-d4FjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="componentlib.uml#_tK0poPQWEeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_tK13wfQWEeCovO8AYZymZQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_FBOeEPQXEeCovO8AYZymZQ" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
+          <element xmi:type="uml:Operation" href="componentlib.uml#_FBMo4PQXEeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FBOeEfQXEeCovO8AYZymZQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_SaK_4CUREeGXBt65HZzY7g" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uQZlcFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uT_E8FjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="componentlib.uml#_f1HmEPQREeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_SaK_4SUREeGXBt65HZzY7g"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_S9L4EfQWEeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_S9L4EvQWEeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_S9L4E_QWEeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9L4FPQWEeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_S9L4FfQWEeCovO8AYZymZQ" visible="false" type="Interface_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_S9L4FvQWEeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_S9L4F_QWEeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_S9L4GPQWEeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9L4GfQWEeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kytDoFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kytDoVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kytDoly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9v73ZguXEeWXe7AeBUbqvw" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73ZwuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Interface" href="componentlib.uml#_omxU4PNAEeCovO8AYZymZQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9Kp8fQWEeCovO8AYZymZQ" x="459" y="324" width="462" height="91"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_DZTowCUREeGXBt65HZzY7g" type="Interface_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DZUP0SUREeGXBt65HZzY7g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DZUP0iUREeGXBt65HZzY7g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DZU24CUREeGXBt65HZzY7g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DZU24SUREeGXBt65HZzY7g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DZU24iUREeGXBt65HZzY7g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DZU24yUREeGXBt65HZzY7g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_DZU25CUREeGXBt65HZzY7g" type="Interface_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_DZU25SUREeGXBt65HZzY7g" visible="false" type="Interface_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_DZU25iUREeGXBt65HZzY7g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_DZU25yUREeGXBt65HZzY7g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_DZU26CUREeGXBt65HZzY7g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZU26SUREeGXBt65HZzY7g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_DZU26iUREeGXBt65HZzY7g" type="Interface_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Et42ECUREeGXBt65HZzY7g" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rsdCAVjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rvw0sFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="componentlib.uml#_tK0poPQWEeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Et42ESUREeGXBt65HZzY7g" x="58" y="3"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_DZU26yUREeGXBt65HZzY7g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_DZU27CUREeGXBt65HZzY7g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_DZU27SUREeGXBt65HZzY7g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZU27iUREeGXBt65HZzY7g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_DZU27yUREeGXBt65HZzY7g" visible="false" type="Interface_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_DZU28CUREeGXBt65HZzY7g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_DZU28SUREeGXBt65HZzY7g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_DZU28iUREeGXBt65HZzY7g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZU28yUREeGXBt65HZzY7g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kyuRwFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kyuRwVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kyuRwly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9v73aAuXEeWXe7AeBUbqvw" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73aQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Interface" href="componentlib.uml#_DY2VwCUREeGXBt65HZzY7g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZUP0CUREeGXBt65HZzY7g" x="702" y="201" width="219" height="79"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_5MArECXQEeGX6PuSE-DJlQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5MBSICXQEeGX6PuSE-DJlQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5MBSISXQEeGX6PuSE-DJlQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5MBSIiXQEeGX6PuSE-DJlQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5MB5MCXQEeGX6PuSE-DJlQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5MB5MSXQEeGX6PuSE-DJlQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5MB5MiXQEeGX6PuSE-DJlQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_5MB5MyXQEeGX6PuSE-DJlQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_5MB5NCXQEeGX6PuSE-DJlQ" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_5MB5NSXQEeGX6PuSE-DJlQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_5MB5NiXQEeGX6PuSE-DJlQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_5MB5NyXQEeGX6PuSE-DJlQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MB5OCXQEeGX6PuSE-DJlQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_5MCgQCXQEeGX6PuSE-DJlQ" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_5MCgQSXQEeGX6PuSE-DJlQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_5MCgQiXQEeGX6PuSE-DJlQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_5MCgQyXQEeGX6PuSE-DJlQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MCgRCXQEeGX6PuSE-DJlQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_5MCgRSXQEeGX6PuSE-DJlQ" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_5MCgRiXQEeGX6PuSE-DJlQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_5MCgRyXQEeGX6PuSE-DJlQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_5MCgSCXQEeGX6PuSE-DJlQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MCgSSXQEeGX6PuSE-DJlQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kyvf4Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kyvf4Vy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:InteractionComponent" href="componentlib.uml#_OXit8CfwEeG6iME5Q8XPKw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kyvf4ly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kywG8Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kywG8Vy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kywG8ly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9v73aguXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73awuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_5J9coCXQEeGX6PuSE-DJlQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MArESXQEeGX6PuSE-DJlQ" x="80" y="297" width="209" height="55"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_E3A5oCXREeGX6PuSE-DJlQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E3BgsCXREeGX6PuSE-DJlQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E3CHwCXREeGX6PuSE-DJlQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E3CHwSXREeGX6PuSE-DJlQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E3CHwiXREeGX6PuSE-DJlQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E3CHwyXREeGX6PuSE-DJlQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E3CHxCXREeGX6PuSE-DJlQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_E3CHxSXREeGX6PuSE-DJlQ" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="componentlib.uml#_EuvHYCXREeGX6PuSE-DJlQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E3A5oSXREeGX6PuSE-DJlQ" x="81" y="378" width="235"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_OX-j4FaNEeKxltxu9uR4dg" type="DataType_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OYQ3wFaNEeKxltxu9uR4dg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OYQ3wVaNEeKxltxu9uR4dg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OYQ3wlaNEeKxltxu9uR4dg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OYRe0FaNEeKxltxu9uR4dg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OYRe0VaNEeKxltxu9uR4dg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OYRe0laNEeKxltxu9uR4dg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OYRe01aNEeKxltxu9uR4dg" type="DataType_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_OYRe1FaNEeKxltxu9uR4dg" type="DataType_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_RXTbwFaNEeKxltxu9uR4dg" type="Property_DataTypeAttributeLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_waMsEFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_waNTIFaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="60"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="componentlib.uml#_RW82cFaNEeKxltxu9uR4dg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_RXTbwVaNEeKxltxu9uR4dg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_OYRe1VaNEeKxltxu9uR4dg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_OYRe1laNEeKxltxu9uR4dg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_OYRe11aNEeKxltxu9uR4dg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OYRe2FaNEeKxltxu9uR4dg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_OYRe2VaNEeKxltxu9uR4dg" visible="false" type="DataType_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_OYRe2laNEeKxltxu9uR4dg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_OYRe21aNEeKxltxu9uR4dg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_OYRe3FaNEeKxltxu9uR4dg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OYRe3VaNEeKxltxu9uR4dg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kyxVEFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kyxVEVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kyxVEly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9v73bAuXEeWXe7AeBUbqvw" type="DataType_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73bQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:DataType" href="componentlib.uml#_OU5asFaNEeKxltxu9uR4dg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OX-j4VaNEeKxltxu9uR4dg" x="702" y="9" width="219" height="64"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Y9_gUFaNEeKxltxu9uR4dg" type="DataType_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y9_gUlaNEeKxltxu9uR4dg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y-AHYFaNEeKxltxu9uR4dg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y-AHYVaNEeKxltxu9uR4dg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y-AHYlaNEeKxltxu9uR4dg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y-AHY1aNEeKxltxu9uR4dg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y-AHZFaNEeKxltxu9uR4dg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Y-AHZVaNEeKxltxu9uR4dg" type="DataType_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Y-AHZlaNEeKxltxu9uR4dg" type="DataType_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_fYzAkFaNEeKxltxu9uR4dg" type="Property_DataTypeAttributeLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t76EsFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uWGGUFaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="componentlib.uml#_fYeQcFaNEeKxltxu9uR4dg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_fYzAkVaNEeKxltxu9uR4dg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_oUoTIFaNEeKxltxu9uR4dg" type="Property_DataTypeAttributeLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vVH6YFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vY61QFaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="componentlib.uml#_oUVYMFaNEeKxltxu9uR4dg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_oUoTIVaNEeKxltxu9uR4dg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_xXc-gFaNEeKxltxu9uR4dg" type="Property_DataTypeAttributeLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1PtpgFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1fyF0FaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="componentlib.uml#_xXGZMFaNEeKxltxu9uR4dg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_xXc-gVaNEeKxltxu9uR4dg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Y-AHZ1aNEeKxltxu9uR4dg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Y-AHaFaNEeKxltxu9uR4dg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Y-AHaVaNEeKxltxu9uR4dg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y-AHalaNEeKxltxu9uR4dg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Y-AHa1aNEeKxltxu9uR4dg" visible="false" type="DataType_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Y-AHbFaNEeKxltxu9uR4dg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Y-AHbVaNEeKxltxu9uR4dg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Y-AHblaNEeKxltxu9uR4dg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y-AHb1aNEeKxltxu9uR4dg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kyyjMFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kyyjMVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kyyjMly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9v73bguXEeWXe7AeBUbqvw" type="DataType_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73bwuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:DataType" href="componentlib.uml#_Y8dPQFaNEeKxltxu9uR4dg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y9_gUVaNEeKxltxu9uR4dg" x="702" y="90" width="219" height="91"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9zuyWAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9zuyWQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9zvZUAuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9zuyWguXEeWXe7AeBUbqvw" x="299" y="108"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_90UoIguXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_90UoIwuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_90UoJQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_5J9coCXQEeGX6PuSE-DJlQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_90UoJAuXEeWXe7AeBUbqvw" x="299" y="297"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_doRyEL4KEeWvxpnDGpErAg" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_doYfwL4KEeWvxpnDGpErAg" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_doYfwb4KEeWvxpnDGpErAg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_doYfwr4KEeWvxpnDGpErAg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_doZG0L4KEeWvxpnDGpErAg" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_doZG0b4KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_doZG0r4KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_doZG074KEeWvxpnDGpErAg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_doZG1L4KEeWvxpnDGpErAg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_doZG1b4KEeWvxpnDGpErAg" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_doZG1r4KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_doZG174KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_doZG2L4KEeWvxpnDGpErAg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_doZG2b4KEeWvxpnDGpErAg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_doZG2r4KEeWvxpnDGpErAg" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_doZG274KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_doZG3L4KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_doZG3b4KEeWvxpnDGpErAg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_doZG3r4KEeWvxpnDGpErAg"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_doRyEb4KEeWvxpnDGpErAg" x="460" y="460" width="170" height="80"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dqqXsL4KEeWvxpnDGpErAg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_dqqXsb4KEeWvxpnDGpErAg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_dqqXs74KEeWvxpnDGpErAg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dqqXsr4KEeWvxpnDGpErAg" x="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kLaH4L4KEeWvxpnDGpErAg" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kLau8L4KEeWvxpnDGpErAg" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_kLau8b4KEeWvxpnDGpErAg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kLau8r4KEeWvxpnDGpErAg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kLau874KEeWvxpnDGpErAg" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kLau9L4KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kLau9b4KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kLau9r4KEeWvxpnDGpErAg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kLau974KEeWvxpnDGpErAg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kLau-L4KEeWvxpnDGpErAg" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kLau-b4KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kLau-r4KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kLau-74KEeWvxpnDGpErAg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kLau_L4KEeWvxpnDGpErAg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kLau_b4KEeWvxpnDGpErAg" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kLau_r4KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kLau_74KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kLavAL4KEeWvxpnDGpErAg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kLavAb4KEeWvxpnDGpErAg"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://DML_CORE/osal.uml#_FuKEEDj8Edy0Rd6V_tf1-Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kLaH4b4KEeWvxpnDGpErAg" x="820" y="460" width="101" height="81"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kMcCo74KEeWvxpnDGpErAg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kMcCpL4KEeWvxpnDGpErAg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kMcCpr4KEeWvxpnDGpErAg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://DML_CORE/osal.uml#_FuKEEDj8Edy0Rd6V_tf1-Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kMcCpb4KEeWvxpnDGpErAg" x="200"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_A6ULIdYGEd-CgJIavLpOxQ"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_9v73cAuXEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="componentlib.uml#_xtlE8ARAEd--t-uhRn9OBA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_D1HvYNYGEd-CgJIavLpOxQ" type="Generalization_Edge" source="_ByS8ANYGEd-CgJIavLpOxQ" target="_D0xKENYGEd-CgJIavLpOxQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_D1IWcNYGEd-CgJIavLpOxQ" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_D1IWcdYGEd-CgJIavLpOxQ" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_D1HvYdYGEd-CgJIavLpOxQ" fontName="Sans Serif" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_6bsEkARAEd--t-uhRn9OBA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D1HvYtYGEd-CgJIavLpOxQ" points="[-77, -75, 118, 115]$[-195, -190, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tMbHwMThEeWfEYAFL-UFuw" id="(0.4784688995215311,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_syrLAMThEeWfEYAFL-UFuw" id="(0.4716981132075472,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_KuwaULaaEeCj_-LEBuGpmA" type="Comment_AnnotatedElementEdge" source="_EhiDELaaEeCj_-LEBuGpmA" target="_ByS8ANYGEd-CgJIavLpOxQ" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_KuwaUbaaEeCj_-LEBuGpmA" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KuwaUraaEeCj_-LEBuGpmA" points="[325, 137, -643984, -643984]$[289, 137, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KvJb4LaaEeCj_-LEBuGpmA" id="(0.0,0.7005649717514124)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KvJb4baaEeCj_-LEBuGpmA" id="(0.917098445595855,0.2)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ffcCQPQXEeCovO8AYZymZQ" type="Generalization_Edge" source="_S9Kp8PQWEeCovO8AYZymZQ" target="_elme8PQREeCovO8AYZymZQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ffdQYPQXEeCovO8AYZymZQ" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ffdQYfQXEeCovO8AYZymZQ" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_ffcCQfQXEeCovO8AYZymZQ" fontName="Sans Serif"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_feaHgPQXEeCovO8AYZymZQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ffcCQvQXEeCovO8AYZymZQ" points="[-109, 14, 100, -14]$[-162, 10, 47, -18]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ffeegPQXEeCovO8AYZymZQ" id="(0.2328159645232816,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ffeegfQXEeCovO8AYZymZQ" id="(0.507537688442211,0.95)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GxXJsCUREeGXBt65HZzY7g" type="Generalization_Edge" source="_S9Kp8PQWEeCovO8AYZymZQ" target="_DZTowCUREeGXBt65HZzY7g" routing="Rectilinear" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GxXwwCUREeGXBt65HZzY7g" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_GxXwwSUREeGXBt65HZzY7g" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_GxXJsSUREeGXBt65HZzY7g" fontName="Sans Serif"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_GwxT0CUREeGXBt65HZzY7g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GxXJsiUREeGXBt65HZzY7g" points="[807, 324, -643984, -643984]$[807, 304, -643984, -643984]$[807, 280, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GzJSYCUREeGXBt65HZzY7g" id="(0.7716186252771619,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GzJSYSUREeGXBt65HZzY7g" id="(0.5048076923076923,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9vKGICXQEeGX6PuSE-DJlQ" type="Generalization_Edge" source="_5MArECXQEeGX6PuSE-DJlQ" target="_ByS8ANYGEd-CgJIavLpOxQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9vKtMCXQEeGX6PuSE-DJlQ" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9vLUQCXQEeGX6PuSE-DJlQ" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_9vKGISXQEeGX6PuSE-DJlQ" fontName="Sans Serif"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_9thucCXQEeGX6PuSE-DJlQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9vKGIiXQEeGX6PuSE-DJlQ" points="[6, -10, 0, 41]$[8, -36, 2, 15]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9wimMCXQEeGX6PuSE-DJlQ" id="(0.5052631578947369,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9wimMSXQEeGX6PuSE-DJlQ" id="(0.5077720207253886,0.98)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_jDnbICXREeGX6PuSE-DJlQ" type="Comment_AnnotatedElementEdge" source="_E3A5oCXREeGX6PuSE-DJlQ" target="_5MArECXQEeGX6PuSE-DJlQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_jDnbISXREeGX6PuSE-DJlQ" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jDnbIiXREeGX6PuSE-DJlQ" points="[-18, 13, 101, -76]$[-107, 85, 12, -4]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jFAiQCXREeGX6PuSE-DJlQ" id="(0.4765957446808511,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jFBJUCXREeGX6PuSE-DJlQ" id="(0.5741626794258373,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9zvZUQuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_ByS8ANYGEd-CgJIavLpOxQ" target="_9zuyWAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9zvZUguXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9zvZVguXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9zvZUwuXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9zvZVAuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9zvZVQuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_90UoJguXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_5MArECXQEeGX6PuSE-DJlQ" target="_90UoIguXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_90UoJwuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_90UoKwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_5J9coCXQEeGX6PuSE-DJlQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_90UoKAuXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_90UoKQuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_90UoKguXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dqq-wL4KEeWvxpnDGpErAg" type="StereotypeCommentLink" source="_doRyEL4KEeWvxpnDGpErAg" target="_dqqXsL4KEeWvxpnDGpErAg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_dqq-wb4KEeWvxpnDGpErAg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_dqrl0L4KEeWvxpnDGpErAg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dqq-wr4KEeWvxpnDGpErAg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dqq-w74KEeWvxpnDGpErAg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dqq-xL4KEeWvxpnDGpErAg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kMcCp74KEeWvxpnDGpErAg" type="StereotypeCommentLink" source="_kLaH4L4KEeWvxpnDGpErAg" target="_kMcCo74KEeWvxpnDGpErAg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_kMcCqL4KEeWvxpnDGpErAg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kMcpsr4KEeWvxpnDGpErAg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://DML_CORE/osal.uml#_FuKEEDj8Edy0Rd6V_tf1-Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kMcCqb4KEeWvxpnDGpErAg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kMcpsL4KEeWvxpnDGpErAg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kMcpsb4KEeWvxpnDGpErAg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_xsPPoL4KEeWvxpnDGpErAg" type="Dependency_Edge" source="_doRyEL4KEeWvxpnDGpErAg" target="_kLaH4L4KEeWvxpnDGpErAg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_xsPPo74KEeWvxpnDGpErAg" type="Dependency_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_xsPPpL4KEeWvxpnDGpErAg" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_xsPPpb4KEeWvxpnDGpErAg" type="Dependency_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_xsPPpr4KEeWvxpnDGpErAg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_xsPPob4KEeWvxpnDGpErAg"/>
+      <element xmi:type="uml:Dependency" href="componentlib.uml#_xsB0QL4KEeWvxpnDGpErAg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xsPPor4KEeWvxpnDGpErAg" points="[630, 500, -643984, -643984]$[820, 500, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xtpk4L4KEeWvxpnDGpErAg" id="(1.0,0.5)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xtpk4b4KEeWvxpnDGpErAg" id="(0.0,0.49382716049382713)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_glyeMK8qEeCXIcykFPsB8Q" type="PapyrusUMLClassDiagram" name="Pkg. Template: methodCall_comp" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_iLyysK8qEeCXIcykFPsB8Q" type="2007" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iL0A0K8qEeCXIcykFPsB8Q" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iL0n4K8qEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iL0n4a8qEeCXIcykFPsB8Q" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iL0n4q8qEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iL1O8K8qEeCXIcykFPsB8Q" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iL1O8a8qEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_iL1O8q8qEeCXIcykFPsB8Q" type="5026"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_iL1O868qEeCXIcykFPsB8Q" type="7016">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iL1O9K8qEeCXIcykFPsB8Q"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_jkrRMK8qEeCXIcykFPsB8Q" type="3033" fontName="Sans Serif" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jkr4QK8qEeCXIcykFPsB8Q" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jkr4Qa8qEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jkr4Qq8qEeCXIcykFPsB8Q" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jkr4Q68qEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jkr4RK8qEeCXIcykFPsB8Q" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jkr4Ra8qEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_jksfUK8qEeCXIcykFPsB8Q" type="7038">
+          <children xmi:type="notation:Shape" xmi:id="_kvgFkK8qEeCXIcykFPsB8Q" type="3031" fontName="Sans Serif" lineColor="0">
+            <element xmi:type="uml:ClassifierTemplateParameter" href="componentlib.uml#_QBCTAOxJEd-2rr_yAeKkjQ"/>
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_kvgFka8qEeCXIcykFPsB8Q" x="22" y="8"/>
+          </children>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_jksfUa8qEeCXIcykFPsB8Q"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_jksfUq8qEeCXIcykFPsB8Q"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jksfU68qEeCXIcykFPsB8Q"/>
+        </children>
+        <element xmi:type="uml:TemplateSignature" href="componentlib.uml#_ewC6kOxIEd-2rr_yAeKkjQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jkrRMa8qEeCXIcykFPsB8Q" x="30" y="8"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kAPE4Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kAPE4Vy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kAPE4ly8EeOwKfaVRwV11Q"/>
+      </children>
+      <element xmi:type="uml:Package" href="componentlib.uml#_RPCMoOxIEd-2rr_yAeKkjQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iLyysa8qEeCXIcykFPsB8Q" x="90" y="243"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_q3ohcK8qEeCXIcykFPsB8Q" type="2012" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q3pIgK8qEeCXIcykFPsB8Q" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q3pvkK8qEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q3pvka8qEeCXIcykFPsB8Q" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q3pvkq8qEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q3pvk68qEeCXIcykFPsB8Q" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q3pvlK8qEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_q3pvla8qEeCXIcykFPsB8Q" type="5038"/>
+      <element xmi:type="uml:Comment" href="componentlib.uml#_q1w5MK8qEeCXIcykFPsB8Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q3ohca8qEeCXIcykFPsB8Q" x="261" y="108" width="253"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_glyeMa8qEeCXIcykFPsB8Q"/>
+    <element xmi:type="uml:Package" href="componentlib.uml#_RPCMoOxIEd-2rr_yAeKkjQ"/>
+    <edges xmi:type="notation:Connector" xmi:id="_xP-jkK8qEeCXIcykFPsB8Q" type="4013" source="_q3ohcK8qEeCXIcykFPsB8Q" target="_iLyysK8qEeCXIcykFPsB8Q" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_xP-jka8qEeCXIcykFPsB8Q" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xP-jkq8qEeCXIcykFPsB8Q" points="[-40, 30, 181, -116]$[-121, 140, 100, -6]"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_DtdykK8rEeCXIcykFPsB8Q" type="PapyrusUMLClassDiagram" name="Pkg. Template: methodCall" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_NLTmAK8rEeCXIcykFPsB8Q" type="2007" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NLUNEK8rEeCXIcykFPsB8Q" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NLUNEa8rEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NLUNEq8rEeCXIcykFPsB8Q" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NLUNE68rEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NLUNFK8rEeCXIcykFPsB8Q" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NLUNFa8rEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_NLUNFq8rEeCXIcykFPsB8Q" type="5026"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_NLUNF68rEeCXIcykFPsB8Q" type="7016">
+        <children xmi:type="notation:Shape" xmi:id="_TmKUIK8sEeCXIcykFPsB8Q" type="3009" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TmK7MK8sEeCXIcykFPsB8Q" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TmK7Ma8sEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TmK7Mq8sEeCXIcykFPsB8Q" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TmLiQK8sEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TmLiQa8sEeCXIcykFPsB8Q" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TmLiQq8sEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_TmLiQ68sEeCXIcykFPsB8Q" type="5017"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_TmLiRK8sEeCXIcykFPsB8Q" type="7010">
+            <children xmi:type="notation:Shape" xmi:id="_V93yYK8sEeCXIcykFPsB8Q" type="3010" fontName="Sans Serif" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V95AgK8sEeCXIcykFPsB8Q" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V95Aga8sEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V95Agq8sEeCXIcykFPsB8Q" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V95Ag68sEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V95AhK8sEeCXIcykFPsB8Q" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V95Aha8sEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_V95Ahq8sEeCXIcykFPsB8Q" type="5014"/>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_V95nkK8sEeCXIcykFPsB8Q" visible="false" type="7011">
+                <styles xmi:type="notation:SortingStyle" xmi:id="_V95nka8sEeCXIcykFPsB8Q"/>
+                <styles xmi:type="notation:FilteringStyle" xmi:id="_V95nkq8sEeCXIcykFPsB8Q"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V95nk68sEeCXIcykFPsB8Q"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_V95nlK8sEeCXIcykFPsB8Q" visible="false" type="7012">
+                <styles xmi:type="notation:SortingStyle" xmi:id="_V95nla8sEeCXIcykFPsB8Q"/>
+                <styles xmi:type="notation:FilteringStyle" xmi:id="_V95nlq8sEeCXIcykFPsB8Q"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V95nl68sEeCXIcykFPsB8Q"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_V95nmK8sEeCXIcykFPsB8Q" visible="false" type="7013">
+                <styles xmi:type="notation:SortingStyle" xmi:id="_V95nma8sEeCXIcykFPsB8Q"/>
+                <styles xmi:type="notation:FilteringStyle" xmi:id="_V95nmq8sEeCXIcykFPsB8Q"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V95nm68sEeCXIcykFPsB8Q"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_kCfHoFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_kCfHoVy8EeOwKfaVRwV11Q" showTitle="true"/>
+                <element xmi:type="FCM:InteractionComponent" href="componentlib.uml#_s8OWIFR1Ed6GqrP6fkWBoQ"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kCfHoly8EeOwKfaVRwV11Q"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_kCfusFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_kCfusVy8EeOwKfaVRwV11Q"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kCfusly8EeOwKfaVRwV11Q"/>
+              </children>
+              <element xmi:type="uml:Class" href="componentlib.uml#_KxQBELuXEd2TTr3gJIvazw"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V94ZcK8sEeCXIcykFPsB8Q" x="16" y="10" height="43"/>
+            </children>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TmLiRa8sEeCXIcykFPsB8Q"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kCegkFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kCegkVy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kCegkly8EeOwKfaVRwV11Q"/>
+          </children>
+          <element xmi:type="uml:Package" href="componentlib.uml#_ZISNcIQzEd2_fLv04swWfw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TmKUIa8sEeCXIcykFPsB8Q" x="13" y="28" width="190"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_UgOIoK8sEeCXIcykFPsB8Q" type="3009" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UgOvsK8sEeCXIcykFPsB8Q" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UgOvsa8sEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UgOvsq8sEeCXIcykFPsB8Q" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UgOvs68sEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UgOvtK8sEeCXIcykFPsB8Q" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UgOvta8sEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_UgOvtq8sEeCXIcykFPsB8Q" type="5017"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_UgOvt68sEeCXIcykFPsB8Q" type="7010">
+            <children xmi:type="notation:Shape" xmi:id="_bgjX0K8sEeCXIcykFPsB8Q" type="3010" fontName="Sans Serif" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bgj-4K8sEeCXIcykFPsB8Q" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bgj-4a8sEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bgj-4q8sEeCXIcykFPsB8Q" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bgj-468sEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bgkl8K8sEeCXIcykFPsB8Q" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bgkl8a8sEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_bgkl8q8sEeCXIcykFPsB8Q" type="5014"/>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_bgkl868sEeCXIcykFPsB8Q" visible="false" type="7011">
+                <styles xmi:type="notation:SortingStyle" xmi:id="_bgkl9K8sEeCXIcykFPsB8Q"/>
+                <styles xmi:type="notation:FilteringStyle" xmi:id="_bgkl9a8sEeCXIcykFPsB8Q"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgkl9q8sEeCXIcykFPsB8Q"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_bgkl968sEeCXIcykFPsB8Q" visible="false" type="7012">
+                <styles xmi:type="notation:SortingStyle" xmi:id="_bgkl-K8sEeCXIcykFPsB8Q"/>
+                <styles xmi:type="notation:FilteringStyle" xmi:id="_bgkl-a8sEeCXIcykFPsB8Q"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgkl-q8sEeCXIcykFPsB8Q"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_bgkl-68sEeCXIcykFPsB8Q" visible="false" type="7013">
+                <styles xmi:type="notation:SortingStyle" xmi:id="_bgkl_K8sEeCXIcykFPsB8Q"/>
+                <styles xmi:type="notation:FilteringStyle" xmi:id="_bgkl_a8sEeCXIcykFPsB8Q"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgkl_q8sEeCXIcykFPsB8Q"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_kChj4Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_kChj4Vy8EeOwKfaVRwV11Q" showTitle="true"/>
+                <element xmi:type="FCM:InteractionComponent" href="componentlib.uml#_vEYVcFR1Ed6GqrP6fkWBoQ"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kChj4ly8EeOwKfaVRwV11Q"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_kCiK8Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_kCiK8Vy8EeOwKfaVRwV11Q"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kCiK8ly8EeOwKfaVRwV11Q"/>
+              </children>
+              <element xmi:type="uml:Class" href="componentlib.uml#_Zx2ZUA1jEd6tvthBDl600Q"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgjX0a8sEeCXIcykFPsB8Q" x="15" y="7" height="51"/>
+            </children>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UgOvuK8sEeCXIcykFPsB8Q" x="48" y="4" width="200" height="80"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kCg80Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kCg80Vy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kCg80ly8EeOwKfaVRwV11Q"/>
+          </children>
+          <element xmi:type="uml:Package" href="componentlib.uml#_RjvvcA1jEd6tvthBDl600Q"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UgOIoa8sEeCXIcykFPsB8Q" x="229" y="28" width="190"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NLUNGK8rEeCXIcykFPsB8Q"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_q9rCkK8rEeCXIcykFPsB8Q" type="3033" fontName="Sans Serif" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q9rpoK8rEeCXIcykFPsB8Q" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q9sQsK8rEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q9sQsa8rEeCXIcykFPsB8Q" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q9sQsq8rEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q9sQs68rEeCXIcykFPsB8Q" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q9sQtK8rEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_q9sQta8rEeCXIcykFPsB8Q" type="7038">
+          <children xmi:type="notation:Shape" xmi:id="_ryntkK8rEeCXIcykFPsB8Q" type="3031" fontName="Sans Serif" lineColor="0">
+            <element xmi:type="uml:ClassifierTemplateParameter" href="componentlib.uml#_WzWVUPfBEd2TbIfwytOyPA"/>
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_ryntka8rEeCXIcykFPsB8Q" x="15" y="10"/>
+          </children>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_q9sQtq8rEeCXIcykFPsB8Q"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_q9sQt68rEeCXIcykFPsB8Q"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q9sQuK8rEeCXIcykFPsB8Q"/>
+        </children>
+        <element xmi:type="uml:TemplateSignature" href="componentlib.uml#_V0b2APfBEd2TbIfwytOyPA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q9rCka8rEeCXIcykFPsB8Q" x="40" y="10"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kCdScFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kCdScVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kCdScly8EeOwKfaVRwV11Q"/>
+      </children>
+      <element xmi:type="uml:Package" href="componentlib.uml#_mMCK8PiPEd2UhpY2Y3WUyg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NLTmAa8rEeCXIcykFPsB8Q" x="90" y="108" width="451" height="181"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Wi948K8rEeCXIcykFPsB8Q" type="2012" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wi948q8rEeCXIcykFPsB8Q" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wi-gAK8rEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wi-gAa8rEeCXIcykFPsB8Q" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wi-gAq8rEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wi-gA68rEeCXIcykFPsB8Q" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wi-gBK8rEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Wi-gBa8rEeCXIcykFPsB8Q" type="5038"/>
+      <element xmi:type="uml:Comment" href="componentlib.uml#_WiuBUK8rEeCXIcykFPsB8Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wi948a8rEeCXIcykFPsB8Q" x="594" y="180" width="253"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_Dtdyka8rEeCXIcykFPsB8Q"/>
+    <element xmi:type="uml:Package" href="componentlib.uml#_mMCK8PiPEd2UhpY2Y3WUyg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_Xu0BAK8rEeCXIcykFPsB8Q" type="4013" source="_Wi948K8rEeCXIcykFPsB8Q" target="_NLTmAK8rEeCXIcykFPsB8Q" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Xu0BAa8rEeCXIcykFPsB8Q" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xu0BAq8rEeCXIcykFPsB8Q" points="[-50, 10, 224, -38]$[-174, 51, 100, 3]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tBbDAK8rEeCXIcykFPsB8Q" id="(0.755,0.72)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_PIvc4LabEeCj_-LEBuGpmA" type="CompositeStructure" name="StdPorts" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_PlQZwLabEeCj_-LEBuGpmA" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PlRA0LabEeCj_-LEBuGpmA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PlRA0babEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PlRn4LabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PlRn4babEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PlRn4rabEeCj_-LEBuGpmA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PlRn47abEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_PlSO8LabEeCj_-LEBuGpmA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_PlSO8babEeCj_-LEBuGpmA" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PlSO8rabEeCj_-LEBuGpmA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_UfT48LabEeCj_-LEBuGpmA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UfUgALabEeCj_-LEBuGpmA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UfUgAbabEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UfUgArabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UfUgA7abEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UfVHELabEeCj_-LEBuGpmA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UfVHEbabEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_UfVHErabEeCj_-LEBuGpmA" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_UfVHE7abEeCj_-LEBuGpmA" x="26" y="2"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_UfVHFLabEeCj_-LEBuGpmA" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_UfVHFbabEeCj_-LEBuGpmA" x="25" y="-10"/>
+        </children>
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_Cp1F8MRdEeWq5unKf5DK_A" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Port" href="componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UfT48babEeCj_-LEBuGpmA" x="-10" y="36"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kEpq0Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kEpq0Vy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kEpq0ly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wwg7AMRcEeWq5unKf5DK_A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wwg7AcRcEeWq5unKf5DK_A" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PlQZwbabEeCj_-LEBuGpmA" x="144" y="72" width="157" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_QHPsgLabEeCj_-LEBuGpmA" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QHQTkLabEeCj_-LEBuGpmA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QHQTkbabEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QHQ6oLabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QHQ6obabEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QHQ6orabEeCj_-LEBuGpmA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QHQ6o7abEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_QHQ6pLabEeCj_-LEBuGpmA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QHRhsLabEeCj_-LEBuGpmA" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QHRhsbabEeCj_-LEBuGpmA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_atcPILabEeCj_-LEBuGpmA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_atc2MLabEeCj_-LEBuGpmA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_atc2MbabEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_atc2MrabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_atc2M7abEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_atc2NLabEeCj_-LEBuGpmA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_atc2NbabEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_atc2NrabEeCj_-LEBuGpmA" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_atc2N7abEeCj_-LEBuGpmA" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_atddQLabEeCj_-LEBuGpmA" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_atddQbabEeCj_-LEBuGpmA" x="25" y="-10"/>
+        </children>
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_FUVkYMRdEeWq5unKf5DK_A" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Port" href="componentlib.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_atcPIbabEeCj_-LEBuGpmA" x="-10" y="36"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kErgAFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kErgAVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kErgAly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wwhiEMRcEeWq5unKf5DK_A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wwhiEcRcEeWq5unKf5DK_A" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QHPsgbabEeCj_-LEBuGpmA" x="144" y="180" width="157" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_SOUtwLabEeCj_-LEBuGpmA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SOVU0LabEeCj_-LEBuGpmA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SOVU0babEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SOV74LabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SOV74babEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SOV74rabEeCj_-LEBuGpmA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SOV747abEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_SOV75LabEeCj_-LEBuGpmA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="componentlib.uml#_OcN78Nt2Ed6nqsBVkgJEEA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SOUtwbabEeCj_-LEBuGpmA" x="378" y="72" width="235"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_wyClBsRcEeWq5unKf5DK_A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_wyClB8RcEeWq5unKf5DK_A" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wyDMEMRcEeWq5unKf5DK_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wyClCMRcEeWq5unKf5DK_A" x="190" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_wyYjRMRcEeWq5unKf5DK_A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_wyYjRcRcEeWq5unKf5DK_A" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wyYjR8RcEeWq5unKf5DK_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wyYjRsRcEeWq5unKf5DK_A" x="190" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_zDGBoMRcEeWq5unKf5DK_A" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_zDGosMRcEeWq5unKf5DK_A" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_zDGoscRcEeWq5unKf5DK_A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_zDGossRcEeWq5unKf5DK_A" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_zDGos8RcEeWq5unKf5DK_A" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_zDGotMRcEeWq5unKf5DK_A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zDGotcRcEeWq5unKf5DK_A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_zDMvUMRcEeWq5unKf5DK_A" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_zDMvUcRcEeWq5unKf5DK_A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zDMvUsRcEeWq5unKf5DK_A"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_2evpIMRcEeWq5unKf5DK_A" type="Port_Shape">
+        <children xmi:type="notation:DecorationNode" xmi:id="_2evpIsRcEeWq5unKf5DK_A" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_2evpI8RcEeWq5unKf5DK_A" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_2evpJMRcEeWq5unKf5DK_A" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_2evpJcRcEeWq5unKf5DK_A" x="25" y="-10"/>
+        </children>
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_G2UUgMRdEeWq5unKf5DK_A" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Port" href="componentlib.uml#_2elREMRcEeWq5unKf5DK_A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2evpIcRcEeWq5unKf5DK_A" x="-10" y="37" width="20" height="20"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_zDDlYMRcEeWq5unKf5DK_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zDGBocRcEeWq5unKf5DK_A" x="144" y="293" width="157" height="72"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_PIvc4babEeCj_-LEBuGpmA"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_wwhiEsRcEeWq5unKf5DK_A" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="componentlib.uml#_HmnpEJsrEd61Eo3nmu3JhQ"/>
+    <edges xmi:type="notation:Connector" xmi:id="_SOtIQLabEeCj_-LEBuGpmA" type="Comment_AnnotatedElementEdge" source="_SOUtwLabEeCj_-LEBuGpmA" target="_PlQZwLabEeCj_-LEBuGpmA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_SOtvULabEeCj_-LEBuGpmA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SOtvUbabEeCj_-LEBuGpmA" points="[0, 0, -129, -109]$[108, 90, -21, -19]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_wyDMEcRcEeWq5unKf5DK_A" type="StereotypeCommentLink" source="_UfT48LabEeCj_-LEBuGpmA" target="_wyClBsRcEeWq5unKf5DK_A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_wyDMEsRcEeWq5unKf5DK_A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wyFBQMRcEeWq5unKf5DK_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wyDME8RcEeWq5unKf5DK_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wyDMFMRcEeWq5unKf5DK_A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wyDMFcRcEeWq5unKf5DK_A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_wyYjSMRcEeWq5unKf5DK_A" type="StereotypeCommentLink" source="_atcPILabEeCj_-LEBuGpmA" target="_wyYjRMRcEeWq5unKf5DK_A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_wyYjScRcEeWq5unKf5DK_A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wyYjTcRcEeWq5unKf5DK_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wyYjSsRcEeWq5unKf5DK_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wyYjS8RcEeWq5unKf5DK_A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wyYjTMRcEeWq5unKf5DK_A"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_0IaT8LnYEeCxXoyQxQ47PQ" type="PapyrusUMLClassDiagram" name="PortKinds" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_0-EJkLnYEeCxXoyQxQ47PQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-EwoLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-EwobnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-EwornYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-Ewo7nYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-EwpLnYEeCxXoyQxQ47PQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-EwpbnYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0-EwprnYEeCxXoyQxQ47PQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0-Ewp7nYEeCxXoyQxQ47PQ" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0-EwqLnYEeCxXoyQxQ47PQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-EwqbnYEeCxXoyQxQ47PQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-EwqrnYEeCxXoyQxQ47PQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0-Ewq7nYEeCxXoyQxQ47PQ" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0-EwrLnYEeCxXoyQxQ47PQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-EwrbnYEeCxXoyQxQ47PQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-EwrrnYEeCxXoyQxQ47PQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0-FXsLnYEeCxXoyQxQ47PQ" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0-FXsbnYEeCxXoyQxQ47PQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-FXsrnYEeCxXoyQxQ47PQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-FXs7nYEeCxXoyQxQ47PQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kIQ_gFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kIQ_gVy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:PortKind" href="componentlib.uml#_x5mL4FRxEd6GqrP6fkWBoQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIQ_gly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kIQ_g1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kIQ_hFy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIQ_hVy8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_tei3ojMXEeWoDfId-zdVpA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_tei3ozMXEeWoDfId-zdVpA" y="5"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="componentlib.uml#_Wtq4sVDlEd6cwecVIgl9nw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-EJkbnYEeCxXoyQxQ47PQ" x="54" y="388" width="127" height="37"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_0-XrkLnYEeCxXoyQxQ47PQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-XrkrnYEeCxXoyQxQ47PQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-Xrk7nYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-XrlLnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-YSoLnYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-YSobnYEeCxXoyQxQ47PQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-YSornYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0-YSo7nYEeCxXoyQxQ47PQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0-YSpLnYEeCxXoyQxQ47PQ" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0-YSpbnYEeCxXoyQxQ47PQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-YSprnYEeCxXoyQxQ47PQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-YSp7nYEeCxXoyQxQ47PQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0-YSqLnYEeCxXoyQxQ47PQ" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0-YSqbnYEeCxXoyQxQ47PQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-YSqrnYEeCxXoyQxQ47PQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-YSq7nYEeCxXoyQxQ47PQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0-YSrLnYEeCxXoyQxQ47PQ" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0-YSrbnYEeCxXoyQxQ47PQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-YSrrnYEeCxXoyQxQ47PQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-YSr7nYEeCxXoyQxQ47PQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kIS0sFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kIS0sVy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:PortKind" href="componentlib.uml#_pE6GUFR1Ed6GqrP6fkWBoQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIS0sly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kITbwFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kITbwVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kITbwly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_tei3pDMXEeWoDfId-zdVpA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_tei3pTMXEeWoDfId-zdVpA" y="5"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="componentlib.uml#_Wtq4slDlEd6cwecVIgl9nw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-XrkbnYEeCxXoyQxQ47PQ" x="54" y="334" width="127" height="37"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_0-rNkLnYEeCxXoyQxQ47PQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-r0oLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-r0obnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-sbsLnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-sbsbnYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vy3QQDrZEeGgAdAmWw4pyQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vy3QQTrZEeGgAdAmWw4pyQ" key="QualifiedNameDepth" value="2"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0-sbtLnYEeCxXoyQxQ47PQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0-sbtbnYEeCxXoyQxQ47PQ" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0-sbtrnYEeCxXoyQxQ47PQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-sbt7nYEeCxXoyQxQ47PQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-sbuLnYEeCxXoyQxQ47PQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0-sbubnYEeCxXoyQxQ47PQ" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0-sburnYEeCxXoyQxQ47PQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-sbu7nYEeCxXoyQxQ47PQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-sbvLnYEeCxXoyQxQ47PQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0-sbvbnYEeCxXoyQxQ47PQ" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0-sbvrnYEeCxXoyQxQ47PQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-sbv7nYEeCxXoyQxQ47PQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-sbwLnYEeCxXoyQxQ47PQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kIVQ8Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kIVQ8Vy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:PortKind" href="componentlib.uml#_qOK0cFR1Ed6GqrP6fkWBoQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIVQ8ly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kIV4AFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kIV4AVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIV4Aly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_tei3pjMXEeWoDfId-zdVpA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_tei3pzMXEeWoDfId-zdVpA" y="5"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="componentlib.uml#_WtrfwlDlEd6cwecVIgl9nw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-rNkbnYEeCxXoyQxQ47PQ" x="234" y="280" width="127" height="37"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_2dxzYLnZEeCxXoyQxQ47PQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2dyacLnZEeCxXoyQxQ47PQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2dyacbnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2dyacrnZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2dyac7nZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2dyadLnZEeCxXoyQxQ47PQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2dyadbnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_2dzBgLnZEeCxXoyQxQ47PQ" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="componentlib.uml#_2dvXILnZEeCxXoyQxQ47PQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2dxzYbnZEeCxXoyQxQ47PQ" x="253" y="334" width="468" height="37"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_FMviMLnaEeCxXoyQxQ47PQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FMviMbnaEeCxXoyQxQ47PQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FMviMrnaEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FMviM7naEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FMviNLnaEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FMviNbnaEeCxXoyQxQ47PQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FMviNrnaEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_FMviN7naEeCxXoyQxQ47PQ" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="componentlib.uml#_FMuUELnaEeCxXoyQxQ47PQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FMviOLnaEeCxXoyQxQ47PQ" x="432" y="280" width="468" height="37"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Ggu5oLnaEeCxXoyQxQ47PQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ggu5obnaEeCxXoyQxQ47PQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ggu5ornaEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ggu5o7naEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ggu5pLnaEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ggu5pbnaEeCxXoyQxQ47PQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ggu5prnaEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Ggu5p7naEeCxXoyQxQ47PQ" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="componentlib.uml#_GgtrgLnaEeCxXoyQxQ47PQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ggu5qLnaEeCxXoyQxQ47PQ" x="252" y="388" width="468" height="37"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_-bqrQDiyEeGiupyIkgMHVw" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-bsgcDiyEeGiupyIkgMHVw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-bsgcTiyEeGiupyIkgMHVw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-bsgcjiyEeGiupyIkgMHVw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-bsgcziyEeGiupyIkgMHVw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-bsgdDiyEeGiupyIkgMHVw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-bsgdTiyEeGiupyIkgMHVw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-btHgDiyEeGiupyIkgMHVw" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="componentlib.uml#_-UGDoDiyEeGiupyIkgMHVw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-bqrQTiyEeGiupyIkgMHVw" x="18" y="496" width="595" height="28"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GkKYAC8qEeKx7OxAiA06uw" type="Class_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GkM0QC8qEeKx7OxAiA06uw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GkM0QS8qEeKx7OxAiA06uw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GkNbUC8qEeKx7OxAiA06uw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GkNbUS8qEeKx7OxAiA06uw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GkNbUi8qEeKx7OxAiA06uw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GkNbUy8qEeKx7OxAiA06uw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_GkNbVC8qEeKx7OxAiA06uw" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GkOCYC8qEeKx7OxAiA06uw" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GkOCYS8qEeKx7OxAiA06uw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GkOCYi8qEeKx7OxAiA06uw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GkOCYy8qEeKx7OxAiA06uw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkOCZC8qEeKx7OxAiA06uw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GkOCZS8qEeKx7OxAiA06uw" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GkOCZi8qEeKx7OxAiA06uw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GkOCZy8qEeKx7OxAiA06uw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GkOCaC8qEeKx7OxAiA06uw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkOCaS8qEeKx7OxAiA06uw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GkOCai8qEeKx7OxAiA06uw" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GkOCay8qEeKx7OxAiA06uw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GkOCbC8qEeKx7OxAiA06uw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GkOCbS8qEeKx7OxAiA06uw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkOCbi8qEeKx7OxAiA06uw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kIfpAFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kIfpAVy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:PortKind" href="componentlib.uml#_SrCqQC8qEeKx7OxAiA06uw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIfpAly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kIfpA1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kIfpBFy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIfpBVy8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_tei3rjMXEeWoDfId-zdVpA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_tei3rzMXEeWoDfId-zdVpA" y="5"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="componentlib.uml#_GjnlcC8qEeKx7OxAiA06uw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkK_EC8qEeKx7OxAiA06uw" x="54" y="442" width="127" height="37"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_CQkpAEMMEeKGIL695HkFYQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CQoTYEMMEeKGIL695HkFYQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CQo6cEMMEeKGIL695HkFYQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CQo6cUMMEeKGIL695HkFYQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CQo6ckMMEeKGIL695HkFYQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CQo6c0MMEeKGIL695HkFYQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CQphgEMMEeKGIL695HkFYQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CQphgUMMEeKGIL695HkFYQ" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="componentlib.uml#_COvdAEMMEeKGIL695HkFYQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CQkpAUMMEeKGIL695HkFYQ" x="252" y="442" width="469" height="37"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_1GdhkH-QEeOtkrzuMiGEow" type="Interface_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1Gdhkn-QEeOtkrzuMiGEow" type="Interface_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1GeIoH-QEeOtkrzuMiGEow" visible="false" type="Interface_AttributeCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1GevsH-QEeOtkrzuMiGEow" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1GfWwH-QEeOtkrzuMiGEow" key="showTitle" value="true"/>
+        </eAnnotations>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1GeIoX-QEeOtkrzuMiGEow"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1GeIon-QEeOtkrzuMiGEow"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1GeIo3-QEeOtkrzuMiGEow"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1GeIpH-QEeOtkrzuMiGEow"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1GeIpX-QEeOtkrzuMiGEow" type="Interface_OperationCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1GfWwX-QEeOtkrzuMiGEow" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1GfWwn-QEeOtkrzuMiGEow" key="showTitle" value="true"/>
+        </eAnnotations>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1GeIpn-QEeOtkrzuMiGEow"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1GeIp3-QEeOtkrzuMiGEow"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1GeIqH-QEeOtkrzuMiGEow"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1GeIqX-QEeOtkrzuMiGEow"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1GeIqn-QEeOtkrzuMiGEow" visible="false" type="Interface_NestedClassifierCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1Ggk4H-QEeOtkrzuMiGEow" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1Ggk4X-QEeOtkrzuMiGEow" key="showTitle" value="true"/>
+        </eAnnotations>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1GeIq3-QEeOtkrzuMiGEow"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1GeIrH-QEeOtkrzuMiGEow"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1GeIrX-QEeOtkrzuMiGEow"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1GeIrn-QEeOtkrzuMiGEow"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_tejesDMXEeWoDfId-zdVpA" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_tejesTMXEeWoDfId-zdVpA" y="5"/>
+      </children>
+      <element xmi:type="uml:Interface" href="componentlib.uml#_1FxlEH-QEeOtkrzuMiGEow"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1GdhkX-QEeOtkrzuMiGEow" x="21" y="555" width="224" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7cugEH-QEeOtkrzuMiGEow" type="Comment_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7cugEn-QEeOtkrzuMiGEow" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="componentlib.uml#_7cXTsH-QEeOtkrzuMiGEow"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7cugEX-QEeOtkrzuMiGEow" x="305" y="558" width="315" height="71"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_thsSQDMXEeWoDfId-zdVpA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_thsSQTMXEeWoDfId-zdVpA" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_thsSQzMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Stereotype" href="componentlib.uml#_Wtq4sFDlEd6cwecVIgl9nw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_thsSQjMXEeWoDfId-zdVpA" x="254" y="28"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_tiI-MDMXEeWoDfId-zdVpA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_tiI-MTMXEeWoDfId-zdVpA" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tiI-MzMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Stereotype" href="componentlib.uml#_Wtq4sVDlEd6cwecVIgl9nw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tiI-MjMXEeWoDfId-zdVpA" x="254" y="351"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_tih_wDMXEeWoDfId-zdVpA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_tih_wTMXEeWoDfId-zdVpA" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tih_wzMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Stereotype" href="componentlib.uml#_Wtq4slDlEd6cwecVIgl9nw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tih_wjMXEeWoDfId-zdVpA" x="254" y="297"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ti6aQTMXEeWoDfId-zdVpA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_ti6aQjMXEeWoDfId-zdVpA" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ti6aRDMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Stereotype" href="componentlib.uml#_WtrfwlDlEd6cwecVIgl9nw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ti6aQzMXEeWoDfId-zdVpA" x="254" y="243"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_tjS0wDMXEeWoDfId-zdVpA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_tjS0wTMXEeWoDfId-zdVpA" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tjS0wzMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Stereotype" href="componentlib.uml#_Wtrfw1DlEd6cwecVIgl9nw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tjS0wjMXEeWoDfId-zdVpA" x="254" y="81"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_tjrPQDMXEeWoDfId-zdVpA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_tjrPQTMXEeWoDfId-zdVpA" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tjrPQzMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Stereotype" href="componentlib.uml#__nMrwLqNEd-SedGzMDDkww"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tjrPQjMXEeWoDfId-zdVpA" x="254" y="135"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_tka2IDMXEeWoDfId-zdVpA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_tka2ITMXEeWoDfId-zdVpA" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tka2IzMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Stereotype" href="componentlib.uml#_AQZZwLqOEd-SedGzMDDkww"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tka2IjMXEeWoDfId-zdVpA" x="254" y="189"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_tlS_4DMXEeWoDfId-zdVpA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_tlS_4TMXEeWoDfId-zdVpA" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tlS_4zMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Stereotype" href="componentlib.uml#_GjnlcC8qEeKx7OxAiA06uw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tlS_4jMXEeWoDfId-zdVpA" x="254" y="405"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_HPS44DMYEeWoDfId-zdVpA" type="Package_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_HPVVIDMYEeWoDfId-zdVpA" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_HPVVITMYEeWoDfId-zdVpA" type="Package_PackagedElementCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_09vZcLnYEeCxXoyQxQ47PQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_09wAgLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_09wAgbnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_09wAgrnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_09wAg7nYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_09wAhLnYEeCxXoyQxQ47PQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_09wAhbnYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_09wAhrnYEeCxXoyQxQ47PQ" type="Class_NameLabel"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_09wAh7nYEeCxXoyQxQ47PQ" visible="false" type="Class_AttributeCompartment">
+            <styles xmi:type="notation:SortingStyle" xmi:id="_09wnkLnYEeCxXoyQxQ47PQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_09wnkbnYEeCxXoyQxQ47PQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_09wnkrnYEeCxXoyQxQ47PQ"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_09wnk7nYEeCxXoyQxQ47PQ" visible="false" type="Class_OperationCompartment">
+            <styles xmi:type="notation:SortingStyle" xmi:id="_09wnlLnYEeCxXoyQxQ47PQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_09wnlbnYEeCxXoyQxQ47PQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_09wnlrnYEeCxXoyQxQ47PQ"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_09wnl7nYEeCxXoyQxQ47PQ" visible="false" type="Class_NestedClassifierCompartment">
+            <styles xmi:type="notation:SortingStyle" xmi:id="_09wnmLnYEeCxXoyQxQ47PQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_09wnmbnYEeCxXoyQxQ47PQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_09wnmrnYEeCxXoyQxQ47PQ"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kIOjQFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kIOjQVy8EeOwKfaVRwV11Q" showTitle="true"/>
+            <element xmi:type="FCM:PortKind" href="componentlib.uml#_wySlkFRxEd6GqrP6fkWBoQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIOjQly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kIPKUFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kIPKUVy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIPKUly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_tei3oDMXEeWoDfId-zdVpA" type="Class_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_tei3oTMXEeWoDfId-zdVpA" y="5"/>
+          </children>
+          <element xmi:type="uml:Stereotype" href="componentlib.uml#_Wtq4sFDlEd6cwecVIgl9nw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_09vZcbnYEeCxXoyQxQ47PQ" x="235" y="12" width="127" height="37"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_0-9hcLnYEeCxXoyQxQ47PQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-9hcrnYEeCxXoyQxQ47PQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-9hc7nYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0--IgLnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0--IgbnYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0--IgrnYEeCxXoyQxQ47PQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0--Ig7nYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_0--IhLnYEeCxXoyQxQ47PQ" type="Class_NameLabel"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_0--IhbnYEeCxXoyQxQ47PQ" visible="false" type="Class_AttributeCompartment">
+            <styles xmi:type="notation:SortingStyle" xmi:id="_0--IhrnYEeCxXoyQxQ47PQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_0--Ih7nYEeCxXoyQxQ47PQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0--IiLnYEeCxXoyQxQ47PQ"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_0--IibnYEeCxXoyQxQ47PQ" visible="false" type="Class_OperationCompartment">
+            <styles xmi:type="notation:SortingStyle" xmi:id="_0--IirnYEeCxXoyQxQ47PQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_0--Ii7nYEeCxXoyQxQ47PQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0--IjLnYEeCxXoyQxQ47PQ"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_0--IjbnYEeCxXoyQxQ47PQ" visible="false" type="Class_NestedClassifierCompartment">
+            <styles xmi:type="notation:SortingStyle" xmi:id="_0--IjrnYEeCxXoyQxQ47PQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_0--Ij7nYEeCxXoyQxQ47PQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0--IkLnYEeCxXoyQxQ47PQ"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kIXGIFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kIXGIVy8EeOwKfaVRwV11Q" showTitle="true"/>
+            <element xmi:type="FCM:PortKind" href="componentlib.uml#_9Fif4FRxEd6GqrP6fkWBoQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIXGIly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kIXtMFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kIXtMVy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIXtMly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_tei3qDMXEeWoDfId-zdVpA" type="Class_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_tei3qTMXEeWoDfId-zdVpA" y="5"/>
+          </children>
+          <element xmi:type="uml:Stereotype" href="componentlib.uml#_Wtrfw1DlEd6cwecVIgl9nw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-9hcbnYEeCxXoyQxQ47PQ" x="235" y="72" width="127" height="37"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_0_OnMLnYEeCxXoyQxQ47PQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_POQLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_POQbnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_POQrnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_POQ7nYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_PORLnYEeCxXoyQxQ47PQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_PORbnYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_0_PORrnYEeCxXoyQxQ47PQ" type="Class_NameLabel"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_0_POR7nYEeCxXoyQxQ47PQ" visible="false" type="Class_AttributeCompartment">
+            <styles xmi:type="notation:SortingStyle" xmi:id="_0_POSLnYEeCxXoyQxQ47PQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_0_POSbnYEeCxXoyQxQ47PQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_POSrnYEeCxXoyQxQ47PQ"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_0_P1ULnYEeCxXoyQxQ47PQ" visible="false" type="Class_OperationCompartment">
+            <styles xmi:type="notation:SortingStyle" xmi:id="_0_P1UbnYEeCxXoyQxQ47PQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_0_P1UrnYEeCxXoyQxQ47PQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_P1U7nYEeCxXoyQxQ47PQ"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_0_P1VLnYEeCxXoyQxQ47PQ" visible="false" type="Class_NestedClassifierCompartment">
+            <styles xmi:type="notation:SortingStyle" xmi:id="_0_P1VbnYEeCxXoyQxQ47PQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_0_P1VrnYEeCxXoyQxQ47PQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_P1V7nYEeCxXoyQxQ47PQ"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kIZiYFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kIZiYVy8EeOwKfaVRwV11Q" showTitle="true"/>
+            <element xmi:type="FCM:PortKind" href="componentlib.uml#_KtgR0LqOEd-SedGzMDDkww"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIZiYly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kIaJcFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kIaJcVy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIaJcly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_tei3qjMXEeWoDfId-zdVpA" type="Class_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_tei3qzMXEeWoDfId-zdVpA" y="5"/>
+          </children>
+          <element xmi:type="uml:Stereotype" href="componentlib.uml#__nMrwLqNEd-SedGzMDDkww"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_OnMbnYEeCxXoyQxQ47PQ" x="235" y="132" width="127" height="37"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_0_j-YLnYEeCxXoyQxQ47PQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_klcLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_klcbnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_lMgLnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_lMgbnYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_lMgrnYEeCxXoyQxQ47PQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_lMg7nYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_0_lMhLnYEeCxXoyQxQ47PQ" type="Class_NameLabel"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_0_lMhbnYEeCxXoyQxQ47PQ" visible="false" type="Class_AttributeCompartment">
+            <styles xmi:type="notation:SortingStyle" xmi:id="_0_lMhrnYEeCxXoyQxQ47PQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_0_lMh7nYEeCxXoyQxQ47PQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_lMiLnYEeCxXoyQxQ47PQ"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_0_lzkLnYEeCxXoyQxQ47PQ" visible="false" type="Class_OperationCompartment">
+            <styles xmi:type="notation:SortingStyle" xmi:id="_0_lzkbnYEeCxXoyQxQ47PQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_0_lzkrnYEeCxXoyQxQ47PQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_lzk7nYEeCxXoyQxQ47PQ"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_0_lzlLnYEeCxXoyQxQ47PQ" visible="false" type="Class_NestedClassifierCompartment">
+            <styles xmi:type="notation:SortingStyle" xmi:id="_0_lzlbnYEeCxXoyQxQ47PQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_0_lzlrnYEeCxXoyQxQ47PQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_lzl7nYEeCxXoyQxQ47PQ"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kIb-oFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kIb-oVy8EeOwKfaVRwV11Q" showTitle="true"/>
+            <element xmi:type="FCM:PortKind" href="componentlib.uml#_H5-aQLqOEd-SedGzMDDkww"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIb-oly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kIb-o1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kIb-pFy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIb-pVy8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_tei3rDMXEeWoDfId-zdVpA" type="Class_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_tei3rTMXEeWoDfId-zdVpA" y="5"/>
+          </children>
+          <element xmi:type="uml:Stereotype" href="componentlib.uml#_AQZZwLqOEd-SedGzMDDkww"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_j-YbnYEeCxXoyQxQ47PQ" x="235" y="192" width="127" height="37"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Fw1jMLnZEeCxXoyQxQ47PQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fw3YYLnZEeCxXoyQxQ47PQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fw3YYbnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fw3YYrnZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fw3YY7nZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fw3YZLnZEeCxXoyQxQ47PQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fw3YZbnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Fw3YZrnZEeCxXoyQxQ47PQ" type="Comment_BodyLabel"/>
+          <element xmi:type="uml:Comment" href="componentlib.uml#_FryEELnZEeCxXoyQxQ47PQ"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Fw1jMbnZEeCxXoyQxQ47PQ" x="435" y="12" width="469" height="40"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_K19p8LnZEeCxXoyQxQ47PQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K1-RALnZEeCxXoyQxQ47PQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K1-RAbnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K1-RArnZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K1-4ELnZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K1-4EbnZEeCxXoyQxQ47PQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K1-4ErnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_K1-4E7nZEeCxXoyQxQ47PQ" type="Comment_BodyLabel"/>
+          <element xmi:type="uml:Comment" href="componentlib.uml#_K17NsLnZEeCxXoyQxQ47PQ"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_K19p8bnZEeCxXoyQxQ47PQ" x="435" y="72" width="469" height="35"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Px1uELnZEeCxXoyQxQ47PQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Px2VILnZEeCxXoyQxQ47PQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Px2VIbnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Px2VIrnZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Px28MLnZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Px28MbnZEeCxXoyQxQ47PQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Px28MrnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Px28M7nZEeCxXoyQxQ47PQ" type="Comment_BodyLabel"/>
+          <element xmi:type="uml:Comment" href="componentlib.uml#_PxzR0LnZEeCxXoyQxQ47PQ"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Px1uEbnZEeCxXoyQxQ47PQ" x="435" y="132" width="469" height="36"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_l4_LYLnZEeCxXoyQxQ47PQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l4_LYbnZEeCxXoyQxQ47PQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l4_LYrnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l4_LY7nZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l4_LZLnZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l4_LZbnZEeCxXoyQxQ47PQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l4_LZrnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_l4_LZ7nZEeCxXoyQxQ47PQ" type="Comment_BodyLabel"/>
+          <element xmi:type="uml:Comment" href="componentlib.uml#_l49WMLnZEeCxXoyQxQ47PQ"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l4_LaLnZEeCxXoyQxQ47PQ" x="435" y="192" width="469" height="36"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_1cX-4DPdEeWoDfId-zdVpA" type="Interface_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_1cX-4jPdEeWoDfId-zdVpA" type="Interface_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_1cX-4zPdEeWoDfId-zdVpA" type="Interface_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_1cX-5DPdEeWoDfId-zdVpA" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_1cYl8DPdEeWoDfId-zdVpA" visible="false" type="Interface_AttributeCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_1cYl8TPdEeWoDfId-zdVpA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_1cYl8jPdEeWoDfId-zdVpA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_1cYl8zPdEeWoDfId-zdVpA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1cYl9DPdEeWoDfId-zdVpA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_1cYl9TPdEeWoDfId-zdVpA" visible="false" type="Interface_OperationCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_1cYl9jPdEeWoDfId-zdVpA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_1cYl9zPdEeWoDfId-zdVpA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_1cYl-DPdEeWoDfId-zdVpA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1cYl-TPdEeWoDfId-zdVpA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_1cYl-jPdEeWoDfId-zdVpA" visible="false" type="Interface_NestedClassifierCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_1cYl-zPdEeWoDfId-zdVpA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_1cYl_DPdEeWoDfId-zdVpA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_1cYl_TPdEeWoDfId-zdVpA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1cYl_jPdEeWoDfId-zdVpA"/>
+          </children>
+          <element xmi:type="uml:Interface" href="componentlib.uml#_d9RssDMYEeWoDfId-zdVpA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1cX-4TPdEeWoDfId-zdVpA" x="15" y="12" width="121" height="101"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_HPVVIjMYEeWoDfId-zdVpA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HPVVIzMYEeWoDfId-zdVpA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_HPrTYDMYEeWoDfId-zdVpA" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_HPrTYTMYEeWoDfId-zdVpA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HPrTYjMYEeWoDfId-zdVpA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_OwZS0DMYEeWoDfId-zdVpA" type="TemplateSignature_Shape">
+        <children xmi:type="notation:BasicCompartment" xmi:id="_3EOr0Ca0EeazPcQ6-9hBeQ" type="TemplateSignature_TemplateParameterCompartment">
+          <children xmi:type="notation:Shape" xmi:id="_QqluoDMYEeWoDfId-zdVpA" type="ClassifierTemplateParameter_TemplateParameterLabel">
+            <element xmi:type="uml:ClassifierTemplateParameter" href="componentlib.uml#_QqFYUDMYEeWoDfId-zdVpA"/>
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_QqluoTMYEeWoDfId-zdVpA"/>
+          </children>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_OwZS0zMYEeWoDfId-zdVpA"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_OwZS1DMYEeWoDfId-zdVpA"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_OwZS1TMYEeWoDfId-zdVpA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OwZS1jMYEeWoDfId-zdVpA"/>
+        </children>
+        <element xmi:type="uml:TemplateSignature" href="componentlib.uml#_OwA4UDMYEeWoDfId-zdVpA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OwZS0TMYEeWoDfId-zdVpA"/>
+      </children>
+      <element xmi:type="uml:Package" href="componentlib.uml#_HPLkIDMYEeWoDfId-zdVpA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HPS44TMYEeWoDfId-zdVpA" x="40" y="-40" width="1061" height="301"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_0IaT8bnYEeCxXoyQxQ47PQ"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_tejesjMXEeWoDfId-zdVpA" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="componentlib.uml#_QwvnQFDlEd6cwecVIgl9nw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_jEPL0LnZEeCxXoyQxQ47PQ" type="Comment_AnnotatedElementEdge" source="_Fw1jMLnZEeCxXoyQxQ47PQ" target="_09vZcLnYEeCxXoyQxQ47PQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_jEPy4LnZEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jEPy4bnZEeCxXoyQxQ47PQ" points="[-4, 1, 86, 0]$[-87, 0, 3, -1]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jES2MLnZEeCxXoyQxQ47PQ" id="(0.0,0.45)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jES2MbnZEeCxXoyQxQ47PQ" id="(1.0,0.4864864864864865)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ju3dMLnZEeCxXoyQxQ47PQ" type="Comment_AnnotatedElementEdge" source="_K19p8LnZEeCxXoyQxQ47PQ" target="_0-9hcLnYEeCxXoyQxQ47PQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ju3dMbnZEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ju3dMrnZEeCxXoyQxQ47PQ" points="[-5, 0, 137, 2]$[-87, 0, 55, 2]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ju7uoLnZEeCxXoyQxQ47PQ" id="(0.0,0.6285714285714286)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4JY0QDMYEeWoDfId-zdVpA" id="(1.0,0.5945945945945946)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kSsjALnZEeCxXoyQxQ47PQ" type="Comment_AnnotatedElementEdge" source="_Px1uELnZEeCxXoyQxQ47PQ" target="_0_OnMLnYEeCxXoyQxQ47PQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_kSsjAbnZEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kSsjArnZEeCxXoyQxQ47PQ" points="[-13, 6, 136, 5]$[-94, 6, 55, 5]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kSyCkLnZEeCxXoyQxQ47PQ" id="(0.0,0.42857142857142855)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_d48UUDPeEeWoDfId-zdVpA" id="(1.0,0.4864864864864865)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pgZ-ALnZEeCxXoyQxQ47PQ" type="Comment_AnnotatedElementEdge" source="_l4_LYLnZEeCxXoyQxQ47PQ" target="_0_j-YLnYEeCxXoyQxQ47PQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pgZ-AbnZEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pgZ-ArnZEeCxXoyQxQ47PQ" points="[-4, 2, 106, 0]$[-93, 1, 17, -1]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pge2gLnZEeCxXoyQxQ47PQ" id="(0.0,0.2982456140350877)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pge2gbnZEeCxXoyQxQ47PQ" id="(1.0,0.4594594594594595)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_MhrIYLnaEeCxXoyQxQ47PQ" type="Comment_AnnotatedElementEdge" source="_2dxzYLnZEeCxXoyQxQ47PQ" target="_0-XrkLnYEeCxXoyQxQ47PQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_MhrIYbnaEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MhrIYrnaEeCxXoyQxQ47PQ" points="[-9, -1, 113, 0]$[-99, -1, 23, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MhuywLnaEeCxXoyQxQ47PQ" id="(0.00641025641025641,0.5405405405405406)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MhuywbnaEeCxXoyQxQ47PQ" id="(0.963302752293578,0.5135135135135135)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NJn5MLnaEeCxXoyQxQ47PQ" type="Comment_AnnotatedElementEdge" source="_FMviMLnaEeCxXoyQxQ47PQ" target="_0-rNkLnYEeCxXoyQxQ47PQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NJn5MbnaEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NJn5MrnaEeCxXoyQxQ47PQ" points="[-20, -1, 144, 5]$[-109, -1, 55, 5]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NJq8gLnaEeCxXoyQxQ47PQ" id="(0.042735042735042736,0.47058823529411764)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NplLoLnaEeCxXoyQxQ47PQ" type="Comment_AnnotatedElementEdge" source="_Ggu5oLnaEeCxXoyQxQ47PQ" target="_0-EJkLnYEeCxXoyQxQ47PQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NplLobnaEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NplLornaEeCxXoyQxQ47PQ" points="[-7, -6, 106, 0]$[-96, -7, 17, -1]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NppdELnaEeCxXoyQxQ47PQ" id="(0.014957264957264958,0.45098039215686275)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NppdEbnaEeCxXoyQxQ47PQ" id="(0.8440366972477065,0.4594594594594595)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_McYVsEMMEeKGIL695HkFYQ" type="Comment_AnnotatedElementEdge" source="_CQkpAEMMEeKGIL695HkFYQ" target="_GkKYAC8qEeKx7OxAiA06uw" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_McYVsUMMEeKGIL695HkFYQ" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_McYVskMMEeKGIL695HkFYQ" points="[-3, 0, 115, 0]$[-92, 0, 26, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mcj74EMMEeKGIL695HkFYQ" id="(0.006396588486140725,0.35714285714285715)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mcj74UMMEeKGIL695HkFYQ" id="(0.7614678899082569,0.5135135135135135)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_HeY7IH-REeOtkrzuMiGEow" type="Comment_AnnotatedElementEdge" source="_7cugEH-QEeOtkrzuMiGEow" target="_1GdhkH-QEeOtkrzuMiGEow">
+      <styles xmi:type="notation:FontStyle" xmi:id="_HeY7IX-REeOtkrzuMiGEow"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HeY7In-REeOtkrzuMiGEow" points="[-31, -4, 68, 0]$[-91, -5, 8, -1]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HebXYH-REeOtkrzuMiGEow" id="(0.09841269841269841,0.4084507042253521)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Heb-cH-REeOtkrzuMiGEow" id="(0.9642857142857143,0.45901639344262296)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ths5UDMXEeWoDfId-zdVpA" type="StereotypeCommentLink" source="_09vZcLnYEeCxXoyQxQ47PQ" target="_thsSQDMXEeWoDfId-zdVpA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ths5UTMXEeWoDfId-zdVpA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_thuugTMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Stereotype" href="componentlib.uml#_Wtq4sFDlEd6cwecVIgl9nw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ths5UjMXEeWoDfId-zdVpA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_thuHcDMXEeWoDfId-zdVpA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_thuugDMXEeWoDfId-zdVpA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_tiI-NDMXEeWoDfId-zdVpA" type="StereotypeCommentLink" source="_0-EJkLnYEeCxXoyQxQ47PQ" target="_tiI-MDMXEeWoDfId-zdVpA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_tiI-NTMXEeWoDfId-zdVpA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tiI-OTMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Stereotype" href="componentlib.uml#_Wtq4sVDlEd6cwecVIgl9nw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tiI-NjMXEeWoDfId-zdVpA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tiI-NzMXEeWoDfId-zdVpA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tiI-ODMXEeWoDfId-zdVpA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_tih_xDMXEeWoDfId-zdVpA" type="StereotypeCommentLink" source="_0-XrkLnYEeCxXoyQxQ47PQ" target="_tih_wDMXEeWoDfId-zdVpA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_tih_xTMXEeWoDfId-zdVpA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tih_yTMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Stereotype" href="componentlib.uml#_Wtq4slDlEd6cwecVIgl9nw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tih_xjMXEeWoDfId-zdVpA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tih_xzMXEeWoDfId-zdVpA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tih_yDMXEeWoDfId-zdVpA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ti6aRTMXEeWoDfId-zdVpA" type="StereotypeCommentLink" source="_0-rNkLnYEeCxXoyQxQ47PQ" target="_ti6aQTMXEeWoDfId-zdVpA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ti6aRjMXEeWoDfId-zdVpA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ti7BUDMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Stereotype" href="componentlib.uml#_WtrfwlDlEd6cwecVIgl9nw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ti6aRzMXEeWoDfId-zdVpA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ti6aSDMXEeWoDfId-zdVpA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ti6aSTMXEeWoDfId-zdVpA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_tjS0xDMXEeWoDfId-zdVpA" type="StereotypeCommentLink" source="_0-9hcLnYEeCxXoyQxQ47PQ" target="_tjS0wDMXEeWoDfId-zdVpA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_tjS0xTMXEeWoDfId-zdVpA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tjS0yTMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Stereotype" href="componentlib.uml#_Wtrfw1DlEd6cwecVIgl9nw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tjS0xjMXEeWoDfId-zdVpA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tjS0xzMXEeWoDfId-zdVpA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tjS0yDMXEeWoDfId-zdVpA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_tjrPRDMXEeWoDfId-zdVpA" type="StereotypeCommentLink" source="_0_OnMLnYEeCxXoyQxQ47PQ" target="_tjrPQDMXEeWoDfId-zdVpA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_tjrPRTMXEeWoDfId-zdVpA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tjr2UDMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Stereotype" href="componentlib.uml#__nMrwLqNEd-SedGzMDDkww"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tjrPRjMXEeWoDfId-zdVpA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tjrPRzMXEeWoDfId-zdVpA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tjrPSDMXEeWoDfId-zdVpA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_tka2JDMXEeWoDfId-zdVpA" type="StereotypeCommentLink" source="_0_j-YLnYEeCxXoyQxQ47PQ" target="_tka2IDMXEeWoDfId-zdVpA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_tka2JTMXEeWoDfId-zdVpA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tka2KTMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Stereotype" href="componentlib.uml#_AQZZwLqOEd-SedGzMDDkww"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tka2JjMXEeWoDfId-zdVpA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tka2JzMXEeWoDfId-zdVpA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tka2KDMXEeWoDfId-zdVpA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_tlS_5DMXEeWoDfId-zdVpA" type="StereotypeCommentLink" source="_GkKYAC8qEeKx7OxAiA06uw" target="_tlS_4DMXEeWoDfId-zdVpA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_tlS_5TMXEeWoDfId-zdVpA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tlTm8DMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Stereotype" href="componentlib.uml#_GjnlcC8qEeKx7OxAiA06uw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tlS_5jMXEeWoDfId-zdVpA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tlS_5zMXEeWoDfId-zdVpA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tlS_6DMXEeWoDfId-zdVpA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="__8V9sDPdEeWoDfId-zdVpA" type="InterfaceRealization_Edge" source="_09vZcLnYEeCxXoyQxQ47PQ" target="_1cX-4DPdEeWoDfId-zdVpA">
+      <children xmi:type="notation:DecorationNode" xmi:id="__8WkwDPdEeWoDfId-zdVpA" type="InterfaceRealization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__8WkwTPdEeWoDfId-zdVpA" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="__8WkwjPdEeWoDfId-zdVpA" type="InterfaceRealization_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__8WkwzPdEeWoDfId-zdVpA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="__8V9sTPdEeWoDfId-zdVpA"/>
+      <element xmi:type="uml:InterfaceRealization" href="componentlib.uml#__77G8DPdEeWoDfId-zdVpA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__8V9sjPdEeWoDfId-zdVpA" points="[12, 0, -655, -14]$[665, 14, -2, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__9hCYDPdEeWoDfId-zdVpA" id="(0.0,0.5405405405405406)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__9hpcDPdEeWoDfId-zdVpA" id="(1.0,0.19801980198019803)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_BXmawDPeEeWoDfId-zdVpA" type="Usage_Edge" source="_0-9hcLnYEeCxXoyQxQ47PQ" target="_1cX-4DPdEeWoDfId-zdVpA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_BXmawzPeEeWoDfId-zdVpA" type="Usage_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BXmaxDPeEeWoDfId-zdVpA" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BXmaxTPeEeWoDfId-zdVpA" type="Usage_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BXmaxjPeEeWoDfId-zdVpA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_BXmawTPeEeWoDfId-zdVpA"/>
+      <element xmi:type="uml:Usage" href="componentlib.uml#_BXPOYDPeEeWoDfId-zdVpA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BXmawjPeEeWoDfId-zdVpA" points="[5, -1, -676, 28]$[658, -24, -23, 5]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BZFBcDPeEeWoDfId-zdVpA" id="(0.0,0.5405405405405406)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BZFogDPeEeWoDfId-zdVpA" id="(1.0,0.7920792079207921)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_SstwYPEnEeCIafpoJVk7CQ" type="CompositeStructure" name="ContainerRules" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_V3-LcPEnEeCIafpoJVk7CQ" type="Class_Shape" fontName="Arial" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4AnsPEnEeCIafpoJVk7CQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4AnsfEnEeCIafpoJVk7CQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4AnsvEnEeCIafpoJVk7CQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4Ans_EnEeCIafpoJVk7CQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4BOwPEnEeCIafpoJVk7CQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4BOwfEnEeCIafpoJVk7CQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_V4BOwvEnEeCIafpoJVk7CQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_V4BOw_EnEeCIafpoJVk7CQ" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_mxqE4PTWEeCn1-FCrfecFg" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mxrTAPTWEeCn1-FCrfecFg" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mxr6EPTWEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mxr6EfTWEeCn1-FCrfecFg" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mxr6EvTWEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mxr6E_TWEeCn1-FCrfecFg" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mxr6FPTWEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_mxr6FfTWEeCn1-FCrfecFg" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RtvSsFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RzCCYFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_mxshIPTWEeCn1-FCrfecFg" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_mxshIfTWEeCn1-FCrfecFg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mxshIvTWEeCn1-FCrfecFg"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_y3lU4PTWEeCn1-FCrfecFg" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3mjAPTWEeCn1-FCrfecFg" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3nKEPTWEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3nKEfTWEeCn1-FCrfecFg" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3nKEvTWEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3nKE_TWEeCn1-FCrfecFg" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3nKFPTWEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_y3nKFfTWEeCn1-FCrfecFg" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QlkJsFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QplHAFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_y3nxIPTWEeCn1-FCrfecFg" x="-90" y="38"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_y3nxIfTWEeCn1-FCrfecFg" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_y3nxIvTWEeCn1-FCrfecFg" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="componentlib.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y3lU4fTWEeCn1-FCrfecFg" x="189" y="7"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_y3oYMPTWEeCn1-FCrfecFg" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3pmUPTWEeCn1-FCrfecFg" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3pmUfTWEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3pmUvTWEeCn1-FCrfecFg" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3pmU_TWEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3pmVPTWEeCn1-FCrfecFg" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3qNYPTWEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_y3qNYfTWEeCn1-FCrfecFg" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QEIQkFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QK0HYFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_y3qNYvTWEeCn1-FCrfecFg" x="-17" y="-34"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_y3qNY_TWEeCn1-FCrfecFg" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_y3qNZPTWEeCn1-FCrfecFg" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="componentlib.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y3o_QPTWEeCn1-FCrfecFg" x="-10" y="7"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kKoXAFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kKoXAVy8EeOwKfaVRwV11Q" showTitle="true"/>
+            <element xmi:type="FCM:InterceptionRule" href="componentlib.uml#_qlcF8AJzEeG0Lb1KYG16fA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKoXAly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kKoXA1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kKoXBFy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKoXBVy8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_XlKdUGqWEea45IDGiU87rA" type="StereotypeLabel">
+            <styles xmi:type="notation:StringValueStyle" xmi:id="_XlKdUWqWEea45IDGiU87rA" name="stereotype" stringValue="FCM::InterceptionRule"/>
+            <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_JWyAMJDxEd-I9dVdNhZAGQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XlKdUmqWEea45IDGiU87rA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_XlKdU2qWEea45IDGiU87rA" type="StereotypeCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_XlKdVGqWEea45IDGiU87rA"/>
+            <styles xmi:type="notation:StringValueStyle" xmi:id="_XlKdVWqWEea45IDGiU87rA" name="stereotype" stringValue="FCM::InterceptionRule"/>
+            <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_JWyAMJDxEd-I9dVdNhZAGQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XlKdVmqWEea45IDGiU87rA"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_XlOHsGqWEea45IDGiU87rA" type="StereotypeComment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_XlOHsWqWEea45IDGiU87rA"/>
+            <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XlOHs2qWEea45IDGiU87rA" name="BASE_ELEMENT">
+              <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+            </styles>
+            <element xsi:nil="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XlOHsmqWEea45IDGiU87rA" x="200" y="100"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_XlRLBmqWEea45IDGiU87rA" type="StereotypeComment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_XlRLB2qWEea45IDGiU87rA"/>
+            <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XlRLCWqWEea45IDGiU87rA" name="BASE_ELEMENT">
+              <eObjectValue xmi:type="uml:Port" href="componentlib.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+            </styles>
+            <element xsi:nil="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XlRLCGqWEea45IDGiU87rA" x="200" y="100"/>
+          </children>
+          <element xmi:type="uml:Property" href="componentlib.uml#_mvN04PTWEeCn1-FCrfecFg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mxqE4fTWEeCn1-FCrfecFg" x="31" y="31" width="199" height="37"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XlKdW2qWEea45IDGiU87rA" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_XlKdXGqWEea45IDGiU87rA"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XlKdXmqWEea45IDGiU87rA" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Property" href="componentlib.uml#_mvN04PTWEeCn1-FCrfecFg"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XlKdXWqWEea45IDGiU87rA" x="200" y="100"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_V4BOxPEnEeCIafpoJVk7CQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V4BOxfEnEeCIafpoJVk7CQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kKmh0Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kKmh0Vy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:ContainerRule" href="componentlib.uml#_3Jq5MARLEd-OidZzGKCpzg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKmh0ly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kKnI4Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kKnI4Vy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKnI4ly8EeOwKfaVRwV11Q"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_14WtMARJEd--t-uhRn9OBA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V3-LcfEnEeCIafpoJVk7CQ" x="72" y="36" width="262" height="145"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_W2m98PEnEeCIafpoJVk7CQ" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W2nlAPEnEeCIafpoJVk7CQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W2nlAfEnEeCIafpoJVk7CQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W2nlAvEnEeCIafpoJVk7CQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W2nlA_EnEeCIafpoJVk7CQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W2nlBPEnEeCIafpoJVk7CQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W2nlBfEnEeCIafpoJVk7CQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_W2oMEPEnEeCIafpoJVk7CQ" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="componentlib.uml#_q-kFUMTJEd-cLazKlAeYsQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W2m98fEnEeCIafpoJVk7CQ" x="378" y="54" width="429"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_HDAUACjaEeGFbebITJYb9g" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HDA7ECjaEeGFbebITJYb9g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HDA7ESjaEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HDA7EijaEeGFbebITJYb9g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HDA7EyjaEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HDA7FCjaEeGFbebITJYb9g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HDA7FSjaEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_HDA7FijaEeGFbebITJYb9g" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_HDA7FyjaEeGFbebITJYb9g" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_JWCGkCjaEeGFbebITJYb9g" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JWCtoCjaEeGFbebITJYb9g" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JWCtoSjaEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JWCtoijaEeGFbebITJYb9g" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JWCtoyjaEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JWCtpCjaEeGFbebITJYb9g" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JWCtpSjaEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_JWCtpijaEeGFbebITJYb9g" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PdThIFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PlvrcFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JWCtpyjaEeGFbebITJYb9g" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_JWCtqCjaEeGFbebITJYb9g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JWCtqSjaEeGFbebITJYb9g"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kKsocFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kKsocVy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKsocly8EeOwKfaVRwV11Q"/>
+          </children>
+          <element xmi:type="uml:Property" href="componentlib.uml#_6yVMkCjZEeGFbebITJYb9g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JWCGkSjaEeGFbebITJYb9g" x="10" y="10" width="156"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_HDA7GCjaEeGFbebITJYb9g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HDA7GSjaEeGFbebITJYb9g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kKqzQFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kKqzQVy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:ContainerRule" href="componentlib.uml#_MS45QCjaEeGFbebITJYb9g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKqzQly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kKraUFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kKraUVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKraUly8EeOwKfaVRwV11Q"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_1sCBICjZEeGFbebITJYb9g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HDAUASjaEeGFbebITJYb9g" x="72" y="252" width="261" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_H0i7YDbgEeGdqp2YT1LwWw" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H0jicDbgEeGdqp2YT1LwWw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H0jicTbgEeGdqp2YT1LwWw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H0jicjbgEeGdqp2YT1LwWw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H0jiczbgEeGdqp2YT1LwWw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H0jidDbgEeGdqp2YT1LwWw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H0jidTbgEeGdqp2YT1LwWw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_H0jidjbgEeGdqp2YT1LwWw" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="componentlib.uml#_H0IrsDbgEeGdqp2YT1LwWw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H0i7YTbgEeGdqp2YT1LwWw" x="378" y="261" width="217"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_XlJPNGqWEea45IDGiU87rA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_XlJPNWqWEea45IDGiU87rA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XlJPN2qWEea45IDGiU87rA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_14WtMARJEd--t-uhRn9OBA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XlJPNmqWEea45IDGiU87rA" x="200" y="100"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_XlSZK2qWEea45IDGiU87rA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_XlSZLGqWEea45IDGiU87rA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XlTAMGqWEea45IDGiU87rA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_1sCBICjZEeGFbebITJYb9g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XlSZLWqWEea45IDGiU87rA" x="200" y="100"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_SstwYfEnEeCIafpoJVk7CQ"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_XlbjEGqWEea45IDGiU87rA" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="componentlib.uml#_y4qB4ARJEd--t-uhRn9OBA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_YjbFEPEnEeCIafpoJVk7CQ" type="Comment_AnnotatedElementEdge" source="_W2m98PEnEeCIafpoJVk7CQ" target="_V3-LcPEnEeCIafpoJVk7CQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_YjbFEfEnEeCIafpoJVk7CQ" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YjbFEvEnEeCIafpoJVk7CQ" points="[-11, -4, 128, 36]$[-126, -42, 13, -2]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YjcTMPEnEeCIafpoJVk7CQ" id="(0.01,0.38333333333333336)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YjcTMfEnEeCIafpoJVk7CQ" id="(0.8602150537634409,0.45)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NK3f0DbgEeGdqp2YT1LwWw" type="Comment_AnnotatedElementEdge" source="_H0i7YDbgEeGdqp2YT1LwWw" target="_HDAUACjaEeGFbebITJYb9g" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NK3f0TbgEeGdqp2YT1LwWw" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NK3f0jbgEeGdqp2YT1LwWw" points="[-18, 3, 77, 0]$[-63, 2, 32, -1]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NLz7ADbgEeGdqp2YT1LwWw" id="(0.08294930875576037,0.6)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NL0iEDbgEeGdqp2YT1LwWw" id="(0.8773946360153256,0.4752475247524752)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XlJPOGqWEea45IDGiU87rA" type="StereotypeCommentLink" source="_V3-LcPEnEeCIafpoJVk7CQ" target="_XlJPNGqWEea45IDGiU87rA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_XlJPOWqWEea45IDGiU87rA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XlJ2QmqWEea45IDGiU87rA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_14WtMARJEd--t-uhRn9OBA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XlJPOmqWEea45IDGiU87rA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XlJ2QGqWEea45IDGiU87rA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XlJ2QWqWEea45IDGiU87rA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XlLEYGqWEea45IDGiU87rA" type="StereotypeCommentLink" source="_mxqE4PTWEeCn1-FCrfecFg" target="_XlKdW2qWEea45IDGiU87rA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_XlLEYWqWEea45IDGiU87rA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XlLEZWqWEea45IDGiU87rA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Property" href="componentlib.uml#_mvN04PTWEeCn1-FCrfecFg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XlLEYmqWEea45IDGiU87rA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XlLEY2qWEea45IDGiU87rA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XlLEZGqWEea45IDGiU87rA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XlOHtGqWEea45IDGiU87rA" type="StereotypeCommentLink" source="_y3lU4PTWEeCn1-FCrfecFg" target="_XlOHsGqWEea45IDGiU87rA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_XlOHtWqWEea45IDGiU87rA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XlOuwmqWEea45IDGiU87rA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XlOHtmqWEea45IDGiU87rA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XlOuwGqWEea45IDGiU87rA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XlOuwWqWEea45IDGiU87rA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XlRLCmqWEea45IDGiU87rA" type="StereotypeCommentLink" source="_y3oYMPTWEeCn1-FCrfecFg" target="_XlRLBmqWEea45IDGiU87rA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_XlRLC2qWEea45IDGiU87rA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XlRyEmqWEea45IDGiU87rA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XlRLDGqWEea45IDGiU87rA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XlRyEGqWEea45IDGiU87rA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XlRyEWqWEea45IDGiU87rA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XlTAMWqWEea45IDGiU87rA" type="StereotypeCommentLink" source="_HDAUACjaEeGFbebITJYb9g" target="_XlSZK2qWEea45IDGiU87rA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_XlTAMmqWEea45IDGiU87rA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XlTANmqWEea45IDGiU87rA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_1sCBICjZEeGFbebITJYb9g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XlTAM2qWEea45IDGiU87rA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XlTANGqWEea45IDGiU87rA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XlTANWqWEea45IDGiU87rA"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_eblvwPM_EeCovO8AYZymZQ" type="CompositeStructure" name="Composite: ContainerServices " measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_JRsvcPNAEeCovO8AYZymZQ" type="Class_Shape" fontName="" fontHeight="10" fillColor="8047085" transparency="50" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JRtWgPNAEeCovO8AYZymZQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JRtWgfNAEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JRtWgvNAEeCovO8AYZymZQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JRtWg_NAEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JRtWhPNAEeCovO8AYZymZQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JRtWhfNAEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JRtWhvNAEeCovO8AYZymZQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JRtWh_NAEeCovO8AYZymZQ" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_k-Qe0PN8EeCovO8AYZymZQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_k-RF4PN8EeCovO8AYZymZQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k-RF4fN8EeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_k-RF4vN8EeCovO8AYZymZQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k-RF4_N8EeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_k-RF5PN8EeCovO8AYZymZQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k-RF5fN8EeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_k-RF5vN8EeCovO8AYZymZQ" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iWRp4FaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ivBhEFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="60"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_k-Rs8PN8EeCovO8AYZymZQ" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_k-Rs8fN8EeCovO8AYZymZQ" showTitle="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_k-Rs8vN8EeCovO8AYZymZQ"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kn7-EFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kn7-EVy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kn7-Ely8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_9o2_AguXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_AwuXEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="componentlib.uml#_k-OpoPN8EeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_k-Qe0fN8EeCovO8AYZymZQ" x="24" y="41" width="165" height="23"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="__a22APQXEeCovO8AYZymZQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__a3dEPQXEeCovO8AYZymZQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__a4EIPQXEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__a4EIfQXEeCovO8AYZymZQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__a4EIvQXEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__a4EI_QXEeCovO8AYZymZQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__a4EJPQXEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="__a4EJfQXEeCovO8AYZymZQ" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fzb5sFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gCiFoFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="__a4EJvQXEeCovO8AYZymZQ" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="__a4EJ_QXEeCovO8AYZymZQ" showTitle="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="__a4EKPQXEeCovO8AYZymZQ"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kn8lIFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kn8lIVy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kn8lIly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_9o2_BAuXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_BQuXEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="componentlib.uml#__a1A0PQXEeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="__a22AfQXEeCovO8AYZymZQ" x="24" y="5" width="165" height="23"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_KnUHYPQYEeCovO8AYZymZQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KnUHYvQYEeCovO8AYZymZQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KnUHY_QYEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KnUucPQYEeCovO8AYZymZQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KnUucfQYEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KnUucvQYEeCovO8AYZymZQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KnUuc_QYEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_KnUudPQYEeCovO8AYZymZQ" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hLhG8FaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hSXV0FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_KnUudfQYEeCovO8AYZymZQ" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_KnUudvQYEeCovO8AYZymZQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnUud_QYEeCovO8AYZymZQ"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kn9zQFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kn9zQVy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kn9zQly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_9o2_BguXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_BwuXEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="componentlib.uml#_KnS5QPQYEeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnUHYfQYEeCovO8AYZymZQ" x="24" y="83" width="165" height="23"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JRtWiPNAEeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JRtWifNAEeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_M0b2YPNAEeCovO8AYZymZQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M0cdcPNAEeCovO8AYZymZQ" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0cdcfNAEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M0cdcvNAEeCovO8AYZymZQ" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0cdc_NAEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M0dEgPNAEeCovO8AYZymZQ" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0dEgfNAEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_M0dEgvNAEeCovO8AYZymZQ" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dBgkoFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dM7xgFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_M0dEg_NAEeCovO8AYZymZQ" x="-61" y="-2"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_M0dEhPNAEeCovO8AYZymZQ" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_M0dEhfNAEeCovO8AYZymZQ" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M0b2YfNAEeCovO8AYZymZQ" x="-10" y="60" width="20" height="20"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kn6I4Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kn6I4Vy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="C_Cpp:Include" href="componentlib.uml#_Yx49gCaeEeG4fZdVXNtoOQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kn6I4ly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kn6I41y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kn6I5Fy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kn6I5Vy8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9o2_AAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_AQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JRsvcfNAEeCovO8AYZymZQ" x="171" y="32" width="212" height="159"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9dH0UCjYEeGFbebITJYb9g" type="Class_Shape" fontName="" fontHeight="10" fillColor="8047085" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9dIbYCjYEeGFbebITJYb9g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9dIbYSjYEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9dIbYijYEeGFbebITJYb9g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9dIbYyjYEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9dIbZCjYEeGFbebITJYb9g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9dIbZSjYEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9dJCcCjYEeGFbebITJYb9g" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9dJCcSjYEeGFbebITJYb9g" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9dJCcijYEeGFbebITJYb9g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9dJCcyjYEeGFbebITJYb9g"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_AVlPMCjZEeGFbebITJYb9g" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AVl2QCjZEeGFbebITJYb9g" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AVl2QSjZEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AVl2QijZEeGFbebITJYb9g" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AVl2QyjZEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AVl2RCjZEeGFbebITJYb9g" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AVmdUCjZEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_AVmdUSjZEeGFbebITJYb9g" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WOqX0FaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WaM5cFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_AVmdUijZEeGFbebITJYb9g" x="-72"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_AVmdUyjZEeGFbebITJYb9g" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_AVmdVCjZEeGFbebITJYb9g" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_ATRiECjZEeGFbebITJYb9g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AVlPMSjZEeGFbebITJYb9g" x="207" y="45" width="20" height="20"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kn_BYFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kn_BYVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kn_BYly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9o2_CAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_CQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_9V8OQCjYEeGFbebITJYb9g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9dH0USjYEeGFbebITJYb9g" x="171" y="302" width="217" height="92"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qz8ykCkAEeGDDbdzqSb4UA" type="Class_Shape" fontName="" fontHeight="10" fillColor="8047085" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ykSkAEeGDDbdzqSb4UA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ykikAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ykykAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ylCkAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ylSkAEeGDDbdzqSb4UA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ylikAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_qz8ynSkAEeGDDbdzqSb4UA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_qz8ypCkAEeGDDbdzqSb4UA" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_qz8ypSkAEeGDDbdzqSb4UA" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ypikAEeGDDbdzqSb4UA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ypykAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yqCkAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yqSkAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yqikAEeGDDbdzqSb4UA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yqykAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_qz8yrCkAEeGDDbdzqSb4UA" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vo5_YFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vv278FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_qz8yrSkAEeGDDbdzqSb4UA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_qz8yrikAEeGDDbdzqSb4UA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8yrykAEeGDDbdzqSb4UA"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_4ksloCkAEeGDDbdzqSb4UA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4kwQACkAEeGDDbdzqSb4UA" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4kwQASkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4kwQAikAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4kwQAykAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4kwQBCkAEeGDDbdzqSb4UA" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4kwQBSkAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_4kwQBikAEeGDDbdzqSb4UA" visible="false" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AP6k4CkBEeGDDbdzqSb4UA" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AP7L8CkBEeGDDbdzqSb4UA" key="CustomAppearance_MaskValue" value="46"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_4kwQBykAEeGDDbdzqSb4UA" x="18" y="-18"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_4kw3ECkAEeGDDbdzqSb4UA" visible="false" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_4kw3ESkAEeGDDbdzqSb4UA" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="componentlib.uml#_ATRiECjZEeGFbebITJYb9g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ksloSkAEeGDDbdzqSb4UA" x="153" y="16"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_koCrwFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_koCrwVy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_koCrwly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_9o2_DguXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_DwuXEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_fZwEQMTwEeWfEYAFL-UFuw" type="Port_Shape">
+            <children xmi:type="notation:DecorationNode" xmi:id="_fZwrUMTwEeWfEYAFL-UFuw" type="Port_NameLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_fZwrUcTwEeWfEYAFL-UFuw" x="29" y="-7"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_fZwrUsTwEeWfEYAFL-UFuw" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_fZwrU8TwEeWfEYAFL-UFuw" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="componentlib.uml#_2elREMRcEeWq5unKf5DK_A"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fZwEQcTwEeWfEYAFL-UFuw" x="52"/>
+          </children>
+          <element xmi:type="uml:Property" href="componentlib.uml#_ARs_UCjaEeGFbebITJYb9g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8yvikAEeGDDbdzqSb4UA" x="22" y="103" width="163" height="51"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_qz8yvykAEeGDDbdzqSb4UA" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ywCkAEeGDDbdzqSb4UA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ywSkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ywikAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ywykAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yxCkAEeGDDbdzqSb4UA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yxSkAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_qz8yxikAEeGDDbdzqSb4UA" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UO2cMFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UlpLkFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_qz8yxykAEeGDDbdzqSb4UA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_qz8yyCkAEeGDDbdzqSb4UA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8yySkAEeGDDbdzqSb4UA"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_qz8yyikAEeGDDbdzqSb4UA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yyykAEeGDDbdzqSb4UA" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yzCkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yzSkAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yzikAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yzykAEeGDDbdzqSb4UA" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8y0CkAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_qz8y0SkAEeGDDbdzqSb4UA" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8y0ikAEeGDDbdzqSb4UA" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cTAf4FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="12"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_qz8y1CkAEeGDDbdzqSb4UA" x="31" y="13"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_qz8y1SkAEeGDDbdzqSb4UA" visible="false" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_qz8y1ikAEeGDDbdzqSb4UA" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="componentlib.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y1ykAEeGDDbdzqSb4UA" x="50" y="52" width="20" height="20"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_koEg8Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_koEg8Vy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_koEg8ly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_9o2_EAuXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_EQuXEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="componentlib.uml#_RMqEkCjaEeGFbebITJYb9g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y2CkAEeGDDbdzqSb4UA" x="22" y="7" width="163" height="52"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_9vOFuAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_9vOFuQuXEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9vOFuwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_ATRiECjZEeGFbebITJYb9g"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9vOFuguXEeWXe7AeBUbqvw" x="353" y="16"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_9vZr6AuXEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_9vZr6QuXEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9vZr6wuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9vZr6guXEeWXe7AeBUbqvw" x="263" y="42"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_qz8y2SkAEeGDDbdzqSb4UA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y2ikAEeGDDbdzqSb4UA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_3PyBICkAEeGDDbdzqSb4UA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3PyoMCkAEeGDDbdzqSb4UA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3PyoMSkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3PzPQCkAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3PzPQSkAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3PzPQikAEeGDDbdzqSb4UA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3PzPQykAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_3PzPRCkAEeGDDbdzqSb4UA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aE63sFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aMll8FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_3PzPRSkAEeGDDbdzqSb4UA" x="-81" y="-9"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_3PzPRikAEeGDDbdzqSb4UA" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_3PzPRykAEeGDDbdzqSb4UA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_3NSGwCkAEeGDDbdzqSb4UA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3PyBISkAEeGDDbdzqSb4UA" x="288" y="144" width="20" height="20"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_koCEsFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_koCEsVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_koCEsly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9o2_DAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_DQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_-X6zMCjZEeGFbebITJYb9g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y2ykAEeGDDbdzqSb4UA" x="455" y="39" width="298" height="199"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9uLj4AuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9uLj4QuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9uLj4wuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9uLj4guXEeWXe7AeBUbqvw" x="371" y="32"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9uaNYAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9uaNYQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9uaNYwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9uaNYguXEeWXe7AeBUbqvw" x="190" y="60"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9unBsguXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9unBswuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9unBtQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_ATRiECjZEeGFbebITJYb9g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9unBtAuXEeWXe7AeBUbqvw" x="407" y="45"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9vqxoAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9vqxoQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9vqxowuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_3NSGwCkAEeGDDbdzqSb4UA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9vqxoguXEeWXe7AeBUbqvw" x="488" y="144"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_fKPxAMTiEeWfEYAFL-UFuw" type="Class_Shape" fillColor="8047085">
+      <children xmi:type="notation:DecorationNode" xmi:id="_fKQ_IMTiEeWfEYAFL-UFuw" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_fKQ_IcTiEeWfEYAFL-UFuw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_fKRmMMTiEeWfEYAFL-UFuw" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_fKRmMcTiEeWfEYAFL-UFuw" visible="false" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_fKRmMsTiEeWfEYAFL-UFuw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fKRmM8TiEeWfEYAFL-UFuw"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_zDDlYMRcEeWq5unKf5DK_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fKPxAcTiEeWfEYAFL-UFuw" x="170" y="238" width="219" height="33"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_ebmW0PM_EeCovO8AYZymZQ"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_9o2_EguXEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_FImRkAuZEeWXe7AeBUbqvw" name="css_stylesheets" eObjectListValue="_7gUz8Mc1EeSsAI2TZshUyg"/>
+    <element xmi:type="uml:Package" href="componentlib.uml#_xtlE8ARAEd--t-uhRn9OBA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_85CvsCkAEeGDDbdzqSb4UA" type="Connector_Edge" source="_4ksloCkAEeGDDbdzqSb4UA" target="_3PyBICkAEeGDDbdzqSb4UA" routing="Rectilinear" closestDistance="true" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_85D90CkAEeGDDbdzqSb4UA" type="Connector_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__8OOwMThEeWfEYAFL-UFuw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D90SkAEeGDDbdzqSb4UA" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_85D90ikAEeGDDbdzqSb4UA" visible="false" type="Connector_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__8hJsMThEeWfEYAFL-UFuw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D90ykAEeGDDbdzqSb4UA" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_85D91CkAEeGDDbdzqSb4UA" visible="false" type="Connector_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__8yPcMThEeWfEYAFL-UFuw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D91SkAEeGDDbdzqSb4UA" x="-15" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_85D91ikAEeGDDbdzqSb4UA" visible="false" type="Connector_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__9DVMMThEeWfEYAFL-UFuw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D91ykAEeGDDbdzqSb4UA" x="14" y="20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_85CvsSkAEeGDDbdzqSb4UA" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Connector" href="componentlib.uml#_84IJsCkAEeGDDbdzqSb4UA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_85CvsikAEeGDDbdzqSb4UA" points="[655, 238, -643984, -643984]$[655, 258, -643984, -643984]$[783, 258, -643984, -643984]$[783, 197, -643984, -643984]$[763, 197, -643984, -643984]$[763, 184, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__75eoMThEeWfEYAFL-UFuw" id="(0.9,0.55)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_864iwCkAEeGDDbdzqSb4UA" id="(0.0,0.4)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9uMK8AuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_JRsvcPNAEeCovO8AYZymZQ" target="_9uLj4AuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9uMK8QuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9uMK9QuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9uMK8guXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9uMK8wuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9uMK9AuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9uaNZAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_M0b2YPNAEeCovO8AYZymZQ" target="_9uaNYAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9uaNZQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9uaNaQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9uaNZguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9uaNZwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9uaNaAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9unBtguXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_AVlPMCjZEeGFbebITJYb9g" target="_9unBsguXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9unBtwuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9unBuwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_ATRiECjZEeGFbebITJYb9g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9unBuAuXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9unBuQuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9unBuguXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9vOFvAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_4ksloCkAEeGDDbdzqSb4UA" target="_9vOFuAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9vOFvQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9vOFwQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_ATRiECjZEeGFbebITJYb9g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9vOFvguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9vOFvwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9vOFwAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9vZr7AuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_qz8yyikAEeGDDbdzqSb4UA" target="_9vZr6AuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9vZr7QuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9vaS8guXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9vZr7guXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9vaS8AuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9vaS8QuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9vqxpAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_3PyBICkAEeGDDbdzqSb4UA" target="_9vqxoAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9vqxpQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9vqxqQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_3NSGwCkAEeGDDbdzqSb4UA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9vqxpguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9vqxpwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9vqxqAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_jQUOgMTiEeWfEYAFL-UFuw" type="Generalization_Edge" source="_9dH0UCjYEeGFbebITJYb9g" target="_fKPxAMTiEeWfEYAFL-UFuw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_jQUOg8TiEeWfEYAFL-UFuw" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_jQUOhMTiEeWfEYAFL-UFuw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_jQUOgcTiEeWfEYAFL-UFuw"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_jPxb8MTiEeWfEYAFL-UFuw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jQUOgsTiEeWfEYAFL-UFuw" points="[288, 302, -643984, -643984]$[281, 271, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jQvFQMTiEeWfEYAFL-UFuw" id="(0.5069124423963134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jQvsUMTiEeWfEYAFL-UFuw" id="(0.5068493150684932,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kMmIMMTwEeWfEYAFL-UFuw" type="Connector_Edge" source="_fZwEQMTwEeWfEYAFL-UFuw" target="_qz8yyikAEeGDDbdzqSb4UA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kMmvQMTwEeWfEYAFL-UFuw" type="Connector_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kMmvQcTwEeWfEYAFL-UFuw" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_kMmvQsTwEeWfEYAFL-UFuw" visible="false" type="Connector_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kMmvQ8TwEeWfEYAFL-UFuw" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_kMmvRMTwEeWfEYAFL-UFuw" visible="false" type="Connector_SourceMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kMmvRcTwEeWfEYAFL-UFuw" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_kMmvRsTwEeWfEYAFL-UFuw" visible="false" type="Connector_TargetMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kMmvR8TwEeWfEYAFL-UFuw" y="20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kMmIMcTwEeWfEYAFL-UFuw"/>
+      <element xmi:type="uml:Connector" href="componentlib.uml#_kMZT4MTwEeWfEYAFL-UFuw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kMmIMsTwEeWfEYAFL-UFuw" points="[524, 159, -643984, -643984]$[522, 135, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kNSEsMTwEeWfEYAFL-UFuw" id="(0.35,0.2)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kNSEscTwEeWfEYAFL-UFuw" id="(0.45,0.85)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_hyLz8PNGEeCovO8AYZymZQ" type="CompositeStructure" name="composite: Marshalling" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_iVJ-IPNGEeCovO8AYZymZQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVJ-IvNGEeCovO8AYZymZQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVKlMPNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVKlMfNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVKlMvNGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVKlM_NGEeCovO8AYZymZQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVKlNPNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_iVKlNfNGEeCovO8AYZymZQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_iVKlNvNGEeCovO8AYZymZQ" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_iVKlN_NGEeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iVKlOPNGEeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_ZjCy0PNHEeCovO8AYZymZQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZjDZ4PNHEeCovO8AYZymZQ" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZjDZ4fNHEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZjDZ4vNHEeCovO8AYZymZQ" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZjDZ4_NHEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZjDZ5PNHEeCovO8AYZymZQ" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZjDZ5fNHEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ZjEA8PNHEeCovO8AYZymZQ" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cZt34EN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cfyMwE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZjEA8fNHEeCovO8AYZymZQ" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ZjEA8vNHEeCovO8AYZymZQ" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZjEA8_NHEeCovO8AYZymZQ" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_rSCxUAytEd6it_RkGhz_AA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZjCy0fNHEeCovO8AYZymZQ" x="117" y="36"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_iVa2wEN9EeGfhclnRyNzoA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVbd0EN9EeGfhclnRyNzoA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVbd0UN9EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVbd0kN9EeGfhclnRyNzoA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVbd00N9EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVbd1EN9EeGfhclnRyNzoA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVbd1UN9EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_iVbd1kN9EeGfhclnRyNzoA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YRiFEEN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZxVCcE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_iVbd10N9EeGfhclnRyNzoA" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_iVcE4EN9EeGfhclnRyNzoA" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_iVcE4UN9EeGfhclnRyNzoA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_MhH6cENxEeGoAtSeIK7WLg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iVa2wUN9EeGfhclnRyNzoA" x="-10" y="36"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kfWp0Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kfWp0Vy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kfWp0ly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JgU80M9XEeWyEP66wtWG_A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JgU80c9XEeWyEP66wtWG_A" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_b_yh4AzyEd6it_RkGhz_AA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iVJ-IfNGEeCovO8AYZymZQ" x="90" y="279" width="127" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kENg8PNGEeCovO8AYZymZQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEOIAPNGEeCovO8AYZymZQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEOIAfNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEOIAvNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEOIA_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEOIBPNGEeCovO8AYZymZQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEOIBfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_kEOvEPNGEeCovO8AYZymZQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kEOvEfNGEeCovO8AYZymZQ" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kEOvEvNGEeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kEOvE_NGEeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_qJrqYPNGEeCovO8AYZymZQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qJsRcPNGEeCovO8AYZymZQ" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qJsRcfNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qJsRcvNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qJsRc_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qJsRdPNGEeCovO8AYZymZQ" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qJsRdfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_qJsRdvNGEeCovO8AYZymZQ" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ezv2kFjoEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FAR2sFjoEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qJsRd_NGEeCovO8AYZymZQ" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_qJsRePNGEeCovO8AYZymZQ" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qJsRefNGEeCovO8AYZymZQ" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qJrqYfNGEeCovO8AYZymZQ" x="-10" y="36"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kfYfAFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kfYfAVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kfYfAly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JgU80s9XEeWyEP66wtWG_A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JgU8089XEeWyEP66wtWG_A" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_j29X4NttEd2eM5kqcby5ZA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kENg8fNGEeCovO8AYZymZQ" x="90" y="36" width="316" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_mqiqAPNGEeCovO8AYZymZQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mqjREPNGEeCovO8AYZymZQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mqjREfNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mqjREvNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mqjRE_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mqj4IPNGEeCovO8AYZymZQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mqj4IfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mqj4IvNGEeCovO8AYZymZQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_mqj4I_NGEeCovO8AYZymZQ" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_mqj4JPNGEeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mqj4JfNGEeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_bc1mAPNHEeCovO8AYZymZQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bc2NEPNHEeCovO8AYZymZQ" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bc2NEfNHEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bc2NEvNHEeCovO8AYZymZQ" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bc2NE_NHEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bc2NFPNHEeCovO8AYZymZQ" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bc2NFfNHEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_bc2NFvNHEeCovO8AYZymZQ" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y0v8UEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aYUJ8E4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_bc2NF_NHEeCovO8AYZymZQ" x="19"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_bc2NGPNHEeCovO8AYZymZQ" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_bc2NGfNHEeCovO8AYZymZQ" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_r5Va0AytEd6it_RkGhz_AA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bc1mAfNHEeCovO8AYZymZQ" x="-10" y="36"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_cQDbAEN9EeGfhclnRyNzoA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cQECEEN9EeGfhclnRyNzoA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cQECEUN9EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cQECEkN9EeGfhclnRyNzoA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cQECE0N9EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cQECFEN9EeGfhclnRyNzoA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cQECFUN9EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_cQECFkN9EeGfhclnRyNzoA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XwXHIEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a51ioE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_cQECF0N9EeGfhclnRyNzoA" x="27"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_cQECGEN9EeGfhclnRyNzoA" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_cQECGUN9EeGfhclnRyNzoA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_Zd558ENxEeGoAtSeIK7WLg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cQDbAUN9EeGfhclnRyNzoA" x="117" y="36"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kfZtIFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kfZtIVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kfZtIly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JgU81M9XEeWyEP66wtWG_A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JgU81c9XEeWyEP66wtWG_A" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_fmF6MAzyEd6it_RkGhz_AA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mqiqAfNGEeCovO8AYZymZQ" x="396" y="279" width="127" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_o1VGkPNGEeCovO8AYZymZQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o1VtoPNGEeCovO8AYZymZQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o1VtofNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o1VtovNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o1Vto_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o1WUsPNGEeCovO8AYZymZQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o1WUsfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_o1WUsvNGEeCovO8AYZymZQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_o1WUs_NGEeCovO8AYZymZQ" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_o1WUtPNGEeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o1WUtfNGEeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_qpQiUPNGEeCovO8AYZymZQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qpRJYPNGEeCovO8AYZymZQ" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qpRJYfNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qpRJYvNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qpRJY_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qpRwcPNGEeCovO8AYZymZQ" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qpRwcfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_qpRwcvNGEeCovO8AYZymZQ" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_h3CcMEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lv9-sE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qpRwc_NGEeCovO8AYZymZQ" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_qpRwdPNGEeCovO8AYZymZQ" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qpRwdfNGEeCovO8AYZymZQ" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qpQiUfNGEeCovO8AYZymZQ" x="117" y="36"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kfbiUFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kfbiUVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kfbiUly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JgU81s9XEeWyEP66wtWG_A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JgU8189XEeWyEP66wtWG_A" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_mIpj8Ns8Ed2eM5kqcby5ZA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o1VGkfNGEeCovO8AYZymZQ" x="468" y="36" width="127" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__uLGkPNGEeCovO8AYZymZQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__uLtoPNGEeCovO8AYZymZQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__uLtofNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__uLtovNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__uLto_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__uMUsPNGEeCovO8AYZymZQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__uMUsfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="__uMUsvNGEeCovO8AYZymZQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__uMUs_NGEeCovO8AYZymZQ" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__uMUtPNGEeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__uMUtfNGEeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_KNC08PQSEeCovO8AYZymZQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KNDcAPQSEeCovO8AYZymZQ" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KNDcAfQSEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KNDcAvQSEeCovO8AYZymZQ" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KNDcA_QSEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KNDcBPQSEeCovO8AYZymZQ" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KNDcBfQSEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_KNDcBvQSEeCovO8AYZymZQ" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_e8v1UEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b_sXcE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_KNDcB_QSEeCovO8AYZymZQ" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_KNEDEPQSEeCovO8AYZymZQ" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_KNEDEfQSEeCovO8AYZymZQ" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_rSCxUAytEd6it_RkGhz_AA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KNC08fQSEeCovO8AYZymZQ" x="117" y="36"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_vzOfsEN9EeGfhclnRyNzoA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vzPGwEN9EeGfhclnRyNzoA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vzPGwUN9EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vzPGwkN9EeGfhclnRyNzoA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vzPGw0N9EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vzPGxEN9EeGfhclnRyNzoA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vzPGxUN9EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_vzPGxkN9EeGfhclnRyNzoA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b0q0oEN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bcLasE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_vzPGx0N9EeGfhclnRyNzoA" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_vzPGyEN9EeGfhclnRyNzoA" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_vzPGyUN9EeGfhclnRyNzoA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_MhH6cENxEeGoAtSeIK7WLg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vzOfsUN9EeGfhclnRyNzoA" x="-10" y="36"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kfcwcFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kfcwcVy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:ImplementationProperties" href="componentlib.uml#_WIe68PQMEeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kfcwcly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kfcwc1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kfcwdFy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kfcwdVy8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JgU82M9XEeWyEP66wtWG_A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JgU82c9XEeWyEP66wtWG_A" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#__uJRYPNGEeCovO8AYZymZQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__uLGkfNGEeCovO8AYZymZQ" x="90" y="405" width="127" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_u_QmwENqEeGoAtSeIK7WLg" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u_RN0ENqEeGoAtSeIK7WLg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u_RN0UNqEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u_RN0kNqEeGoAtSeIK7WLg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u_RN00NqEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u_RN1ENqEeGoAtSeIK7WLg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u_RN1UNqEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_u_RN1kNqEeGoAtSeIK7WLg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_u_R04ENqEeGoAtSeIK7WLg" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_u_R04UNqEeGoAtSeIK7WLg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u_R04kNqEeGoAtSeIK7WLg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_7XPQEENqEeGoAtSeIK7WLg" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7XP3IENqEeGoAtSeIK7WLg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7XP3IUNqEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7XP3IkNqEeGoAtSeIK7WLg" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7XP3I0NqEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7XP3JENqEeGoAtSeIK7WLg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7XP3JUNqEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_7XP3JkNqEeGoAtSeIK7WLg" visible="false" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_7XQeMENqEeGoAtSeIK7WLg" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_7XQeMUNqEeGoAtSeIK7WLg" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_7XQeMkNqEeGoAtSeIK7WLg" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7XPQEUNqEeGoAtSeIK7WLg" x="-10" y="36"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_-nzo8ENqEeGoAtSeIK7WLg" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-n0QAENqEeGoAtSeIK7WLg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-n0QAUNqEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-n0QAkNqEeGoAtSeIK7WLg" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-n0QA0NqEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-n0QBENqEeGoAtSeIK7WLg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-n0QBUNqEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_-n0QBkNqEeGoAtSeIK7WLg" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WEWb0EN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_smS9UE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_-n0QB0NqEeGoAtSeIK7WLg" x="-99"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_-n0QCENqEeGoAtSeIK7WLg" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_-n0QCUNqEeGoAtSeIK7WLg" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_-nk_cENqEeGoAtSeIK7WLg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-nzo8UNqEeGoAtSeIK7WLg" x="117" y="36" width="20" height="20"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kffzwFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kffzwVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kffzwly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JgU82s9XEeWyEP66wtWG_A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JgU8289XEeWyEP66wtWG_A" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_u7MmIENqEeGoAtSeIK7WLg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u_QmwUNqEeGoAtSeIK7WLg" x="90" y="144" width="127" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_1xcsQENqEeGoAtSeIK7WLg" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1xdTUENqEeGoAtSeIK7WLg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1xdTUUNqEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1xdTUkNqEeGoAtSeIK7WLg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1xdTU0NqEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1xdTVENqEeGoAtSeIK7WLg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1xdTVUNqEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_1xdTVkNqEeGoAtSeIK7WLg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1xdTV0NqEeGoAtSeIK7WLg" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1xdTWENqEeGoAtSeIK7WLg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1xdTWUNqEeGoAtSeIK7WLg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_zeMyEEN8EeGfhclnRyNzoA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeOAMEN8EeGfhclnRyNzoA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeOAMUN8EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeOAMkN8EeGfhclnRyNzoA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeOAM0N8EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeOANEN8EeGfhclnRyNzoA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeOANUN8EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_zeOANkN8EeGfhclnRyNzoA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a_mN0EN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mTaC8E4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_zeOAN0N8EeGfhclnRyNzoA" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_zeOAOEN8EeGfhclnRyNzoA" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_zeOAOUN8EeGfhclnRyNzoA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_9gIc8ENvEeGoAtSeIK7WLg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zeNZIEN8EeGfhclnRyNzoA" x="-10" y="36"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_zePOUEN8EeGfhclnRyNzoA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeP1YEN8EeGfhclnRyNzoA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeP1YUN8EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeP1YkN8EeGfhclnRyNzoA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeP1Y0N8EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeP1ZEN8EeGfhclnRyNzoA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeP1ZUN8EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_zeP1ZkN8EeGfhclnRyNzoA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_e8wcYEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dPSXEE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_zeP1Z0N8EeGfhclnRyNzoA" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_zeP1aEN8EeGfhclnRyNzoA" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_zeP1aUN8EeGfhclnRyNzoA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zePOUUN8EeGfhclnRyNzoA" x="117" y="36"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kfho8Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kfho8Vy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kfho8ly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JgU83M9XEeWyEP66wtWG_A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JgU83c9XEeWyEP66wtWG_A" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_1xGG8ENqEeGoAtSeIK7WLg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1xcsQUNqEeGoAtSeIK7WLg" x="468" y="144" width="127" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_H7kTUENrEeGoAtSeIK7WLg" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H7k6YENrEeGoAtSeIK7WLg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H7k6YUNrEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H7k6YkNrEeGoAtSeIK7WLg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H7k6Y0NrEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H7k6ZENrEeGoAtSeIK7WLg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H7k6ZUNrEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_H7k6ZkNrEeGoAtSeIK7WLg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_H7k6Z0NrEeGoAtSeIK7WLg" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_H7k6aENrEeGoAtSeIK7WLg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H7k6aUNrEeGoAtSeIK7WLg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_LIMnYENrEeGoAtSeIK7WLg" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LINOcENrEeGoAtSeIK7WLg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LINOcUNrEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LINOckNrEeGoAtSeIK7WLg" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LINOc0NrEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LINOdENrEeGoAtSeIK7WLg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LINOdUNrEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_LINOdkNrEeGoAtSeIK7WLg" visible="false" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_LINOd0NrEeGoAtSeIK7WLg" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_LINOeENrEeGoAtSeIK7WLg" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_LINOeUNrEeGoAtSeIK7WLg" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LIMnYUNrEeGoAtSeIK7WLg" x="-10" y="36"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_i742UEN8EeGfhclnRyNzoA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i76EcEN8EeGfhclnRyNzoA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i76rgEN8EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i76rgUN8EeGfhclnRyNzoA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i76rgkN8EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i76rg0N8EeGfhclnRyNzoA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i76rhEN8EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_i76rhUN8EeGfhclnRyNzoA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UeOLgEN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eFDhcE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_i76rhkN8EeGfhclnRyNzoA" x="-99"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_i77SkEN8EeGfhclnRyNzoA" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_i77SkUN8EeGfhclnRyNzoA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_i5SOQEN8EeGfhclnRyNzoA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_i75dYEN8EeGfhclnRyNzoA" x="117" y="36" width="20" height="20"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kfi3EFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kfi3EVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kfi3Ely8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JgU83s9XEeWyEP66wtWG_A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JgU8389XEeWyEP66wtWG_A" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_H7IOcENrEeGoAtSeIK7WLg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H7kTUUNrEeGoAtSeIK7WLg" x="279" y="144" width="127" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pmSKYEN_EeGfhclnRyNzoA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pmSxcEN_EeGfhclnRyNzoA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pmSxcUN_EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pmSxckN_EeGfhclnRyNzoA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pmSxc0N_EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pmSxdEN_EeGfhclnRyNzoA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pmSxdUN_EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_pmSxdkN_EeGfhclnRyNzoA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="componentlib.uml#_pk4cMEN_EeGfhclnRyNzoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pmSKYUN_EeGfhclnRyNzoA" x="351" y="390" width="391" height="79"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JiYLQM9XEeWyEP66wtWG_A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_JiYLQc9XEeWyEP66wtWG_A" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JiYLQ89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_rSCxUAytEd6it_RkGhz_AA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JiYLQs9XEeWyEP66wtWG_A" x="317" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Jim0xs9XEeWyEP66wtWG_A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Jim0x89XEeWyEP66wtWG_A" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jim0yc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_MhH6cENxEeGoAtSeIK7WLg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jim0yM9XEeWyEP66wtWG_A" x="190" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Ji3TcM9XEeWyEP66wtWG_A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Ji3Tcc9XEeWyEP66wtWG_A" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Ji3Tc89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ji3Tcs9XEeWyEP66wtWG_A" x="190" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JjJAQs9XEeWyEP66wtWG_A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_JjJAQ89XEeWyEP66wtWG_A" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JjJARc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_r5Va0AytEd6it_RkGhz_AA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JjJARM9XEeWyEP66wtWG_A" x="190" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JjY34M9XEeWyEP66wtWG_A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_JjY34c9XEeWyEP66wtWG_A" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JjY3489XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Zd558ENxEeGoAtSeIK7WLg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JjY34s9XEeWyEP66wtWG_A" x="317" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JjtoBs9XEeWyEP66wtWG_A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_JjtoB89XEeWyEP66wtWG_A" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JjuPEM9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JjtoCM9XEeWyEP66wtWG_A" x="317" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Jj84kM9XEeWyEP66wtWG_A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Jj84kc9XEeWyEP66wtWG_A" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jj84k89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#__uJRYPNGEeCovO8AYZymZQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jj84ks9XEeWyEP66wtWG_A" x="290" y="405"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JkMwMM9XEeWyEP66wtWG_A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_JkMwMc9XEeWyEP66wtWG_A" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JkMwM89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_rSCxUAytEd6it_RkGhz_AA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JkMwMs9XEeWyEP66wtWG_A" x="317" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JkbZsM9XEeWyEP66wtWG_A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_JkbZsc9XEeWyEP66wtWG_A" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JkbZs89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_MhH6cENxEeGoAtSeIK7WLg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JkbZss9XEeWyEP66wtWG_A" x="190" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JktGgM9XEeWyEP66wtWG_A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_JktGgc9XEeWyEP66wtWG_A" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JktGg89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JktGgs9XEeWyEP66wtWG_A" x="190" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Jk7I9s9XEeWyEP66wtWG_A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Jk7I989XEeWyEP66wtWG_A" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jk7I-c9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_-nk_cENqEeGoAtSeIK7WLg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jk7I-M9XEeWyEP66wtWG_A" x="317" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JlLnps9XEeWyEP66wtWG_A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_JlLnp89XEeWyEP66wtWG_A" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JlLnqc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_9gIc8ENvEeGoAtSeIK7WLg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JlLnqM9XEeWyEP66wtWG_A" x="190" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Jla4MM9XEeWyEP66wtWG_A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Jla4Mc9XEeWyEP66wtWG_A" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jla4M89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jla4Ms9XEeWyEP66wtWG_A" x="317" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JlslAM9XEeWyEP66wtWG_A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_JlslAc9XEeWyEP66wtWG_A" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JlslA89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JlslAs9XEeWyEP66wtWG_A" x="190" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Jl4yRs9XEeWyEP66wtWG_A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Jl4yR89XEeWyEP66wtWG_A" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jl4ySc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_i5SOQEN8EeGfhclnRyNzoA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jl4ySM9XEeWyEP66wtWG_A" x="317" y="36"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_hyMbAPNGEeCovO8AYZymZQ"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_JgU84M9XEeWyEP66wtWG_A" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="componentlib.uml#_gKMTIAytEd6it_RkGhz_AA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_khmAgPNGEeCovO8AYZymZQ" type="Generalization_Edge" source="_u_QmwENqEeGoAtSeIK7WLg" target="_kENg8PNGEeCovO8AYZymZQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_khmnkPNGEeCovO8AYZymZQ" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_khmnkfNGEeCovO8AYZymZQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_khmAgfNGEeCovO8AYZymZQ" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_K088oF_rEd6RvK-1A151zQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_khmAgvNGEeCovO8AYZymZQ" points="[17, -30, -23, 39]$[23, -39, -17, 30]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4ud3AENqEeGoAtSeIK7WLg" id="(0.49606299212598426,0.0273972602739726)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OtJFEEN8EeGfhclnRyNzoA" id="(0.20569620253164558,0.958904109589041)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_sH_KIPNGEeCovO8AYZymZQ" type="Generalization_Edge" source="_1xcsQENqEeGoAtSeIK7WLg" target="_o1VGkPNGEeCovO8AYZymZQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_sH_xMPNGEeCovO8AYZymZQ" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_sIAYQPNGEeCovO8AYZymZQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_sH_KIfNGEeCovO8AYZymZQ" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_M09FgF_rEd6RvK-1A151zQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sH_KIvNGEeCovO8AYZymZQ" points="[-8, -30, 0, 77]$[0, -77, 8, 30]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5r5voENqEeGoAtSeIK7WLg" id="(0.4881889763779528,0.0958904109589041)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_EWU9cPNHEeCovO8AYZymZQ" type="Generalization_Edge" source="__uLGkPNGEeCovO8AYZymZQ" target="_iVJ-IPNGEeCovO8AYZymZQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_EWWLkPNHEeCovO8AYZymZQ" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_EWWLkfNHEeCovO8AYZymZQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_EWU9cfNHEeCovO8AYZymZQ" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_EWShMPNHEeCovO8AYZymZQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EWU9cvNHEeCovO8AYZymZQ" points="[2, -8, -13, 52]$[20, -42, 5, 18]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EWWyoPNHEeCovO8AYZymZQ" id="(0.4881889763779528,0.1095890410958904)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EWWyofNHEeCovO8AYZymZQ" id="(0.5196850393700787,0.9178082191780822)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_KH4Z4ENrEeGoAtSeIK7WLg" type="Generalization_Edge" source="_H7kTUENrEeGoAtSeIK7WLg" target="_kENg8PNGEeCovO8AYZymZQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_KH5A8ENrEeGoAtSeIK7WLg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KH5oAENrEeGoAtSeIK7WLg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_KH4Z4UNrEeGoAtSeIK7WLg" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_KHmGAENrEeGoAtSeIK7WLg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KH4Z4kNrEeGoAtSeIK7WLg" points="[-4, -5, 94, 153]$[-95, -150, 3, 8]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KIePwENrEeGoAtSeIK7WLg" id="(0.5229357798165137,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KIePwUNrEeGoAtSeIK7WLg" id="(0.8142857142857143,0.9452054794520548)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_JiYLRM9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_ZjCy0PNHEeCovO8AYZymZQ" target="_JiYLQM9XEeWyEP66wtWG_A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_JiYLRc9XEeWyEP66wtWG_A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JiYLSc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_rSCxUAytEd6it_RkGhz_AA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JiYLRs9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JiYLR89XEeWyEP66wtWG_A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JiYLSM9XEeWyEP66wtWG_A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Jim0ys9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_iVa2wEN9EeGfhclnRyNzoA" target="_Jim0xs9XEeWyEP66wtWG_A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Jim0y89XEeWyEP66wtWG_A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jinb0M9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_MhH6cENxEeGoAtSeIK7WLg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Jim0zM9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jim0zc9XEeWyEP66wtWG_A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jim0zs9XEeWyEP66wtWG_A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Ji3TdM9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_qJrqYPNGEeCovO8AYZymZQ" target="_Ji3TcM9XEeWyEP66wtWG_A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Ji3Tdc9XEeWyEP66wtWG_A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Ji3Tec9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ji3Tds9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ji3Td89XEeWyEP66wtWG_A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ji3TeM9XEeWyEP66wtWG_A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_JjJARs9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_bc1mAPNHEeCovO8AYZymZQ" target="_JjJAQs9XEeWyEP66wtWG_A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_JjJAR89XEeWyEP66wtWG_A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JjJAS89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_r5Va0AytEd6it_RkGhz_AA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JjJASM9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JjJASc9XEeWyEP66wtWG_A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JjJASs9XEeWyEP66wtWG_A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_JjY35M9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_cQDbAEN9EeGfhclnRyNzoA" target="_JjY34M9XEeWyEP66wtWG_A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_JjY35c9XEeWyEP66wtWG_A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JjY36c9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Zd558ENxEeGoAtSeIK7WLg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JjY35s9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JjY3589XEeWyEP66wtWG_A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JjY36M9XEeWyEP66wtWG_A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_JjuPEc9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_qpQiUPNGEeCovO8AYZymZQ" target="_JjtoBs9XEeWyEP66wtWG_A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_JjuPEs9XEeWyEP66wtWG_A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JjuPFs9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JjuPE89XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JjuPFM9XEeWyEP66wtWG_A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JjuPFc9XEeWyEP66wtWG_A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Jj84lM9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="__uLGkPNGEeCovO8AYZymZQ" target="_Jj84kM9XEeWyEP66wtWG_A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Jj84lc9XEeWyEP66wtWG_A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jj84mc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#__uJRYPNGEeCovO8AYZymZQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Jj84ls9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jj84l89XEeWyEP66wtWG_A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jj84mM9XEeWyEP66wtWG_A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_JkMwNM9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_KNC08PQSEeCovO8AYZymZQ" target="_JkMwMM9XEeWyEP66wtWG_A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_JkMwNc9XEeWyEP66wtWG_A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JkMwOc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_rSCxUAytEd6it_RkGhz_AA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JkMwNs9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JkMwN89XEeWyEP66wtWG_A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JkMwOM9XEeWyEP66wtWG_A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_JkbZtM9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_vzOfsEN9EeGfhclnRyNzoA" target="_JkbZsM9XEeWyEP66wtWG_A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_JkbZtc9XEeWyEP66wtWG_A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JkbZuc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_MhH6cENxEeGoAtSeIK7WLg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JkbZts9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JkbZt89XEeWyEP66wtWG_A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JkbZuM9XEeWyEP66wtWG_A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_JktGhM9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_7XPQEENqEeGoAtSeIK7WLg" target="_JktGgM9XEeWyEP66wtWG_A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_JktGhc9XEeWyEP66wtWG_A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JktGic9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JktGhs9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JktGh89XEeWyEP66wtWG_A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JktGiM9XEeWyEP66wtWG_A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Jk7I-s9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_-nzo8ENqEeGoAtSeIK7WLg" target="_Jk7I9s9XEeWyEP66wtWG_A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Jk7I-89XEeWyEP66wtWG_A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jk7wAM9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_-nk_cENqEeGoAtSeIK7WLg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Jk7I_M9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jk7I_c9XEeWyEP66wtWG_A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jk7I_s9XEeWyEP66wtWG_A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_JlLnqs9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_zeMyEEN8EeGfhclnRyNzoA" target="_JlLnps9XEeWyEP66wtWG_A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_JlLnq89XEeWyEP66wtWG_A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JlMOss9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_9gIc8ENvEeGoAtSeIK7WLg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JlLnrM9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JlMOsM9XEeWyEP66wtWG_A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JlMOsc9XEeWyEP66wtWG_A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Jla4NM9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_zePOUEN8EeGfhclnRyNzoA" target="_Jla4MM9XEeWyEP66wtWG_A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Jla4Nc9XEeWyEP66wtWG_A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jla4Oc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Jla4Ns9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jla4N89XEeWyEP66wtWG_A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jla4OM9XEeWyEP66wtWG_A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_JlslBM9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_LIMnYENrEeGoAtSeIK7WLg" target="_JlslAM9XEeWyEP66wtWG_A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_JlslBc9XEeWyEP66wtWG_A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JlslCc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JlslBs9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JlslB89XEeWyEP66wtWG_A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JlslCM9XEeWyEP66wtWG_A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Jl4ySs9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_i742UEN8EeGfhclnRyNzoA" target="_Jl4yRs9XEeWyEP66wtWG_A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Jl4yS89XEeWyEP66wtWG_A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jl4yT89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_i5SOQEN8EeGfhclnRyNzoA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Jl4yTM9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jl4yTc9XEeWyEP66wtWG_A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jl4yTs9XEeWyEP66wtWG_A"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_cVCGYPNUEeCovO8AYZymZQ" type="PapyrusUMLClassDiagram" name="Class: Marshalling" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_jQk8MPNUEeCovO8AYZymZQ" type="2006" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQljQPNUEeCovO8AYZymZQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQljQfNUEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQljQvNUEeCovO8AYZymZQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQljQ_NUEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQljRPNUEeCovO8AYZymZQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQljRfNUEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_jQmKUPNUEeCovO8AYZymZQ" type="5023"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jQmKUfNUEeCovO8AYZymZQ" type="7015">
+        <children xmi:type="notation:Shape" xmi:id="_jv7KoPNUEeCovO8AYZymZQ" type="3017" fontName="Sans Serif" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="componentlib.uml#_jv4uYPNUEeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jv7KofNUEeCovO8AYZymZQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kuE08PNUEeCovO8AYZymZQ" type="3017" fontName="Sans Serif" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="componentlib.uml#_kuDm0PNUEeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kuE08fNUEeCovO8AYZymZQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ljFxYPNUEeCovO8AYZymZQ" type="3017" fontName="Sans Serif" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="componentlib.uml#_ljD8MPNUEeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ljFxYfNUEeCovO8AYZymZQ"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_jQmKUvNUEeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jQmKU_NUEeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jQmKVPNUEeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jQmKVfNUEeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kcbRoFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kcbRoVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kcbRoly8EeOwKfaVRwV11Q"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="componentlib.uml#_jQjHAPNUEeCovO8AYZymZQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jQk8MfNUEeCovO8AYZymZQ" x="387" y="83"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_SPPn0FjnEeKaM_PspnG53g" type="2008" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SPRdAFjnEeKaM_PspnG53g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SPSEEFjnEeKaM_PspnG53g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SPSEEVjnEeKaM_PspnG53g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SPSEEljnEeKaM_PspnG53g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SPSEE1jnEeKaM_PspnG53g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SPSEFFjnEeKaM_PspnG53g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_SPSEFVjnEeKaM_PspnG53g" type="5029"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_SPSrIFjnEeKaM_PspnG53g" type="7017">
+        <children xmi:type="notation:Shape" xmi:id="_USG3cFjnEeKaM_PspnG53g" type="3012" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d1EbcFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eOY6YFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="componentlib.uml#_YKtbAPNUEeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_USG3cVjnEeKaM_PspnG53g"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_USHegFjnEeKaM_PspnG53g" type="3012" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d1FCgFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eOaIgFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="componentlib.uml#_gQGNwPNUEeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_USHegVjnEeKaM_PspnG53g"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_USIFkFjnEeKaM_PspnG53g" type="3012" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d1FCgljnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eOavkFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="componentlib.uml#_-_HCMBI0EeGU49ezpRnvLg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_USIFkVjnEeKaM_PspnG53g"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_USIsoFjnEeKaM_PspnG53g" type="3012" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ffmDkFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ffmDkVjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="60"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="componentlib.uml#_qzHgkPNUEeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_USIsoVjnEeKaM_PspnG53g"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_SPSrIVjnEeKaM_PspnG53g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_SPSrIljnEeKaM_PspnG53g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_SPSrI1jnEeKaM_PspnG53g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SPSrJFjnEeKaM_PspnG53g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_SPSrJVjnEeKaM_PspnG53g" visible="false" type="7018">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_SPSrJljnEeKaM_PspnG53g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_SPSrJ1jnEeKaM_PspnG53g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_SPSrKFjnEeKaM_PspnG53g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SPSrKVjnEeKaM_PspnG53g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_SPSrKljnEeKaM_PspnG53g" visible="false" type="7019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_SPSrK1jnEeKaM_PspnG53g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_SPSrLFjnEeKaM_PspnG53g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_SPSrLVjnEeKaM_PspnG53g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SPSrLljnEeKaM_PspnG53g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kccfwFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kccfwVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kccfwly8EeOwKfaVRwV11Q"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_WkkjoPNUEeCovO8AYZymZQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SPPn0VjnEeKaM_PspnG53g" x="130" y="78"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_cVCGYfNUEeCovO8AYZymZQ"/>
+    <element xmi:type="uml:Package" href="componentlib.uml#_gKMTIAytEd6it_RkGhz_AA"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_g6Yg0CnOEeGxrprK9wB9iA" type="CompositeStructure" name="Service configuration" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_hvsYMCnOEeGxrprK9wB9iA" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hvs_QCnOEeGxrprK9wB9iA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hvtmUCnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hvtmUSnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hvtmUinOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hvtmUynOEeGxrprK9wB9iA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hvtmVCnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_hvtmVSnOEeGxrprK9wB9iA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hvuNYCnOEeGxrprK9wB9iA" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_j5-ecCnOEeGxrprK9wB9iA" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_j5_FgCnOEeGxrprK9wB9iA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_j5_FgSnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_j5_FginOEeGxrprK9wB9iA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_j5_FgynOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_j5_FhCnOEeGxrprK9wB9iA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_j5_FhSnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_j5_FhinOEeGxrprK9wB9iA" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eASCYFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eBKMIFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_j5_skCnOEeGxrprK9wB9iA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_j5_skSnOEeGxrprK9wB9iA" showTitle="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_j5_skinOEeGxrprK9wB9iA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kNDY4Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kNDY4Vy8EeOwKfaVRwV11Q" showTitle="true"/>
+            <element xmi:type="FCM:ConfigurationProperty" href="componentlib.uml#_s0fGMMGJEd-Mveea1W_olA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNDY4ly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kNDY41y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kNDY5Fy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNDY5Vy8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_90xUEguXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_90xUEwuXEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="componentlib.uml#_rVfYoMGJEd-Mveea1W_olA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_j5-ecSnOEeGxrprK9wB9iA" x="10" y="10" width="131"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_lEz54CnOEeGxrprK9wB9iA" type="Comment_Shape_CN" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lEz54inOEeGxrprK9wB9iA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lE0g8CnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lE0g8SnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lE0g8inOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lE0g8ynOEeGxrprK9wB9iA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lE0g9CnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_lE0g9SnOEeGxrprK9wB9iA" type="Comment_BodyLabel_CN"/>
+          <element xmi:type="uml:Comment" href="componentlib.uml#_lCtoICnOEeGxrprK9wB9iA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEz54SnOEeGxrprK9wB9iA" x="201" y="10" width="291" height="64"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_93ep0AuXEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_93ep0QuXEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_93ep0wuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Property" href="componentlib.uml#_rVfYoMGJEd-Mveea1W_olA"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_93ep0guXEeWXe7AeBUbqvw" x="210" y="10"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hvuNYSnOEeGxrprK9wB9iA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hvuNYinOEeGxrprK9wB9iA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kNBjsFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kNBjsVy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="C_Cpp:Include" href="componentlib.uml#_Q7TVYBJcEd-QgZm_R1AKbA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNBjsly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kNBjs1y8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kNBjtFy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="SW_Concurrency:SwSchedulableResource" href="componentlib.uml#_42YPYBn3EeONpa5JgejICQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNBjtVy8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kNBjtly8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kNBjt1y8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNBjuFy8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_90xUEAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_90xUEQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hvsYMSnOEeGxrprK9wB9iA" x="62" y="64" width="524" height="166"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_t6v_0CnOEeGxrprK9wB9iA" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6wm4CnOEeGxrprK9wB9iA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6wm4SnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6wm4inOEeGxrprK9wB9iA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6wm4ynOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6xN8CnOEeGxrprK9wB9iA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6xN8SnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_t6xN8inOEeGxrprK9wB9iA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_t6xN8ynOEeGxrprK9wB9iA" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_vBLcYCnOEeGxrprK9wB9iA" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBMDcCnOEeGxrprK9wB9iA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vBMqgCnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBMqgSnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vBNRkCnOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBNRkSnOEeGxrprK9wB9iA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vBNRkinOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_vBNRkynOEeGxrprK9wB9iA" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_chkosFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_co8cAFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_vBNRlCnOEeGxrprK9wB9iA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_vBNRlSnOEeGxrprK9wB9iA" showTitle="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vBNRlinOEeGxrprK9wB9iA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kNF1IFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kNF1IVy8EeOwKfaVRwV11Q" showTitle="true"/>
+            <element xmi:type="FCM:ConfigurationProperty" href="componentlib.uml#_zVumMCjbEeGFbebITJYb9g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNF1Ily8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kNF1I1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kNF1JFy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNF1JVy8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_90xUFguXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_90xUFwuXEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="componentlib.uml#_tmNeoCjbEeGFbebITJYb9g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vBLcYSnOEeGxrprK9wB9iA" x="10" y="10" width="173"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_zNMJ0CnOEeGxrprK9wB9iA" type="Comment_Shape_CN" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zNMw4SnOEeGxrprK9wB9iA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zNMw4inOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zNNX8CnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zNNX8SnOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zNNX8inOEeGxrprK9wB9iA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zNNX8ynOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_zNNX9CnOEeGxrprK9wB9iA" type="Comment_BodyLabel_CN"/>
+          <element xmi:type="uml:Comment" href="componentlib.uml#_zLeSkCnOEeGxrprK9wB9iA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zNMw4CnOEeGxrprK9wB9iA" x="219" y="15" width="270"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_93q3EAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_93q3EQuXEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_93q3EwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Property" href="componentlib.uml#_tmNeoCjbEeGFbebITJYb9g"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_93q3EguXEeWXe7AeBUbqvw" x="210" y="10"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_t6xN9CnOEeGxrprK9wB9iA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t6xN9SnOEeGxrprK9wB9iA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kNEnAFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kNEnAVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNEnAly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_90xUFAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_90xUFQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_9V8OQCjYEeGFbebITJYb9g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t6v_0SnOEeGxrprK9wB9iA" x="65" y="245" width="521" height="172"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_93Lu4AuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_93Lu4QuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_93Lu4wuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_93Lu4guXEeWXe7AeBUbqvw" x="262" y="64"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9312MAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9312MQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9312MwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://DML_CORE/osal.uml#_ETakYDj8Edy0Rd6V_tf1-Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9312MguXEeWXe7AeBUbqvw" x="852" y="261"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_UbFuAGqWEea45IDGiU87rA" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_UbGVEGqWEea45IDGiU87rA" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_UbGVEWqWEea45IDGiU87rA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_UbGVEmqWEea45IDGiU87rA" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_UbG8IGqWEea45IDGiU87rA" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_UbG8IWqWEea45IDGiU87rA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UbG8ImqWEea45IDGiU87rA"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml#_ETakYDj8Edy0Rd6V_tf1-Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UbFuAWqWEea45IDGiU87rA" x="653" y="334" width="90"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_UcnYA2qWEea45IDGiU87rA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_UcnYBGqWEea45IDGiU87rA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Ucn_EGqWEea45IDGiU87rA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml#_ETakYDj8Edy0Rd6V_tf1-Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UcnYBWqWEea45IDGiU87rA" x="200"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_g6Yg0SnOEeGxrprK9wB9iA"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_90x7IguXEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="componentlib.uml#_xtlE8ARAEd--t-uhRn9OBA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_mp1-ACnOEeGxrprK9wB9iA" type="Comment_AnnotatedElementEdge" source="_lEz54CnOEeGxrprK9wB9iA" target="_j5-ecCnOEeGxrprK9wB9iA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_mp1-ASnOEeGxrprK9wB9iA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mp1-AinOEeGxrprK9wB9iA" points="[-50, -4, 105, 6]$[-136, -16, 19, -6]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e4-FsMTgEeWfEYAFL-UFuw" id="(0.0,0.14432989690721648)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mthkICnOEeGxrprK9wB9iA" id="(0.8137254901960784,0.3559322033898305)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_0Tj8ACnOEeGxrprK9wB9iA" type="Comment_AnnotatedElementEdge" source="_zNMJ0CnOEeGxrprK9wB9iA" target="_vBLcYCnOEeGxrprK9wB9iA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_0Tj8ASnOEeGxrprK9wB9iA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0Tj8AinOEeGxrprK9wB9iA" points="[-20, -6, 63, 16]$[-56, -25, 27, -3]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0V4QMCnOEeGxrprK9wB9iA" id="(0.0,0.05263157894736842)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0V4QMSnOEeGxrprK9wB9iA" id="(0.8439306358381503,0.35)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_93Lu5AuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_hvsYMCnOEeGxrprK9wB9iA" target="_93Lu4AuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_93Lu5QuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_93Lu6QuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_93Lu5guXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_93Lu5wuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_93Lu6AuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_93ep1AuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_j5-ecCnOEeGxrprK9wB9iA" target="_93ep0AuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_93ep1QuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_93fQ4guXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Property" href="componentlib.uml#_rVfYoMGJEd-Mveea1W_olA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_93ep1guXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_93fQ4AuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_93fQ4QuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_93q3FAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_vBLcYCnOEeGxrprK9wB9iA" target="_93q3EAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_93q3FQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_93q3GQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Property" href="componentlib.uml#_tmNeoCjbEeGFbebITJYb9g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_93q3FguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_93q3FwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_93q3GAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Ucn_EWqWEea45IDGiU87rA" type="StereotypeCommentLink" source="_UbFuAGqWEea45IDGiU87rA" target="_UcnYA2qWEea45IDGiU87rA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Ucn_EmqWEea45IDGiU87rA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Ucn_FmqWEea45IDGiU87rA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml#_ETakYDj8Edy0Rd6V_tf1-Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ucn_E2qWEea45IDGiU87rA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ucn_FGqWEea45IDGiU87rA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ucn_FWqWEea45IDGiU87rA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_UdT7kGqWEea45IDGiU87rA" type="Dependency_Edge" source="_t6v_0CnOEeGxrprK9wB9iA" target="_UbFuAGqWEea45IDGiU87rA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_UdT7k2qWEea45IDGiU87rA" visible="false" type="Dependency_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_U6u3YGqWEea45IDGiU87rA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_UdUioGqWEea45IDGiU87rA" y="39"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_UdUioWqWEea45IDGiU87rA" type="Dependency_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_U7pdYGqWEea45IDGiU87rA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_UdUiomqWEea45IDGiU87rA" x="1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_UdT7kWqWEea45IDGiU87rA"/>
+      <element xmi:type="uml:Dependency" href="componentlib.uml#_SXkHQCo0EeGxrprK9wB9iA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UdT7kmqWEea45IDGiU87rA" points="[240, 245, -643984, -643984]$[0, 0, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U8B34GqWEea45IDGiU87rA" id="(1.0,0.6395348837209303)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U8B34WqWEea45IDGiU87rA" id="(0.0,0.3442622950819672)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_OhgzgD8AEeGJ6KSvhYhYuQ" type="CompositeStructure" name="CallActivation" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_SgFh4D8AEeGJ6KSvhYhYuQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SgGI8D8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SgGI8T8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SgGI8j8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SgGI8z8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SgGI9D8AEeGJ6KSvhYhYuQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SgGI9T8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_SgGI9j8AEeGJ6KSvhYhYuQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_SgGI9z8AEeGJ6KSvhYhYuQ" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_SgGI-D8AEeGJ6KSvhYhYuQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SgGI-T8AEeGJ6KSvhYhYuQ"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_dcQ7kD8AEeGJ6KSvhYhYuQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcSJsD8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcSJsT8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcSJsj8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcSJsz8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcSJtD8AEeGJ6KSvhYhYuQ" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcSJtT8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_dcSJtj8AEeGJ6KSvhYhYuQ" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kA0sEFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nFWNAFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dcSwwD8AEeGJ6KSvhYhYuQ" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_dcSwwT8AEeGJ6KSvhYhYuQ" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dcSwwj8AEeGJ6KSvhYhYuQ" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dcRioD8AEeGJ6KSvhYhYuQ" x="-10" y="23"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_dcSwwz8AEeGJ6KSvhYhYuQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcTX0D8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcTX0T8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcTX0j8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcTX0z8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcTX1D8AEeGJ6KSvhYhYuQ" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcTX1T8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_dcTX1j8AEeGJ6KSvhYhYuQ" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kq-cUFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nqWXgFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dcTX1z8AEeGJ6KSvhYhYuQ" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_dcTX2D8AEeGJ6KSvhYhYuQ" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dcTX2T8AEeGJ6KSvhYhYuQ" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dcSwxD8AEeGJ6KSvhYhYuQ" x="360" y="23"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kaQHYFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kaQHYVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kaQHYly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mmeaUMp6EeWZ7LDc4RWI6w" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mmeaUcp6EeWZ7LDc4RWI6w" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_e6Y_EChYEd-eoo60eNyGlg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SgFh4T8AEeGJ6KSvhYhYuQ" x="117" y="99" width="370"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_S-NoUD8AEeGJ6KSvhYhYuQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S-OPYD8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S-OPYT8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S-OPYj8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S-OPYz8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S-OPZD8AEeGJ6KSvhYhYuQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S-OPZT8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_S-O2cD8AEeGJ6KSvhYhYuQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_S-O2cT8AEeGJ6KSvhYhYuQ" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_S-O2cj8AEeGJ6KSvhYhYuQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S-O2cz8AEeGJ6KSvhYhYuQ"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_1JUC4D8EEeGJ6KSvhYhYuQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JUp8D8EEeGJ6KSvhYhYuQ" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JUp8T8EEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JUp8j8EEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JUp8z8EEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JVRAD8EEeGJ6KSvhYhYuQ" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JVRAT8EEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_1JVRAj8EEeGJ6KSvhYhYuQ" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l3gg4FbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mBsXoFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JVRAz8EEeGJ6KSvhYhYuQ" x="27" y="18"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_1JVRBD8EEeGJ6KSvhYhYuQ" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JVRBT8EEeGJ6KSvhYhYuQ" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_N0tB4Cu4Ed-uZPFNCty7PQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1JUC4T8EEeGJ6KSvhYhYuQ" x="45" y="63"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_1JVRBj8EEeGJ6KSvhYhYuQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JV4ED8EEeGJ6KSvhYhYuQ" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JV4ET8EEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JV4Ej8EEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JV4Ez8EEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JV4FD8EEeGJ6KSvhYhYuQ" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JV4FT8EEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_1JV4Fj8EEeGJ6KSvhYhYuQ" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lQgyUFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lXdH0FbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JV4Fz8EEeGJ6KSvhYhYuQ" x="27" y="27"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_1JWfID8EEeGJ6KSvhYhYuQ" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JWfIT8EEeGJ6KSvhYhYuQ" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1JVRBz8EEeGJ6KSvhYhYuQ" x="99" y="27"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_1JWfIj8EEeGJ6KSvhYhYuQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JXGMD8EEeGJ6KSvhYhYuQ" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JXGMT8EEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JXGMj8EEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JXGMz8EEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JXtQD8EEeGJ6KSvhYhYuQ" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JXtQT8EEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_1JXtQj8EEeGJ6KSvhYhYuQ" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jaFcMFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mifXkFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JXtQz8EEeGJ6KSvhYhYuQ" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_1JXtRD8EEeGJ6KSvhYhYuQ" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JXtRT8EEeGJ6KSvhYhYuQ" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1JWfIz8EEeGJ6KSvhYhYuQ" x="-10" y="27"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kaTKsFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kaTKsVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kaTKsly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mmeaUsp6EeWZ7LDc4RWI6w" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mmeaU8p6EeWZ7LDc4RWI6w" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_qgzokChYEd-eoo60eNyGlg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S-NoUT8AEeGJ6KSvhYhYuQ" x="117" y="189" width="109" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_TeWg8D8AEeGJ6KSvhYhYuQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TeWg8j8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TeXIAD8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TeXIAT8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TeXIAj8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TeXIAz8AEeGJ6KSvhYhYuQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TeXIBD8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_TeXIBT8AEeGJ6KSvhYhYuQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_TeXIBj8AEeGJ6KSvhYhYuQ" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_TeXIBz8AEeGJ6KSvhYhYuQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TeXICD8AEeGJ6KSvhYhYuQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kaVm8Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kaVm8Vy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kaVm8ly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mmeaVMp6EeWZ7LDc4RWI6w" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mmeaVcp6EeWZ7LDc4RWI6w" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_2wMyEChiEd-eoo60eNyGlg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TeWg8T8AEeGJ6KSvhYhYuQ" x="252" y="189"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_T7ZpUD8AEeGJ6KSvhYhYuQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T7aQYD8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_T7aQYT8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T7aQYj8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_T7aQYz8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T7aQZD8AEeGJ6KSvhYhYuQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_T7aQZT8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_T7aQZj8AEeGJ6KSvhYhYuQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_T7aQZz8AEeGJ6KSvhYhYuQ" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_T7aQaD8AEeGJ6KSvhYhYuQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T7aQaT8AEeGJ6KSvhYhYuQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kaW1EFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kaW1EVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kaW1Ely8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mmeaVsp6EeWZ7LDc4RWI6w" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mmeaV8p6EeWZ7LDc4RWI6w" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_6rmQoChiEd-eoo60eNyGlg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T7ZpUT8AEeGJ6KSvhYhYuQ" x="387" y="189" width="95"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gXAOYD8AEeGJ6KSvhYhYuQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gXA1cD8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gXA1cT8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gXA1cj8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gXA1cz8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gXA1dD8AEeGJ6KSvhYhYuQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gXA1dT8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_gXA1dj8AEeGJ6KSvhYhYuQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gXBcgD8AEeGJ6KSvhYhYuQ" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gXBcgT8AEeGJ6KSvhYhYuQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gXBcgj8AEeGJ6KSvhYhYuQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kaXcIFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kaXcIVy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:InteractionComponent" href="componentlib.uml#_s8OWIFR1Ed6GqrP6fkWBoQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kaXcIly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kaYDMFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kaYDMVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kaYDMly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mmeaWMp6EeWZ7LDc4RWI6w" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mmeaWcp6EeWZ7LDc4RWI6w" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_KxQBELuXEd2TTr3gJIvazw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gXAOYT8AEeGJ6KSvhYhYuQ" x="117" y="18" width="370"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_aCZK0D8CEeGJ6KSvhYhYuQ" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aCZx4D8CEeGJ6KSvhYhYuQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aCZx4T8CEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aCZx4j8CEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aCZx4z8CEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aCZx5D8CEeGJ6KSvhYhYuQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aCZx5T8CEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_aCZx5j8CEeGJ6KSvhYhYuQ" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="componentlib.uml#_aAH58D8CEeGJ6KSvhYhYuQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aCZK0T8CEeGJ6KSvhYhYuQ" x="72" y="297" width="336" height="91"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_jQ_BUD8CEeGJ6KSvhYhYuQ" type="Enumeration_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQ_BUj8CEeGJ6KSvhYhYuQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQ_BUz8CEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQ_oYD8CEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQ_oYT8CEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQ_oYj8CEeGJ6KSvhYhYuQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQ_oYz8CEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_jQ_oZD8CEeGJ6KSvhYhYuQ" type="Enumeration_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jQ_oZT8CEeGJ6KSvhYhYuQ" type="Enumeration_LiteralCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_XhHrcD8DEeGJ6KSvhYhYuQ" type="EnumerationLiteral_LiteralLabel" fontName="" fontHeight="10" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="componentlib.uml#_mzqd4D8CEeGJ6KSvhYhYuQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XhHrcT8DEeGJ6KSvhYhYuQ" x="63"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XhjwUD8DEeGJ6KSvhYhYuQ" type="EnumerationLiteral_LiteralLabel" fontName="" fontHeight="10" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="componentlib.uml#_qdIe8D8CEeGJ6KSvhYhYuQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XhjwUT8DEeGJ6KSvhYhYuQ" x="63"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XiAcQD8DEeGJ6KSvhYhYuQ" type="EnumerationLiteral_LiteralLabel" fontName="" fontHeight="10" lineColor="0">
+          <element xmi:type="uml:EnumerationLiteral" href="componentlib.uml#_rOMvgD8CEeGJ6KSvhYhYuQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XiAcQT8DEeGJ6KSvhYhYuQ" x="63"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_jQ_oZj8CEeGJ6KSvhYhYuQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jQ_oZz8CEeGJ6KSvhYhYuQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jQ_oaD8CEeGJ6KSvhYhYuQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jQ_oaT8CEeGJ6KSvhYhYuQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kaZRUFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kaZRUVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kaZRUly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mmeaWsp6EeWZ7LDc4RWI6w" type="Enumeration_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mmeaW8p6EeWZ7LDc4RWI6w" y="5"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="componentlib.uml#_hcwDkD8CEeGJ6KSvhYhYuQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jQ_BUT8CEeGJ6KSvhYhYuQ" x="441" y="261" width="164"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_mpJ64Mp6EeWZ7LDc4RWI6w" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_mpJ64cp6EeWZ7LDc4RWI6w" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mpJ648p6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mpJ64sp6EeWZ7LDc4RWI6w" x="190" y="23"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_mpfSEMp6EeWZ7LDc4RWI6w" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_mpfSEcp6EeWZ7LDc4RWI6w" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mpfSE8p6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mpfSEsp6EeWZ7LDc4RWI6w" x="560" y="23"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_mpvwwMp6EeWZ7LDc4RWI6w" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_mpvwwcp6EeWZ7LDc4RWI6w" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mpvww8p6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_N0tB4Cu4Ed-uZPFNCty7PQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mpvwwsp6EeWZ7LDc4RWI6w" x="245" y="63"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_mp-aQMp6EeWZ7LDc4RWI6w" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_mp-aQcp6EeWZ7LDc4RWI6w" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mp-aQ8p6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mp-aQsp6EeWZ7LDc4RWI6w" x="299" y="27"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_mqNq0Mp6EeWZ7LDc4RWI6w" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_mqNq0cp6EeWZ7LDc4RWI6w" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mqOR4Mp6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mqNq0sp6EeWZ7LDc4RWI6w" x="190" y="27"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_mqhz4Mp6EeWZ7LDc4RWI6w" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_mqhz4cp6EeWZ7LDc4RWI6w" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mqhz48p6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_KxQBELuXEd2TTr3gJIvazw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mqhz4sp6EeWZ7LDc4RWI6w" x="317" y="18"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_OhgzgT8AEeGJ6KSvhYhYuQ"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_mmfBYMp6EeWZ7LDc4RWI6w" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="componentlib.uml#_aQ7goChYEd-eoo60eNyGlg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_WFrvkD8AEeGJ6KSvhYhYuQ" type="Generalization_Edge" source="_S-NoUD8AEeGJ6KSvhYhYuQ" target="_SgFh4D8AEeGJ6KSvhYhYuQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_WFtkwD8AEeGJ6KSvhYhYuQ" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_WFuL0D8AEeGJ6KSvhYhYuQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_WFrvkT8AEeGJ6KSvhYhYuQ" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_sW6OkChYEd-eoo60eNyGlg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WFrvkj8AEeGJ6KSvhYhYuQ" points="[-8, -29, 27, 101]$[-27, -100, 8, 30]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tiKoID8AEeGJ6KSvhYhYuQ" id="(0.15135135135135136,0.8813559322033898)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XN1DYD8AEeGJ6KSvhYhYuQ" type="Generalization_Edge" source="_TeWg8D8AEeGJ6KSvhYhYuQ" target="_SgFh4D8AEeGJ6KSvhYhYuQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_XN1qcD8AEeGJ6KSvhYhYuQ" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XN1qcT8AEeGJ6KSvhYhYuQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_XN1DYT8AEeGJ6KSvhYhYuQ" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_5AKpkChiEd-eoo60eNyGlg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XN1DYj8AEeGJ6KSvhYhYuQ" points="[-7, -29, 37, 186]$[-38, -185, 6, 30]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_YLQU8D8AEeGJ6KSvhYhYuQ" type="Generalization_Edge" source="_T7ZpUD8AEeGJ6KSvhYhYuQ" target="_SgFh4D8AEeGJ6KSvhYhYuQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_YLQ8AD8AEeGJ6KSvhYhYuQ" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YLQ8AT8AEeGJ6KSvhYhYuQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_YLQU8T8AEeGJ6KSvhYhYuQ" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_892AEChiEd-eoo60eNyGlg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YLQU8j8AEeGJ6KSvhYhYuQ" points="[-2, -29, 15, 281]$[-16, -280, 1, 30]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vL-ekD8AEeGJ6KSvhYhYuQ" id="(0.8729729729729729,0.8983050847457628)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_gXiZ4D8AEeGJ6KSvhYhYuQ" type="Generalization_Edge" source="_SgFh4D8AEeGJ6KSvhYhYuQ" target="_gXAOYD8AEeGJ6KSvhYhYuQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gXjA8D8AEeGJ6KSvhYhYuQ" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gXjA8T8AEeGJ6KSvhYhYuQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_gXiZ4T8AEeGJ6KSvhYhYuQ" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_oJX3IChYEd-eoo60eNyGlg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gXiZ4j8AEeGJ6KSvhYhYuQ" points="[-103, -29, 202, 58]$[-305, -87, 0, 0]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mpJ65Mp6EeWZ7LDc4RWI6w" type="StereotypeCommentLink" source="_dcQ7kD8AEeGJ6KSvhYhYuQ" target="_mpJ64Mp6EeWZ7LDc4RWI6w">
+      <styles xmi:type="notation:FontStyle" xmi:id="_mpJ65cp6EeWZ7LDc4RWI6w"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mpJ66cp6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mpJ65sp6EeWZ7LDc4RWI6w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mpJ658p6EeWZ7LDc4RWI6w"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mpJ66Mp6EeWZ7LDc4RWI6w"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mpfSFMp6EeWZ7LDc4RWI6w" type="StereotypeCommentLink" source="_dcSwwz8AEeGJ6KSvhYhYuQ" target="_mpfSEMp6EeWZ7LDc4RWI6w">
+      <styles xmi:type="notation:FontStyle" xmi:id="_mpfSFcp6EeWZ7LDc4RWI6w"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mpfSGcp6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mpfSFsp6EeWZ7LDc4RWI6w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mpfSF8p6EeWZ7LDc4RWI6w"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mpfSGMp6EeWZ7LDc4RWI6w"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mpvwxMp6EeWZ7LDc4RWI6w" type="StereotypeCommentLink" source="_1JUC4D8EEeGJ6KSvhYhYuQ" target="_mpvwwMp6EeWZ7LDc4RWI6w">
+      <styles xmi:type="notation:FontStyle" xmi:id="_mpvwxcp6EeWZ7LDc4RWI6w"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mpvwycp6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_N0tB4Cu4Ed-uZPFNCty7PQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mpvwxsp6EeWZ7LDc4RWI6w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mpvwx8p6EeWZ7LDc4RWI6w"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mpvwyMp6EeWZ7LDc4RWI6w"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mp-aRMp6EeWZ7LDc4RWI6w" type="StereotypeCommentLink" source="_1JVRBj8EEeGJ6KSvhYhYuQ" target="_mp-aQMp6EeWZ7LDc4RWI6w">
+      <styles xmi:type="notation:FontStyle" xmi:id="_mp-aRcp6EeWZ7LDc4RWI6w"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mp_BUMp6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mp-aRsp6EeWZ7LDc4RWI6w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mp-aR8p6EeWZ7LDc4RWI6w"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mp-aSMp6EeWZ7LDc4RWI6w"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mqOR4cp6EeWZ7LDc4RWI6w" type="StereotypeCommentLink" source="_1JWfIj8EEeGJ6KSvhYhYuQ" target="_mqNq0Mp6EeWZ7LDc4RWI6w">
+      <styles xmi:type="notation:FontStyle" xmi:id="_mqOR4sp6EeWZ7LDc4RWI6w"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mqOR5sp6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mqOR48p6EeWZ7LDc4RWI6w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mqOR5Mp6EeWZ7LDc4RWI6w"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mqOR5cp6EeWZ7LDc4RWI6w"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mqhz5Mp6EeWZ7LDc4RWI6w" type="StereotypeCommentLink" source="_gXAOYD8AEeGJ6KSvhYhYuQ" target="_mqhz4Mp6EeWZ7LDc4RWI6w">
+      <styles xmi:type="notation:FontStyle" xmi:id="_mqhz5cp6EeWZ7LDc4RWI6w"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mqhz6cp6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_KxQBELuXEd2TTr3gJIvazw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mqhz5sp6EeWZ7LDc4RWI6w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mqhz58p6EeWZ7LDc4RWI6w"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mqhz6Mp6EeWZ7LDc4RWI6w"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_DfG8kF7qEeGEmrrwB1vhPg" type="CompositeStructure" name="CompositeDiagram CallMultiplier" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_EYv6UF7qEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EYwhYF7qEeGEmrrwB1vhPg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EYwhYV7qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EYwhYl7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EYwhY17qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EYwhZF7qEeGEmrrwB1vhPg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EYwhZV7qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_c85eMF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c86FQF7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c86FQV7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c86FQl7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c9de4F7tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c9de4V7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_EYwhZl7qEeGEmrrwB1vhPg" type="5156"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_EYwhZ17qEeGEmrrwB1vhPg" type="7073">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_EYwhaF7qEeGEmrrwB1vhPg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EYwhaV7qEeGEmrrwB1vhPg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_khqW8Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_khqW8Vy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:InteractionComponent" href="componentlib.uml#_s8OWIFR1Ed6GqrP6fkWBoQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_khqW8ly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_khqW81y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_khqW9Fy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_khqW9Vy8EeOwKfaVRwV11Q"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_KxQBELuXEd2TTr3gJIvazw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EYv6UV7qEeGEmrrwB1vhPg" x="135" y="72" width="154" height="64"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_FWtXYF7qEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FWtXYl7qEeGEmrrwB1vhPg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FWtXY17qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FWt-cF7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FWt-cV7qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FWt-cl7qEeGEmrrwB1vhPg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FWt-c17qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XrOJMF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwQF7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwQV7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwQl7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwQ17tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwRF7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_FWt-dF7qEeGEmrrwB1vhPg" type="5156"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_FWt-dV7qEeGEmrrwB1vhPg" type="7073">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_FWt-dl7qEeGEmrrwB1vhPg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FWt-d17qEeGEmrrwB1vhPg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_udKFYF7sEeGEmrrwB1vhPg" type="3069" fontName="Arial" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udKFYl7sEeGEmrrwB1vhPg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udKFY17sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udKscF7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udKscV7sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udKscl7sEeGEmrrwB1vhPg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udKsc17sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_66tLMF7sEeGEmrrwB1vhPg" source="Stereotype_Annotation">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-FcF7sEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-FcV7sEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-Fcl7sEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-Fc17sEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-FdF7sEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_udKsdF7sEeGEmrrwB1vhPg" type="5125">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fcEHcFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PQ7DkFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_udKsdV7sEeGEmrrwB1vhPg" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_udKsdl7sEeGEmrrwB1vhPg" type="6029">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_udKsd17sEeGEmrrwB1vhPg" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_udKFYV7sEeGEmrrwB1vhPg" x="-10" y="36"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_udLTgF7sEeGEmrrwB1vhPg" type="3069" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udLTgl7sEeGEmrrwB1vhPg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udLTg17sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udLThF7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udLThV7sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udL6kF7sEeGEmrrwB1vhPg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udL6kV7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3KisQF7sEeGEmrrwB1vhPg" source="Stereotype_Annotation">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gixcF7sEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gjYgF7sEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gjYgV7sEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gjYgl7sEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gjYg17sEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_udL6kl7sEeGEmrrwB1vhPg" type="5125">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_f-9ZIFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_f-9ZIVbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="30"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_udL6k17sEeGEmrrwB1vhPg" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_udL6lF7sEeGEmrrwB1vhPg" type="6029">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_udL6lV7sEeGEmrrwB1vhPg" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_udLTgV7sEeGEmrrwB1vhPg" x="144" y="36"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_khrlEFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_khrlEVy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:InteractionComponent" href="componentlib.uml#_efp4QClzEd-eoo60eNyGlg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_khrlEly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_khrlE1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_khrlFFy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_khrlFVy8EeOwKfaVRwV11Q"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_Whe8EClYEd-eoo60eNyGlg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FWtXYV7qEeGEmrrwB1vhPg" x="135" y="198" width="154" height="64"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_b3o7wF7sEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b3pi0F7sEeGEmrrwB1vhPg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b3pi0V7sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b3pi0l7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b3pi017sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b3pi1F7sEeGEmrrwB1vhPg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b3pi1V7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bkoqwF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqwV7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqwl7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqw17tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqxF7tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqxV7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_b3pi1l7sEeGEmrrwB1vhPg" type="5156"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_b3pi117sEeGEmrrwB1vhPg" type="7073">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z3t18F7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udAF7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udAV7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udAl7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udA17tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udBF7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
+        </eAnnotations>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_b3pi2F7sEeGEmrrwB1vhPg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b3pi2V7sEeGEmrrwB1vhPg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_khtaQFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_khtaQVy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:InteractionComponent" href="componentlib.uml#_Z3Zs4F7tEeGEmrrwB1vhPg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_khtaQly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_khuBUFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_khuBUVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_khuBUly8EeOwKfaVRwV11Q"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_TLShkF7qEeGEmrrwB1vhPg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b3o7wV7sEeGEmrrwB1vhPg" x="423" y="71" width="154" height="65"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ck0K0F7sEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ck0x4F7sEeGEmrrwB1vhPg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ck0x4V7sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ck0x4l7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ck0x417sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ck0x5F7sEeGEmrrwB1vhPg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ck0x5V7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UBwvMF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBwvMV7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBxWQF7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBxWQV7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBxWQl7tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBxWQ17tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ck0x5l7sEeGEmrrwB1vhPg" type="5156">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VCInEF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgMF7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgMV7tEeGEmrrwB1vhPg" key="StereotypeList" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgMl7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgM17tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgNF7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
+        </eAnnotations>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ck0x517sEeGEmrrwB1vhPg" type="7073">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ck0x6F7sEeGEmrrwB1vhPg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ck0x6V7sEeGEmrrwB1vhPg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_qrnGYF7sEeGEmrrwB1vhPg" type="3069" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qrntcF7sEeGEmrrwB1vhPg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qrntcV7sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qrntcl7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qrntc17sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qroUgF7sEeGEmrrwB1vhPg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qroUgV7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zr6CMF7sEeGEmrrwB1vhPg" source="Stereotype_Annotation">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HjcYF7sEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HjcYV7sEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HkDcF7sEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HkDcV7sEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HkDcl7sEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_qroUgl7sEeGEmrrwB1vhPg" type="5125">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ds_9kFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QJj7wFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="60"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qroUg17sEeGEmrrwB1vhPg" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_qroUhF7sEeGEmrrwB1vhPg" type="6029">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qroUhV7sEeGEmrrwB1vhPg" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qrnGYV7sEeGEmrrwB1vhPg" x="147" y="38"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_qroUhl7sEeGEmrrwB1vhPg" type="3069" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qro7kF7sEeGEmrrwB1vhPg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qro7kV7sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qro7kl7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qro7k17sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qro7lF7sEeGEmrrwB1vhPg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qro7lV7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1PKksF7sEeGEmrrwB1vhPg" source="Stereotype_Annotation">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpAF7sEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpAV7sEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpAl7sEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpA17sEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpBF7sEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_qro7ll7sEeGEmrrwB1vhPg" type="5125">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dHyXsFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PvAGsFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qro7l17sEeGEmrrwB1vhPg" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_qro7mF7sEeGEmrrwB1vhPg" type="6029">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qro7mV7sEeGEmrrwB1vhPg" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="componentlib.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qroUh17sEeGEmrrwB1vhPg" x="-10" y="38"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_khuoYFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_khvPcFy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:InteractionComponent" href="componentlib.uml#_UBcmIF7tEeGEmrrwB1vhPg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_khvPcVy8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_khvPcly8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_khvPc1y8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_khvPdFy8EeOwKfaVRwV11Q"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_Mo2kwF7pEeGEmrrwB1vhPg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ck0K0V7sEeGEmrrwB1vhPg" x="420" y="196" width="157" height="66"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_DfG8kV7qEeGEmrrwB1vhPg"/>
+    <element xmi:type="uml:Package" href="componentlib.uml#_ZISNcIQzEd2_fLv04swWfw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_GsuIEF7qEeGEmrrwB1vhPg" type="4015" source="_FWtXYF7qEeGEmrrwB1vhPg" target="_EYv6UF7qEeGEmrrwB1vhPg" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GsvWMF7qEeGEmrrwB1vhPg" type="6024">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_GsvWMV7qEeGEmrrwB1vhPg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_GsuIEV7qEeGEmrrwB1vhPg" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_lYOSkClzEd-eoo60eNyGlg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GsuIEl7qEeGEmrrwB1vhPg" points="[-4, -29, 13, 99]$[-13, -98, 4, 30]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_eJ55UF7sEeGEmrrwB1vhPg" type="4015" source="_ck0K0F7sEeGEmrrwB1vhPg" target="_b3o7wF7sEeGEmrrwB1vhPg" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_eJ6gYF7sEeGEmrrwB1vhPg" type="6024">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_eJ6gYV7sEeGEmrrwB1vhPg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_eJ55UV7sEeGEmrrwB1vhPg" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="componentlib.uml#_eJqowF7sEeGEmrrwB1vhPg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eJ55Ul7sEeGEmrrwB1vhPg" points="[-9, -10, -7, 96]$[-9, -76, -7, 30]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eKfIIF7sEeGEmrrwB1vhPg" id="(0.504424778761062,0.1694915254237288)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_ljiPEKLvEeSBiP8ZTcBQrQ" type="PapyrusUMLClassDiagram" name="OOtransformations" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_mhOmYKLvEeSBiP8ZTcBQrQ" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_mhP0gKLvEeSBiP8ZTcBQrQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mhP0gaLvEeSBiP8ZTcBQrQ" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mhP0gqLvEeSBiP8ZTcBQrQ" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_mhQbkKLvEeSBiP8ZTcBQrQ" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_mhQbkaLvEeSBiP8ZTcBQrQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_mhQbkqLvEeSBiP8ZTcBQrQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_mhQbk6LvEeSBiP8ZTcBQrQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mhQblKLvEeSBiP8ZTcBQrQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_mhQblaLvEeSBiP8ZTcBQrQ" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_mhQblqLvEeSBiP8ZTcBQrQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_mhQbl6LvEeSBiP8ZTcBQrQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_mhQbmKLvEeSBiP8ZTcBQrQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mhQbmaLvEeSBiP8ZTcBQrQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_mhQbmqLvEeSBiP8ZTcBQrQ" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_mhQbm6LvEeSBiP8ZTcBQrQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_mhQbnKLvEeSBiP8ZTcBQrQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_mhQbnaLvEeSBiP8ZTcBQrQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mhQbnqLvEeSBiP8ZTcBQrQ"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_mgbVIKLvEeSBiP8ZTcBQrQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mhOmYaLvEeSBiP8ZTcBQrQ" x="40" y="40" width="161" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_nRtBEKLvEeSBiP8ZTcBQrQ" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_nRtoIKLvEeSBiP8ZTcBQrQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_nRtoIaLvEeSBiP8ZTcBQrQ" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_nRtoIqLvEeSBiP8ZTcBQrQ" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_nRtoI6LvEeSBiP8ZTcBQrQ" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_nRtoJKLvEeSBiP8ZTcBQrQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_nRtoJaLvEeSBiP8ZTcBQrQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_nRtoJqLvEeSBiP8ZTcBQrQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nRtoJ6LvEeSBiP8ZTcBQrQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_nRtoKKLvEeSBiP8ZTcBQrQ" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_nRtoKaLvEeSBiP8ZTcBQrQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_nRtoKqLvEeSBiP8ZTcBQrQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_nRtoK6LvEeSBiP8ZTcBQrQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nRtoLKLvEeSBiP8ZTcBQrQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_nRtoLaLvEeSBiP8ZTcBQrQ" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_nRtoLqLvEeSBiP8ZTcBQrQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_nRtoL6LvEeSBiP8ZTcBQrQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_nRtoMKLvEeSBiP8ZTcBQrQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nRtoMaLvEeSBiP8ZTcBQrQ"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_nRnhgKLvEeSBiP8ZTcBQrQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nRtBEaLvEeSBiP8ZTcBQrQ" x="240" y="40" width="161" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pu_i4KLvEeSBiP8ZTcBQrQ" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_pvAJ8KLvEeSBiP8ZTcBQrQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_pvAJ8aLvEeSBiP8ZTcBQrQ" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_pvAJ8qLvEeSBiP8ZTcBQrQ" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_pvAJ86LvEeSBiP8ZTcBQrQ" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_pvAJ9KLvEeSBiP8ZTcBQrQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_pvAJ9aLvEeSBiP8ZTcBQrQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_pvAJ9qLvEeSBiP8ZTcBQrQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pvAJ96LvEeSBiP8ZTcBQrQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_pvAJ-KLvEeSBiP8ZTcBQrQ" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_pvAJ-aLvEeSBiP8ZTcBQrQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_pvAJ-qLvEeSBiP8ZTcBQrQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_pvAJ-6LvEeSBiP8ZTcBQrQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pvAJ_KLvEeSBiP8ZTcBQrQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_pvAJ_aLvEeSBiP8ZTcBQrQ" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_pvAJ_qLvEeSBiP8ZTcBQrQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_pvAJ_6LvEeSBiP8ZTcBQrQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_pvAKAKLvEeSBiP8ZTcBQrQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pvAKAaLvEeSBiP8ZTcBQrQ"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_pu1x4KLvEeSBiP8ZTcBQrQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pu_i4aLvEeSBiP8ZTcBQrQ" x="40" y="140" width="161" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_98wLYAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_98wLYQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_98wLYwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_mgbVIKLvEeSBiP8ZTcBQrQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_98wLYguXEeWXe7AeBUbqvw" x="240" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_99B4MAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_99B4MQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_99B4MwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_nRnhgKLvEeSBiP8ZTcBQrQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_99B4MguXEeWXe7AeBUbqvw" x="440" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_99PTkAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_99PTkQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_99PTkwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_pu1x4KLvEeSBiP8ZTcBQrQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_99PTkguXEeWXe7AeBUbqvw" x="240" y="140"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_ljiPEaLvEeSBiP8ZTcBQrQ" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_ljiPEqLvEeSBiP8ZTcBQrQ"/>
+    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_ljiPE6LvEeSBiP8ZTcBQrQ">
+      <owner xmi:type="uml:Package" href="componentlib.uml#_B_a2UKLvEeSBiP8ZTcBQrQ"/>
+    </styles>
+    <element xmi:type="uml:Package" href="componentlib.uml#_B_a2UKLvEeSBiP8ZTcBQrQ"/>
+    <edges xmi:type="notation:Connector" xmi:id="_98wLZAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_mhOmYKLvEeSBiP8ZTcBQrQ" target="_98wLYAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_98wLZQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_98wLaQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_mgbVIKLvEeSBiP8ZTcBQrQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_98wLZguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_98wLZwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_98wLaAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_99B4NAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_nRtBEKLvEeSBiP8ZTcBQrQ" target="_99B4MAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_99B4NQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_99B4OQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_nRnhgKLvEeSBiP8ZTcBQrQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_99B4NguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_99B4NwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_99B4OAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_99PTlAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_pu_i4KLvEeSBiP8ZTcBQrQ" target="_99PTkAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_99PTlQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_99PTmQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_pu1x4KLvEeSBiP8ZTcBQrQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_99PTlguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_99PTlwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_99PTmAuXEeWXe7AeBUbqvw"/>
+    </edges>
+  </notation:Diagram>
+  <css:ModelStyleSheets xmi:id="_qkkdcMc1EeSsAI2TZshUyg"/>
+  <css:EmbeddedStyleSheet xmi:id="_7gUz8Mc1EeSsAI2TZshUyg" label="Qompass" content="Label {&#xA;&#x9;maskLabel: name;&#xA;}&#xA;&#xA;Port > Label {&#xA;&#x9;maskLabel: name;&#xA;}&#xA;&#xA;Port {&#xA;&#x9;maskLabel: name;&#xA;}&#xA;&#xA;Property {&#xA;&#x9;maskLabel: name type;&#xA;}"/>
+  <notation:Diagram xmi:id="_BFN3YF4SEea4bLzKfwAjjA" type="CompositeStructure" name="transformations" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_bnzlQF4SEea4bLzKfwAjjA" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_bnzlQl4SEea4bLzKfwAjjA" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_bnzlQ14SEea4bLzKfwAjjA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bnzlRF4SEea4bLzKfwAjjA" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_bnzlRV4SEea4bLzKfwAjjA" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_3u2IcF4SEea4bLzKfwAjjA" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_3u2Icl4SEea4bLzKfwAjjA" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_3u2Ic14SEea4bLzKfwAjjA" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_3u2IdF4SEea4bLzKfwAjjA" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_3u2IdV4SEea4bLzKfwAjjA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_3u2Idl4SEea4bLzKfwAjjA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3u2Id14SEea4bLzKfwAjjA"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_oAFQoG_FEeaWnoc8dDCyEA" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="componentlib.uml#_3uzFIF4SEea4bLzKfwAjjA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3u2IcV4SEea4bLzKfwAjjA" x="14" y="258" width="381" height="41"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_0_fNUGqWEea45IDGiU87rA" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_0_fNUmqWEea45IDGiU87rA" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_0_f0YGqWEea45IDGiU87rA" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_0_f0YWqWEea45IDGiU87rA" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_0_f0YmqWEea45IDGiU87rA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_0_f0Y2qWEea45IDGiU87rA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_f0ZGqWEea45IDGiU87rA"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_qGUkYG_FEeaWnoc8dDCyEA" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="componentlib.uml#_xneIoGqWEea45IDGiU87rA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_fNUWqWEea45IDGiU87rA" x="14" y="438" width="381"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O1p6EGqXEea45IDGiU87rA" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_O1qhIGqXEea45IDGiU87rA" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_O1qhIWqXEea45IDGiU87rA" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_O1qhImqXEea45IDGiU87rA" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_O1qhI2qXEea45IDGiU87rA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_O1qhJGqXEea45IDGiU87rA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O1qhJWqXEea45IDGiU87rA"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_lgZiIG_FEeaWnoc8dDCyEA" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="componentlib.uml#_70pgMF4SEea4bLzKfwAjjA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O1p6EWqXEea45IDGiU87rA" x="14" y="18" width="381" height="41"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O1rIMGqXEea45IDGiU87rA" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_O1rIMmqXEea45IDGiU87rA" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_O1rIM2qXEea45IDGiU87rA" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_O1rINGqXEea45IDGiU87rA" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_O1rINWqXEea45IDGiU87rA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_O1rINmqXEea45IDGiU87rA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O1rIN2qXEea45IDGiU87rA"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_mUt7AG_FEeaWnoc8dDCyEA" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="componentlib.uml#_xnYCAGqWEea45IDGiU87rA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O1rIMWqXEea45IDGiU87rA" x="14" y="78" width="381" height="41"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O1rvQGqXEea45IDGiU87rA" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_O1rvQmqXEea45IDGiU87rA" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_O1rvQ2qXEea45IDGiU87rA" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_O1rvRGqXEea45IDGiU87rA" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_O1rvRWqXEea45IDGiU87rA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_O1rvRmqXEea45IDGiU87rA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O1rvR2qXEea45IDGiU87rA"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_nHKEkG_FEeaWnoc8dDCyEA" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="componentlib.uml#_xnbsYGqWEea45IDGiU87rA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O1rvQWqXEea45IDGiU87rA" x="14" y="138" width="381" height="41"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O1sWUGqXEea45IDGiU87rA" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_O1s9YGqXEea45IDGiU87rA" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_O1s9YWqXEea45IDGiU87rA" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_O1s9YmqXEea45IDGiU87rA" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_O1s9Y2qXEea45IDGiU87rA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_O1s9ZGqXEea45IDGiU87rA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O1s9ZWqXEea45IDGiU87rA"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_ou1NAG_FEeaWnoc8dDCyEA" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="componentlib.uml#_xncTcGqWEea45IDGiU87rA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O1sWUWqXEea45IDGiU87rA" x="14" y="318" width="381"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O1tkcGqXEea45IDGiU87rA" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_O1tkcmqXEea45IDGiU87rA" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_O1tkc2qXEea45IDGiU87rA" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_O1tkdGqXEea45IDGiU87rA" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_O1tkdWqXEea45IDGiU87rA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_O1tkdmqXEea45IDGiU87rA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O1tkd2qXEea45IDGiU87rA"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_pZghsG_FEeaWnoc8dDCyEA" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="componentlib.uml#_xndhkGqWEea45IDGiU87rA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O1tkcWqXEea45IDGiU87rA" x="14" y="378" width="381"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_bnzlRl4SEea4bLzKfwAjjA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bnzlR14SEea4bLzKfwAjjA"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_bnyXIF4SEea4bLzKfwAjjA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bnzlQV4SEea4bLzKfwAjjA" x="40" y="20" width="441" height="561"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_sM5vQ14SEea4bLzKfwAjjA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_sM5vRF4SEea4bLzKfwAjjA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_sM5vRl4SEea4bLzKfwAjjA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_Ck0eYF4REea4bLzKfwAjjA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sM5vRV4SEea4bLzKfwAjjA" x="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_2RwfYF4SEea4bLzKfwAjjA" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_2RwfYl4SEea4bLzKfwAjjA" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_2RwfY14SEea4bLzKfwAjjA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_2RwfZF4SEea4bLzKfwAjjA" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_2RwfZV4SEea4bLzKfwAjjA" visible="false" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_2RwfZl4SEea4bLzKfwAjjA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2RwfZ14SEea4bLzKfwAjjA"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_2RvRQF4SEea4bLzKfwAjjA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2RwfYV4SEea4bLzKfwAjjA" x="600" y="20" width="261" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_5r7gMF4SEea4bLzKfwAjjA" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_5r7gMl4SEea4bLzKfwAjjA" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_5r7gM14SEea4bLzKfwAjjA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_5r7gNF4SEea4bLzKfwAjjA" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_5r7gNV4SEea4bLzKfwAjjA" visible="false" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_5r7gNl4SEea4bLzKfwAjjA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5r7gN14SEea4bLzKfwAjjA"/>
+      </children>
+      <element xmi:type="uml:Class" href="componentlib.uml#_5r5rAF4SEea4bLzKfwAjjA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5r7gMV4SEea4bLzKfwAjjA" x="600" y="100" width="261" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_NQoO4GpIEeaSLtRdInZlZA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_NQoO4WpIEeaSLtRdInZlZA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NQoO42pIEeaSLtRdInZlZA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_bnyXIF4SEea4bLzKfwAjjA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NQoO4mpIEeaSLtRdInZlZA" x="260" y="160"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_SmzCVmpIEeaSLtRdInZlZA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_SmzCV2pIEeaSLtRdInZlZA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SmzpYGpIEeaSLtRdInZlZA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_2RvRQF4SEea4bLzKfwAjjA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SmzCWGpIEeaSLtRdInZlZA" x="800" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_WZkwYGpIEeaSLtRdInZlZA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_WZkwYWpIEeaSLtRdInZlZA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WZkwY2pIEeaSLtRdInZlZA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_5r5rAF4SEea4bLzKfwAjjA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WZkwYmpIEeaSLtRdInZlZA" x="800" y="140"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_BFN3YV4SEea4bLzKfwAjjA" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_BFN3Yl4SEea4bLzKfwAjjA"/>
+    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_BFN3Y14SEea4bLzKfwAjjA">
+      <owner xmi:type="uml:Package" href="componentlib.uml#_8clfYF4REea4bLzKfwAjjA"/>
+    </styles>
+    <element xmi:type="uml:Package" href="componentlib.uml#_8clfYF4REea4bLzKfwAjjA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_NQo18GpIEeaSLtRdInZlZA" type="StereotypeCommentLink" source="_bnzlQF4SEea4bLzKfwAjjA" target="_NQoO4GpIEeaSLtRdInZlZA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NQo18WpIEeaSLtRdInZlZA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NQpdAGpIEeaSLtRdInZlZA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_bnyXIF4SEea4bLzKfwAjjA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NQo18mpIEeaSLtRdInZlZA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NQo182pIEeaSLtRdInZlZA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NQo19GpIEeaSLtRdInZlZA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_SmzpYWpIEeaSLtRdInZlZA" type="StereotypeCommentLink" source="_2RwfYF4SEea4bLzKfwAjjA" target="_SmzCVmpIEeaSLtRdInZlZA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_SmzpYmpIEeaSLtRdInZlZA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SmzpZmpIEeaSLtRdInZlZA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_2RvRQF4SEea4bLzKfwAjjA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SmzpY2pIEeaSLtRdInZlZA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SmzpZGpIEeaSLtRdInZlZA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SmzpZWpIEeaSLtRdInZlZA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_WZkwZGpIEeaSLtRdInZlZA" type="StereotypeCommentLink" source="_5r7gMF4SEea4bLzKfwAjjA" target="_WZkwYGpIEeaSLtRdInZlZA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_WZkwZWpIEeaSLtRdInZlZA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WZlXcGpIEeaSLtRdInZlZA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="componentlib.uml#_5r5rAF4SEea4bLzKfwAjjA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WZkwZmpIEeaSLtRdInZlZA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WZkwZ2pIEeaSLtRdInZlZA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WZkwaGpIEeaSLtRdInZlZA"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/componentlib.uml b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/componentlib.uml
new file mode 100644
index 0000000..35eb360
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/componentlib.uml
@@ -0,0 +1,1368 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:SW_Concurrency="http://www.eclipse.org/papyrus/SW_Concurrency/1" xmlns:Transformation="http://www.eclipse.org/papyrus/Transformation/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:standard="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/SW_Concurrency/1 http://www.eclipse.org/papyrus/MARTE/1#//SRM/SW_Concurrency">
+  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="componentlib" viewpoint="">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_clzbsC3xEd6OqY3qskOtLQ">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_TRAFO/sysinterfaces.uml#_RodVAAweEd6it_RkGhz_AA"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_K9IBUP-FEd6628OhKk_dpg">
+      <importedPackage xmi:type="uml:Model" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_DV8nkBv8EduZN5aJJITI5w"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_mXnzUPQdEeCIC-7tA9lfzA">
+      <importedPackage xmi:type="uml:Model" href="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml#_ROTQYC-OEdySSa8YESkO2w"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_kbclIF4SEea4bLzKfwAjjA">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_TRAFO/trafos.uml#_Q6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_mMCK8PiPEd2UhpY2Y3WUyg" name="methodCall">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_WiuBUK8rEeCXIcykFPsB8Q" annotatedElement="_mMCK8PiPEd2UhpY2Y3WUyg">
+        <body>Main package template for all call based connectors. The formal parameter is the interface I (which is bound to the actual interface used in a call).
+This package is virtually extended by other model libraries who import it.</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="__oxUADrVEeGMCcwsbpLuFA" annotatedElement="_j29X4NttEd2eM5kqcby5ZA">
+        <body>Inheritance hierarchy for (A)SyncCall component types. Separate types for required (rconn) and provided (fconn) ports enable re-use via inheritance ain multiple places (e.g. for AMI ports that use an unmodified provided port and different variants of a required port).
+Note that ports on connector side are conjugated</body>
+      </ownedComment>
+      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_V0b2APfBEd2TbIfwytOyPA" parameter="_WzWVUPfBEd2TbIfwytOyPA">
+        <ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_WzWVUPfBEd2TbIfwytOyPA" parameteredElement="_ZzlzMPfBEd2TbIfwytOyPA">
+          <ownedParameteredElement xmi:type="uml:Interface" xmi:id="_ZzlzMPfBEd2TbIfwytOyPA" name="I" templateParameter="_WzWVUPfBEd2TbIfwytOyPA"/>
+        </ownedParameter>
+      </ownedTemplateSignature>
+      <packagedElement xmi:type="uml:Package" xmi:id="_ZISNcIQzEd2_fLv04swWfw" name="AsyncCall">
+        <packagedElement xmi:type="uml:Class" xmi:id="_KxQBELuXEd2TTr3gJIvazw" name="AsyncCall" isAbstract="true">
+          <generalization xmi:type="uml:Generalization" xmi:id="_0KzSsDBEEd6V16eboHV1gw" general="_j29X4NttEd2eM5kqcby5ZA"/>
+          <generalization xmi:type="uml:Generalization" xmi:id="_1H2JwDBEEd6V16eboHV1gw" general="_mIpj8Ns8Ed2eM5kqcby5ZA"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_Whe8EClYEd-eoo60eNyGlg" name="AsyncCall_impl">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_sp9YYG5fEd-5CZIeuHpHAg">
+            <body>Description: A simple implementation of asynchronous calls. It will execution requests by means of a single dispatcher thread</body>
+          </ownedComment>
+          <ownedComment xmi:type="uml:Comment" xmi:id="_HMz-ADJKEeCAhMtIsY9HwA">
+            <body>Simple asynchronous call implementation: returns immediately and executes request in new thread</body>
+          </ownedComment>
+          <ownedComment xmi:type="uml:Comment" xmi:id="_bustsDJKEeCAhMtIsY9HwA">
+            <body>Uses buffer and ASN marshalling.
+TODO: configurable buffer size, use data structure (CppParameterStorage)</body>
+          </ownedComment>
+          <generalization xmi:type="uml:Generalization" xmi:id="_lYOSkClzEd-eoo60eNyGlg" general="_KxQBELuXEd2TTr3gJIvazw"/>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_1XeLIED5Ed-_DOja_sRgWA" name="buffer" isUnique="false" aggregation="composite">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8wC7MED5Ed-_DOja_sRgWA" value="500"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8wLeEED5Ed-_DOja_sRgWA" value="500"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_2fcqYED6Ed-_DOja_sRgWA" name="pBuffer" isUnique="false" aggregation="composite">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
+          </ownedAttribute>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_nBpugClzEd-eoo60eNyGlg" name="derived realization of I" client="_Whe8EClYEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_WhfjIilYEd-eoo60eNyGlg" name="[name/]" specification="_2bwsEClzEd-eoo60eNyGlg">
+            <language>C/C++</language>
+            <body>!xtend AsyncCalls.asyncCall</body>
+          </ownedBehavior>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_WhfjIylYEd-eoo60eNyGlg" name="static[name/]" specification="_WhfjJSlYEd-eoo60eNyGlg">
+            <language>C/C++</language>
+            <body>((AsyncCall_impl *) arg)->dispatch ();
+return NULL;
+</body>
+          </ownedBehavior>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_nV2DcED5Ed-_DOja_sRgWA" name="dispatch" specification="_G6LzAD3QEd-Bk-AHd6yyoA">
+            <language>C/C++</language>
+            <body>!xtend AsyncCalls.dispatch_</body>
+          </ownedBehavior>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_WhfjJSlYEd-eoo60eNyGlg" name="staticDispatch" isStatic="true" method="_WhfjIylYEd-eoo60eNyGlg">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_WhfjJilYEd-eoo60eNyGlg" name="arg">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WhfjKClYEd-eoo60eNyGlg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WhfjJylYEd-eoo60eNyGlg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_WhfjKSlYEd-eoo60eNyGlg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_WhfjKilYEd-eoo60eNyGlg" name="ret" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+            </ownedParameter>
+          </ownedOperation>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_2bwsEClzEd-eoo60eNyGlg" name="[name/]" method="_WhfjIilYEd-eoo60eNyGlg"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_G6LzAD3QEd-Bk-AHd6yyoA" name="dispatch" method="_nV2DcED5Ed-_DOja_sRgWA"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_pXzKcEJ1Ed-Ps4Bfh0j9LQ" name="AsyncCallPool_impl">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_spsPMDJKEeCAhMtIsY9HwA">
+            <body>(untested) implementation of an asynchronous invocation that uses a thread pool for
+spawning new requests</body>
+          </ownedComment>
+          <generalization xmi:type="uml:Generalization" xmi:id="_pXzKcUJ1Ed-Ps4Bfh0j9LQ" general="_KxQBELuXEd2TTr3gJIvazw"/>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_pXzxgEJ1Ed-Ps4Bfh0j9LQ" name="buffer" isUnique="false" aggregation="composite">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pXzxgkJ1Ed-Ps4Bfh0j9LQ" value="500"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pXzxgUJ1Ed-Ps4Bfh0j9LQ" value="500"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_pXzxg0J1Ed-Ps4Bfh0j9LQ" name="pBuffer" isUnique="false" aggregation="composite">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
+          </ownedAttribute>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_pXzxh0J1Ed-Ps4Bfh0j9LQ" name="derived realization of I" client="_pXzKcEJ1Ed-Ps4Bfh0j9LQ" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_pXzxhEJ1Ed-Ps4Bfh0j9LQ" name="[name/]" specification="_pXzxjkJ1Ed-Ps4Bfh0j9LQ">
+            <language>C/C++</language>
+            <body>!xtend AsyncCalls.asyncCall</body>
+          </ownedBehavior>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_pXzxhUJ1Ed-Ps4Bfh0j9LQ" name="static[name/]" specification="_pXzxiEJ1Ed-Ps4Bfh0j9LQ">
+            <language>C/C++</language>
+            <body>((AsyncCall_impl *) arg)->dispatch ();
+return NULL;
+</body>
+          </ownedBehavior>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_pXzxhkJ1Ed-Ps4Bfh0j9LQ" name="dispatch" specification="_pXzxj0J1Ed-Ps4Bfh0j9LQ">
+            <language>C/C++</language>
+            <body>!xtend AsyncCalls.dispatchWithThreadPool</body>
+          </ownedBehavior>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_pXzxiEJ1Ed-Ps4Bfh0j9LQ" name="staticDispatch" isStatic="true" method="_pXzxhUJ1Ed-Ps4Bfh0j9LQ">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_pXzxiUJ1Ed-Ps4Bfh0j9LQ" name="arg">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pXzxi0J1Ed-Ps4Bfh0j9LQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pXzxikJ1Ed-Ps4Bfh0j9LQ" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_pXzxjEJ1Ed-Ps4Bfh0j9LQ">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_pXzxjUJ1Ed-Ps4Bfh0j9LQ" name="ret" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+            </ownedParameter>
+          </ownedOperation>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_pXzxjkJ1Ed-Ps4Bfh0j9LQ" name="[name/]" method="_pXzxhEJ1Ed-Ps4Bfh0j9LQ"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_pXzxj0J1Ed-Ps4Bfh0j9LQ" name="dispatch" method="_pXzxhkJ1Ed-Ps4Bfh0j9LQ"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_3itBkNdwEd-ZnqCk2P2ZKg" name="AMIPollCall_impl">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_3itBkddwEd-ZnqCk2P2ZKg">
+            <body>Description: A simple implementation of asynchronous calls. It will execution requests by means of a single dispatcher thread</body>
+          </ownedComment>
+          <ownedComment xmi:type="uml:Comment" xmi:id="_lEC3ADJLEeCAhMtIsY9HwA">
+            <body>Polling variant of CORBAs asynchronous messaging (AMI), enables asynchronous calls while reading
+return values (also called deferred synchronous):
+Instead of specified return values, functions return a poller object which may be queried for
+the result.
+TODO: complete, move into model of Qompass AMI plugin</body>
+          </ownedComment>
+          <generalization xmi:type="uml:Generalization" xmi:id="_3itBktdwEd-ZnqCk2P2ZKg" general="_KxQBELuXEd2TTr3gJIvazw"/>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_3itBk9dwEd-ZnqCk2P2ZKg" name="buffer" isUnique="false" aggregation="composite">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3itBlddwEd-ZnqCk2P2ZKg" value="500"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3itBlNdwEd-ZnqCk2P2ZKg" value="500"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_3itBltdwEd-ZnqCk2P2ZKg" name="pBuffer" isUnique="false" aggregation="composite">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
+          </ownedAttribute>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_3itBmtdwEd-ZnqCk2P2ZKg" name="derived realization of I" client="_3itBkNdwEd-ZnqCk2P2ZKg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_3itBl9dwEd-ZnqCk2P2ZKg" name="[name/]" specification="_3itBoddwEd-ZnqCk2P2ZKg">
+            <language>C/C++</language>
+            <body>!xtend AMIPull.operation</body>
+          </ownedBehavior>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_3itBmNdwEd-ZnqCk2P2ZKg" name="static[name/]" specification="_3itBm9dwEd-ZnqCk2P2ZKg">
+            <language>C/C++</language>
+            <body>((AsyncCall_impl *) arg)->dispatch ();
+return NULL;
+</body>
+          </ownedBehavior>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_3itBmddwEd-ZnqCk2P2ZKg" name="dispatch" specification="_3itBotdwEd-ZnqCk2P2ZKg">
+            <language>C/C++</language>
+            <body>!xtend AsyncCall.dispatch_</body>
+          </ownedBehavior>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_3itBm9dwEd-ZnqCk2P2ZKg" name="staticDispatch" isStatic="true" method="_3itBmNdwEd-ZnqCk2P2ZKg">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_3itBnNdwEd-ZnqCk2P2ZKg" name="arg">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3itBntdwEd-ZnqCk2P2ZKg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3itBnddwEd-ZnqCk2P2ZKg" value="1"/>
+              <defaultValue xmi:type="uml:LiteralString" xmi:id="_3itBn9dwEd-ZnqCk2P2ZKg">
+                <value xsi:nil="true"/>
+              </defaultValue>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_3itBoNdwEd-ZnqCk2P2ZKg" name="ret" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+            </ownedParameter>
+          </ownedOperation>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_3itBoddwEd-ZnqCk2P2ZKg" name="[name/]" method="_3itBl9dwEd-ZnqCk2P2ZKg"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_3itBotdwEd-ZnqCk2P2ZKg" name="dispatch" method="_3itBmddwEd-ZnqCk2P2ZKg"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_Mo2kwF7pEeGEmrrwB1vhPg" name="CallMultiplier_impl">
+          <generalization xmi:type="uml:Generalization" xmi:id="_eJqowF7sEeGEmrrwB1vhPg" general="_TLShkF7qEeGEmrrwB1vhPg"/>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_8e_ocF7sEeGEmrrwB1vhPg" name="derived realization of I" client="_Mo2kwF7pEeGEmrrwB1vhPg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DmUQcF7tEeGEmrrwB1vhPg" name="operation1" specification="_ChD4kF7tEeGEmrrwB1vhPg">
+            <language>C/C++</language>
+            <body>!xtend MultipleReceptacle.operation_</body>
+          </ownedBehavior>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_ChD4kF7tEeGEmrrwB1vhPg" name="[name/]" method="_DmUQcF7tEeGEmrrwB1vhPg"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_TLShkF7qEeGEmrrwB1vhPg" name="AsyncCallM" isAbstract="true">
+          <generalization xmi:type="uml:Generalization" xmi:id="_WhUpQF7qEeGEmrrwB1vhPg" general="_0KYOQF7pEeGEmrrwB1vhPg"/>
+          <generalization xmi:type="uml:Generalization" xmi:id="_XgUoIF7qEeGEmrrwB1vhPg" general="_j29X4NttEd2eM5kqcby5ZA"/>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Enumeration" xmi:id="_2oxDIPiPEd2UhpY2Y3WUyg" name="OperationIDs">
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_KOvHsPiREd2UhpY2Y3WUyg" name="ID_[name/]"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_j29X4NttEd2eM5kqcby5ZA" name="OPC_useI" isAbstract="true">
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_P4xVsNtuEd2eM5kqcby5ZA" name="fconn" visibility="public" type="_AsqygH2MEeWV7cfiwPN21w" aggregation="composite" isConjugated="true"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_mIpj8Ns8Ed2eM5kqcby5ZA" name="OPC_provideI" isAbstract="true">
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_Qk0jYNtuEd2eM5kqcby5ZA" name="rconn" visibility="public" type="_ZzlzMPfBEd2TbIfwytOyPA" aggregation="composite" isConjugated="true">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rftH8ENwEeGoAtSeIK7WLg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rfxZYENwEeGoAtSeIK7WLg" value="1"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_gKMTIAytEd6it_RkGhz_AA" name="marshalling">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_9gpvcENxEeGoAtSeIK7WLg">
+          <body>Needs completion:
+good(?) write buffer event?
+Call operations of buffer component?
+[could have done in an identical way for EventPool]</body>
+        </ownedComment>
+        <ownedComment xmi:type="uml:Comment" xmi:id="_pk4cMEN_EeGfhclnRyNzoA">
+          <body>Marshalling is done at two levels:
+(1) In case of a shared address space, only a callEvent is created. It can be passed between threads within a process.
+(2) For remote communication, marshalling into a buffer is done.</body>
+        </ownedComment>
+        <packagedElement xmi:type="uml:Class" xmi:id="_b_yh4AzyEd6it_RkGhz_AA" name="Marshall" isAbstract="true">
+          <ownedAttribute xmi:type="uml:Port" xmi:id="_rSCxUAytEd6it_RkGhz_AA" name="disp" visibility="public" type="_oJcUUH2LEeWV7cfiwPN21w" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HZg9YPQSEeCovO8AYZymZQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HaX5APQSEeCovO8AYZymZQ" value="1"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Port" xmi:id="_MhH6cENxEeGoAtSeIK7WLg" name="in" visibility="public" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QR4PQENxEeGoAtSeIK7WLg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QR5dYENxEeGoAtSeIK7WLg" value="1"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_fmF6MAzyEd6it_RkGhz_AA" name="Unmarshall" isAbstract="true">
+          <ownedAttribute xmi:type="uml:Port" xmi:id="_r5Va0AytEd6it_RkGhz_AA" name="disp" visibility="public" aggregation="composite">
+            <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_7TuzoCUUEd6YR-YzyVnLng"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WNWcQEN-EeGfhclnRyNzoA" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WNY4gEN-EeGfhclnRyNzoA" value="1"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Port" xmi:id="_Zd558ENxEeGoAtSeIK7WLg" name="out" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aPDDAENxEeGoAtSeIK7WLg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aPERIENxEeGoAtSeIK7WLg" value="1"/>
+          </ownedAttribute>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_fPpr0K-jEd6DndT7kDY1-A" name="b:dispatch">
+            <specification xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#__aGzICUUEd6YR-YzyVnLng"/>
+          </ownedBehavior>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="__uJRYPNGEeCovO8AYZymZQ" name="StructBased">
+          <generalization xmi:type="uml:Generalization" xmi:id="_EWShMPNHEeCovO8AYZymZQ" general="_b_yh4AzyEd6it_RkGhz_AA"/>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_qRJc8PNJEeCovO8AYZymZQ" name="[name/]" specification="_aGt1sPNJEeCovO8AYZymZQ">
+            <language>C/C++</language>
+            <body>!xtend StructBasedMarshalling.marshall</body>
+          </ownedBehavior>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_aGt1sPNJEeCovO8AYZymZQ" name="[name/]" method="_qRJc8PNJEeCovO8AYZymZQ"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_u7MmIENqEeGoAtSeIK7WLg" name="ToCallEvent">
+          <generalization xmi:type="uml:Generalization" xmi:id="_K088oF_rEd6RvK-1A151zQ" general="_j29X4NttEd2eM5kqcby5ZA"/>
+          <ownedAttribute xmi:type="uml:Port" xmi:id="_-nk_cENqEeGoAtSeIK7WLg" name="out" visibility="public" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AdVAIENrEeGoAtSeIK7WLg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AdW1UENrEeGoAtSeIK7WLg" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_Adf_QENrEeGoAtSeIK7WLg">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_QTRNgDUKEeWa95xDrmW0sg" name="derived realization of I" client="_u7MmIENqEeGoAtSeIK7WLg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_1xGG8ENqEeGoAtSeIK7WLg" name="FromCallEventWP">
+          <generalization xmi:type="uml:Generalization" xmi:id="_M09FgF_rEd6RvK-1A151zQ" general="_mIpj8Ns8Ed2eM5kqcby5ZA"/>
+          <ownedAttribute xmi:type="uml:Port" xmi:id="_9gIc8ENvEeGoAtSeIK7WLg" name="in" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9uDkMENvEeGoAtSeIK7WLg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9uEyUENvEeGoAtSeIK7WLg" value="1"/>
+          </ownedAttribute>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_H7IOcENrEeGoAtSeIK7WLg" name="ToCallEventWP">
+          <generalization xmi:type="uml:Generalization" xmi:id="_KHmGAENrEeGoAtSeIK7WLg" general="_j29X4NttEd2eM5kqcby5ZA"/>
+          <ownedAttribute xmi:type="uml:Port" xmi:id="_i5SOQEN8EeGfhclnRyNzoA" name="out" visibility="public" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jRB_4EN8EeGfhclnRyNzoA" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jRtVUEN8EeGfhclnRyNzoA" value="1"/>
+          </ownedAttribute>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_QTU34DUKEeWa95xDrmW0sg" name="derived realization of I" client="_H7IOcENrEeGoAtSeIK7WLg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_RjvvcA1jEd6tvthBDl600Q" name="SyncCall">
+        <packagedElement xmi:type="uml:Class" xmi:id="_Zx2ZUA1jEd6tvthBDl600Q" name="SyncCall" isAbstract="true">
+          <generalization xmi:type="uml:Generalization" xmi:id="_STdvYDBFEd6V16eboHV1gw" general="_j29X4NttEd2eM5kqcby5ZA"/>
+          <generalization xmi:type="uml:Generalization" xmi:id="_T1zr4DBFEd6V16eboHV1gw" general="_mIpj8Ns8Ed2eM5kqcby5ZA"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_jOU60A1jEd6tvthBDl600Q" name="DirectCall_impl">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_MgKU8G5gEd-5CZIeuHpHAg">
+            <body>Description: This connector is a kind of dummy connector, since it only passes incoming requests to its caller port</body>
+          </ownedComment>
+          <ownedComment xmi:type="uml:Comment" xmi:id="_0fC3UDJJEeCAhMtIsY9HwA">
+            <body>Minimal connector implementation that does nothing (but passing requests)</body>
+          </ownedComment>
+          <ownedComment xmi:type="uml:Comment" xmi:id="_0fOdgDJJEeCAhMtIsY9HwA">
+            <body></body>
+          </ownedComment>
+          <generalization xmi:type="uml:Generalization" xmi:id="_lm4GkA1jEd6tvthBDl600Q" general="_Zx2ZUA1jEd6tvthBDl600Q"/>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_1tfFAJyCEd6WR4pSVO_UYw" name="derived realization of I" client="_jOU60A1jEd6tvthBDl600Q" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_GSdesJ09Ed6l5bTPBsl00Q" name="[name/]" specification="__y0hwJ08Ed6l5bTPBsl00Q">
+            <language>C/C++</language>
+            <body>!xtend SyncCalls.syncCall</body>
+          </ownedBehavior>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="__y0hwJ08Ed6l5bTPBsl00Q" name="[name/]" method="_GSdesJ09Ed6l5bTPBsl00Q"/>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_UAIU0K-iEd6DndT7kDY1-A" name="AdaptiveContainerServices">
+        <packagedElement xmi:type="uml:Class" xmi:id="_cxVEsK-iEd6DndT7kDY1-A" name="SampleInterceptor">
+          <generalization xmi:type="uml:Generalization" xmi:id="_lrS8oAQxEd--t-uhRn9OBA" general="_Zx2ZUA1jEd6tvthBDl600Q"/>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_v-oAAK-iEd6DndT7kDY1-A" name="derived realization of I" client="_cxVEsK-iEd6DndT7kDY1-A" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_GTvA0K-jEd6DndT7kDY1-A" name="[name/]" specification="_16jy8K-iEd6DndT7kDY1-A">
+            <language>C/C++</language>
+            <body>cout &lt;&lt; &quot;this is a sample pre-call interception&quot; &lt;&lt; endl;
+rconn->&lt;%cppCall%>;
+cout &lt;&lt; &quot;this is a sample post-call interception&quot; &lt;&lt; endl;</body>
+          </ownedBehavior>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_16jy8K-iEd6DndT7kDY1-A" name="[name/]" method="_GTvA0K-jEd6DndT7kDY1-A"/>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_aQ7goChYEd-eoo60eNyGlg" name="CallActivation">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_aAH58D8CEeGJ6KSvhYhYuQ">
+          <body>A set of Leader followers is instantiated. Each has its own thread and a semaphore. The LF instance waits on its semaphore. When selectLeader is called, a follower is signaled (semaphore is posted) and will become leader. The leader waits for a resource (e.g. a socket) and becomes executor.
+</body>
+        </ownedComment>
+        <packagedElement xmi:type="uml:Class" xmi:id="_e6Y_EChYEd-eoo60eNyGlg" name="Activator" isAbstract="true">
+          <generalization xmi:type="uml:Generalization" xmi:id="_oJX3IChYEd-eoo60eNyGlg" general="_KxQBELuXEd2TTr3gJIvazw"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_qgzokChYEd-eoo60eNyGlg" name="LeaderFollower">
+          <generalization xmi:type="uml:Generalization" xmi:id="_sW6OkChYEd-eoo60eNyGlg" general="_e6Y_EChYEd-eoo60eNyGlg"/>
+          <ownedAttribute xmi:type="uml:Port" xmi:id="_N0tB4Cu4Ed-uZPFNCty7PQ" name="listener" type="_LO4hoMp7EeWZ7LDc4RWI6w" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UxKdsCu4Ed-uZPFNCty7PQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_UxM58Cu4Ed-uZPFNCty7PQ" value="1"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="__fLb4Cu5Ed-uZPFNCty7PQ" name="state" type="_F3CIECu1Ed-uZPFNCty7PQ" isUnique="false" aggregation="composite"/>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_M4VG8Cu9Ed-uZPFNCty7PQ" name="m_sema" type="_fxfe8Cu1Ed-uZPFNCty7PQ" isUnique="false" aggregation="composite"/>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_rmwGoCu-Ed-uZPFNCty7PQ" name="m_sr" isStatic="true" type="_qgzokChYEd-eoo60eNyGlg" isUnique="false" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zYwqYCu-Ed-uZPFNCty7PQ" value="20"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zY4mMCu-Ed-uZPFNCty7PQ" value="20"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_xukAICvDEd-uZPFNCty7PQ" name="m_tID" type="_5KatsCvDEd-uZPFNCty7PQ" isUnique="false" aggregation="composite"/>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_Xq00oCvHEd-uZPFNCty7PQ" name="POOL_SIZE" isStatic="true" isUnique="false" aggregation="composite">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_ZmFncCvHEd-uZPFNCty7PQ" value="20"/>
+          </ownedAttribute>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_cWjrYCsAEd-uZPFNCty7PQ" name="derived realization of I" client="_qgzokChYEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_D8z3ECu1Ed-uZPFNCty7PQ" name="run" specification="_2FN1ICu0Ed-uZPFNCty7PQ">
+            <language>C/C++</language>
+            <body>for (;;) {
+	// wait to be become active
+	m_state = FOLLOWER;
+	sem_wait (&amp;m_sema);
+	m_state = LEADER;
+	listener->select();     // no loop, single select
+	selectLeader ();
+	m_state = EXECUTOR;
+	listener->exec();
+}
+
+</body>
+          </ownedBehavior>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_wXEiYCu7Ed-uZPFNCty7PQ" name="selectLeader" specification="_eHX3wCu7Ed-uZPFNCty7PQ">
+            <language>C/C++</language>
+            <body>// select a new leader from the followers
+for (int i = currentIndex+1, j=0; j&lt;POOL_SIZE; i++, j++)
+{
+	if (i == POOL_SIZE) {
+		i = 0;
+	}
+	if (sr[i].state == FOLLOWER) {
+		sem_post (&amp;sr[i].m_sema);
+		break;
+	}
+}</body>
+          </ownedBehavior>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_4M1S0Cu9Ed-uZPFNCty7PQ" name="LeaderFollower" specification="_JM4I4Cu9Ed-uZPFNCty7PQ">
+            <language>C/C++</language>
+            <body>sem_init (&amp;m_sema, 0, 0);
+m_state = FOLLOWER;</body>
+          </ownedBehavior>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_OyEk4Cu_Ed-uZPFNCty7PQ" name="init" specification="_6cImgCu-Ed-uZPFNCty7PQ">
+            <language>C/C++</language>
+            <body>for (int i=0; i&lt;POOL_SIZE; i++) {
+	pthread_create (&amp;m_sr.m_tID, 0, runStatic, &amp;m_sr[i]);
+}</body>
+          </ownedBehavior>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_AGUogCvHEd-uZPFNCty7PQ" name="runStatic" specification="_z-laoCvGEd-uZPFNCty7PQ">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_LPCSoMp7EeWZ7LDc4RWI6w" name="arg">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LPDgwMp7EeWZ7LDc4RWI6w" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LPDgwcp7EeWZ7LDc4RWI6w" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_LPGkEMp7EeWZ7LDc4RWI6w" name="ret" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LPHLIMp7EeWZ7LDc4RWI6w" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LPHLIcp7EeWZ7LDc4RWI6w" value="1"/>
+            </ownedParameter>
+            <language>C/C++</language>
+            <body>((LeaderFollower *) arg)->run();</body>
+          </ownedBehavior>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_2FN1ICu0Ed-uZPFNCty7PQ" name="run" method="_D8z3ECu1Ed-uZPFNCty7PQ"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_eHX3wCu7Ed-uZPFNCty7PQ" name="selectLeader" method="_wXEiYCu7Ed-uZPFNCty7PQ"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_JM4I4Cu9Ed-uZPFNCty7PQ" name="LeaderFollower" method="_4M1S0Cu9Ed-uZPFNCty7PQ"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_6cImgCu-Ed-uZPFNCty7PQ" name="init" isStatic="true" method="_OyEk4Cu_Ed-uZPFNCty7PQ"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_z-laoCvGEd-uZPFNCty7PQ" name="runStatic" method="_AGUogCvHEd-uZPFNCty7PQ">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_Dn-xYCvHEd-uZPFNCty7PQ" name="arg">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_IdnDkCvHEd-uZPFNCty7PQ" name="ret" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+            </ownedParameter>
+          </ownedOperation>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_2wMyEChiEd-eoo60eNyGlg" name="SimpleActivation">
+          <generalization xmi:type="uml:Generalization" xmi:id="_5AKpkChiEd-eoo60eNyGlg" general="_e6Y_EChYEd-eoo60eNyGlg"/>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_BhfKYChjEd-eoo60eNyGlg" name="derived realization of I" client="_2wMyEChiEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_6rmQoChiEd-eoo60eNyGlg" name="Thread Pool">
+          <generalization xmi:type="uml:Generalization" xmi:id="_892AEChiEd-eoo60eNyGlg" general="_e6Y_EChYEd-eoo60eNyGlg"/>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_cWkScCsAEd-uZPFNCty7PQ" name="derived realization of I" client="_6rmQoChiEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_BY-fwCnxEd-eoo60eNyGlg" name="sem_t">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_CQ_F0CnxEd-eoo60eNyGlg" name="lf" type="_qgzokChYEd-eoo60eNyGlg" isUnique="false" aggregation="composite"/>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_PpWOECnxEd-eoo60eNyGlg" name="listener" isUnique="false" aggregation="composite"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Enumeration" xmi:id="_F3CIECu1Ed-uZPFNCty7PQ" name="LFState">
+          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_QSQJwCu1Ed-uZPFNCty7PQ" name="EXECUTOR"/>
+          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_R5B6UCu1Ed-uZPFNCty7PQ" name="FOLLOWER"/>
+          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_SxRJ4Cu1Ed-uZPFNCty7PQ" name="LEADER"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Interface" xmi:id="_fxfe8Cu1Ed-uZPFNCty7PQ" name="IListener">
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_eN6hcCu3Ed-uZPFNCty7PQ" name="exec" isAbstract="true"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_hY4ooCu3Ed-uZPFNCty7PQ" name="select" isAbstract="true"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_5KatsCvDEd-uZPFNCty7PQ" name="pthread_t"/>
+        <packagedElement xmi:type="uml:Enumeration" xmi:id="_hcwDkD8CEeGJ6KSvhYhYuQ" name="LeaderFollowerState">
+          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_mzqd4D8CEeGJ6KSvhYhYuQ" name="LEADER"/>
+          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_qdIe8D8CEeGJ6KSvhYhYuQ" name="FOLLOWER"/>
+          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_rOMvgD8CEeGJ6KSvhYhYuQ" name="EXECUTOR"/>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_xOqL0No9Ed-wvpj-p-V_QQ" name="CppParameterStorage"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_0KYOQF7pEeGEmrrwB1vhPg" name="OPC_provideMultI" isAbstract="true">
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_0KY1UF7pEeGEmrrwB1vhPg" name="rconn" visibility="public" type="_ZzlzMPfBEd2TbIfwytOyPA" aggregation="composite" isConjugated="true">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0KY1Ul7pEeGEmrrwB1vhPg"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_0KY1UV7pEeGEmrrwB1vhPg" value="10"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_oJZ4EH2LEeWV7cfiwPN21w" name="derivedTypes">
+        <packagedElement xmi:type="uml:Package" xmi:id="_oJbtQH2LEeWV7cfiwPN21w" name="sysinterfaces">
+          <packagedElement xmi:type="uml:Class" xmi:id="_oJcUUH2LEeWV7cfiwPN21w" name="Use_Dispatch"/>
+          <packagedElement xmi:type="uml:Usage" xmi:id="_oJhM0H2LEeWV7cfiwPN21w" client="_oJcUUH2LEeWV7cfiwPN21w">
+            <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_7TuzoCUUEd6YR-YzyVnLng"/>
+          </packagedElement>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Package" xmi:id="_Askr4H2MEeWV7cfiwPN21w" name="componentlib">
+          <packagedElement xmi:type="uml:Package" xmi:id="_AspkYH2MEeWV7cfiwPN21w" name="methodCall">
+            <packagedElement xmi:type="uml:Package" xmi:id="_LO3TgMp7EeWZ7LDc4RWI6w" name="CallActivation">
+              <packagedElement xmi:type="uml:Class" xmi:id="_LO4hoMp7EeWZ7LDc4RWI6w" name="Use_IListener"/>
+              <packagedElement xmi:type="uml:Usage" xmi:id="_LO_2YMp7EeWZ7LDc4RWI6w" client="_LO4hoMp7EeWZ7LDc4RWI6w" supplier="_fxfe8Cu1Ed-uZPFNCty7PQ"/>
+            </packagedElement>
+            <packagedElement xmi:type="uml:Class" xmi:id="_AsqygH2MEeWV7cfiwPN21w" name="Use_I"/>
+            <packagedElement xmi:type="uml:Usage" xmi:id="_As2_wH2MEeWV7cfiwPN21w" client="_AsqygH2MEeWV7cfiwPN21w" supplier="_ZzlzMPfBEd2TbIfwytOyPA"/>
+          </packagedElement>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_QwvnQFDlEd6cwecVIgl9nw" name="PortKinds">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_2dvXILnZEeCxXoyQxQ47PQ" annotatedElement="_Wtq4slDlEd6cwecVIgl9nw">
+        <body>Data Flow oriented communication: consume passively: provided push operation is called </body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_Ch2pQLnaEeCxXoyQxQ47PQ">
+        <body>Data Flow oriented communication: produce data via pushing these (calling the required operation) </body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_DsnzQLnaEeCxXoyQxQ47PQ">
+        <body>Data Flow oriented communication: produce data via pushing these (calling the required operation) </body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_FMuUELnaEeCxXoyQxQ47PQ" annotatedElement="_WtrfwlDlEd6cwecVIgl9nw">
+        <body>Data Flow oriented communication: produce data via pushing these (calling the required operation) </body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_GgtrgLnaEeCxXoyQxQ47PQ" annotatedElement="_Wtq4sVDlEd6cwecVIgl9nw">
+        <body>Data Flow oriented communication: consumer data actively by calling the required poll operation </body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_-UGDoDiyEeGiupyIkgMHVw">
+        <body>In order to support icons, all port kinds are stereotypes, but for Qompass they are classes stereotyped as &quot;PortKind&quot;</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_COvdAEMMEeKGIL695HkFYQ" annotatedElement="_GjnlcC8qEeKx7OxAiA06uw">
+        <body> A bidirectional flow port combining a push-producer and a pull consumer</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_7cXTsH-QEeOtkrzuMiGEow" annotatedElement="_1FxlEH-QEeOtkrzuMiGEow">
+        <body>Dummy interface returned by ports who need to update derived interfaces (but can only do so in the context of a transaction).</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtq4sVDlEd6cwecVIgl9nw" name="PullConsumer">
+        <icon xmi:type="uml:Image" xmi:id="_CVWIADiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%97%0%0%0%98%8%0%0%0%0%101%-7%-30%-47%0%0%2%120%73%68%65%84%104%-127%-75%-38%-51%75%21%81%24%6%-16%-125%-106%105%25%-106%38%-107%84%-76%50%-119%-54%32%90%37%-75%-120%72%-94%69%-117%104%85%86%-46%-90%112%97%73%33%-47%-86%-123%16%33%70%17%-47%-54%-94%47%-24%3%-63%34%-56%-115%20%-35%77%4%-110%65%-123%27%11%51%37%-107%-16%-93%-85%-34%105%-26%-23%74%31%115%-18%120%103%-18%97%-50%-5%60%127%-64%-4%86%103%-26%61%-49%59%10%-99%23%-102%121%105%31%-127%122%-80%72%17%-77%-96%98%68%85%51%-127%116%-82%-87%26%-78%112%76%-35%34%11%117%106%-74%-98%45%32%121%-124%45%96%124%55%91%-64%-40%46%-74%-128%-127%-51%108%1%-3%-107%108%1%61%107%-40%2%-34%-106%-78%5%116%-111%8%95%-64%-45%34%-74%-32%-35%-90%16%-102%0%-17%106%62%89%-128%-45%66%32%50%4%56%-115%108%1%-45%39%-39%2%-110%7%-39%2%38%14%-80%5%-116%-18%96%11%24%-38%-50%22%-48%-73%-127%45%-32%-29%58%-74%-128%-41%43%-39%2%94%-107%-80%5%116%-120%17%97%2%-18%20%-78%5%-9%-70%16%17%42%-64%-67%40%-13%-94%13%23%-112%58%47%66%68%8%72%29%103%11%-104%58%-52%22%48%-79%-113%45%96%108%15%91%-64%-32%54%-74%-128%47%-101%-40%2%-34%-83%103%11%-24%89%-59%22%-16%-94%-116%45%-32%-39%82%-74%-128%-69%-59%108%1%55%11%-40%-126%123%41%54%97%40%-64%109%-54%35%11%-104%-39%-49%22%-34%-105%-109%-123%-127%-86%-104%-128%-87%-16%99%103%92%-64%80%-104%58%20%27%48%19%82%-89%-29%3%70%-126%-41%106%51%18%-104%8%-9%-84%38%39%3%-95%107%-103%13%96%32%-12%-38%125%30%114%11%-33%108%-81%43%-71%-124%113%-21%-6%44%-121%-112%-76%56%8%70%-126%115%-58%26%-120%22%-68%54%-127%-39%56%82%120%36%81%7%69%9%-35%-53%5%-128%40%-95%-73%66%2%-120%16%6%55%-118%0%-31%-62%100%-4%47%-126%-103%48%45%113%57%-119%18%-100%38%41%32%68%-16%-82%-56%21%126%-39%-123%-57%-126%-67%104%86%33%97%53%108%27%8%31%68%91%-10%44%-62%87%-39%101%-60%124%65%122%103%51%79%-104%-107%-34%59%5%-123%95%103%-123%-127%-96%64%40%-41%3%-62%-109%-59%-46%64%64%72%-84%16%7%50%5%-47%22%52%-101%48%-76%-107%0%-24%-62%-28%94%6%-96%9%-87%58%10%-32%11%-18%57%14%-32%11%55%72%-64%127%-95%-109%-10%63%-62%95%-31%13%107%103%-7%79%-24%91%75%3%-2%8%-33%41%7%65%19%126%-42%18%-127%57%-63%57%-63%4%-46%-126%-37%76%5%-46%66%7%23%80%71%85%-36%86%-57%52%-83%-86%-127%-6%-4%-68%-110%97%-11%-87%44%-93%-3%-54%-41%-78%-80%64%75%-111%-106%37%-59%126%86%111%-47%82%-85%-91%-2%84%58%109%-61%80%24%109%-65%-84%-27%-2%67%63%-49%95%-6%73%124%-42%50%19%28%-127%-94%-14%27%-2%-94%-44%59%115%-35%74%-17%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4KKUwDrSEeGKkdk54CX6PQ" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4KLi4DrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MdOBcDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconPushConsumer"/>
+          </eAnnotations>
+        </icon>
+        <icon xmi:type="uml:Image" xmi:id="_kZGdADl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%108%0%0%0%97%8%0%0%0%0%22%-109%27%-49%0%0%2%-101%73%68%65%84%104%-127%-67%-38%-51%75%84%81%24%6%-16%-25%-36%59%87%68%43%107%76%40%63%42%-84%4%-125%1%49%-86%77%-82%70%24%-120%54%-39%-57%44%18%35%-110%62%104%-91%-83%10%-108%32%-94%64%40%92%-10%-79%-120%-118%8%23%82%-101%26%-124%22%65%41%4%69%-117%-118%-124%114%17%52%65%-108%9%105%-47%-28%116%26%107%76%-13%-34%-21%-67%112%-49%-5%60%-1%-64%111%49%103%120%-97%123%-34%3%61%118%-78%37%84%118%-89%61%115%-30%-123%14%29%76%39%16%41%106%-29%72%120%44%19%-51%42%100%-61%-77%-48%-40%-11%-56%24%-102%71%-119%-104%-38%-10%-114%-121%-63%74%101%121%24%84%-37%4%15%-125%-35%17%70%51%-124%-63%62%62%21%2%-21%55%-125%-63%-23%-2%30%-116%-99%54%-124%-95%-12%124%-114%-121%-95%-20%66%-98%-121%97%-7%-75%0%-51%36%-122%-8%32%17%67%-19%61%34%-122%-75%-113%-120%24%26%-122%-119%24%-102%94%19%49%-75%-27%45%15%-125%74%-67%-25%97%-80%118%-114%-13%48%-60%14%-8%-116%0%9%12%-79%-61%-34%35%64%4%-125%-45%-27%-87%-55%96%112%-50%120%-115%0%-12%-120%96%40%-21%-101%-10%-64%14%-55%96%88%-26%49%2%-48%33%-124%33%126%-117%-120%-95%-58%53%2%4%49%-84%121%72%-60%-48%48%66%-60%-48%-8%-110%-120%-87%-83%-93%60%12%42%-103%-27%97%-80%118%124%-28%97%-80%-38%39%120%24%-20%-125%83%60%-84%-16%21%-16%-115%-121%-63%-23%-51%-15%-80%-62%8%-56%-15%48%-108%95%-3%-59%-61%-80%-30%-58%31%108%23%5%67%85%102%6%-37%-50%-63%80%-5%-128%-120%97%-3%19%34%-122%-42%28%17%-85%120%78%-60%-86%-77%60%-52%-18%-28%-3%102%-86%117%-100%-121%37%-34%-16%-114%126%-35%48%-17%79%29%-65%-85%105%88%-23%-59%60%13%-117%117%-3%-48%44%-52%-38%59%-87%105%88%-53%7%77%-61%-26%106%-79%60%-74%122%104%-82%-54%109%18%-74%42%110%-50%43%-87%-11%-78%86%-55%-39%60%13%-77%-113%-52%-65%57%-106%-59%84%-37%23%77%-61%54%-1%-65%55%17%-59%-22%-97%106%26%86%117%95%-45%-80%37%-105%53%13%115%122%126%-46%48%-69%-3%-21%66%75%12%83%-55%-49%46%75%12%-101%-87%28%44%-84%-18%-79%-121%37%-124%85%-34%-15%-78%100%-80%98%-27%-96%96%-77%-107%-61%-115%85%27%-73%-84%125%-18%67%95%-60%-52%-25%95%-27%32%96%-115%-81%-4%44%-13%-40%-86%33%95%-53%56%-74%-44%125%51%44%-122%-107%-100%91%108%-19%105%-42%-78%-113%46%-70%-84%54%106%45%-88%28%-78%88%115%-64%83%13%-109%-42%-70%-96%39%47%6%-83%-107%-103%0%-53%32%86%-18%-86%28%114%-104%-45%-21%-86%28%98%-104%-75%127%50%-48%50%-123%-87%-92%-33%82%85%0%75%-116%-123%-80%12%97%53%-31%94%-107%25%-79%-2%-34%114%-124%-64%84%116%-85%-92%63%-24%-119%-53%44%-42%20%-39%-78%-70%125%42%-121%27%-69%93%25%-77%109%43%-118%-107%14%113%-24%-117%-104%-2%52%56%48%112%-91%-49%55%-89%-114%-7%38%-99%42%100%-49%-91%-48%-106%-2%13%-127%31%98%-1%-55%30%-37%-42%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_44RX8DrSEeGKkdk54CX6PQ" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_44R_ADrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PhMv0DrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjPullConsumer"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtq4slDlEd6cwecVIgl9nw" name="PushConsumer">
+        <icon xmi:type="uml:Image" xmi:id="_Dh_hUDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%97%0%0%0%98%8%0%0%0%0%101%-7%-30%-47%0%0%2%120%73%68%65%84%104%-127%-75%-38%-51%75%21%81%24%6%-16%-125%-106%105%25%-106%38%-107%84%-76%50%-119%-54%32%90%37%-75%-120%72%-94%69%-117%104%85%86%-46%-90%112%97%73%33%-47%-86%-123%16%33%70%17%-47%-54%-94%47%-24%3%-63%34%-56%-115%20%-35%77%4%-110%65%-123%27%11%51%37%-107%-16%-93%-85%-34%105%-26%-23%74%31%115%-18%120%103%-18%97%-50%-5%60%127%-64%-4%86%103%-26%61%-49%59%10%-99%23%-102%121%105%31%-127%122%-80%72%17%-77%-96%98%68%85%51%-127%116%-82%-87%26%-78%112%76%-35%34%11%117%106%-74%-98%45%32%121%-124%45%96%124%55%91%-64%-40%46%-74%-128%-127%-51%108%1%-3%-107%108%1%61%107%-40%2%-34%-106%-78%5%116%-111%8%95%-64%-45%34%-74%-32%-35%-90%16%-102%0%-17%106%62%89%-128%-45%66%32%50%4%56%-115%108%1%-45%39%-39%2%-110%7%-39%2%38%14%-80%5%-116%-18%96%11%24%-38%-50%22%-48%-73%-127%45%-32%-29%58%-74%-128%-41%43%-39%2%94%-107%-80%5%116%-120%17%97%2%-18%20%-78%5%-9%-70%16%17%42%-64%-67%40%-13%-94%13%23%-112%58%47%66%68%8%72%29%103%11%-104%58%-52%22%48%-79%-113%45%96%108%15%91%-64%-32%54%-74%-128%47%-101%-40%2%-34%-83%103%11%-24%89%-59%22%-16%-94%-116%45%-32%-39%82%-74%-128%-69%-59%108%1%55%11%-40%-126%123%41%54%97%40%-64%109%-54%35%11%-104%-39%-49%22%-34%-105%-109%-123%-127%-86%-104%-128%-87%-16%99%103%92%-64%80%-104%58%20%27%48%19%82%-89%-29%3%70%-126%-41%106%51%18%-104%8%-9%-84%38%39%3%-95%107%-103%13%96%32%-12%-38%125%30%114%11%-33%108%-81%43%-71%-124%113%-21%-6%44%-121%-112%-76%56%8%70%-126%115%-58%26%-120%22%-68%54%-127%-39%56%82%120%36%81%7%69%9%-35%-53%5%-128%40%-95%-73%66%2%-120%16%6%55%-118%0%-31%-62%100%-4%47%-126%-103%48%45%113%57%-119%18%-100%38%41%32%68%-16%-82%-56%21%126%-39%-123%-57%-126%-67%104%86%33%97%53%108%27%8%31%68%91%-10%44%-62%87%-39%101%-60%124%65%122%103%51%79%-104%-107%-34%59%5%-123%95%103%-123%-127%-96%64%40%-41%3%-62%-109%-59%-46%64%64%72%-84%16%7%50%5%-47%22%52%-101%48%-76%-107%0%-24%-62%-28%94%6%-96%9%-87%58%10%-32%11%-18%57%14%-32%11%55%72%-64%127%-95%-109%-10%63%-62%95%-31%13%107%103%-7%79%-24%91%75%3%-2%8%-33%41%7%65%19%126%-42%18%-127%57%-63%57%-63%4%-46%-126%-37%76%5%-46%66%7%23%80%71%85%-36%86%-57%52%-83%-86%-127%-6%-4%-68%-110%97%-11%-87%44%-93%-3%-54%-41%-78%-80%64%75%-111%-106%37%-59%126%86%111%-47%82%-85%-91%-2%84%58%109%-61%80%24%109%-65%-84%-27%-2%67%63%-49%95%-6%73%124%-42%50%19%28%-127%-94%-14%27%-2%-94%-44%59%115%-35%74%-17%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7bjNADrSEeGKkdk54CX6PQ" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7bj0EDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JNOQUDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconPushConsumer"/>
+          </eAnnotations>
+        </icon>
+        <icon xmi:type="uml:Image" xmi:id="_hwLS8Dl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%108%0%0%0%97%8%0%0%0%0%22%-109%27%-49%0%0%2%-101%73%68%65%84%104%-127%-67%-38%-51%75%84%81%24%6%-16%-25%-36%59%87%68%43%107%76%40%63%42%-84%4%-125%1%49%-86%77%-82%70%24%-120%54%-39%-57%44%18%35%-110%62%104%-91%-83%10%-108%32%-94%64%40%92%-10%-79%-120%-118%8%23%82%-101%26%-124%22%65%41%4%69%-117%-118%-124%114%17%52%65%-108%9%105%-47%-28%116%26%107%76%-13%-34%-21%-67%112%-49%-5%60%-1%-64%111%49%103%120%-97%123%-34%3%61%118%-78%37%84%118%-89%61%115%-30%-123%14%29%76%39%16%41%106%-29%72%120%44%19%-51%42%100%-61%-77%-48%-40%-11%-56%24%-102%71%-119%-104%-38%-10%-114%-121%-63%74%101%121%24%84%-37%4%15%-125%-35%17%70%51%-124%-63%62%62%21%2%-21%55%-125%-63%-23%-2%30%-116%-99%54%-124%-95%-12%124%-114%-121%-95%-20%66%-98%-121%97%-7%-75%0%-51%36%-122%-8%32%17%67%-19%61%34%-122%-75%-113%-120%24%26%-122%-119%24%-102%94%19%49%-75%-27%45%15%-125%74%-67%-25%97%-80%118%-114%-13%48%-60%14%-8%-116%0%9%12%-79%-61%-34%35%64%4%-125%-45%-27%-87%-55%96%112%-50%120%-115%0%-12%-120%96%40%-21%-101%-10%-64%14%-55%96%88%-26%49%2%-48%33%-124%33%126%-117%-120%-95%-58%53%2%4%49%-84%121%72%-60%-48%48%66%-60%-48%-8%-110%-120%-87%-83%-93%60%12%42%-103%-27%97%-80%118%124%-28%97%-80%-38%39%120%24%-20%-125%83%60%-84%-16%21%-16%-115%-121%-63%-23%-51%-15%-80%-62%8%-56%-15%48%-108%95%-3%-59%-61%-80%-30%-58%31%108%23%5%67%85%102%6%-37%-50%-63%80%-5%-128%-120%97%-3%19%34%-122%-42%28%17%-85%120%78%-60%-86%-77%60%-52%-18%-28%-3%102%-86%117%-100%-121%37%-34%-16%-114%126%-35%48%-17%79%29%-65%-85%105%88%-23%-59%60%13%-117%117%-3%-48%44%-52%-38%59%-87%105%88%-53%7%77%-61%-26%106%-79%60%-74%122%104%-82%-54%109%18%-74%42%110%-50%43%-87%-11%-78%86%-55%-39%60%13%-77%-113%-52%-65%57%-106%-59%84%-37%23%77%-61%54%-1%-65%55%17%-59%-22%-97%106%26%86%117%95%-45%-80%37%-105%53%13%115%122%126%-46%48%-69%-3%-21%66%75%12%83%-55%-49%46%75%12%-101%-87%28%44%-84%-18%-79%-121%37%-124%85%-34%-15%-78%100%-80%98%-27%-96%96%-77%-107%-61%-115%85%27%-73%-84%125%-18%67%95%-60%-52%-25%95%-27%32%96%-115%-81%-4%44%-13%-40%-86%33%95%-53%56%-74%-44%125%51%44%-122%-107%-100%91%108%-19%105%-42%-78%-113%46%-70%-84%54%106%45%-88%28%-78%88%115%-64%83%13%-109%-42%-70%-96%39%47%6%-83%-107%-103%0%-53%32%86%-18%-86%28%114%-104%-45%-21%-86%28%98%-104%-75%127%50%-48%50%-123%-87%-92%-33%82%85%0%75%-116%-123%-80%12%97%53%-31%94%-107%25%-79%-2%-34%114%-124%-64%84%116%-85%-92%63%-24%-119%-53%44%-42%20%-39%-78%-70%125%42%-121%27%-69%93%25%-77%109%43%-118%-107%14%113%-24%-117%-104%-2%52%56%48%112%-91%-49%55%-89%-114%-7%38%-99%42%100%-49%-91%-48%-106%-2%13%-127%31%98%-1%-55%30%-37%-42%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8L9WQDrSEeGKkdk54CX6PQ" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8L99UDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Lb68gDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjPushConsumer"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_WtrfwlDlEd6cwecVIgl9nw" name="PushProducer">
+        <icon xmi:type="uml:Image" xmi:id="_Eu1u8DiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%108%0%0%0%97%8%0%0%0%0%22%-109%27%-49%0%0%2%-101%73%68%65%84%104%-127%-67%-38%-51%75%84%81%24%6%-16%-25%-36%59%87%68%43%107%76%40%63%42%-84%4%-125%1%49%-86%77%-82%70%24%-120%54%-39%-57%44%18%35%-110%62%104%-91%-83%10%-108%32%-94%64%40%92%-10%-79%-120%-118%8%23%82%-101%26%-124%22%65%41%4%69%-117%-118%-124%114%17%52%65%-108%9%105%-47%-28%116%26%107%76%-13%-34%-21%-67%112%-49%-5%60%-1%-64%111%49%103%120%-97%123%-34%3%61%118%-78%37%84%118%-89%61%115%-30%-123%14%29%76%39%16%41%106%-29%72%120%44%19%-51%42%100%-61%-77%-48%-40%-11%-56%24%-102%71%-119%-104%-38%-10%-114%-121%-63%74%101%121%24%84%-37%4%15%-125%-35%17%70%51%-124%-63%62%62%21%2%-21%55%-125%-63%-23%-2%30%-116%-99%54%-124%-95%-12%124%-114%-121%-95%-20%66%-98%-121%97%-7%-75%0%-51%36%-122%-8%32%17%67%-19%61%34%-122%-75%-113%-120%24%26%-122%-119%24%-102%94%19%49%-75%-27%45%15%-125%74%-67%-25%97%-80%118%-114%-13%48%-60%14%-8%-116%0%9%12%-79%-61%-34%35%64%4%-125%-45%-27%-87%-55%96%112%-50%120%-115%0%-12%-120%96%40%-21%-101%-10%-64%14%-55%96%88%-26%49%2%-48%33%-124%33%126%-117%-120%-95%-58%53%2%4%49%-84%121%72%-60%-48%48%66%-60%-48%-8%-110%-120%-87%-83%-93%60%12%42%-103%-27%97%-80%118%124%-28%97%-80%-38%39%120%24%-20%-125%83%60%-84%-16%21%-16%-115%-121%-63%-23%-51%-15%-80%-62%8%-56%-15%48%-108%95%-3%-59%-61%-80%-30%-58%31%108%23%5%67%85%102%6%-37%-50%-63%80%-5%-128%-120%97%-3%19%34%-122%-42%28%17%-85%120%78%-60%-86%-77%60%-52%-18%-28%-3%102%-86%117%-100%-121%37%-34%-16%-114%126%-35%48%-17%79%29%-65%-85%105%88%-23%-59%60%13%-117%117%-3%-48%44%-52%-38%59%-87%105%88%-53%7%77%-61%-26%106%-79%60%-74%122%104%-82%-54%109%18%-74%42%110%-50%43%-87%-11%-78%86%-55%-39%60%13%-77%-113%-52%-65%57%-106%-59%84%-37%23%77%-61%54%-1%-65%55%17%-59%-22%-97%106%26%86%117%95%-45%-80%37%-105%53%13%115%122%126%-46%48%-69%-3%-21%66%75%12%83%-55%-49%46%75%12%-101%-87%28%44%-84%-18%-79%-121%37%-124%85%-34%-15%-78%100%-80%98%-27%-96%96%-77%-107%-61%-115%85%27%-73%-84%125%-18%67%95%-60%-52%-25%95%-27%32%96%-115%-81%-4%44%-13%-40%-86%33%95%-53%56%-74%-44%125%51%44%-122%-107%-100%91%108%-19%105%-42%-78%-113%46%-70%-84%54%106%45%-88%28%-78%88%115%-64%83%13%-109%-42%-70%-96%39%47%6%-83%-107%-103%0%-53%32%86%-18%-86%28%114%-104%-45%-21%-86%28%98%-104%-75%127%50%-48%50%-123%-87%-92%-33%82%85%0%75%-116%-123%-80%12%97%53%-31%94%-107%25%-79%-2%-34%114%-124%-64%84%116%-85%-92%63%-24%-119%-53%44%-42%20%-39%-78%-70%125%42%-121%27%-69%93%25%-77%109%43%-118%-107%14%113%-24%-117%-104%-2%52%56%48%112%-91%-49%55%-89%-114%-7%38%-99%42%100%-49%-91%-48%-106%-2%13%-127%31%98%-1%-55%30%-37%-42%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVcCADrXEeGMCcwsbpLuFA" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EVdQIDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconPushProducer"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Eg1ZsDrXEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+        <icon xmi:type="uml:Image" xmi:id="_djiTYDl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%97%0%0%0%98%8%0%0%0%0%101%-7%-30%-47%0%0%2%120%73%68%65%84%104%-127%-75%-38%-51%75%21%81%24%6%-16%-125%-106%105%25%-106%38%-107%84%-76%50%-119%-54%32%90%37%-75%-120%72%-94%69%-117%104%85%86%-46%-90%112%97%73%33%-47%-86%-123%16%33%70%17%-47%-54%-94%47%-24%3%-63%34%-56%-115%20%-35%77%4%-110%65%-123%27%11%51%37%-107%-16%-93%-85%-34%105%-26%-23%74%31%115%-18%120%103%-18%97%-50%-5%60%127%-64%-4%86%103%-26%61%-49%59%10%-99%23%-102%121%105%31%-127%122%-80%72%17%-77%-96%98%68%85%51%-127%116%-82%-87%26%-78%112%76%-35%34%11%117%106%-74%-98%45%32%121%-124%45%96%124%55%91%-64%-40%46%-74%-128%-127%-51%108%1%-3%-107%108%1%61%107%-40%2%-34%-106%-78%5%116%-111%8%95%-64%-45%34%-74%-32%-35%-90%16%-102%0%-17%106%62%89%-128%-45%66%32%50%4%56%-115%108%1%-45%39%-39%2%-110%7%-39%2%38%14%-80%5%-116%-18%96%11%24%-38%-50%22%-48%-73%-127%45%-32%-29%58%-74%-128%-41%43%-39%2%94%-107%-80%5%116%-120%17%97%2%-18%20%-78%5%-9%-70%16%17%42%-64%-67%40%-13%-94%13%23%-112%58%47%66%68%8%72%29%103%11%-104%58%-52%22%48%-79%-113%45%96%108%15%91%-64%-32%54%-74%-128%47%-101%-40%2%-34%-83%103%11%-24%89%-59%22%-16%-94%-116%45%-32%-39%82%-74%-128%-69%-59%108%1%55%11%-40%-126%123%41%54%97%40%-64%109%-54%35%11%-104%-39%-49%22%-34%-105%-109%-123%-127%-86%-104%-128%-87%-16%99%103%92%-64%80%-104%58%20%27%48%19%82%-89%-29%3%70%-126%-41%106%51%18%-104%8%-9%-84%38%39%3%-95%107%-103%13%96%32%-12%-38%125%30%114%11%-33%108%-81%43%-71%-124%113%-21%-6%44%-121%-112%-76%56%8%70%-126%115%-58%26%-120%22%-68%54%-127%-39%56%82%120%36%81%7%69%9%-35%-53%5%-128%40%-95%-73%66%2%-120%16%6%55%-118%0%-31%-62%100%-4%47%-126%-103%48%45%113%57%-119%18%-100%38%41%32%68%-16%-82%-56%21%126%-39%-123%-57%-126%-67%104%86%33%97%53%108%27%8%31%68%91%-10%44%-62%87%-39%101%-60%124%65%122%103%51%79%-104%-107%-34%59%5%-123%95%103%-123%-127%-96%64%40%-41%3%-62%-109%-59%-46%64%64%72%-84%16%7%50%5%-47%22%52%-101%48%-76%-107%0%-24%-62%-28%94%6%-96%9%-87%58%10%-32%11%-18%57%14%-32%11%55%72%-64%127%-95%-109%-10%63%-62%95%-31%13%107%103%-7%79%-24%91%75%3%-2%8%-33%41%7%65%19%126%-42%18%-127%57%-63%57%-63%4%-46%-126%-37%76%5%-46%66%7%23%80%71%85%-36%86%-57%52%-83%-86%-127%-6%-4%-68%-110%97%-11%-87%44%-93%-3%-54%-41%-78%-80%64%75%-111%-106%37%-59%126%86%111%-47%82%-85%-91%-2%84%58%109%-61%80%24%109%-65%-84%-27%-2%67%63%-49%95%-6%73%124%-42%50%19%28%-127%-94%-14%27%-2%-94%-44%59%115%-35%74%-17%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GvSOQDrXEeGMCcwsbpLuFA" source="image_papyrus">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GvS1UDrXEeGMCcwsbpLuFA" key="image_name_key" value="ConjIconPushProducer"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G5-bUDrXEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_GjnlcC8qEeKx7OxAiA06uw" name="PushProdPullCons">
+        <icon xmi:type="uml:Image" xmi:id="_0I0rMEMLEeKGIL695HkFYQ" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%112%0%0%0%103%8%0%0%0%0%-3%88%-103%-76%0%0%7%56%73%68%65%84%104%-127%-75%-102%123%80%21%85%28%-57%-9%-18%-67%92%121%-91%40%-124%38%70%64%-26%11%-33%-118%-29%115%124%84%-90%83%106%-91%-93%2%-115%83%-90%102%-90%-7%-56%-55%-41%-104%58%-26%-116%-40%56%-102%-64%-116%-88%53%101%62%-54%102%-14%81%26%86%102%-58%4%78%102%-120%14%89%62%72%5%-15%9%72%112%-111%-57%-62%-23%42%23%-10%123%118%-49%-18%-98%-35%-69%-2%-2%-29%-100%-33%-2%62%-105%-35%-13%123%-100%-33%57%2%-31%23%-23%-20%-87%-101%-116%-31%-102%-69%38%108%16%-127%31%-105%-38%78%16%-100%83%47%-46%-93%-43%-97%116%17%-59%94%-23%53%-10%3%-85%-34%116%9%15%36%-106%34%86%39%63%28%20%-109%-1%-77%29%-72%-92%-111%39%8%-29%-85%96%52%-75%105%116%90%-75%-51%-64%-116%22%62%-53%66%-28%101%121%-76%122%96%-45%-88%-72%-76%-34%86%-32%-31%80%-95%89%-66%-105%-121%47%61%-39%60%-22%78%-77%19%120%-90%-83%-52%19%-14%-28%-15%-62%56%121%56%116%-97%125%-64%-62%-98%-64%-21%120%93%-98%-88%26%12%19%109%-114%-39%5%44%123%22%-52%10%91%112%-22%-101%64%-104%-119%62%103%15%80%74%114%-128%-43%23%-53%113%-50%-25%22%62%-23%117%-51%22%-32%42%39%-40%-20%83%76%79%-106%-67%-128%-60%81%-58%65%-57%24%-72%-93%5%88%-20%-112%-81%-100%-66%-103%-128%-60%-55%30%-65%-127%-103%-32%16%66%-21%-29%106%-123%11%79%-125%-126%56%-73%-42%79%96%126%52%-104%11%-38%-55%82%-55%121%28%84%2%-42%-7%7%-68%-34%11%95%-40%-70%58%-90%-46%-63%-57%64%39%-28%115%127%-128%-98%-25%-112%55%-29%-66%-122%-38%118%-4%-52%97%-121%-83%3%-91%-23%-24%16%99%52%51%66%-3%-121%34%-24%69%-99%-78%12%92%-29%2%59%61%-117%-75%21%107%-26%-32%-101%-24%-10%-113%69%-32%23%24%70%-94%114%-11%126%90%-59%68%36%14%101%21%6%-58%-64%19%-83%-64%70%-85%31%-12%120%-124%-108%12%69%-30%-72%50%11%64%72%61%-34%-46%-30%-45%6%125%32%-71%26%15%-22%-30%76%-83%-11%-91%13%-68%-35%7%127%-14%74%-74%67%-96%-28%70%-127%126%-64%7%-110%73%-96%-121%-118%-111%111%104%-2%96%-112%-93%97%-16%68%96%-70%73%-32%76%116%-120%81%-9%56%120%-124%-20%13%-126%103%66%-65%50%5%92%-113%14%-47%-11%10%23%-113%-44%111%-62%-68%18%-98%101%2%-72%-41%13%79%70%-98%-26%-29%121%-35%113%41%126%-121%-40%-13%-36%-64%-109%-24%16%-63%-103%-68%60%66%42%95%67%98%127%86%-88%96%1%11%48%67%56%-73%25%57%4%74%-39%88%36%14%47%-27%2%-106%80%14%-79%-62%-40%33%80%-118%-6%-31%-61%83%-85%84%10%106%-96%-12%18%46%-48%100%-11%35%-6%-110%31%11%79%59%22%-87%-36%81%13%-100%-117%-111%127%-104%118%-116%-46%-110%19%88%-61%6%108%52%4%110%70%-121%-120%-27%116%8%74%14%-32%-110%11%82%-26%99%37%112%63%58%68%-60%31%22%120%-92%126%43%102%-103%-106%-118%-88%-81%0%-2%-114%-31%41%-8%59%43%60%66%106%87%99%0%104%-105%71%77%-46%-64%43%88%-127%9%105%90%1%-40%72%60%-77%-48%76%-89%34%77%96%101%95%84%92%96%84%-15%105%75%-7%-85%104%104%48%-106%-57%8%-84%-101%-128%106%-109%121%-73%-104%44%-71%51%4%77%-31%30%22%-127%-117%-47%1%19%-52%59%4%-54%-91%46%96%-53%49%67%-2%56%0%-92%98%125%76%-127%95%60%-17%-14%123%2%-84%57%87%49%-128%-103%-104%-51%-38%-24%-106%122%92%114%-76%53%-40%115%103%-88%-128%-25%-38%-64%-68%-21%-96%-103%-120%-83%33%-69%-15%63%8%57%-92%0%-34%-120%-63%-81%-68%-103%-77%67%-96%43%13%31%81%-7%56%-121%2%86%12%66%-34%60%-21%14%-127%82%-77%16%-115%-58%92%4%96%-35%100%-100%-102%-32%-113%67%-96%84%38%-94%-39%-34%55%101%-32%10%116%-120%-34%37%54%-15%-68%-7%120%36%18%71%120%-102%-128%59%-112%-41%94%111%103%96%86%-118%-79%-1%-31%72%-108%26%-127%-57%48%67%-124%-8%-17%16%40%-25%-79%60%118%-66%-1%16%120%1%-13%-105%75%-93%-100%-76%44%89%-24%110%-31%69%94%96%113%71%124%-49%41%118%56%4%37%-5%-63%29%-59%84%47%-112%-6%-82%-13%-52%-107%76%60%-46%-112%14%-18%56%64%18%-14%112%-63%-116%54%-20%122%88%-112%44%-8%100%125%37%97%62%-16%-30%-17%60%2%-34%5%-88%114%29%-21%-119%-48%94%-2%51%-20%-46%35%-32%-35%-22%15%-1%81%-40%95%68%-64%125%-28%86%27%66%-74%66%42%38%-127%125%71%-94%-41%45%54%-94%79%88%-84%-102%-76%-91%-10%61%92%-110%-61%-68%-91%-65%112%59%0%70%66%-71%55%74%124%-46%-80%5%19%70%-41%-85%-28%-127%-29%83%91%-84%-88%-117%-122%70%-52%-56%1%76%-119%17%15%-1%27%111%-92%-103%-126%-60%78%-73%108%-28%-3%22%1%-106%-125%15%18%31%-16%-2%112%-22%61%87%-40%-58%43%120%6%-20%-70%55%-111%38%32%41%-19%-122%-60%41%-4%-89%44%-6%82%58%2%-84%58%23%18%25%72%10%-80%37%35%44%-78%39%-68%121%-110%-48%-24%-53%77%-91%105%99%2%-2%19%-73%20%-62%70%59%2%120%-35%114%52%57%-80%-71%-8%-10%-43%52%71%-80%1%-23%-38%-25%127%0%104%-56%64%-121%-120%-109%79%115%-102%-86%-74%109%-72%13%13%57%-18%55%48%19%-33%89%120%-74%60%-47%92%-105%-82%68%98%100%30%-53%-120%9%57%-35%14%-84%5%-19%-127%25%-71%-14%-98%-123%121%42%-90%72%109%-60%-124%20%-10%0%91%1%41%56%37%3%-21%-88%-114%-57%0%127%-10%50%-9%-80%115%-19%-104%69%109%51%97%51%83%-47%-101%90%-57%60%-3%60%-74%120%94%71%67%99%-24%62%8%110%-41%-118%-30%80%-15%109%-85%1%64%90%-125%11%52%-31%6%61%75%-19%-128%-13%-15%4%66%88%109%113%-57%77%117%-82%-97%82%30%-27%-48%123%-4%-97%67%64%-41%-75%-35%-110%59%-2%68%117%-82%127%84%78%43%-70%24%123%48%59%90%-22%98%-100%-61%70%93%-32%103%-86%121%101%-97%-122%-38%98%69%-28%-104%-26%81%-67%54%-41%90%-75%-126%-86%19%-75%0%3%64%-76%-39%124%124%15%-5%18%-30%116%-58%-70%83%1%-21%38%82%59%41%115%-123%99%-19%108%92%117%35%24%-35%75%70%115%-81%18%-49%117%-123%-25%-71%111%4%120%-91%-98%-6%32%-35%-103%71%57%-116%126%-23%45%-20%120%-16%53%-12%125%-14%101%48%60%24%-59%-114%-57%-52%-114%112%123%36%46%-31%-34%127%-1%18%14%-113%-75%-44%88%-30%-58%61%111%-25%22%-50%124%76%29%-107%6%102%104%104%-79%-69%-6%-5%49%88%4%127%-51%-59%-93%-70%93%-30%50%-109%39%51%105%24%0%-62%127%-27%-32%81%53%-67%-112%100%-6%-20%105%57%-70%99%7%-29%-126%-68%6%119%97%-62%112%-19%-66%-124%22%80%-102%-122%-18%-40%-29%95%35%-32%-57%88%20%-59%-21%-88%107%-98%-82%-47%-57%-65%35%13%2%-64%1%60%119%-114%-52%-42%-47%-44%62%63%-92%-49%-13%18%43%-11%120%39%35%65%53%84%119%-111%-23%-100%-112%-46%-3%-24%-7%58%1%-32%114%103%80%12%-40%-84%-57%-45%61%3%-50%69%71%118%-90%104%22%-28%119%71%-127%-98%-72%80%-33%109%117%79%-71%-113%96%62%14%-38%-87%-111%-113%-85%-88%19%-82%-119%6%-101%33%-3%-117%3%25%-72%-10%90%-79%-113%-39%-22%-105%-95%7%13%49%-38%-18%25%92%-115%88%-117%-25%52%109%-103%-7%120%43%54%-50%-30%12%27%117%6%64%-23%29%-4%-7%-99%24%-7%-8%80%75%80%-32%-120%73%70%-73%77%60%-44%9%-60%32%-43%11%59%-125%-103%37%100%-105%33%-49%-8%62%-51%93%-22%4%-30%21%69%62%46%-60%-30%-39%-99%-62%54%97%14%72%-82%117%71%-30%108%-86%91%92%54%26%-25%-34%-30%-23%36%115%-36%-119%58%-117%45%79%-9%-73%56%-75%1%121%-29%-54%-75%44%-104%4%-110%99%-104%-113%-57%-62%-65%113%37%6%38%-6%-23%-36%70%49%9%36%-69%-96%86%-23%12%123%-123%108%8%12%-86%-102%-34%31%32%-39%36%7%-128%104%-72%-69%-106%41%-13%-62%-114%-14%-15%56%-127%-46%-30%-26%0%48%6%-118%-37%-13%-51%-25%75%-116%-102%-34%47%-96%55%94%-6%-14%-79%115%55%-116%-42%-114%-9%-15%-60%85%-36%-115%15%-34%-5%-91%37%-109%26%-119%115%-88%-22%-35%87%-88%-119%-17%62%-126%43%-69%82%90%127%-105%-69%-25%94%-123%-27%-53%-55%-34%72%26%-67%-61%68%99%-121%-1%82%50%33%-27%-84%-46%-81%-28%-52%-33%-90%-6%72%-1%3%78%-120%-67%33%108%33%82%26%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
+        <icon xmi:type="uml:Image" xmi:id="_12mboEMLEeKGIL695HkFYQ" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%112%0%0%0%103%8%0%0%0%0%-3%88%-103%-76%0%0%7%56%73%68%65%84%104%-127%-75%-102%123%80%21%85%28%-57%-9%-18%-67%92%121%-91%40%-124%38%70%64%-26%11%-33%-118%-29%115%124%84%-90%83%106%-91%-93%2%-115%83%-90%102%-90%-7%-56%-55%-41%-104%58%-26%-116%-40%56%-102%-64%-116%-88%53%101%62%-54%102%-14%81%26%86%102%-58%4%78%102%-120%14%89%62%72%5%-15%9%72%112%-111%-57%-62%-23%42%23%-10%123%118%-49%-18%-98%-35%-69%-2%-2%-29%-100%-33%-2%62%-105%-35%-13%123%-100%-33%57%2%-31%23%-23%-20%-87%-101%-116%-31%-102%-69%38%108%16%-127%31%-105%-38%78%16%-100%83%47%-46%-93%-43%-97%116%17%-59%94%-23%53%-10%3%-85%-34%116%9%15%36%-106%34%86%39%63%28%20%-109%-1%-77%29%-72%-92%-111%39%8%-29%-85%96%52%-75%105%116%90%-75%-51%-64%-116%22%62%-53%66%-28%101%121%-76%122%96%-45%-88%-72%-76%-34%86%-32%-31%80%-95%89%-66%-105%-121%47%61%-39%60%-22%78%-77%19%120%-90%-83%-52%19%-14%-28%-15%-62%56%121%56%116%-97%125%-64%-62%-98%-64%-21%120%93%-98%-88%26%12%19%109%-114%-39%5%44%123%22%-52%10%91%112%-22%-101%64%-104%-119%62%103%15%80%74%114%-128%-43%23%-53%113%-50%-25%22%62%-23%117%-51%22%-32%42%39%-40%-20%83%76%79%-106%-67%-128%-60%81%-58%65%-57%24%-72%-93%5%88%-20%-112%-81%-100%-66%-103%-128%-60%-55%30%-65%-127%-103%-32%16%66%-21%-29%106%-123%11%79%-125%-126%56%-73%-42%79%96%126%52%-104%11%-38%-55%82%-55%121%28%84%2%-42%-7%7%-68%-34%11%95%-40%-70%58%-90%-46%-63%-57%64%39%-28%115%127%-128%-98%-25%-112%55%-29%-66%-122%-38%118%-4%-52%97%-121%-83%3%-91%-23%-24%16%99%52%51%66%-3%-121%34%-24%69%-99%-78%12%92%-29%2%59%61%-117%-75%21%107%-26%-32%-101%-24%-10%-113%69%-32%23%24%70%-94%114%-11%126%90%-59%68%36%14%101%21%6%-58%-64%19%-83%-64%70%-85%31%-12%120%-124%-108%12%69%-30%-72%50%11%64%72%61%-34%-46%-30%-45%6%125%32%-71%26%15%-22%-30%76%-83%-11%-91%13%-68%-35%7%127%-14%74%-74%67%-96%-28%70%-127%126%-64%7%-110%73%-96%-121%-118%-111%111%104%-2%96%-112%-93%97%-16%68%96%-70%73%-32%76%116%-120%81%-9%56%120%-124%-20%13%-126%103%66%-65%50%5%92%-113%14%-47%-11%10%23%-113%-44%111%-62%-68%18%-98%101%2%-72%-41%13%79%70%-98%-26%-29%121%-35%113%41%126%-121%-40%-13%-36%-64%-109%-24%16%-63%-103%-68%60%66%42%95%67%98%127%86%-88%96%1%11%48%67%56%-73%25%57%4%74%-39%88%36%14%47%-27%2%-106%80%14%-79%-62%-40%33%80%-118%-6%-31%-61%83%-85%84%10%106%-96%-12%18%46%-48%100%-11%35%-6%-110%31%11%79%59%22%-87%-36%81%13%-100%-117%-111%127%-104%118%-116%-46%-110%19%88%-61%6%108%52%4%110%70%-121%-120%-27%116%8%74%14%-32%-110%11%82%-26%99%37%112%63%58%68%-60%31%22%120%-92%126%43%102%-103%-106%-118%-88%-81%0%-2%-114%-31%41%-8%59%43%60%66%106%87%99%0%104%-105%71%77%-46%-64%43%88%-127%9%105%90%1%-40%72%60%-77%-48%76%-89%34%77%96%101%95%84%92%96%84%-15%105%75%-7%-85%104%104%48%-106%-57%8%-84%-101%-128%106%-109%121%-73%-104%44%-71%51%4%77%-31%30%22%-127%-117%-47%1%19%-52%59%4%-54%-91%46%96%-53%49%67%-2%56%0%-92%98%125%76%-127%95%60%-17%-14%123%2%-84%57%87%49%-128%-103%-104%-51%-38%-24%-106%122%92%114%-76%53%-40%115%103%-88%-128%-25%-38%-64%-68%-21%-96%-103%-120%-83%33%-69%-15%63%8%57%-92%0%-34%-120%-63%-81%-68%-103%-77%67%-96%43%13%31%81%-7%56%-121%2%86%12%66%-34%60%-21%14%-127%82%-77%16%-115%-58%92%4%96%-35%100%-100%-102%-32%-113%67%-96%84%38%-94%-39%-34%55%101%-32%10%116%-120%-34%37%54%-15%-68%-7%120%36%18%71%120%-102%-128%59%-112%-41%94%111%103%96%86%-118%-79%-1%-31%72%-108%26%-127%-57%48%67%-124%-8%-17%16%40%-25%-79%60%118%-66%-1%16%120%1%-13%-105%75%-93%-100%-76%44%89%-24%110%-31%69%94%96%113%71%124%-49%41%118%56%4%37%-5%-63%29%-59%84%47%-112%-6%-82%-13%-52%-107%76%60%-46%-112%14%-18%56%64%18%-14%112%-63%-116%54%-20%122%88%-112%44%-8%100%125%37%97%62%-16%-30%-17%60%2%-34%5%-88%114%29%-21%-119%-48%94%-2%51%-20%-46%35%-32%-35%-22%15%-1%81%-40%95%68%-64%125%-28%86%27%66%-74%66%42%38%-127%125%71%-94%-41%45%54%-94%79%88%-84%-102%-76%-91%-10%61%92%-110%-61%-68%-91%-65%112%59%0%70%66%-71%55%74%124%-46%-80%5%19%70%-41%-85%-28%-127%-29%83%91%-84%-88%-117%-122%70%-52%-56%1%76%-119%17%15%-1%27%111%-92%-103%-126%-60%78%-73%108%-28%-3%22%1%-106%-125%15%18%31%-16%-2%112%-22%61%87%-40%-58%43%120%6%-20%-70%55%-111%38%32%41%-19%-122%-60%41%-4%-89%44%-6%82%58%2%-84%58%23%18%25%72%10%-80%37%35%44%-78%39%-68%121%-110%-48%-24%-53%77%-91%105%99%2%-2%19%-73%20%-62%70%59%2%120%-35%114%52%57%-80%-71%-8%-10%-43%52%71%-80%1%-23%-38%-25%127%0%104%-56%64%-121%-120%-109%79%115%-102%-86%-74%109%-72%13%13%57%-18%55%48%19%-33%89%120%-74%60%-47%92%-105%-82%68%98%100%30%-53%-120%9%57%-35%14%-84%5%-19%-127%25%-71%-14%-98%-123%121%42%-90%72%109%-60%-124%20%-10%0%91%1%41%56%37%3%-21%-88%-114%-57%0%127%-10%50%-9%-80%115%-19%-104%69%109%51%97%51%83%-47%-101%90%-57%60%-3%60%-74%120%94%71%67%99%-24%62%8%110%-41%-118%-30%80%-15%109%-85%1%64%90%-125%11%52%-31%6%61%75%-19%-128%-13%-15%4%66%88%109%113%-57%77%117%-82%-97%82%30%-27%-48%123%-4%-97%67%64%-41%-75%-35%-110%59%-2%68%117%-82%127%84%78%43%-70%24%123%48%59%90%-22%98%-100%-61%70%93%-32%103%-86%121%101%-97%-122%-38%98%69%-28%-104%-26%81%-67%54%-41%90%-75%-126%-86%19%-75%0%3%64%-76%-39%124%124%15%-5%18%-30%116%-58%-70%83%1%-21%38%82%59%41%115%-123%99%-19%108%92%117%35%24%-35%75%70%115%-81%18%-49%117%-123%-25%-71%111%4%120%-91%-98%-6%32%-35%-103%71%57%-116%126%-23%45%-20%120%-16%53%-12%125%-14%101%48%60%24%-59%-114%-57%-52%-114%112%123%36%46%-31%-34%127%-1%18%14%-113%-75%-44%88%-30%-58%61%111%-25%22%-50%124%76%29%-107%6%102%104%104%-79%-69%-6%-5%49%88%4%127%-51%-59%-93%-70%93%-30%50%-109%39%51%105%24%0%-62%127%-27%-32%81%53%-67%-112%100%-6%-20%105%57%-70%99%7%-29%-126%-68%6%119%97%-62%112%-19%-66%-124%22%80%-102%-122%-18%-40%-29%95%35%-32%-57%88%20%-59%-21%-88%107%-98%-82%-47%-57%-65%35%13%2%-64%1%60%119%-114%-52%-42%-47%-44%62%63%-92%-49%-13%18%43%-11%120%39%35%65%53%84%119%-111%-23%-100%-112%-46%-3%-24%-7%58%1%-32%114%103%80%12%-40%-84%-57%-45%61%3%-50%69%71%118%-90%104%22%-28%119%71%-127%-98%-72%80%-33%109%117%79%-71%-113%96%62%14%-38%-87%-111%-113%-85%-88%19%-82%-119%6%-101%33%-3%-117%3%25%-72%-10%90%-79%-113%-39%-22%-105%-95%7%13%49%-38%-18%25%92%-115%88%-117%-25%52%109%-103%-7%120%43%54%-50%-30%12%27%117%6%64%-23%29%-4%-7%-99%24%-7%-8%80%75%80%-32%-120%73%70%-73%77%60%-44%9%-60%32%-43%11%59%-125%-103%37%100%-105%33%-49%-8%62%-51%93%-22%4%-30%21%69%62%46%-60%-30%-39%-99%-62%54%97%14%72%-82%117%71%-30%108%-86%91%92%54%26%-25%-34%-30%-23%36%115%-36%-119%58%-117%45%79%-9%-73%56%-75%1%121%-29%-54%-75%44%-104%4%-110%99%-104%-113%-57%-62%-65%113%37%6%38%-6%-23%-36%70%49%9%36%-69%-96%86%-23%12%123%-123%108%8%12%-86%-102%-34%31%32%-39%36%7%-128%104%-72%-69%-106%41%-13%-62%-114%-14%-15%56%-127%-46%-30%-26%0%48%6%-118%-37%-13%-51%-25%75%-116%-102%-34%47%-96%55%94%-6%-14%-79%115%55%-116%-42%-114%-9%-15%-60%85%-36%-115%15%-34%-5%-91%37%-109%26%-119%115%-88%-22%-35%87%-88%-119%-17%62%-126%43%-69%82%90%127%-105%-69%-25%94%-123%-27%-53%-55%-34%72%26%-67%-61%68%99%-121%-1%82%50%33%-27%-84%-46%-81%-28%-52%-33%-90%-6%72%-1%3%78%-120%-67%33%108%33%82%26%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Interface" xmi:id="_1FxlEH-QEeOtkrzuMiGEow" name="Please update derived elements"/>
+      <packagedElement xmi:type="uml:Package" xmi:id="_HPLkIDMYEeWoDfId-zdVpA" name="interfaceBased">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_FryEELnZEeCxXoyQxQ47PQ" annotatedElement="_Wtq4sFDlEd6cwecVIgl9nw">
+          <body>Simple provision of typing interface as provided interface</body>
+        </ownedComment>
+        <ownedComment xmi:type="uml:Comment" xmi:id="_K17NsLnZEeCxXoyQxQ47PQ" annotatedElement="_Wtrfw1DlEd6cwecVIgl9nw">
+          <body>Simple provision of typing interface as required interface</body>
+        </ownedComment>
+        <ownedComment xmi:type="uml:Comment" xmi:id="_PxzR0LnZEeCxXoyQxQ47PQ" annotatedElement="__nMrwLqNEd-SedGzMDDkww">
+          <body>CORBA asynchronous messaging (AMI): Provision of poller variant of typing interface. Allows client to continue without waiting for the result</body>
+        </ownedComment>
+        <ownedComment xmi:type="uml:Comment" xmi:id="_l49WMLnZEeCxXoyQxQ47PQ" annotatedElement="__nMrwLqNEd-SedGzMDDkww _AQZZwLqOEd-SedGzMDDkww">
+          <body>CORBA asynchronous messaging (AMI): Provision of callback variant of typing interface. Allows client Allows client to continue without waiting for the result</body>
+        </ownedComment>
+        <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_OwA4UDMYEeWoDfId-zdVpA" parameter="_QqFYUDMYEeWoDfId-zdVpA">
+          <ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_QqFYUDMYEeWoDfId-zdVpA" parameteredElement="_d9RssDMYEeWoDfId-zdVpA"/>
+        </ownedTemplateSignature>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtq4sFDlEd6cwecVIgl9nw" name="ProvideInterface">
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="__77G8DPdEeWoDfId-zdVpA" client="_Wtq4sFDlEd6cwecVIgl9nw" supplier="_d9RssDMYEeWoDfId-zdVpA" contract="_d9RssDMYEeWoDfId-zdVpA"/>
+          <icon xmi:type="uml:Image" xmi:id="__3j28DixEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%119%0%0%0%92%8%3%0%0%0%99%-116%-38%77%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%120%120%120%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-71%82%-104%50%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%4%-59%73%68%65%84%104%-127%-59%-102%109%91%-30%58%16%-122%11%-118%40%-88%108%-83%2%-53%-117%93%123%4%-75%-20%110%53%-83%69%-91%-108%30%20%-1%-1%79%58%-107%-77%72%38%77%-109%73%-126%-41%62%95%-55%-52%77%94%-102%-52%76%98%-111%29%104%-2%-74%26%-115%-22%-29%81%-27%-83%31%35%77%44%51%98%-68%58%60%-19%120%22%-91%-27%-76%57%-70%-8%90%-18%-62%127%6%-56%-83%58%-65%-34%-61%47%-30%94%28%-76%-7%-52%63%122%109%-4%-5%5%-36%-59%73%73%79%105%-75%43%59%-26%14%78%-28%-48%-75%-70%-29%-78%-31%-42%-32%94%96%-87%107%-14%96%71%-36%-80%-18%42%96%115%5%-50%46%-72%-117%-82%26%53%-41%-16%-38%-100%-69%127%-91%-116%-51%-43%-116%-52%-72%-15%-67%14%53%87%123%102%-62%117%94%52%-79%-106%-27%-78%-53%75%-127%-101%-88%79%45%5%102%-66%101%60%119%-66%44%117%58%124%-71%15%38%-66%-1%59%-104%-106%-73%-15%-58%122%-36%-92%-60%101%-89%89%-95%63%-108%120%-32%79%75%-42%94%85%-121%-21%100%60%87%-39%36%-31%-76%-75%111%-98%-72%61%-2%-95%-50%-115%121%115%43%-40%127%23%15%-100%-3%-37%-19%41%115%91%69%47%-35%-107%-48%34%-31%-20%-90%-53%-19%-116%-32%-72%-11%-30%127%-81%75%14%88%66%86%-33%11%86%45%53%-18%-96%48%104%47%-123%-115%-128%-93%-8%119%1%92%87%-31%-38%25%107%-34%-112%118%-10%127%-115%-39%51%-60%-21%43%112%27%-84%113%13%71%-51%-43%103%-65%-66%78%-120%-26%-10%-104%81%-10%-86%114%-101%79%37%-20%88%-43%-48%-36%103%3%44%33%51%-90%-57%-18%5%-110%59%102%-2%-16%88%106%1%-107%48%115%28%32%-71%41%52%-13%21%-79%-124%92%-62%121%-14%18%20%-73%2%-79%-33%-112%43%-103%-42%29%116%-47%68%113%97%-108%-4%-54%13%-106%36%10%-65%1%31%87%14%-126%-5%6%-1%-21%72%3%-101%-81%45%120%66%77%16%-36%0%88%60%106%97%-39%-111%-50%-28%-36%8%44%70%-113%119%-22%97%20%-62%-59%121%41%-27%94%-125%-10%-57%-102%88%-10%99%12%-92%92%120%-2%45%-76%-71%33%-40%61%-36%80%-62%13%-63%48%-73%-124%109%-59%58%0%29%-24%75%-72%125%-48%-102%23%-9%99%-27%-128%-51%-29%78%-62%5%-21%-48%45%70%-3%10%2%51%54%-107%112%31%-103%-43%96%-96%17%-19%-22%42%18%115%95%-23%-58%122%123%-58%70%51%-72%66%-123%92%27%-76%-59%-124%54%2%-127%-120%-76%-14%-121%27%-49%120%-86%-46%77%51%51%44%-36%-7%110%63%-72%-47%-92%-115%-88%86%-24%-18%-111%27%-127%47%-23%-34%66%-89%-46%13%67%46%56%80%-97%44%18%103%40%-84%-75%111%-56%-99%-45%-50%-50%45%-46%-60%97%13%-105%51%-77%-96%83%-117%12%-111%92%113%90%34%87%8%-71%9%18%107%-67%25%114%9%-19%-52%-77%46%-1%10%-41%-75%-20%50%14%43%65%-47%15%-91%-104%118%-106%-49%47%-74%106%-79%-21%117%85%45%3%49%58%48%-28%-10%104%103%-7%-9%75%30%112%-36%95%-122%-36%127%104%103%-45%-100%27%-6%-120%93%50%-1%-117%-122%92%-97%118%-42%92%-97%11%73%-19%-8%-119%39%80%39%27%26%114%65%-35%-95%38%60%7%35%-48%-31%-98%-88%-87%92%96%127%122%23%-97%-5%32%-20%-59%103%-37%60%-127%101%-107%-17%86%-62%-58%-57%116%91%-109%112%-110%-112%91%56%103%98%-18%30%-35%-40%-45%-55%-55%62%5%-14%-69%19%9%23%-100%93%70%3%-67%0%-98%-10%100%-7%2%8%-13%59%6%92%88%-101%-103%-53%-72%48%29%-44%-33%-94%29%-112%-119%102%-46%-4%8%-90%-65%-25%-38%92%-80%105%124%36%-64%-78%-4%55%3%6%-17%-102%88%7%6%23%115%57%-9%16%24%100%-102%-87%10%-100%-82%103%34%-25%-62%21%-67%46%17%-88%-117%-119%45%-10%17%92%-72%-83%90%94%-55%-11%-105%80%76%125%115%25%97%-72%-16%-61%-77%-78%51%117%46%83%-119%94%111%3%-14%-70%-39%41%-76%106%41%23%-80%-104%-14%-43%-48%-58%113%7%-48%76%57%29%29%49%-10%119%4%-57%37%108%-11%-6%72%9%91%101%-126%-118%52%-62%114%-49%-40%-56%30%91%-11%-26%97%55%-31%63%-90%-18%-67%-49%-104%90%15%-24%-49%-72%112%49%-15%64%-16%92%-90%-66%-104%-85%-115%43%-96%21%-17%49%95%55%79%29%80%-9%26%78%-31%-82%-52%-67%65%-104%-11%82%-42%108%-101%100%-31%-18%113%126%20%35%-50%-87%-84%-53%118%-77%104%-12%-13%-13%87%-28%-67%-107%95%112%97%121%13%-47%-13%-112%-88%-58%-71%79%-100%110%23%36%-10%126%48%40%122%-79%-68%-96%-84%112%-24%-44%121%-73%-104%93%123%-37%2%-53%13%-7%-113%24%-38%7%-59%42%-113%125%125%-54%77%4%50%58%62%67%-33%-61%-58%-36%59%-50%92%105%112%115%-71%-15%24%-9%-85%71%101%-49%88%-106%96%65%-32%-17%-99%-29%105%-119%-61%-11%-112%-89%-23%75%-102%-118%94%88%64%-84%-54%61%123%-120%76%-32%-72%-22%50%-117%80%-23%61%-61%-111%54%-10%-23%-116%113%-91%-10%126%-93%112%-49%-120%84%113%71%87%124%55%50%19%63%126%-30%107%-56%-119%127%85%-33%-55%68%13%84%-78%76%-21%-111%87%80%85%127%-113%52%127%-106%-93%40%45%-7%85%122%-99%-9%87%123%-27%-81%52%88%93%29%-39%124%31%90%-17%-66%-94%-101%-30%-43%61%-105%-38%40%77%33%53%-33%-71%-123%99%-7%104%103%126%73%95%13%-72%-71%-110%-119%-88%-45%110%32%-82%-17%25%-67%-97%-20%-33%-74%-72%31%-12%-7%-31%74%22%9%25%-66%-37%36%97%127%-4%-13%-76%-67%-119%-4%-68%116%-38%-84%-83%4%-61%-69%51%-18%-89%102%-77%25%-10%-115%-22%-121%-2%3%52%51%-49%67%-105%-19%90%17%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%5%-46%-52%-24%92%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_17F1IDrSEeGKkdk54CX6PQ" source="image_papyrus">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_17HDQDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Sn5bADrXEeGMCcwsbpLuFA" key="image_name_key" value="IconProvideInterface"/>
+            </eAnnotations>
+          </icon>
+          <icon xmi:type="uml:Image" xmi:id="_ToC6oDl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%84%0%0%0%101%8%3%0%0%0%-28%-109%52%-5%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-52%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%82%82%82%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%24%24%24%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-33%61%-9%-93%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%41%73%68%65%84%104%-127%-83%-39%125%91%-38%48%16%0%-16%-29%101%12%-76%32%32%69%17%-95%88%-107%23%-69%45%-43%90%-83%5%117%-32%-9%-1%78%-125%103%-37%67%47%109%115%-105%54%-9%119%-8%61%41%73%-109%-69%43%-120%-14%17%92%86%-105%86%56%-116%15%49%12%-83%-42%26%74%-126%-35%-54%106%8%82%84%74%-95%-125%-58%-117%12%30%98%84%28%125%-84%-74%-99%44%18%-96%87%20%125%-84%127%100%-117%0%83%81%12%85%-112%0%-61%98%-24%-83%-126%4%120%42%-126%-66%61%-87%72%-128%7%125%-44%-97%79%-43%38%-52%-75%-47%-2%25%65%2%-72%-70%-24%104%67%-102%-80%-43%68%107%57%59%19%69%-92%-121%46%25%36%-128%-81%-123%54%115%-99%-15%-85%-41%-88%110%15%81%-83%-51%-123%6%-22%63%100%-125%-45%-50%-3%-91%52%-108%-113%-98%100%-110%-81%-75%94%122%40%27%-99%103%-111%-42%58%115%44%23%-67%-31%-109%108%116%-108%-34%75%-101%93%-18%104%30%-38%77%-17%-7%102%-112%63%-100%-121%-2%72%-19%-95%47%-43%112%22%122%39%-101%118%-92%28%-49%65%-93%-119%100%-122%-118%71%-25%-94%-14%-61%119%8%-109%-125%110%37%-13%-52%-89%126%65%-93%-66%116%-81%15%-87%121%114%-48%26%54%63%-6%-28%47%104%-44%-57%91%-44%-71%-94%77%26%-67%-59%19%-99%51%76%26%-75%-15%102%34%23%-119%-125%86%-16%-61%-65%113%76%18%-75%16%-38%98%-103%20%-38%67%-89%-45%-17%-82%17%20%47%-45%61%-49%-92%-48%48%105%-114%-103%19%37%-48%1%-102%104%-109%105%18%-88%-117%-48%-127%25%-44%67%123%-108%107%18%104%-100%68%-17%-52%-96%17%122%-6%-116%11%-66%8%58%75%-102%54%-37%84%-93%40%-127%96%-66%77%36%-118%-18%-111%-118%33%-12%60%-119%50%14%103%22%58%78%-104%19%-66%-87%68%-125%-126%-21%116%64%-3%-111%91%91%36%-93%-27%-3%-115%95%73%-12%84%11%29%93%0%39%60%29%-12%-115%42%-117%-2%-59%82%7%125%-26%-103%-80%-48%65%57%69%-116%54%-54%13%45%-108%-7%-105%-62%119%29%-12%39%19%-43%90%-3%-63%-104%6%15%-47%-42%65%69%-60%91%127%-51%55%74%116%-81%-73%-57%-72%-114%-114%-15%-103%64%29%77%52%55%-48%5%-51%-53%120%104%20%85%-93%51%67%-24%-73%36%-70%50%-124%-94%-108%111%104%8%-19%-93%-11%103%-25%18%-60%-67%-113%106%-120%-70%33%116%-107%68%-49%13%-95%51%-12%-4%-20%77%-91%70%-5%-24%96%100%-33%-4%68%126%-118%58%112%83%51%-7%-87%-108%75%114%-49%84%2%13%-48%113%-53%77%-91%-87%-22%-28%20%77%-107%-7%86%81%-24%14%-95%78%94%43%70%15%-107%42%-66%23%35%21%-97%-76%85%121%-41%63%93%69%-93%20%29%-100%107%19%-88%92%70%27%-87%-9%83%-99%-119%11%19%-99%9%113%-123%81%70%121%-50%-23%-10%120%-110%-6%108%-96%-37%35%6%-87%-66%20%81%-3%-80%58%104%-82%-124%-62%69%-7%14%90%-6%15%-128%-119%-14%110%-27%-95%65%44%-85%112%82%-70%43%41%46%-45%-55%-31%38%-65%-80%-30%118%122%-85%41%116%-97%-77%-107%-20%-12%74%-119%-59%-1%-80%-34%-53%-95%57%93%126%-69%94%-90%123%46%-35%-41%-57%112%-98%23%35%-23%29%51%-13%69%98%106%91%75%-41%-35%109%-65%92%-9%74%19%21%-115%92%-11%24%15%-70%40%-25%43%-113%-89%-115%-118%119%-14%123%-44%-87%62%42%122%29%2%13%11%-96%-5%13%-85%-82%-68%-118%-95%34%82%78%-42%46%-122%10%113%-93%-8%103%-29%-94%-88%-22%11%111%113%84%-59%-106%64%-9%-73%108%-59%-54%-36%-75%-91%-48%125%-12%-22%97%-38%13%74%-94%-5%8%118%45%27%-61%81%121%-12%16%-2%-70%-46%-16%-38%97%24%-57%113%24%-74%-9%71%-31%31%12%-33%-99%51%8%-119%86%-81%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%45%-25%121%64%-90%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2ypIMDrSEeGKkdk54CX6PQ" source="image_papyrus">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2ypvQDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UMxHEDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjProvideInterface"/>
+            </eAnnotations>
+          </icon>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtrfw1DlEd6cwecVIgl9nw" name="UseInterface">
+          <icon xmi:type="uml:Image" xmi:id="_FzdNoDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%84%0%0%0%101%8%3%0%0%0%-28%-109%52%-5%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-52%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%82%82%82%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%24%24%24%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-33%61%-9%-93%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%41%73%68%65%84%104%-127%-83%-39%125%91%-38%48%16%0%-16%-29%101%12%-76%32%32%69%17%-95%88%-107%23%-69%45%-43%90%-83%5%117%-32%-9%-1%78%-125%103%-37%67%47%109%115%-105%54%-9%119%-8%61%41%73%-109%-69%43%-120%-14%17%92%86%-105%86%56%-116%15%49%12%-83%-42%26%74%-126%-35%-54%106%8%82%84%74%-95%-125%-58%-117%12%30%98%84%28%125%-84%-74%-99%44%18%-96%87%20%125%-84%127%100%-117%0%83%81%12%85%-112%0%-61%98%-24%-83%-126%4%120%42%-126%-66%61%-87%72%-128%7%125%-44%-97%79%-43%38%-52%-75%-47%-2%25%65%2%-72%-70%-24%104%67%-102%-80%-43%68%107%57%59%19%69%-92%-121%46%25%36%-128%-81%-123%54%115%-99%-15%-85%-41%-88%110%15%81%-83%-51%-123%6%-22%63%100%-125%-45%-50%-3%-91%52%-108%-113%-98%100%-110%-81%-75%94%122%40%27%-99%103%-111%-42%58%115%44%23%-67%-31%-109%108%116%-108%-34%75%-101%93%-18%104%30%-38%77%-17%-7%102%-112%63%-100%-121%-2%72%-19%-95%47%-43%112%22%122%39%-101%118%-92%28%-49%65%-93%-119%100%-122%-118%71%-25%-94%-14%-61%119%8%-109%-125%110%37%-13%-52%-89%126%65%-93%-66%116%-81%15%-87%121%114%-48%26%54%63%-6%-28%47%104%-44%-57%91%-44%-71%-94%77%26%-67%-59%19%-99%51%76%26%-75%-15%102%34%23%-119%-125%86%-16%-61%-65%113%76%18%-75%16%-38%98%-103%20%-38%67%-89%-45%-17%-82%17%20%47%-45%61%-49%-92%-48%48%105%-114%-103%19%37%-48%1%-102%104%-109%105%18%-88%-117%-48%-127%25%-44%67%123%-108%107%18%104%-100%68%-17%-52%-96%17%122%-6%-116%11%-66%8%58%75%-102%54%-37%84%-93%40%-127%96%-66%77%36%-118%-18%-111%-118%33%-12%60%-119%50%14%103%22%58%78%-104%19%-66%-87%68%-125%-126%-21%116%64%-3%-111%91%91%36%-93%-27%-3%-115%95%73%-12%84%11%29%93%0%39%60%29%-12%-115%42%-117%-2%-59%82%7%125%-26%-103%-80%-48%65%57%69%-116%54%-54%13%45%-108%-7%-105%-62%119%29%-12%39%19%-43%90%-3%-63%-104%6%15%-47%-42%65%69%-60%91%127%-51%55%74%116%-81%-73%-57%-72%-114%-114%-15%-103%64%29%77%52%55%-48%5%-51%-53%120%104%20%85%-93%51%67%-24%-73%36%-70%50%-124%-94%-108%111%104%8%-19%-93%-11%103%-25%18%-60%-67%-113%106%-120%-70%33%116%-107%68%-49%13%-95%51%-12%-4%-20%77%-91%70%-5%-24%96%100%-33%-4%68%126%-118%58%112%83%51%-7%-87%-108%75%114%-49%84%2%13%-48%113%-53%77%-91%-87%-22%-28%20%77%-107%-7%86%81%-24%14%-95%78%94%43%70%15%-107%42%-66%23%35%21%-97%-76%85%121%-41%63%93%69%-93%20%29%-100%107%19%-88%92%70%27%-87%-9%83%-99%-119%11%19%-99%9%113%-123%81%70%121%-50%-23%-10%120%-110%-6%108%-96%-37%35%6%-87%-66%20%81%-3%-80%58%104%-82%-124%-62%69%-7%14%90%-6%15%-128%-119%-14%110%-27%-95%65%44%-85%112%82%-70%43%41%46%-45%-55%-31%38%-65%-80%-30%118%122%-85%41%116%-97%-77%-107%-20%-12%74%-119%-59%-1%-80%-34%-53%-95%57%93%126%-69%94%-90%123%46%-35%-41%-57%112%-98%23%35%-23%29%51%-13%69%98%106%91%75%-41%-35%109%-65%92%-9%74%19%21%-115%92%-11%24%15%-70%40%-25%43%-113%-89%-115%-118%119%-14%123%-44%-87%62%42%122%29%2%13%11%-96%-5%13%-85%-82%-68%-118%-95%34%82%78%-42%46%-122%10%113%-93%-8%103%-29%-94%-88%-22%11%111%113%84%-59%-106%64%-9%-73%108%-59%-54%-36%-75%-91%-48%125%-12%-22%97%-38%13%74%-94%-5%8%118%45%27%-61%81%121%-12%16%-2%-70%-46%-16%-38%97%24%-57%113%24%-74%-9%71%-31%31%12%-33%-99%51%8%-119%86%-81%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%45%-25%121%64%-90%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z5Ar0DrWEeGMCcwsbpLuFA" source="image_papyrus">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z5BS4DrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BoRRIDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconUseInterface"/>
+            </eAnnotations>
+          </icon>
+          <icon xmi:type="uml:Image" xmi:id="_Yy8SMDl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%119%0%0%0%92%8%3%0%0%0%99%-116%-38%77%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%120%120%120%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-71%82%-104%50%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%4%-59%73%68%65%84%104%-127%-59%-102%109%91%-30%58%16%-122%11%-118%40%-88%108%-83%2%-53%-117%93%123%4%-75%-20%110%53%-83%69%-91%-108%30%20%-1%-1%79%58%-107%-77%72%38%77%-109%73%-126%-41%62%95%-55%-52%77%94%-102%-52%76%98%-111%29%104%-2%-74%26%-115%-22%-29%81%-27%-83%31%35%77%44%51%98%-68%58%60%-19%120%22%-91%-27%-76%57%-70%-8%90%-18%-62%127%6%-56%-83%58%-65%-34%-61%47%-30%94%28%-76%-7%-52%63%122%109%-4%-5%5%-36%-59%73%73%79%105%-75%43%59%-26%14%78%-28%-48%-75%-70%-29%-78%-31%-42%-32%94%96%-87%107%-14%96%71%-36%-80%-18%42%96%115%5%-50%46%-72%-117%-82%26%53%-41%-16%-38%-100%-69%127%-91%-116%-51%-43%-116%-52%-72%-15%-67%14%53%87%123%102%-62%117%94%52%-79%-106%-27%-78%-53%75%-127%-101%-88%79%45%5%102%-66%101%60%119%-66%44%117%58%124%-71%15%38%-66%-1%59%-104%-106%-73%-15%-58%122%-36%-92%-60%101%-89%89%-95%63%-108%120%-32%79%75%-42%94%85%-121%-21%100%60%87%-39%36%-31%-76%-75%111%-98%-72%61%-2%-95%-50%-115%121%115%43%-40%127%23%15%-100%-3%-37%-19%41%115%91%69%47%-35%-107%-48%34%-31%-20%-90%-53%-19%-116%-32%-72%-11%-30%127%-81%75%14%88%66%86%-33%11%86%45%53%-18%-96%48%104%47%-123%-115%-128%-93%-8%119%1%92%87%-31%-38%25%107%-34%-112%118%-10%127%-115%-39%51%-60%-21%43%112%27%-84%113%13%71%-51%-43%103%-65%-66%78%-120%-26%-10%-104%81%-10%-86%114%-101%79%37%-20%88%-43%-48%-36%103%3%44%33%51%-90%-57%-18%5%-110%59%102%-2%-16%88%106%1%-107%48%115%28%32%-71%41%52%-13%21%-79%-124%92%-62%121%-14%18%20%-73%2%-79%-33%-112%43%-103%-42%29%116%-47%68%113%97%-108%-4%-54%13%-106%36%10%-65%1%31%87%14%-126%-5%6%-1%-21%72%3%-101%-81%45%120%66%77%16%-36%0%88%60%106%97%-39%-111%-50%-28%-36%8%44%70%-113%119%-22%97%20%-62%-59%121%41%-27%94%-125%-10%-57%-102%88%-10%99%12%-92%92%120%-2%45%-76%-71%33%-40%61%-36%80%-62%13%-63%48%-73%-124%109%-59%58%0%29%-24%75%-72%125%-48%-102%23%-9%99%-27%-128%-51%-29%78%-62%5%-21%-48%45%70%-3%10%2%51%54%-107%112%31%-103%-43%96%-96%17%-19%-22%42%18%115%95%-23%-58%122%123%-58%70%51%-72%66%-123%92%27%-76%-59%-124%54%2%-127%-120%-76%-14%-121%27%-49%120%-86%-46%77%51%51%44%-36%-7%110%63%-72%-47%-92%-115%-88%86%-24%-18%-111%27%-127%47%-23%-34%66%-89%-46%13%67%46%56%80%-97%44%18%103%40%-84%-75%111%-56%-99%-45%-50%-50%45%-46%-60%97%13%-105%51%-77%-96%83%-117%12%-111%92%113%90%34%87%8%-71%9%18%107%-67%25%114%9%-19%-52%-77%46%-1%10%-41%-75%-20%50%14%43%65%-47%15%-91%-104%118%-106%-49%47%-74%106%-79%-21%117%85%45%3%49%58%48%-28%-10%104%103%-7%-9%75%30%112%-36%95%-122%-36%127%104%103%-45%-100%27%-6%-120%93%50%-1%-117%-122%92%-97%118%-42%92%-97%11%73%-19%-8%-119%39%80%39%27%26%114%65%-35%-95%38%60%7%35%-48%-31%-98%-88%-87%92%96%127%122%23%-97%-5%32%-20%-59%103%-37%60%-127%101%-107%-17%86%-62%-58%-57%116%91%-109%112%-110%-112%91%56%103%98%-18%30%-35%-40%-45%-55%-55%62%5%-14%-69%19%9%23%-100%93%70%3%-67%0%-98%-10%100%-7%2%8%-13%59%6%92%88%-101%-103%-53%-72%48%29%-44%-33%-94%29%-112%-119%102%-46%-4%8%-90%-65%-25%-38%92%-80%105%124%36%-64%-78%-4%55%3%6%-17%-102%88%7%6%23%115%57%-9%16%24%100%-102%-87%10%-100%-82%103%34%-25%-62%21%-67%46%17%-88%-117%-119%45%-10%17%92%-72%-83%90%94%-55%-11%-105%80%76%125%115%25%97%-72%-16%-61%-77%-78%51%117%46%83%-119%94%111%3%-14%-70%-39%41%-76%106%41%23%-80%-104%-14%-43%-48%-58%113%7%-48%76%57%29%29%49%-10%119%4%-57%37%108%-11%-6%72%9%91%101%-126%-118%52%-62%114%-49%-40%-56%30%91%-11%-26%97%55%-31%63%-90%-18%-67%-49%-104%90%15%-24%-49%-72%112%49%-15%64%-16%92%-90%-66%-104%-85%-115%43%-96%21%-17%49%95%55%79%29%80%-9%26%78%-31%-82%-52%-67%65%-104%-11%82%-42%108%-101%100%-31%-18%113%126%20%35%-50%-87%-84%-53%118%-77%104%-12%-13%-13%87%-28%-67%-107%95%112%97%121%13%-47%-13%-112%-88%-58%-71%79%-100%110%23%36%-10%126%48%40%122%-79%-68%-96%-84%112%-24%-44%121%-73%-104%93%123%-37%2%-53%13%-7%-113%24%-38%7%-59%42%-113%125%125%-54%77%4%50%58%62%67%-33%-61%-58%-36%59%-50%92%105%112%115%-71%-15%24%-9%-85%71%101%-49%88%-106%96%65%-32%-17%-99%-29%105%-119%-61%-11%-112%-89%-23%75%-102%-118%94%88%64%-84%-54%61%123%-120%76%-32%-72%-22%50%-117%80%-23%61%-61%-111%54%-10%-23%-116%113%-91%-10%126%-93%112%-49%-120%84%113%71%87%124%55%50%19%63%126%-30%107%-56%-119%127%85%-33%-55%68%13%84%-78%76%-21%-111%87%80%85%127%-113%52%127%-106%-93%40%45%-7%85%122%-99%-9%87%123%-27%-81%52%88%93%29%-39%124%31%90%-17%-66%-94%-101%-30%-43%61%-105%-38%40%77%33%53%-33%-71%-123%99%-7%104%103%126%73%95%13%-72%-71%-110%-119%-88%-45%110%32%-82%-17%25%-67%-97%-20%-33%-74%-72%31%-12%-7%-31%74%22%9%25%-66%-37%36%97%127%-4%-13%-76%-67%-119%-4%-68%116%-38%-84%-83%4%-61%-69%51%-18%-89%102%-77%25%-10%-115%-22%-121%-2%3%52%51%-49%67%-105%-19%90%17%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%5%-46%-52%-24%92%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0rGQEDrWEeGMCcwsbpLuFA" source="image_papyrus">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0rHeMDrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_C7NfsDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjUseInterface"/>
+            </eAnnotations>
+          </icon>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="__nMrwLqNEd-SedGzMDDkww" name="AMIpoll">
+          <icon xmi:type="uml:Image" xmi:id="_JXZ1gDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%84%0%0%0%101%8%3%0%0%0%-28%-109%52%-5%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-52%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%82%82%82%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%24%24%24%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-33%61%-9%-93%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%41%73%68%65%84%104%-127%-83%-39%125%91%-38%48%16%0%-16%-29%101%12%-76%32%32%69%17%-95%88%-107%23%-69%45%-43%90%-83%5%117%-32%-9%-1%78%-125%103%-37%67%47%109%115%-105%54%-9%119%-8%61%41%73%-109%-69%43%-120%-14%17%92%86%-105%86%56%-116%15%49%12%-83%-42%26%74%-126%-35%-54%106%8%82%84%74%-95%-125%-58%-117%12%30%98%84%28%125%-84%-74%-99%44%18%-96%87%20%125%-84%127%100%-117%0%83%81%12%85%-112%0%-61%98%-24%-83%-126%4%120%42%-126%-66%61%-87%72%-128%7%125%-44%-97%79%-43%38%-52%-75%-47%-2%25%65%2%-72%-70%-24%104%67%-102%-80%-43%68%107%57%59%19%69%-92%-121%46%25%36%-128%-81%-123%54%115%-99%-15%-85%-41%-88%110%15%81%-83%-51%-123%6%-22%63%100%-125%-45%-50%-3%-91%52%-108%-113%-98%100%-110%-81%-75%94%122%40%27%-99%103%-111%-42%58%115%44%23%-67%-31%-109%108%116%-108%-34%75%-101%93%-18%104%30%-38%77%-17%-7%102%-112%63%-100%-121%-2%72%-19%-95%47%-43%112%22%122%39%-101%118%-92%28%-49%65%-93%-119%100%-122%-118%71%-25%-94%-14%-61%119%8%-109%-125%110%37%-13%-52%-89%126%65%-93%-66%116%-81%15%-87%121%114%-48%26%54%63%-6%-28%47%104%-44%-57%91%-44%-71%-94%77%26%-67%-59%19%-99%51%76%26%-75%-15%102%34%23%-119%-125%86%-16%-61%-65%113%76%18%-75%16%-38%98%-103%20%-38%67%-89%-45%-17%-82%17%20%47%-45%61%-49%-92%-48%48%105%-114%-103%19%37%-48%1%-102%104%-109%105%18%-88%-117%-48%-127%25%-44%67%123%-108%107%18%104%-100%68%-17%-52%-96%17%122%-6%-116%11%-66%8%58%75%-102%54%-37%84%-93%40%-127%96%-66%77%36%-118%-18%-111%-118%33%-12%60%-119%50%14%103%22%58%78%-104%19%-66%-87%68%-125%-126%-21%116%64%-3%-111%91%91%36%-93%-27%-3%-115%95%73%-12%84%11%29%93%0%39%60%29%-12%-115%42%-117%-2%-59%82%7%125%-26%-103%-80%-48%65%57%69%-116%54%-54%13%45%-108%-7%-105%-62%119%29%-12%39%19%-43%90%-3%-63%-104%6%15%-47%-42%65%69%-60%91%127%-51%55%74%116%-81%-73%-57%-72%-114%-114%-15%-103%64%29%77%52%55%-48%5%-51%-53%120%104%20%85%-93%51%67%-24%-73%36%-70%50%-124%-94%-108%111%104%8%-19%-93%-11%103%-25%18%-60%-67%-113%106%-120%-70%33%116%-107%68%-49%13%-95%51%-12%-4%-20%77%-91%70%-5%-24%96%100%-33%-4%68%126%-118%58%112%83%51%-7%-87%-108%75%114%-49%84%2%13%-48%113%-53%77%-91%-87%-22%-28%20%77%-107%-7%86%81%-24%14%-95%78%94%43%70%15%-107%42%-66%23%35%21%-97%-76%85%121%-41%63%93%69%-93%20%29%-100%107%19%-88%92%70%27%-87%-9%83%-99%-119%11%19%-99%9%113%-123%81%70%121%-50%-23%-10%120%-110%-6%108%-96%-37%35%6%-87%-66%20%81%-3%-80%58%104%-82%-124%-62%69%-7%14%90%-6%15%-128%-119%-14%110%-27%-95%65%44%-85%112%82%-70%43%41%46%-45%-55%-31%38%-65%-80%-30%118%122%-85%41%116%-97%-77%-107%-20%-12%74%-119%-59%-1%-80%-34%-53%-95%57%93%126%-69%94%-90%123%46%-35%-41%-57%112%-98%23%35%-23%29%51%-13%69%98%106%91%75%-41%-35%109%-65%92%-9%74%19%21%-115%92%-11%24%15%-70%40%-25%43%-113%-89%-115%-118%119%-14%123%-44%-87%62%42%122%29%2%13%11%-96%-5%13%-85%-82%-68%-118%-95%34%82%78%-42%46%-122%10%113%-93%-8%103%-29%-94%-88%-22%11%111%113%84%-59%-106%64%-9%-73%108%-59%-54%-36%-75%-91%-48%125%-12%-22%97%-38%13%74%-94%-5%8%118%45%27%-61%81%121%-12%16%-2%-70%-46%-16%-38%97%24%-57%113%24%-74%-9%71%-31%31%12%-33%-99%51%8%-119%86%-81%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%45%-25%121%64%-90%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3DWg4DrWEeGMCcwsbpLuFA" source="image_papyrus">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3DXH8DrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9f8J0DrWEeGMCcwsbpLuFA" key="image_name_key" value="IconAMIPoll"/>
+            </eAnnotations>
+          </icon>
+          <icon xmi:type="uml:Image" xmi:id="_3-hIoDrWEeGMCcwsbpLuFA" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%119%0%0%0%92%8%3%0%0%0%99%-116%-38%77%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%120%120%120%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-71%82%-104%50%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%4%-59%73%68%65%84%104%-127%-59%-102%109%91%-30%58%16%-122%11%-118%40%-88%108%-83%2%-53%-117%93%123%4%-75%-20%110%53%-83%69%-91%-108%30%20%-1%-1%79%58%-107%-77%72%38%77%-109%73%-126%-41%62%95%-55%-52%77%94%-102%-52%76%98%-111%29%104%-2%-74%26%-115%-22%-29%81%-27%-83%31%35%77%44%51%98%-68%58%60%-19%120%22%-91%-27%-76%57%-70%-8%90%-18%-62%127%6%-56%-83%58%-65%-34%-61%47%-30%94%28%-76%-7%-52%63%122%109%-4%-5%5%-36%-59%73%73%79%105%-75%43%59%-26%14%78%-28%-48%-75%-70%-29%-78%-31%-42%-32%94%96%-87%107%-14%96%71%-36%-80%-18%42%96%115%5%-50%46%-72%-117%-82%26%53%-41%-16%-38%-100%-69%127%-91%-116%-51%-43%-116%-52%-72%-15%-67%14%53%87%123%102%-62%117%94%52%-79%-106%-27%-78%-53%75%-127%-101%-88%79%45%5%102%-66%101%60%119%-66%44%117%58%124%-71%15%38%-66%-1%59%-104%-106%-73%-15%-58%122%-36%-92%-60%101%-89%89%-95%63%-108%120%-32%79%75%-42%94%85%-121%-21%100%60%87%-39%36%-31%-76%-75%111%-98%-72%61%-2%-95%-50%-115%121%115%43%-40%127%23%15%-100%-3%-37%-19%41%115%91%69%47%-35%-107%-48%34%-31%-20%-90%-53%-19%-116%-32%-72%-11%-30%127%-81%75%14%88%66%86%-33%11%86%45%53%-18%-96%48%104%47%-123%-115%-128%-93%-8%119%1%92%87%-31%-38%25%107%-34%-112%118%-10%127%-115%-39%51%-60%-21%43%112%27%-84%113%13%71%-51%-43%103%-65%-66%78%-120%-26%-10%-104%81%-10%-86%114%-101%79%37%-20%88%-43%-48%-36%103%3%44%33%51%-90%-57%-18%5%-110%59%102%-2%-16%88%106%1%-107%48%115%28%32%-71%41%52%-13%21%-79%-124%92%-62%121%-14%18%20%-73%2%-79%-33%-112%43%-103%-42%29%116%-47%68%113%97%-108%-4%-54%13%-106%36%10%-65%1%31%87%14%-126%-5%6%-1%-21%72%3%-101%-81%45%120%66%77%16%-36%0%88%60%106%97%-39%-111%-50%-28%-36%8%44%70%-113%119%-22%97%20%-62%-59%121%41%-27%94%-125%-10%-57%-102%88%-10%99%12%-92%92%120%-2%45%-76%-71%33%-40%61%-36%80%-62%13%-63%48%-73%-124%109%-59%58%0%29%-24%75%-72%125%-48%-102%23%-9%99%-27%-128%-51%-29%78%-62%5%-21%-48%45%70%-3%10%2%51%54%-107%112%31%-103%-43%96%-96%17%-19%-22%42%18%115%95%-23%-58%122%123%-58%70%51%-72%66%-123%92%27%-76%-59%-124%54%2%-127%-120%-76%-14%-121%27%-49%120%-86%-46%77%51%51%44%-36%-7%110%63%-72%-47%-92%-115%-88%86%-24%-18%-111%27%-127%47%-23%-34%66%-89%-46%13%67%46%56%80%-97%44%18%103%40%-84%-75%111%-56%-99%-45%-50%-50%45%-46%-60%97%13%-105%51%-77%-96%83%-117%12%-111%92%113%90%34%87%8%-71%9%18%107%-67%25%114%9%-19%-52%-77%46%-1%10%-41%-75%-20%50%14%43%65%-47%15%-91%-104%118%-106%-49%47%-74%106%-79%-21%117%85%45%3%49%58%48%-28%-10%104%103%-7%-9%75%30%112%-36%95%-122%-36%127%104%103%-45%-100%27%-6%-120%93%50%-1%-117%-122%92%-97%118%-42%92%-97%11%73%-19%-8%-119%39%80%39%27%26%114%65%-35%-95%38%60%7%35%-48%-31%-98%-88%-87%92%96%127%122%23%-97%-5%32%-20%-59%103%-37%60%-127%101%-107%-17%86%-62%-58%-57%116%91%-109%112%-110%-112%91%56%103%98%-18%30%-35%-40%-45%-55%-55%62%5%-14%-69%19%9%23%-100%93%70%3%-67%0%-98%-10%100%-7%2%8%-13%59%6%92%88%-101%-103%-53%-72%48%29%-44%-33%-94%29%-112%-119%102%-46%-4%8%-90%-65%-25%-38%92%-80%105%124%36%-64%-78%-4%55%3%6%-17%-102%88%7%6%23%115%57%-9%16%24%100%-102%-87%10%-100%-82%103%34%-25%-62%21%-67%46%17%-88%-117%-119%45%-10%17%92%-72%-83%90%94%-55%-11%-105%80%76%125%115%25%97%-72%-16%-61%-77%-78%51%117%46%83%-119%94%111%3%-14%-70%-39%41%-76%106%41%23%-80%-104%-14%-43%-48%-58%113%7%-48%76%57%29%29%49%-10%119%4%-57%37%108%-11%-6%72%9%91%101%-126%-118%52%-62%114%-49%-40%-56%30%91%-11%-26%97%55%-31%63%-90%-18%-67%-49%-104%90%15%-24%-49%-72%112%49%-15%64%-16%92%-90%-66%-104%-85%-115%43%-96%21%-17%49%95%55%79%29%80%-9%26%78%-31%-82%-52%-67%65%-104%-11%82%-42%108%-101%100%-31%-18%113%126%20%35%-50%-87%-84%-53%118%-77%104%-12%-13%-13%87%-28%-67%-107%95%112%97%121%13%-47%-13%-112%-88%-58%-71%79%-100%110%23%36%-10%126%48%40%122%-79%-68%-96%-84%112%-24%-44%121%-73%-104%93%123%-37%2%-53%13%-7%-113%24%-38%7%-59%42%-113%125%125%-54%77%4%50%58%62%67%-33%-61%-58%-36%59%-50%92%105%112%115%-71%-15%24%-9%-85%71%101%-49%88%-106%96%65%-32%-17%-99%-29%105%-119%-61%-11%-112%-89%-23%75%-102%-118%94%88%64%-84%-54%61%123%-120%76%-32%-72%-22%50%-117%80%-23%61%-61%-111%54%-10%-23%-116%113%-91%-10%126%-93%112%-49%-120%84%113%71%87%124%55%50%19%63%126%-30%107%-56%-119%127%85%-33%-55%68%13%84%-78%76%-21%-111%87%80%85%127%-113%52%127%-106%-93%40%45%-7%85%122%-99%-9%87%123%-27%-81%52%88%93%29%-39%124%31%90%-17%-66%-94%-101%-30%-43%61%-105%-38%40%77%33%53%-33%-71%-123%99%-7%104%103%126%73%95%13%-72%-71%-110%-119%-88%-45%110%32%-82%-17%25%-67%-97%-20%-33%-74%-72%31%-12%-7%-31%74%22%9%25%-66%-37%36%97%127%-4%-13%-76%-67%-119%-4%-68%116%-38%-84%-83%4%-61%-69%51%-18%-89%102%-77%25%-10%-115%-22%-121%-2%3%52%51%-49%67%-105%-19%90%17%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%5%-46%-52%-24%92%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_54LY8DrWEeGMCcwsbpLuFA" source="image_papyrus">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_54MnEDrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ACEvYDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjAMIPoll"/>
+            </eAnnotations>
+          </icon>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Stereotype" xmi:id="_AQZZwLqOEd-SedGzMDDkww" name="AMIcallback">
+          <icon xmi:type="uml:Image" xmi:id="_KoY8QDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%72%0%0%0%104%8%3%0%0%0%101%-97%70%67%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%103%103%103%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%-34%-34%-34%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-51%-46%-59%107%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%-13%73%68%65%84%88%-123%-75%-39%109%67%-86%48%20%0%-32%-39%53%75%-67%105%26%-23%-51%74%52%73%45%-13%-86%13%-13%37%-55%-105%-44%-1%-1%-109%-82%-70%13%6%-116%-77%-93%113%-49%-73%-28%-12%48%-74%113%-40%-128%80%116%12%55%-39%-4%116%78%-56%-14%-13%-6%-9%-13%40%120%-108%32%21%-69%121%85%39%82%52%-14%109%-65%-123%-124%-102%-9%36%20%-85%-92%125%44%84%-67%13%51%-5%-72%-33%30%7%117%-44%-52%62%-78%110%-93%-12%-48%-80%31%-19%16%82%40%98%-95%-30%-89%-12%111%-26%52%-105%-51%-68%79%-66%-91%-97%-26%51%28%100%23%-68%-50%-51%-82%-59%-123%84%47%-67%-50%-65%27%-95%-96%-116%-56%-81%-65%-7%-122%-37%62%119%-101%-107%-73%17%-48%-117%-37%23%70%-24%-102%-35%-66%-21%-22%33%-93%-63%115%51%-74%-30%104%-57%-30%71%23%90%72%-100%-76%-93%62%-36%-30%-121%-57%58%-56%-31%-89%-20%71%37%116%-71%-76%-47%64%57%-106%118%59%-116%-52%-56%-77%-116%50%12%-35%-16%6%-43%-12%109%126%0%-95%54%75%-54%65%-115%-50%-120%-127%-125%-96%-100%56%-101%-66%-43%101%8%26%-78%-79%-81%64%14%-91%31%-20%108%14%0%85%-7%20%-126%-95%36%-53%106%6%-96%-46%-52%-117%95%-18%-48%66%-15%-59%-78%82%62%40%41%-33%-42%34%28%24%-78%89%86%90%-122%54%10%-122%-112%80%-103%15%4%59%-7%64%-122%6%74%72%-29%-48%-54%33%107%34%-25%77%-108%-112%-22%118%-107%99%-50%38%-101%30%-102%105%32%-106%-107%-43%67%-64%13%-78%15%-125%101%117%-62%80%-91%-59%-29%-110%-91%-92%96%40%-63%-78%90%97%104%18%56%-41%68%-15%-33%82%-16%17%122%4%32%58%61%-4%109%-35%64%-114%-51%70%-1%-101%66%16%127%48%-66%65%16%-81%16%61%16%90%-80%-92%70%-88%-18%123%49%92%-79%-100%45%8%-15%-71%-74%59%93%100%-16%70%-101%67%24%58%-29%51%-96%29%-27%60%89%-18%-56%-126%16%-17%110%98%85%-43%-114%99%-78%-29%-53%-95%14%-86%-15%38%-103%79%42%103%-79%-108%90%12%67%-18%-125%-51%82%76%-53%103%-79%-124%27%-37%122%104%84%22%119%-54%-57%34%112%89%110%-83%88%30%70%85%3%-47%-46%74%-28%-109%-63%-38%43%4%-43%-65%-30%113%77%-22%-20%12%58%-120%62%74%107%80%115%-48%105%-83%-41%-83%-117%-98%-89%19%43%65%113%-112%-41%-91%-54%112%-121%65%15%81%67%93%94%14%81%113%-85%21%2%-94%118%-38%-118%112%-6%94%65%-57%64%-14%16%-55%-31%27%72%28%-76%-21%-87%92%-35%-81%52%-14%-2%-46%-119%-123%-10%91%-111%94%69%40%-53%65%104%51%-126%-121%14%81%122%-36%38%-86%-54%-57%-63%-111%80%116%-60%9%57%-25%111%44%-106%63%-125%-38%-127%73%114%42%84%12%12%-21%-55%80%45%56%-51%78%-123%30%-30%-126%-24%-8%4%-56%72%-68%-20%6%-89%37%-105%114%66%111%-6%-26%81%-112%-109%-54%-117%-62%50%-10%65%94%96%-26%81%45%39%13%-78%-68%-75%56%14%58%43%-5%26%-33%61%17%26%-11%2%-35%-103%60%13%-86%-122%106%110%-30%36%40%21%46%-109%-2%81%67%66%41%9%88%-26%95%55%-50%-20%107%45%-41%36%44%-44%116%21%43%-89%92%9%32%-95%-124%123%93%-3%63%-22%22%-29%-96%-110%-104%-77%-26%-103%-102%-63%66%124%-57%73%-54%-91%40%7%7%-119%5%87%5%88%4%98%-96%-30%-73%-34%65%65%124%-28%-83%47%-64%65%65%108%-37%2%47%-109%49%16%-33%-58%-107%-31%109%18%2%-30%-101%-19%103%-48%65%64%35%54%23%87%-102%125%-101%30%-30%-101%-19%46%-123%67%15%-99%51%72%-77%71%70%64%108%105%100%106%28%5%52%-99%-7%-29%-18%-16%-21%-57%-15%-112%58%-46%113%65%-16%108%-4%95%-48%117%92%-48%107%92%-48%-80%16%13%-127%-81%-75%-126%-48%-18%-2%-68%-32%-117%-73%-105%-106%27%-20%21%-76%-26%117%20%-26%-19%113%-102%53%-87%-88%73%-45%67%-4%85%-61%86%-109%-90%-121%28%6%93%-1%24%18%5%82%-13%-42%6%1%-15%89%-95%-71%73%16%-112%-63%42%-101%-75%0%-77%48%31%15%-82%88%-109%-32%-94%-115%-127%120%-115%-124%-117%36%-22%-69%-56%59%-105%-96%119%82%40%-56%48%-11%18%-18%-109%79%91%-36%114%-23%-56%126%66%126%59%18%-53%17%82%-114%26%59%36%52%114%-117%94%-93%-89%94%2%96%63%-117%21%-35%-3%44%33%-123%-74%-30%21%55%22%-94%-122%36%17%82%-97%78%38%19%-33%-73%9%52%68%-115%80%-39%-13%125%-100%-64%67%-69%103%110%-61%15%-7%-54%-17%49%16%117%62%99%-126%-88%-99%24%-57%3%-19%98%-47%-81%-57%3%-19%-30%-95%-35%43%-49%119%113%46%-1%-8%15%83%120%-125%-89%63%57%-45%-36%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%32%-103%-56%60%27%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
+          <icon xmi:type="uml:Image" xmi:id="_WTUY0ENnEeGoAtSeIK7WLg" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%72%0%0%0%104%8%3%0%0%0%101%-97%70%67%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%103%103%103%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%-34%-34%-34%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-51%-46%-59%107%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%-13%73%68%65%84%88%-123%-75%-39%109%67%-86%48%20%0%-32%-39%53%75%-67%105%26%-23%-51%74%52%73%45%-13%-86%13%-13%37%-55%-105%-44%-1%-1%-109%-82%-70%13%6%-116%-77%-93%113%-49%-73%-28%-12%48%-74%113%-40%-128%80%116%12%55%-39%-4%116%78%-56%-14%-13%-6%-9%-13%40%120%-108%32%21%-69%121%85%39%82%52%-14%109%-65%-123%-124%-102%-9%36%20%-85%-92%125%44%84%-67%13%51%-5%-72%-33%30%7%117%-44%-52%62%-78%110%-93%-12%-48%-80%31%-19%16%82%40%98%-95%-30%-89%-12%111%-26%52%-105%-51%-68%79%-66%-91%-97%-26%51%28%100%23%-68%-50%-51%-82%-59%-123%84%47%-67%-50%-65%27%-95%-96%-116%-56%-81%-65%-7%-122%-37%62%119%-101%-107%-73%17%-48%-117%-37%23%70%-24%-102%-35%-66%-21%-22%33%-93%-63%115%51%-74%-30%104%-57%-30%71%23%90%72%-100%-76%-93%62%-36%-30%-121%-57%58%-56%-31%-89%-20%71%37%116%-71%-76%-47%64%57%-106%118%59%-116%-52%-56%-77%-116%50%12%-35%-16%6%-43%-12%109%126%0%-95%54%75%-54%65%-115%-50%-120%-127%-125%-96%-100%56%-101%-66%-43%101%8%26%-78%-79%-81%64%14%-91%31%-20%108%14%0%85%-7%20%-126%-95%36%-53%106%6%-96%-46%-52%-117%95%-18%-48%66%-15%-59%-78%82%62%40%41%-33%-42%34%28%24%-78%89%86%90%-122%54%10%-122%-112%80%-103%15%4%59%-7%64%-122%6%74%72%-29%-48%-54%33%107%34%-25%77%-108%-112%-22%118%-107%99%-50%38%-101%30%-102%105%32%-106%-107%-43%67%-64%13%-78%15%-125%101%117%-62%80%-91%-59%-29%-110%-91%-92%96%40%-63%-78%90%97%104%18%56%-41%68%-15%-33%82%-16%17%122%4%32%58%61%-4%109%-35%64%-114%-51%70%-1%-101%66%16%127%48%-66%65%16%-81%16%61%16%90%-80%-92%70%-88%-18%123%49%92%-79%-100%45%8%-15%-71%-74%59%93%100%-16%70%-101%67%24%58%-29%51%-96%29%-27%60%89%-18%-56%-126%16%-17%110%98%85%-43%-114%99%-78%-29%-53%-95%14%-86%-15%38%-103%79%42%103%-79%-108%90%12%67%-18%-125%-51%82%76%-53%103%-79%-124%27%-37%122%104%84%22%119%-54%-57%34%112%89%110%-83%88%30%70%85%3%-47%-46%74%-28%-109%-63%-38%43%4%-43%-65%-30%113%77%-22%-20%12%58%-120%62%74%107%80%115%-48%105%-83%-41%-83%-117%-98%-89%19%43%65%113%-112%-41%-91%-54%112%-121%65%15%81%67%93%94%14%81%113%-85%21%2%-94%118%-38%-118%112%-6%94%65%-57%64%-14%16%-55%-31%27%72%28%-76%-21%-87%92%-35%-81%52%-14%-2%-46%-119%-123%-10%91%-111%94%69%40%-53%65%104%51%-126%-121%14%81%122%-36%38%-86%-54%-57%-63%-111%80%116%-60%9%57%-25%111%44%-106%63%-125%-38%-127%73%114%42%84%12%12%-21%-55%80%45%56%-51%78%-123%30%-30%-126%-24%-8%4%-56%72%-68%-20%6%-89%37%-105%114%66%111%-6%-26%81%-112%-109%-54%-117%-62%50%-10%65%94%96%-26%81%45%39%13%-78%-68%-75%56%14%58%43%-5%26%-33%61%17%26%-11%2%-35%-103%60%13%-86%-122%106%110%-30%36%40%21%46%-109%-2%81%67%66%41%9%88%-26%95%55%-50%-20%107%45%-41%36%44%-44%116%21%43%-89%92%9%32%-95%-124%123%93%-3%63%-22%22%-29%-96%-110%-104%-77%-26%-103%-102%-63%66%124%-57%73%-54%-91%40%7%7%-119%5%87%5%88%4%98%-96%-30%-73%-34%65%65%124%-28%-83%47%-64%65%65%108%-37%2%47%-109%49%16%-33%-58%-107%-31%109%18%2%-30%-101%-19%103%-48%65%64%35%54%23%87%-102%125%-101%30%-30%-101%-19%46%-123%67%15%-99%51%72%-77%71%70%64%108%105%100%106%28%5%52%-99%-7%-29%-18%-16%-21%-57%-15%-112%58%-46%113%65%-16%108%-4%95%-48%117%92%-48%107%92%-48%-80%16%13%-127%-81%-75%-126%-48%-18%-2%-68%-32%-117%-73%-105%-106%27%-20%21%-76%-26%117%20%-26%-19%113%-102%53%-87%-88%73%-45%67%-4%85%-61%86%-109%-90%-121%28%6%93%-1%24%18%5%82%-13%-42%6%1%-15%89%-95%-71%73%16%-112%-63%42%-101%-75%0%-77%48%31%15%-82%88%-109%-32%-94%-115%-127%120%-115%-124%-117%36%-22%-69%-56%59%-105%-96%119%82%40%-56%48%-11%18%-18%-109%79%91%-36%114%-23%-56%126%66%126%59%18%-53%17%82%-114%26%59%36%52%114%-117%94%-93%-89%94%2%96%63%-117%21%-35%-3%44%33%-123%-74%-30%21%55%22%-94%-122%36%17%82%-97%78%38%19%-33%-73%9%52%68%-115%80%-39%-13%125%-100%-64%67%-69%103%110%-61%15%-7%-54%-17%49%16%117%62%99%-126%-88%-99%24%-57%3%-19%98%-47%-81%-57%3%-19%-30%-95%-35%43%-49%119%113%46%-1%-8%15%83%120%-125%-89%63%57%-45%-36%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%32%-103%-56%60%27%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Interface" xmi:id="_d9RssDMYEeWoDfId-zdVpA" name="I" templateParameter="_QqFYUDMYEeWoDfId-zdVpA"/>
+        <packagedElement xmi:type="uml:Usage" xmi:id="_BXPOYDPeEeWoDfId-zdVpA" client="_Wtrfw1DlEd6cwecVIgl9nw" supplier="_HPLkIDMYEeWoDfId-zdVpA"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_HmnpEJsrEd61Eo3nmu3JhQ" name="StdPorts">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_Yq-O8Nt2Ed6nqsBVkgJEEA" annotatedElement="_-WNegNtxEd6nqsBVkgJEEA">
+        <body>Is called during component activation &amp; deactivation. The two functions may not block i.e. return control to the caller after &quot;a very short&quot; period</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_OcN78Nt2Ed6nqsBVkgJEEA" annotatedElement="_N6fa4JsrEd61Eo3nmu3JhQ">
+        <body>Is called during startup. Expected to block. Only one component instance per node may define it.</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Class" xmi:id="_N6fa4JsrEd61Eo3nmu3JhQ" name="Cstart" isAbstract="true">
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_OfiosJsrEd61Eo3nmu3JhQ" name="start" aggregation="composite">
+          <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3cU3wCS-Ed-A_I32T0fkaA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3cXUACS-Ed-A_I32T0fkaA" value="1"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_zDDlYMRcEeWq5unKf5DK_A" name="Crun" isAbstract="true">
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_2elREMRcEeWq5unKf5DK_A" name="run" aggregation="composite">
+          <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
+        </ownedAttribute>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_xtlE8ARAEd--t-uhRn9OBA" name="ContainerServices">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_hGEOAMT8Ed-zx4a_r4xAYw" annotatedElement="_SiY_AP-EEd6628OhKk_dpg">
+        <body>A thread service supporting the LifeCycle port. Once started, it calls the activate operation (via the required port rLC) of a connected component in a new thread of a specific priority (a configuration attribute). This C++ implementation is based on the POSIX pthread library. It will further assume that the execution is done with root privileges, since these are required to set the thread priority. The thread properties assume round-robin (SCHED_RR) scheduling.
+</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_EuvHYCXREeGX6PuSE-DJlQ" annotatedElement="_5J9coCXQEeGX6PuSE-DJlQ">
+        <body> Interceptor variant of thread (inherits all, only difference to Thread superclass: tagged as connector)</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Class" xmi:id="_SiY_AP-EEd6628OhKk_dpg" name="Thread">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_lCtoICnOEeGxrprK9wB9iA" annotatedElement="_rVfYoMGJEd-Mveea1W_olA">
+          <body>Priority of the thread. The interpretation of the value is OS specific. In case of POSIX; priorities are only taken into account for threads with a FIFO and round-robin scheduliung policy.</body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="_6bsEkARAEd--t-uhRn9OBA" general="_-WNegNtxEd6nqsBVkgJEEA"/>
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_ZjdOAP-EEd6628OhKk_dpg" name="rRun" type="_FSgPwMUKEeWfEYAFL-UFuw" aggregation="composite"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_rVfYoMGJEd-Mveea1W_olA" name="priority" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_e6XsEFjmEeKaM_PspnG53g" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_e6ckkFjmEeKaM_PspnG53g" value="1"/>
+        </ownedAttribute>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_lrFSQDz9Ed-v9PxuTj6Elw" name="derived realization of ILifeCycle" client="_SiY_AP-EEd6628OhKk_dpg">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+          <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+        </interfaceRealization>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_MWW4MAQyEd--t-uhRn9OBA" name="staticAct" specification="_yv198P-EEd6628OhKk_dpg">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_FSlvUMUKEeWfEYAFL-UFuw" name="arg">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FSmWYMUKEeWfEYAFL-UFuw" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FSmWYcUKEeWfEYAFL-UFuw" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_FSoLkcUKEeWfEYAFL-UFuw" name="ret" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FSoyoMUKEeWfEYAFL-UFuw" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FSoyocUKEeWfEYAFL-UFuw" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>((Thread*) arg)->rRun->run();
+return NULL;
+</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_oP6UcED4Ed-_DOja_sRgWA" name="activate" specification="_JmxyMD16Ed-Bk-AHd6yyoA">
+          <language>C/C++</language>
+          <body>// create thread
+pthread_t pt;
+pthread_create (&amp;pt, NULL, staticAct, (void *) this);
+
+// set priority of thread
+struct sched_param schedParam;
+schedParam.sched_priority = priority;
+pthread_setschedparam (pt, SCHED_RR, &amp;schedParam);
+// TODO: check return code (in particular, SCHED_RR only works for root)
+</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_-9Gu0H2KEeWV7cfiwPN21w" name="configuration_complete" specification="_TBScwCxyEeOMQpc6Y-MAJw">
+          <language>C/C++</language>
+          <body></body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Bxe68H2LEeWV7cfiwPN21w" name="deactivate" specification="_JqB6gD16Ed-Bk-AHd6yyoA">
+          <language>C/C++</language>
+          <body></body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_yv198P-EEd6628OhKk_dpg" name="staticAct" isStatic="true" method="_MWW4MAQyEd--t-uhRn9OBA">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_1TXqoP-EEd6628OhKk_dpg" name="arg">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3MCccP-EEd6628OhKk_dpg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3MDDgP-EEd6628OhKk_dpg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_BywjgP-FEd6628OhKk_dpg" name="ret" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_JmxyMD16Ed-Bk-AHd6yyoA" name="activate" method="_oP6UcED4Ed-_DOja_sRgWA"/>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_JqB6gD16Ed-Bk-AHd6yyoA" name="deactivate" method="_Bxe68H2LEeWV7cfiwPN21w"/>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_TBScwCxyEeOMQpc6Y-MAJw" name="configuration_complete" method="_-9Gu0H2KEeWV7cfiwPN21w"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_WkkjoPNUEeCovO8AYZymZQ" name="CallEvent_">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_YKtbAPNUEeCovO8AYZymZQ" name="operationID" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aDHHEPNUEeCovO8AYZymZQ" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aDIVMPNUEeCovO8AYZymZQ" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_aDKxcPNUEeCovO8AYZymZQ">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_gQGNwPNUEeCovO8AYZymZQ" name="kind" visibility="public" type="_jQjHAPNUEeCovO8AYZymZQ">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_imLUUPNUEeCovO8AYZymZQ" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_imL7YPNUEeCovO8AYZymZQ" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_imuG4PNUEeCovO8AYZymZQ">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_-_HCMBI0EeGU49ezpRnvLg" name="portID">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-_LToBI0EeGU49ezpRnvLg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-_L6sBI0EeGU49ezpRnvLg" value="1"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_qzHgkPNUEeCovO8AYZymZQ" name="params" visibility="public" type="_OU5asFaNEeKxltxu9uR4dg">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sMOBgPNUEeCovO8AYZymZQ"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sMPPoPNUEeCovO8AYZymZQ" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_sMRE0PNUEeCovO8AYZymZQ">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_JRmo0PNAEeCovO8AYZymZQ" name="EventPool">
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_MzO8gPNAEeCovO8AYZymZQ" name="control" visibility="public" type="_omxU4PNAEeCovO8AYZymZQ" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_N-OI8PNAEeCovO8AYZymZQ" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_N-PXEPNAEeCovO8AYZymZQ" value="1"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_k-OpoPN8EeCovO8AYZymZQ" name="events" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mr7hkPN8EeCovO8AYZymZQ" value="20"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mr-k4PN8EeCovO8AYZymZQ" value="20"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="__a1A0PQXEeCovO8AYZymZQ" name="m_size" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_A1N7MPQYEeCovO8AYZymZQ" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_A1OiQPQYEeCovO8AYZymZQ" value="1"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_KnS5QPQYEeCovO8AYZymZQ" name="m_cond" visibility="public">
+          <type xmi:type="uml:Class" href="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml#_QWlVgPRTEeCUGrV0Hl4JwQ"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KyZ9EPQYEeCovO8AYZymZQ" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KyakIPQYEeCovO8AYZymZQ" value="1"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_Ig_MUCSlEeG6GJ4vU06VYQ" name="ID_TIMEOUT" isStatic="true">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IjAlkCSlEeG6GJ4vU06VYQ" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IjCawCSlEeG6GJ4vU06VYQ" value="1"/>
+          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_SjUM4CSlEeG6GJ4vU06VYQ" name="" value="-1"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_aY-AcNhrEeSAk4H5GXhpNA" name="readIndex" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aY-AcdhrEeSAk4H5GXhpNA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aY-ActhrEeSAk4H5GXhpNA" value="1"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_dllGYNhrEeSAk4H5GXhpNA" name="writeIndex" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dllGYdhrEeSAk4H5GXhpNA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dlltcNhrEeSAk4H5GXhpNA" value="1"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_YHC5wNhuEeSqPLTzapTtmQ" name="POOL_SIZE" isStatic="true">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YHC5wdhuEeSqPLTzapTtmQ" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YHC5wthuEeSqPLTzapTtmQ" value="1"/>
+          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_YHC5w9huEeSqPLTzapTtmQ" name="" value="20"/>
+        </ownedAttribute>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_mI0xEPQXEeCovO8AYZymZQ" name="derived realization of IPoolControl" client="_JRmo0PNAEeCovO8AYZymZQ" supplier="_omxU4PNAEeCovO8AYZymZQ" contract="_omxU4PNAEeCovO8AYZymZQ"/>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_2HjeoPQXEeCovO8AYZymZQ" name="writeEvent" specification="_f1HmEPQREeCovO8AYZymZQ0">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_y_tvwH2KEeWV7cfiwPN21w" name="event" type="_WkkjoPNUEeCovO8AYZymZQ">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_y_uW0H2KEeWV7cfiwPN21w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_y_uW0X2KEeWV7cfiwPN21w" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>if (m_size &lt; POOL_SIZE) {
+	events[writeIndex] = event;
+	writeIndex = (writeIndex + 1) % POOL_SIZE;
+	m_size++;
+	if (m_size == 1) {
+		// was 0 before, notify waiting clients
+		m_cond.signal();
+	}
+}
+
+</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_5Sw2YPQXEeCovO8AYZymZQ" name="size" specification="_FBMo4PQXEeCovO8AYZymZQ0">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_y_u94H2KEeWV7cfiwPN21w" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_y_vk8H2KEeWV7cfiwPN21w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_y_vk8X2KEeWV7cfiwPN21w" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>return m_size;</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_9xRCAPQXEeCovO8AYZymZQ" name="readEvent" specification="_tK0poPQWEeCovO8AYZymZQ0">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_y_wMAH2KEeWV7cfiwPN21w" name="timeout">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_y_wMAX2KEeWV7cfiwPN21w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_y_wzEH2KEeWV7cfiwPN21w" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_y_wzEX2KEeWV7cfiwPN21w" type="_WkkjoPNUEeCovO8AYZymZQ" direction="return">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_y_xaIH2KEeWV7cfiwPN21w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_y_xaIX2KEeWV7cfiwPN21w" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>if (m_size == 0) {
+	// no element is in pool. Wait until it is placed inside
+	// TODO: potential race condition
+	OS_AL::Time::TimeVal wakeup = OS_AL::Time::TimeVal::current();
+	wakeup += timeout;
+	int retCode = m_cond.waitUpto (wakeup);
+	if (retCode == ETIMEDOUT) {
+		CallEvent_ event;
+		event.operationID = ID_TIMEOUT;
+		return event;
+	}
+}
+int current = readIndex;
+readIndex = (readIndex+1) % POOL_SIZE;
+m_size--;
+return events[current];</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_JoG14PRUEeCKVJwdD4MMsg" name="EventPool" specification="_lrF08PRTEeCUGrV0Hl4JwQ">
+          <language>C/C++</language>
+          <body>m_cond.lock();
+readIndex = 0;
+writeIndex = 0;
+m_size = 0;</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_tK0poPQWEeCovO8AYZymZQ0" name="readEvent" method="_9xRCAPQXEeCovO8AYZymZQ">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_HUTnoCVyEeGaL60JjVj19Q" name="timeout">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUWq8CVyEeGaL60JjVj19Q" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUXSACVyEeGaL60JjVj19Q" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_HUZHMCVyEeGaL60JjVj19Q" type="_WkkjoPNUEeCovO8AYZymZQ" direction="return">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUbjcCVyEeGaL60JjVj19Q" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUcxkCVyEeGaL60JjVj19Q" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_FBMo4PQXEeCovO8AYZymZQ0" name="size" method="_5Sw2YPQXEeCovO8AYZymZQ">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mKtAYPQXEeCovO8AYZymZQ" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mKvcoPQXEeCovO8AYZymZQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mKwqwPQXEeCovO8AYZymZQ" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_f1HmEPQREeCovO8AYZymZQ0" name="writeEvent" method="_2HjeoPQXEeCovO8AYZymZQ">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_HRdvACVyEeGaL60JjVj19Q" name="event" type="_WkkjoPNUEeCovO8AYZymZQ">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUNhACVyEeGaL60JjVj19Q" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUOvICVyEeGaL60JjVj19Q" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_lrF08PRTEeCUGrV0Hl4JwQ" name="EventPool" method="_JoG14PRUEeCKVJwdD4MMsg"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Interface" xmi:id="_elkpwPQREeCovO8AYZymZQ" name="IWriteEvent">
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_f1HmEPQREeCovO8AYZymZQ" name="writeEvent" visibility="public" isAbstract="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_wAdzUPQREeCovO8AYZymZQ">
+            <body>&lt;&lt;TextualRepresentation>>public abstract writeEvent (in event:BasicCalls::ContainerServices::Event) ;</body>
+          </ownedComment>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="__4qMgCUQEeGXBt65HZzY7g" name="event" type="_WkkjoPNUEeCovO8AYZymZQ">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__4raoCUQEeGXBt65HZzY7g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__4sowCUQEeGXBt65HZzY7g" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Enumeration" xmi:id="_jQjHAPNUEeCovO8AYZymZQ" name="EventKind">
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_jv4uYPNUEeCovO8AYZymZQ" name="CallEvent"/>
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_kuDm0PNUEeCovO8AYZymZQ" name="SignalEvent"/>
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_ljD8MPNUEeCovO8AYZymZQ" name="TimeEvent"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Interface" xmi:id="_omxU4PNAEeCovO8AYZymZQ" name="IPoolControl">
+        <generalization xmi:type="uml:Generalization" xmi:id="_feaHgPQXEeCovO8AYZymZQ" general="_elkpwPQREeCovO8AYZymZQ"/>
+        <generalization xmi:type="uml:Generalization" xmi:id="_GwxT0CUREeGXBt65HZzY7g" general="_DY2VwCUREeGXBt65HZzY7g"/>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_FBMo4PQXEeCovO8AYZymZQ" name="size" visibility="public" isAbstract="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_NaRMoPQXEeCovO8AYZymZQ">
+            <body>&lt;&lt;TextualRepresentation>>public abstract size () : BasicCalls::Long ;</body>
+          </ownedComment>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_RlkvcPQXEeCovO8AYZymZQ" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rll9kPQXEeCovO8AYZymZQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RlmkoPQXEeCovO8AYZymZQ" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Interface" xmi:id="_DY2VwCUREeGXBt65HZzY7g" name="IReadEvent">
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_tK0poPQWEeCovO8AYZymZQ" name="readEvent" visibility="public" isAbstract="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_xPdjwPQWEeCovO8AYZymZQ">
+            <body>&lt;&lt;TextualRepresentation>>public abstract readEvent(in timeout : BasicCalls::Long) : BasicCalls::ContainerServices::Event ;</body>
+          </ownedComment>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_PnwykPRREeCUGrV0Hl4JwQ" name="timeout">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PofyYPRREeCUGrV0Hl4JwQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Pow4IPRREeCUGrV0Hl4JwQ" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_Po7QMPRREeCUGrV0Hl4JwQ" type="_WkkjoPNUEeCovO8AYZymZQ" direction="return">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PpWG8PRREeCUGrV0Hl4JwQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ppl-kPRREeCUGrV0Hl4JwQ" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_5J9coCXQEeGX6PuSE-DJlQ" name="ThreadInterceptor">
+        <generalization xmi:type="uml:Generalization" xmi:id="_9thucCXQEeGX6PuSE-DJlQ" general="_SiY_AP-EEd6628OhKk_dpg"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_9V8OQCjYEeGFbebITJYb9g" name="PeriodicTimer">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_zLeSkCnOEeGxrprK9wB9iA" annotatedElement="_tmNeoCjbEeGFbebITJYb9g">
+          <body>The period length of the perdioci timer in ticks. Currently, a tick corresponds to 1 ms (simulation time in the underlying OS abstraction layer). It is planned to support VSL expressions, i.e. a value/unit pair.</body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="_jPxb8MTiEeWfEYAFL-UFuw" general="_zDDlYMRcEeWq5unKf5DK_A"/>
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_ATRiECjZEeGFbebITJYb9g" name="tick" visibility="public" type="_pMJ60MTiEeWfEYAFL-UFuw" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_E3y2ICjZEeGFbebITJYb9g" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_E30EQCjZEeGFbebITJYb9g" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_E33HkCjZEeGFbebITJYb9g">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_tmNeoCjbEeGFbebITJYb9g" name="periodLength" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tmmgMCjbEeGFbebITJYb9g" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tmnHQCjbEeGFbebITJYb9g" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_w262ACnOEeGxrprK9wB9iA">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_pMOMQMTiEeWfEYAFL-UFuw" name="derived realization of IRunnable" client="_9V8OQCjYEeGFbebITJYb9g">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
+          <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
+        </interfaceRealization>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_rmAHEMTiEeWfEYAFL-UFuw" name="run" specification="_pMrfQMTiEeWfEYAFL-UFuw">
+          <language>C/C++</language>
+          <body>OS_AL::Time::Timer timer;
+OS_AL::Time::TimeVal time = OS_AL::Time::TimeVal::current();
+OS_AL::Time::TimeVal period(periodLength);
+for (;;) {
+	tick->tick();
+	time += period;
+	timer.wakeUp(time);
+}</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_pMrfQMTiEeWfEYAFL-UFuw" name="run" method="_rmAHEMTiEeWfEYAFL-UFuw"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_-X6zMCjZEeGFbebITJYb9g" name="PeriodicTimerWithThread">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_ARs_UCjaEeGFbebITJYb9g" name="timer" visibility="public" type="_9V8OQCjYEeGFbebITJYb9g" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_k_FtQCjaEeGFbebITJYb9g" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_k_G7YCjaEeGFbebITJYb9g" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_k_J-sCjaEeGFbebITJYb9g">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_RMqEkCjaEeGFbebITJYb9g" name="thread" visibility="public" type="_SiY_AP-EEd6628OhKk_dpg" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_j8bWYCjaEeGFbebITJYb9g" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_j8ckgCjaEeGFbebITJYb9g" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_j8eZsCjaEeGFbebITJYb9g">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_3NSGwCkAEeGDDbdzqSb4UA" name="tick" visibility="public" aggregation="composite">
+          <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_30IrYCkAEeGDDbdzqSb4UA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_30LusCkAEeGDDbdzqSb4UA" value="1"/>
+        </ownedAttribute>
+        <ownedConnector xmi:type="uml:Connector" xmi:id="_iDCL0CjaEeGFbebITJYb9g" name="Connector1">
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_iDCy4CjaEeGFbebITJYb9g" partWithPort="_RMqEkCjaEeGFbebITJYb9g" role="_ZjdOAP-EEd6628OhKk_dpg">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iDCy4ijaEeGFbebITJYb9g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iDCy4SjaEeGFbebITJYb9g" value="1"/>
+          </end>
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_iDCy4yjaEeGFbebITJYb9g" partWithPort="_ARs_UCjaEeGFbebITJYb9g" role="__SLXgNtxEd6nqsBVkgJEEA">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iDCy5SjaEeGFbebITJYb9g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iDCy5CjaEeGFbebITJYb9g" value="1"/>
+          </end>
+        </ownedConnector>
+        <ownedConnector xmi:type="uml:Connector" xmi:id="_84IJsCkAEeGDDbdzqSb4UA" name="Connector2">
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_84JX0CkAEeGDDbdzqSb4UA" partWithPort="_ARs_UCjaEeGFbebITJYb9g" role="_ATRiECjZEeGFbebITJYb9g">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_84JX0ikAEeGDDbdzqSb4UA" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_84JX0SkAEeGDDbdzqSb4UA" value="1"/>
+          </end>
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_84L0ECkAEeGDDbdzqSb4UA" role="_3NSGwCkAEeGDDbdzqSb4UA">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_84L0EikAEeGDDbdzqSb4UA" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_84L0ESkAEeGDDbdzqSb4UA" value="1"/>
+          </end>
+        </ownedConnector>
+        <ownedConnector xmi:type="uml:Connector" xmi:id="_kMZT4MTwEeWfEYAFL-UFuw" name="Connector3">
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_kMZ68MTwEeWfEYAFL-UFuw" partWithPort="_ARs_UCjaEeGFbebITJYb9g" role="_2elREMRcEeWq5unKf5DK_A"/>
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_kMZ68cTwEeWfEYAFL-UFuw" partWithPort="_RMqEkCjaEeGFbebITJYb9g" role="_ZjdOAP-EEd6628OhKk_dpg"/>
+        </ownedConnector>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Dependency" xmi:id="_SXkHQCo0EeGxrprK9wB9iA" name="Dependency1" client="_9V8OQCjYEeGFbebITJYb9g">
+        <supplier xmi:type="uml:Class" href="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml#_ETakYDj8Edy0Rd6V_tf1-Q"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:DataType" xmi:id="_OU5asFaNEeKxltxu9uR4dg" name="ParamValues">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_RW82cFaNEeKxltxu9uR4dg" name="values" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_IYEXcB-VEd6nGq8wpI2tjg"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TAmU0FaNEeKxltxu9uR4dg" value="200"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TAqmQFaNEeKxltxu9uR4dg" value="200"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_TCDGUFaNEeKxltxu9uR4dg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:DataType" xmi:id="_Y8dPQFaNEeKxltxu9uR4dg" name="QoS">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_fYeQcFaNEeKxltxu9uR4dg" name="deadline" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gFUvYFaNEeKxltxu9uR4dg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gFYZwFaNEeKxltxu9uR4dg" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_gFfHcFaNEeKxltxu9uR4dg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_oUVYMFaNEeKxltxu9uR4dg" name="period" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rUQF8FaNEeKxltxu9uR4dg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rUSiMFaNEeKxltxu9uR4dg" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_rW6_cFaNEeKxltxu9uR4dg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_xXGZMFaNEeKxltxu9uR4dg" name="readyTime" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yjbCYFaNEeKxltxu9uR4dg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yjcQgFaNEeKxltxu9uR4dg" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_yjeswFaNEeKxltxu9uR4dg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_-WNegNtxEd6nqsBVkgJEEA" name="LifeCycle" isAbstract="true">
+        <ownedAttribute xmi:type="uml:Port" xmi:id="__SLXgNtxEd6nqsBVkgJEEA" name="lc" aggregation="composite">
+          <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_57__MCS-Ed-A_I32T0fkaA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_58tJ0CS-Ed-A_I32T0fkaA" value="1"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Dependency" xmi:id="_xsB0QL4KEeWvxpnDGpErAg" client="_JRmo0PNAEeCovO8AYZymZQ">
+        <supplier xmi:type="uml:Class" href="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml#_FuKEEDj8Edy0Rd6V_tf1-Q"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_y4qB4ARJEd--t-uhRn9OBA" name="containerRules">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_q-kFUMTJEd-cLazKlAeYsQ" annotatedElement="_14WtMARJEd--t-uhRn9OBA">
+        <body>This rule adds an interceptor for the lifecycle (lc) port. It will use the Thread implementation that executes the activate method in a new thread of a given priority (property of the interceptor implementation)</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_H0IrsDbgEeGdqp2YT1LwWw" annotatedElement="_1sCBICjZEeGFbebITJYb9g">
+        <body>Adds a periodic timer to the container</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Class" xmi:id="_14WtMARJEd--t-uhRn9OBA" name="runStartThread">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_mvN04PTWEeCn1-FCrfecFg" name="start" visibility="public" type="_5J9coCXQEeGX6PuSE-DJlQ" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nPVfYPTWEeCn1-FCrfecFg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nPXUkPTWEeCn1-FCrfecFg" value="1"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="__4GvgPQTEeCovO8AYZymZQ" name="AddEventPool"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_1sCBICjZEeGFbebITJYb9g" name="PeriodicTimerRule">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_6yVMkCjZEeGFbebITJYb9g" name="timer" visibility="public" type="_9V8OQCjYEeGFbebITJYb9g">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_54aFgCjaEeGFbebITJYb9g" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_54bToCjaEeGFbebITJYb9g" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_54eW8CjaEeGFbebITJYb9g">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_wSPIcF0NEd-12d_h0i1xhQ" name="deployment">
+      <packagedElement xmi:type="uml:Package" xmi:id="_dKFEcCp9EeG1Y7BvjQ0T-w" name="operatingSystems">
+        <packagedElement xmi:type="uml:Class" xmi:id="_17yx8F0NEd-12d_h0i1xhQ" name="vxWorks"/>
+        <packagedElement xmi:type="uml:Class" xmi:id="_zVs5cF0NEd-12d_h0i1xhQ" name="Linux"/>
+        <packagedElement xmi:type="uml:Class" xmi:id="_4RuHgF0NEd-12d_h0i1xhQ" name="ose/ck"/>
+        <packagedElement xmi:type="uml:Class" xmi:id="__1uEcF0NEd-12d_h0i1xhQ" name="OSEK"/>
+        <packagedElement xmi:type="uml:Class" xmi:id="_onKy0Cp9EeG1Y7BvjQ0T-w" name="Cygwin"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_f2AfMCp9EeG1Y7BvjQ0T-w" name="architectures">
+        <packagedElement xmi:type="uml:Class" xmi:id="_PFcW8F0OEd-12d_h0i1xhQ" name="GenericPowerPC"/>
+        <packagedElement xmi:type="uml:Class" xmi:id="_CxQBcF0OEd-12d_h0i1xhQ" name="StandardPC"/>
+        <packagedElement xmi:type="uml:Class" xmi:id="_KjufQF0OEd-12d_h0i1xhQ" name="GenericARM7"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_m7SIwOUYEd-P08Bciq_LqQ" name="perClass">
+      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_rNm5kOUYEd-P08Bciq_LqQ" parameter="_wfwIoOUYEd-P08Bciq_LqQ">
+        <ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_wfwIoOUYEd-P08Bciq_LqQ" parameteredElement="_6uRBMOuqEeCTfOY57pgE3w">
+          <ownedParameteredElement xmi:type="uml:Class" xmi:id="_6uRBMOuqEeCTfOY57pgE3w" name="T" templateParameter="_wfwIoOUYEd-P08Bciq_LqQ"/>
+        </ownedParameter>
+      </ownedTemplateSignature>
+      <packagedElement xmi:type="uml:Enumeration" xmi:id="_QQPDUCQeEeGj_4swHBbKwg" name="PortIDs">
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_QQPDUSQeEeGj_4swHBbKwg" name="PORTID_[name/]"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_RPCMoOxIEd-2rr_yAeKkjQ" name="methodCall_comp">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_q1w5MK8qEeCXIcykFPsB8Q" annotatedElement="_RPCMoOxIEd-2rr_yAeKkjQ">
+        <body>Elements in this package depend not only on the Interface I (which is a non-owned template parameter taken from the methodCall signature), but also on a class parameter T, which is bound to the component within a container binding.
+Be aware that the number of instantiated template packages will be considerably larger compared to a dependency of the interface only</body>
+      </ownedComment>
+      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_ewC6kOxIEd-2rr_yAeKkjQ" parameter="_WzWVUPfBEd2TbIfwytOyPA _QBCTAOxJEd-2rr_yAeKkjQ">
+        <ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_QBCTAOxJEd-2rr_yAeKkjQ" parameteredElement="_zILRsPPlEd-BP4i7K5Y1eA">
+          <ownedParameteredElement xmi:type="uml:Class" xmi:id="_zILRsPPlEd-BP4i7K5Y1eA" name="T" templateParameter="_QBCTAOxJEd-2rr_yAeKkjQ"/>
+        </ownedParameter>
+      </ownedTemplateSignature>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="__lTvkPN0EeCovO8AYZymZQ" name="methodCall_size">
+      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_EfH-MPN1EeCovO8AYZymZQ" parameter="_WzWVUPfBEd2TbIfwytOyPA _TbLb4PN3EeCovO8AYZymZQ">
+        <ownedParameter xmi:type="uml:TemplateParameter" xmi:id="_TbLb4PN3EeCovO8AYZymZQ" parameteredElement="_VGE3cPN3EeCovO8AYZymZQ">
+          <ownedParameteredElement xmi:type="uml:LiteralInteger" xmi:id="_VGE3cPN3EeCovO8AYZymZQ" name="size" templateParameter="_TbLb4PN3EeCovO8AYZymZQ"/>
+        </ownedParameter>
+      </ownedTemplateSignature>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_gEZXADY7EeKvFqG4YPX3sg" name="methodCall_port">
+      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_kCZdoDY7EeKvFqG4YPX3sg" parameter="_WzWVUPfBEd2TbIfwytOyPA _udDzwDY9EeKvFqG4YPX3sg">
+        <ownedParameter xmi:type="uml:ConnectableElementTemplateParameter" xmi:id="_udDzwDY9EeKvFqG4YPX3sg" parameteredElement="_9GMAUDY9EeKvFqG4YPX3sg">
+          <ownedParameteredElement xmi:type="uml:Port" xmi:id="_9GMAUDY9EeKvFqG4YPX3sg" name="P" templateParameter="_udDzwDY9EeKvFqG4YPX3sg"/>
+        </ownedParameter>
+      </ownedTemplateSignature>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_q56toNzEEeKPWMO32vUmzw" name="languages">
+      <packagedElement xmi:type="uml:Class" xmi:id="_tZgVgNzEEeKPWMO32vUmzw" name="C++"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_w2nVkNzEEeKPWMO32vUmzw" name="C"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_0rU9UNzEEeKPWMO32vUmzw" name="Java"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_QOy9MDUKEeWa95xDrmW0sg" name="derivedTypes">
+      <packagedElement xmi:type="uml:Package" xmi:id="_QO5q4DUKEeWa95xDrmW0sg" name="core">
+        <packagedElement xmi:type="uml:Package" xmi:id="_QO6R8DUKEeWa95xDrmW0sg" name="methodCall">
+          <packagedElement xmi:type="uml:Class" xmi:id="_QO65ADUKEeWa95xDrmW0sg" name="Use_I"/>
+          <packagedElement xmi:type="uml:Usage" xmi:id="_QS9rgDUKEeWa95xDrmW0sg" client="_QO65ADUKEeWa95xDrmW0sg" supplier="_ZzlzMPfBEd2TbIfwytOyPA"/>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_utWisH2KEeWV7cfiwPN21w" name="sysinterfaces">
+        <packagedElement xmi:type="uml:Class" xmi:id="_utaNEH2KEeWV7cfiwPN21w" name="Use_ILifeCycle"/>
+        <packagedElement xmi:type="uml:Usage" xmi:id="_uthh0H2KEeWV7cfiwPN21w" client="_utaNEH2KEeWV7cfiwPN21w">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_pMJ60MTiEeWfEYAFL-UFuw" name="Use_ITick"/>
+        <packagedElement xmi:type="uml:Usage" xmi:id="_pMNlMMTiEeWfEYAFL-UFuw" client="_pMJ60MTiEeWfEYAFL-UFuw">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_FSgPwMUKEeWfEYAFL-UFuw" name="Use_IRunnable"/>
+        <packagedElement xmi:type="uml:Usage" xmi:id="_FSj6IMUKEeWfEYAFL-UFuw" client="_FSgPwMUKEeWfEYAFL-UFuw">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_8clfYF4REea4bLzKfwAjjA" name="transformations">
+      <packagedElement xmi:type="uml:Class" xmi:id="_bnyXIF4SEea4bLzKfwAjjA" name="ComponentChain">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_70pgMF4SEea4bLzKfwAjjA" name="connector" type="_5r5rAF4SEea4bLzKfwAjjA"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_xnYCAGqWEea45IDGiU87rA" name="manualTransformations">
+          <type xmi:type="uml:Class" href="pathmap://DML_TRAFO/trafos.uml#_ofuIUF4REea4bLzKfwAjjA"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_xnbsYGqWEea45IDGiU87rA" name="deployToNodes">
+          <type xmi:type="uml:Class" href="pathmap://DML_TRAFO/trafos.uml#_eELWgF4REea4bLzKfwAjjA"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_3uzFIF4SEea4bLzKfwAjjA" name="oOTransformations" type="_2RvRQF4SEea4bLzKfwAjjA"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_xncTcGqWEea45IDGiU87rA" name="bootloaderCreation">
+          <type xmi:type="uml:Class" href="pathmap://DML_TRAFO/trafos.uml#_s7jacF4REea4bLzKfwAjjA"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_xndhkGqWEea45IDGiU87rA" name="generateCode">
+          <type xmi:type="uml:Class" href="pathmap://DML_TRAFO/trafos.uml#_KVyWYGnwEead2IFRwKRBMw"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_xneIoGqWEea45IDGiU87rA" name="configureProject">
+          <type xmi:type="uml:Class" href="pathmap://DML_TRAFO/trafos.uml#_sCpX8GoDEeaDvKuEhyP_8g"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_2RvRQF4SEea4bLzKfwAjjA" name="ExecuteOOTrafo"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_5r5rAF4SEea4bLzKfwAjjA" name="ConnectorReification"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_B_a2UKLvEeSBiP8ZTcBQrQ" name="OOtransformations">
+      <packagedElement xmi:type="uml:Class" xmi:id="_mgbVIKLvEeSBiP8ZTcBQrQ" name="StaticCpp"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_nRnhgKLvEeSBiP8ZTcBQrQ" name="DynamicCpp"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_pu1x4KLvEeSBiP8ZTcBQrQ" name="StaticJava"/>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ugrx4AHIEd6pm-KfUZMnnQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ugztsAHIEd6pm-KfUZMnnQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_u03PkFRxEd6GqrP6fkWBoQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u1sWAFRxEd6GqrP6fkWBoQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_0x8woBn3EeONpa5JgejICQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_01dXoBn3EeONpa5JgejICQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//SRM/SW_Concurrency"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_A_vtYBJeEdy3Td9UhuLFPg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_K7p7kGpIEeaSLtRdInZlZA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K7sX0GpIEeaSLtRdInZlZA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Transformation/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://TRAFO_PROFILE/Transformation.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/>
+    </profileApplication>
+  </uml:Model>
+  <FCM:Port xmi:id="_u1uLMFRxEd6GqrP6fkWBoQ" base_Port="_P4xVsNtuEd2eM5kqcby5ZA" kind="_9Fif4FRxEd6GqrP6fkWBoQ" type="_ZzlzMPfBEd2TbIfwytOyPA"/>
+  <FCM:Port xmi:id="_u1uLMVRxEd6GqrP6fkWBoQ" base_Port="_Qk0jYNtuEd2eM5kqcby5ZA" kind="_wySlkFRxEd6GqrP6fkWBoQ" type="_ZzlzMPfBEd2TbIfwytOyPA"/>
+  <FCM:Port xmi:id="_u1uLM1RxEd6GqrP6fkWBoQ" base_Port="_rSCxUAytEd6it_RkGhz_AA" kind="_9Fif4FRxEd6GqrP6fkWBoQ">
+    <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_7TuzoCUUEd6YR-YzyVnLng"/>
+  </FCM:Port>
+  <FCM:Port xmi:id="_u1uyQFRxEd6GqrP6fkWBoQ" base_Port="_r5Va0AytEd6it_RkGhz_AA" kind="_wySlkFRxEd6GqrP6fkWBoQ">
+    <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_7TuzoCUUEd6YR-YzyVnLng"/>
+  </FCM:Port>
+  <FCM:PortKind xmi:id="_wySlkFRxEd6GqrP6fkWBoQ" base_Class="_Wtq4sFDlEd6cwecVIgl9nw"/>
+  <FCM:PortKind xmi:id="_x5mL4FRxEd6GqrP6fkWBoQ" base_Class="_Wtq4sVDlEd6cwecVIgl9nw"/>
+  <FCM:PortKind xmi:id="_9Fif4FRxEd6GqrP6fkWBoQ" base_Class="_Wtrfw1DlEd6cwecVIgl9nw"/>
+  <FCM:PortKind xmi:id="_pE6GUFR1Ed6GqrP6fkWBoQ" base_Class="_Wtq4slDlEd6cwecVIgl9nw"/>
+  <FCM:PortKind xmi:id="_qOK0cFR1Ed6GqrP6fkWBoQ" base_Class="_WtrfwlDlEd6cwecVIgl9nw"/>
+  <FCM:InteractionComponent xmi:id="_s8OWIFR1Ed6GqrP6fkWBoQ" base_Class="_KxQBELuXEd2TTr3gJIvazw"/>
+  <FCM:InteractionComponent xmi:id="_vEYVcFR1Ed6GqrP6fkWBoQ" base_Class="_Zx2ZUA1jEd6tvthBDl600Q"/>
+  <FCM:InteractionComponent xmi:id="_wT-8IFR1Ed6GqrP6fkWBoQ" base_Class="_jOU60A1jEd6tvthBDl600Q"/>
+  <standard:ModelLibrary xmi:id="_CQiMQFtQEd6p9KQoJ8hRoA" base_Package="_O6TiIDLUEd26WNosUASSSw"/>
+  <FCM:Port xmi:id="_OfjPwJsrEd61Eo3nmu3JhQ" base_Port="_OfiosJsrEd61Eo3nmu3JhQ" kind="_wySlkFRxEd6GqrP6fkWBoQ">
+    <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+  </FCM:Port>
+  <FCM:Port xmi:id="__SL-kNtxEd6nqsBVkgJEEA" base_Port="__SLXgNtxEd6nqsBVkgJEEA" kind="_wySlkFRxEd6GqrP6fkWBoQ">
+    <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:Port>
+  <FCM:Port xmi:id="_Zjd1EP-EEd6628OhKk_dpg" base_Port="_ZjdOAP-EEd6628OhKk_dpg" kind="_9Fif4FRxEd6GqrP6fkWBoQ">
+    <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
+  </FCM:Port>
+  <C_Cpp:Ptr xmi:id="_Aw8hMP-FEd6628OhKk_dpg" base_parameter="_1TXqoP-EEd6628OhKk_dpg"/>
+  <C_Cpp:Ptr xmi:id="_NjCToP-FEd6628OhKk_dpg" base_parameter="_BywjgP-FEd6628OhKk_dpg"/>
+  <FCM:InteractionComponent xmi:id="_5hzVkARIEd--t-uhRn9OBA" base_Class="_cxVEsK-iEd6DndT7kDY1-A"/>
+  <FCM:ContainerRule xmi:id="_3Jq5MARLEd-OidZzGKCpzg" base_Class="_14WtMARJEd--t-uhRn9OBA"/>
+  <C_Cpp:Include xmi:id="_Q7TVYBJcEd-QgZm_R1AKbA" body="#include &lt;pthread.h>" base_class="_SiY_AP-EEd6628OhKk_dpg"/>
+  <FCM:InteractionComponent xmi:id="_efp4QClzEd-eoo60eNyGlg" base_Class="_Whe8EClYEd-eoo60eNyGlg"/>
+  <FCM:Port xmi:id="_N0to8Cu4Ed-uZPFNCty7PQ" base_Port="_N0tB4Cu4Ed-uZPFNCty7PQ" kind="_9Fif4FRxEd6GqrP6fkWBoQ" type="_fxfe8Cu1Ed-uZPFNCty7PQ"/>
+  <standard:Create xmi:id="_WFy8ECu9Ed-uZPFNCty7PQ" base_BehavioralFeature="_JM4I4Cu9Ed-uZPFNCty7PQ"/>
+  <C_Cpp:Ptr xmi:id="_G6PMUCvHEd-uZPFNCty7PQ" base_parameter="_Dn-xYCvHEd-uZPFNCty7PQ"/>
+  <C_Cpp:Ptr xmi:id="_NPp2QCvHEd-uZPFNCty7PQ" base_parameter="_IdnDkCvHEd-uZPFNCty7PQ"/>
+  <C_Cpp:Const xmi:id="_dtZbECvHEd-uZPFNCty7PQ" base_property="_Xq00oCvHEd-uZPFNCty7PQ"/>
+  <FCM:Template xmi:id="_iOmWwDNZEd-0bO2vHbUkEA" base_Element="_KOvHsPiREd2UhpY2Y3WUyg"/>
+  <FCM:Template xmi:id="_qcrLcDNZEd-0bO2vHbUkEA" base_Element="__y0hwJ08Ed6l5bTPBsl00Q"/>
+  <FCM:DerivedElement xmi:id="_JqAFUD16Ed-Bk-AHd6yyoA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_JqEWwD16Ed-Bk-AHd6yyoA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_RTu-gED2Ed-_DOja_sRgWA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_RUIAEED2Ed-_DOja_sRgWA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <C_Cpp:Ptr xmi:id="_5048MED6Ed-_DOja_sRgWA" base_property="_2fcqYED6Ed-_DOja_sRgWA"/>
+  <FCM:DerivedElement xmi:id="_xsrykEJFEd-Ps4Bfh0j9LQ" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_xs0VcEJFEd-Ps4Bfh0j9LQ" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_qBaUMFJEEd-OfYmxqPWG5g" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_qBeloFJEEd-OfYmxqPWG5g" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_t--FUF0NEd-12d_h0i1xhQ" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_t_EzAF0NEd-12d_h0i1xhQ" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:OperatingSystem xmi:id="_1eULwF0NEd-12d_h0i1xhQ" base_Class="_zVs5cF0NEd-12d_h0i1xhQ"/>
+  <FCM:OperatingSystem xmi:id="_3MI_gF0NEd-12d_h0i1xhQ" base_Class="_17yx8F0NEd-12d_h0i1xhQ"/>
+  <FCM:OperatingSystem xmi:id="_8h8mkF0NEd-12d_h0i1xhQ" base_Class="_4RuHgF0NEd-12d_h0i1xhQ"/>
+  <FCM:OperatingSystem xmi:id="_BL7pcF0OEd-12d_h0i1xhQ" base_Class="__1uEcF0NEd-12d_h0i1xhQ"/>
+  <FCM:TargetArchitecture xmi:id="_FYOqwF0OEd-12d_h0i1xhQ" base_Class="_CxQBcF0OEd-12d_h0i1xhQ"/>
+  <FCM:TargetArchitecture xmi:id="_W5gJIF0OEd-12d_h0i1xhQ" base_Class="_KjufQF0OEd-12d_h0i1xhQ"/>
+  <FCM:TargetArchitecture xmi:id="_YHIZ4F0OEd-12d_h0i1xhQ" base_Class="_PFcW8F0OEd-12d_h0i1xhQ"/>
+  <FCM:DerivedElement xmi:id="_FWe6IG4sEd-0rs2VEGIwsA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_FWlAwG4sEd-0rs2VEGIwsA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_9Kl8IG4-Ed-J1L578xi-WA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_9K4QAG4-Ed-J1L578xi-WA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_Si_2kG5fEd-5CZIeuHpHAg" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_SjXqAG5fEd-5CZIeuHpHAg" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:Template xmi:id="_3IqLUKE1Ed-r8p-5QgO3cg" base_Element="_pXzxjkJ1Ed-Ps4Bfh0j9LQ"/>
+  <FCM:Template xmi:id="_9u11IKE1Ed-r8p-5QgO3cg" base_Element="_2bwsEClzEd-eoo60eNyGlg"/>
+  <FCM:PortKind xmi:id="_H5-aQLqOEd-SedGzMDDkww" base_Class="_AQZZwLqOEd-SedGzMDDkww"/>
+  <FCM:PortKind xmi:id="_KtgR0LqOEd-SedGzMDDkww" base_Class="__nMrwLqNEd-SedGzMDDkww"/>
+  <FCM:ConfigurationProperty xmi:id="_s0fGMMGJEd-Mveea1W_olA" base_Property="_rVfYoMGJEd-Mveea1W_olA"/>
+  <FCM:InteractionComponent xmi:id="_8BUh8NdwEd-ZnqCk2P2ZKg" base_Class="_3itBkNdwEd-ZnqCk2P2ZKg"/>
+  <FCM:Template xmi:id="_CTIeQNdxEd-ZnqCk2P2ZKg" base_Element="_3itBoddwEd-ZnqCk2P2ZKg"/>
+  <C_Cpp:Typedef xmi:id="_68Aa4No9Ed-wvpj-p-V_QQ" definition="!xtend CppParameterStorage" base_primitivetype="_xOqL0No9Ed-wvpj-p-V_QQ"/>
+  <FCM:InteractionComponent xmi:id="_xaHRQDJKEeCAhMtIsY9HwA" base_Class="_pXzKcEJ1Ed-Ps4Bfh0j9LQ"/>
+  <FCM:Port xmi:id="_MzPjkPNAEeCovO8AYZymZQ" base_Port="_MzO8gPNAEeCovO8AYZymZQ" kind="_wySlkFRxEd6GqrP6fkWBoQ" type="_omxU4PNAEeCovO8AYZymZQ"/>
+  <FCM:Template xmi:id="_c_dkcPNJEeCovO8AYZymZQ" base_Element="_aGt1sPNJEeCovO8AYZymZQ"/>
+  <FCM:ImplementationProperties xmi:id="_WIe68PQMEeCovO8AYZymZQ" base_Class="__uJRYPNGEeCovO8AYZymZQ"/>
+  <FCM:ContainerRule xmi:id="_F1wZsPQUEeCovO8AYZymZQ" base_Class="__4GvgPQTEeCovO8AYZymZQ"/>
+  <FCM:DerivedElement xmi:id="_mKpWAPQXEeCovO8AYZymZQ" base_Element="_tK0poPQWEeCovO8AYZymZQ0" source="_tK0poPQWEeCovO8AYZymZQ"/>
+  <FCM:DerivedElement xmi:id="_mK0VIPQXEeCovO8AYZymZQ" base_Element="_FBMo4PQXEeCovO8AYZymZQ0" source="_FBMo4PQXEeCovO8AYZymZQ"/>
+  <FCM:DerivedElement xmi:id="_mK7C0PQXEeCovO8AYZymZQ" base_Element="_f1HmEPQREeCovO8AYZymZQ0" source="_f1HmEPQREeCovO8AYZymZQ"/>
+  <standard:Create xmi:id="_o4VNAPRTEeCUGrV0Hl4JwQ" base_BehavioralFeature="_lrF08PRTEeCUGrV0Hl4JwQ"/>
+  <FCM:InterceptionRule xmi:id="_qlcF8AJzEeG0Lb1KYG16fA" interceptionSet="__SLXgNtxEd6nqsBVkgJEEA" base_Property="_mvN04PTWEeCn1-FCrfecFg"/>
+  <FCM:Template xmi:id="_QUZxoCQeEeGj_4swHBbKwg" base_Element="_QQPDUSQeEeGj_4swHBbKwg"/>
+  <C_Cpp:Const xmi:id="_MGjk0CSlEeG6GJ4vU06VYQ" base_property="_Ig_MUCSlEeG6GJ4vU06VYQ"/>
+  <C_Cpp:Include xmi:id="_Yx49gCaeEeG4fZdVXNtoOQ" body="#include &lt;errno.h>" base_class="_JRmo0PNAEeCovO8AYZymZQ"/>
+  <FCM:InteractionComponent xmi:id="_OXit8CfwEeG6iME5Q8XPKw" base_Class="_5J9coCXQEeGX6PuSE-DJlQ"/>
+  <FCM:Port xmi:id="_ATRiESjZEeGFbebITJYb9g" base_Port="_ATRiECjZEeGFbebITJYb9g" kind="_9Fif4FRxEd6GqrP6fkWBoQ">
+    <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
+  </FCM:Port>
+  <FCM:ContainerRule xmi:id="_MS45QCjaEeGFbebITJYb9g" base_Class="_1sCBICjZEeGFbebITJYb9g"/>
+  <FCM:ConfigurationProperty xmi:id="_zVumMCjbEeGFbebITJYb9g" base_Property="_tmNeoCjbEeGFbebITJYb9g"/>
+  <FCM:Port xmi:id="_3NSGwSkAEeGDDbdzqSb4UA" base_Port="_3NSGwCkAEeGDDbdzqSb4UA" kind="_9Fif4FRxEd6GqrP6fkWBoQ">
+    <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
+  </FCM:Port>
+  <FCM:OperatingSystem xmi:id="_r4nVcCp9EeG1Y7BvjQ0T-w" base_Class="_onKy0Cp9EeG1Y7BvjQ0T-w"/>
+  <FCM:Port xmi:id="_-nlmgENqEeGoAtSeIK7WLg" base_Port="_-nk_cENqEeGoAtSeIK7WLg" kind="_qOK0cFR1Ed6GqrP6fkWBoQ" type="_WkkjoPNUEeCovO8AYZymZQ"/>
+  <FCM:Port xmi:id="_9gJEAENvEeGoAtSeIK7WLg" base_Port="_9gIc8ENvEeGoAtSeIK7WLg" kind="_pE6GUFR1Ed6GqrP6fkWBoQ" type="_WkkjoPNUEeCovO8AYZymZQ"/>
+  <FCM:Port xmi:id="_MhIhgENxEeGoAtSeIK7WLg" base_Port="_MhH6cENxEeGoAtSeIK7WLg" kind="_pE6GUFR1Ed6GqrP6fkWBoQ" type="_WkkjoPNUEeCovO8AYZymZQ"/>
+  <FCM:Port xmi:id="_Zd6hAENxEeGoAtSeIK7WLg" base_Port="_Zd558ENxEeGoAtSeIK7WLg" kind="_qOK0cFR1Ed6GqrP6fkWBoQ" type="_WkkjoPNUEeCovO8AYZymZQ"/>
+  <FCM:Port xmi:id="_i6QeoEN8EeGfhclnRyNzoA" base_Port="_i5SOQEN8EeGfhclnRyNzoA" kind="_qOK0cFR1Ed6GqrP6fkWBoQ" type="_WkkjoPNUEeCovO8AYZymZQ"/>
+  <FCM:Port xmi:id="_0KaqgF7pEeGEmrrwB1vhPg" base_Port="_0KY1UF7pEeGEmrrwB1vhPg" kind="_wySlkFRxEd6GqrP6fkWBoQ" type="_ZzlzMPfBEd2TbIfwytOyPA"/>
+  <FCM:Template xmi:id="_GNBM8F7tEeGEmrrwB1vhPg" base_Element="_ChD4kF7tEeGEmrrwB1vhPg"/>
+  <FCM:InteractionComponent xmi:id="_UBcmIF7tEeGEmrrwB1vhPg" base_Class="_Mo2kwF7pEeGEmrrwB1vhPg"/>
+  <FCM:InteractionComponent xmi:id="_Z3Zs4F7tEeGEmrrwB1vhPg" base_Class="_TLShkF7qEeGEmrrwB1vhPg"/>
+  <FCM:PortKind xmi:id="_SrCqQC8qEeKx7OxAiA06uw" base_Class="_GjnlcC8qEeKx7OxAiA06uw"/>
+  <SW_Concurrency:SwSchedulableResource xmi:id="_42YPYBn3EeONpa5JgejICQ" base_Classifier="_SiY_AP-EEd6628OhKk_dpg" priorityElements="_rVfYoMGJEd-Mveea1W_olA"/>
+  <C_Cpp:NoCodeGen xmi:id="_ilpvUBqnEeOfW_TxE-lJDw" base_element="_q56toNzEEeKPWMO32vUmzw"/>
+  <FCM:DerivedElement xmi:id="_TJO30CxyEeOMQpc6Y-MAJw" base_Element="_TBScwCxyEeOMQpc6Y-MAJw">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_ns4qsClUEeO4bs_nkcnKOg"/>
+  </FCM:DerivedElement>
+  <FCM:CompToOOmapping xmi:id="_45ldwKLvEeSBiP8ZTcBQrQ" base_Class="_pu1x4KLvEeSBiP8ZTcBQrQ"/>
+  <FCM:CompToOOmapping xmi:id="_5zQ3wKLvEeSBiP8ZTcBQrQ" base_Class="_mgbVIKLvEeSBiP8ZTcBQrQ"/>
+  <FCM:CompToOOmapping xmi:id="_66vdMKLvEeSBiP8ZTcBQrQ" base_Class="_nRnhgKLvEeSBiP8ZTcBQrQ"/>
+  <C_Cpp:Const xmi:id="_YKw8INhuEeSqPLTzapTtmQ" base_property="_YHC5wNhuEeSqPLTzapTtmQ"/>
+  <FCM:DerivedElement xmi:id="_QS4L8DUKEeWa95xDrmW0sg" base_Element="_QO65ADUKEeWa95xDrmW0sg" source="_ZzlzMPfBEd2TbIfwytOyPA"/>
+  <FCM:DerivedElement xmi:id="_utfFkH2KEeWV7cfiwPN21w" base_Element="_utaNEH2KEeWV7cfiwPN21w">
+    <source xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_oJglwH2LEeWV7cfiwPN21w" base_Element="_oJcUUH2LEeWV7cfiwPN21w">
+    <source xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_7TuzoCUUEd6YR-YzyVnLng"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_AsyHQH2MEeWV7cfiwPN21w" base_Element="_AsqygH2MEeWV7cfiwPN21w" source="_ZzlzMPfBEd2TbIfwytOyPA"/>
+  <FCM:DerivedElement xmi:id="_pMMXEMTiEeWfEYAFL-UFuw" base_Element="_pMJ60MTiEeWfEYAFL-UFuw">
+    <source xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_pMuikMTiEeWfEYAFL-UFuw" base_Element="_pMrfQMTiEeWfEYAFL-UFuw">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_FSjTEMUKEeWfEYAFL-UFuw" base_Element="_FSgPwMUKEeWfEYAFL-UFuw">
+    <source xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
+  </FCM:DerivedElement>
+  <C_Cpp:Ptr xmi:id="_FSoLkMUKEeWfEYAFL-UFuw" base_parameter="_FSlvUMUKEeWfEYAFL-UFuw"/>
+  <C_Cpp:Ptr xmi:id="_FSqn0MUKEeWfEYAFL-UFuw" base_parameter="_FSoLkcUKEeWfEYAFL-UFuw"/>
+  <FCM:DerivedElement xmi:id="_LO_PUMp7EeWZ7LDc4RWI6w" base_Element="_LO4hoMp7EeWZ7LDc4RWI6w" source="_fxfe8Cu1Ed-uZPFNCty7PQ"/>
+  <C_Cpp:Ptr xmi:id="_LPF9AMp7EeWZ7LDc4RWI6w" base_parameter="_LPCSoMp7EeWZ7LDc4RWI6w"/>
+  <C_Cpp:Ptr xmi:id="_LPK1gMp7EeWZ7LDc4RWI6w" base_parameter="_LPGkEMp7EeWZ7LDc4RWI6w"/>
+  <Transformation:M2MTrafoChain xmi:id="_NQUF0GpIEeaSLtRdInZlZA" base_Class="_bnyXIF4SEea4bLzKfwAjjA"/>
+  <Transformation:M2MTrafo xmi:id="_SmkY0GpIEeaSLtRdInZlZA" base_Class="_2RvRQF4SEea4bLzKfwAjjA"/>
+  <Transformation:M2MTrafo xmi:id="_WZURsGpIEeaSLtRdInZlZA" base_Class="_5r5rAF4SEea4bLzKfwAjjA"/>
+</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/core.di b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/core.di
deleted file mode 100644
index ebf8e3d..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/core.di
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi" xmlns:history="http://www.eclipse.org/papyrus/0.7.0/controlmode">
-  <di:SashWindowsMngr xmi:id="_pKTSkNYFEd-CgJIavLpOxQ">
-    <pageList xmi:id="_pKTSkdYFEd-CgJIavLpOxQ">
-      <availablePage xmi:id="_pKTSktYFEd-CgJIavLpOxQ">
-        <emfPageIdentifier href="core.notation#_FYAkIG4sEd-0rs2VEGIwsA"/>
-      </availablePage>
-      <availablePage xmi:id="_A6ULItYGEd-CgJIavLpOxQ">
-        <emfPageIdentifier href="core.notation#_A6ULINYGEd-CgJIavLpOxQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="core.notation#_glyeMK8qEeCXIcykFPsB8Q"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="core.notation#_DtdykK8rEeCXIcykFPsB8Q"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="core.notation#_PIvc4LabEeCj_-LEBuGpmA"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="core.notation#_0IaT8LnYEeCxXoyQxQ47PQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="core.notation#_SstwYPEnEeCIafpoJVk7CQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="core.notation#_eblvwPM_EeCovO8AYZymZQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="core.notation#_hyLz8PNGEeCovO8AYZymZQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="core.notation#_cVCGYPNUEeCovO8AYZymZQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="core.notation#_g6Yg0CnOEeGxrprK9wB9iA"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="core.notation#_OhgzgD8AEeGJ6KSvhYhYuQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="core.notation#_DfG8kF7qEeGEmrrwB1vhPg"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="core.notation#_zCsUsHI3EeOCrdvV8oxOKA"/>
-      </availablePage>
-    </pageList>
-    <sashModel xmi:id="_pKTSk9YFEd-CgJIavLpOxQ" currentSelection="_pKTSldYFEd-CgJIavLpOxQ">
-      <windows xmi:id="_pKTSlNYFEd-CgJIavLpOxQ">
-        <children xsi:type="di:TabFolder" xmi:id="_pKTSldYFEd-CgJIavLpOxQ">
-          <children>
-            <emfPageIdentifier href="core.notation#_FYAkIG4sEd-0rs2VEGIwsA"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="core.notation#_eblvwPM_EeCovO8AYZymZQ"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="core.notation#_A6ULINYGEd-CgJIavLpOxQ"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="core.notation#_g6Yg0CnOEeGxrprK9wB9iA"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="core.notation#_zCsUsHI3EeOCrdvV8oxOKA"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="core.notation#_ljiPEKLvEeSBiP8ZTcBQrQ"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="pathmap://QML_CORE/sysinterfaces.notation#_SNBrsPNAEeCovO8AYZymZQ"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="core.notation#_0IaT8LnYEeCxXoyQxQ47PQ"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="core.notation#_PIvc4LabEeCj_-LEBuGpmA"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="core.notation#_OhgzgD8AEeGJ6KSvhYhYuQ"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="core.notation#_hyLz8PNGEeCovO8AYZymZQ"/>
-          </children>
-        </children>
-      </windows>
-    </sashModel>
-  </di:SashWindowsMngr>
-  <history:ControledResource xmi:id="_pKT5oNYFEd-CgJIavLpOxQ"/>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/core.notation b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/core.notation
deleted file mode 100644
index 7013fb6..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/core.notation
+++ /dev/null
@@ -1,5813 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:SW_Concurrency="http://www.eclipse.org/papyrus/SW_Concurrency/1" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/SW_Concurrency/1 http://www.eclipse.org/papyrus/MARTE/1#//SRM/SW_Concurrency">
-  <notation:Diagram xmi:id="_FYAkIG4sEd-0rs2VEGIwsA" type="CompositeStructure" name="Composite Async &amp; sync call hierarchy" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_FYAkIW4sEd-0rs2VEGIwsA" type="Class_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_FYAkIm4sEd-0rs2VEGIwsA" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_FYAkI24sEd-0rs2VEGIwsA" type="Class_StructureCompartment">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYAkJG4sEd-0rs2VEGIwsA"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_FYAkJW4sEd-0rs2VEGIwsA" type="Port_Shape" lineColor="0">
-        <children xmi:type="notation:DecorationNode" xmi:id="_FYAkJm4sEd-0rs2VEGIwsA" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__EG7cF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Uh8jQFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FYAkJ24sEd-0rs2VEGIwsA" x="-56"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FYBLMG4sEd-0rs2VEGIwsA" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FYBLMW4sEd-0rs2VEGIwsA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLMm4sEd-0rs2VEGIwsA" x="110" y="45"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_klFeYFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_klFeYVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klFeYly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9hqK0AuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9hqK0QuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_mIpj8Ns8Ed2eM5kqcby5ZA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLM24sEd-0rs2VEGIwsA" x="225" y="90" width="120" height="84"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_FYBLNG4sEd-0rs2VEGIwsA" type="Class_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_FYBLNW4sEd-0rs2VEGIwsA" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_FYBLNm4sEd-0rs2VEGIwsA" type="Class_StructureCompartment">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLN24sEd-0rs2VEGIwsA"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_FYBLOG4sEd-0rs2VEGIwsA" type="Port_Shape" lineColor="0">
-        <children xmi:type="notation:DecorationNode" xmi:id="_FYBLOW4sEd-0rs2VEGIwsA" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__2FK8F7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VHb18FbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FYBLOm4sEd-0rs2VEGIwsA" x="25" y="1"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FYBLO24sEd-0rs2VEGIwsA" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FYBLPG4sEd-0rs2VEGIwsA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLPW4sEd-0rs2VEGIwsA" x="-10" y="44"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_klGsgFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_klGsgVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klGsgly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9hqK0guXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9hqK0wuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_j29X4NttEd2eM5kqcby5ZA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLPm4sEd-0rs2VEGIwsA" x="420" y="90" width="121" height="79"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_cTlm4G5fEd-5CZIeuHpHAg" type="Class_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cTm1AG5fEd-5CZIeuHpHAg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cTm1AW5fEd-5CZIeuHpHAg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cTm1Am5fEd-5CZIeuHpHAg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cTm1A25fEd-5CZIeuHpHAg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cTm1BG5fEd-5CZIeuHpHAg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cTm1BW5fEd-5CZIeuHpHAg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_cTm1Bm5fEd-5CZIeuHpHAg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_cTm1B25fEd-5CZIeuHpHAg" type="Class_StructureCompartment">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cTm1CG5fEd-5CZIeuHpHAg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_cnOc0DrVEeGMCcwsbpLuFA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnQ5EDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnQ5ETrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnQ5EjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnQ5EzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnQ5FDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnRgIDrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_cnRgITrVEeGMCcwsbpLuFA" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sbFK0F7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XaUekFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_cnRgIjrVEeGMCcwsbpLuFA" x="20" y="22"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_cnSHMDrVEeGMCcwsbpLuFA" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_cnSHMTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cnOc0TrVEeGMCcwsbpLuFA" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_cnSuQDrVEeGMCcwsbpLuFA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnSuQjrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnSuQzrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnSuRDrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnSuRTrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnTVUDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnTVUTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_cnTVUjrVEeGMCcwsbpLuFA" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3vXigF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W6BN4FbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_cnTVUzrVEeGMCcwsbpLuFA" x="-22" y="24"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_cnTVVDrVEeGMCcwsbpLuFA" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_cnTVVTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cnSuQTrVEeGMCcwsbpLuFA" x="106" y="36"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_klIhsFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_klIhsVy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="FCM:InteractionComponent" href="core.uml#_s8OWIFR1Ed6GqrP6fkWBoQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klIhsly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_klIhs1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_klIhtFy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klIhtVy8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9hqK1AuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9hqK1QuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_KxQBELuXEd2TTr3gJIvazw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cTmN8G5fEd-5CZIeuHpHAg" x="225" y="270" width="116" height="76"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_nkmBEG5fEd-5CZIeuHpHAg" type="Class_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nkmoIG5fEd-5CZIeuHpHAg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nknPMG5fEd-5CZIeuHpHAg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nknPMW5fEd-5CZIeuHpHAg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nknPMm5fEd-5CZIeuHpHAg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nknPM25fEd-5CZIeuHpHAg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nknPNG5fEd-5CZIeuHpHAg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_nknPNW5fEd-5CZIeuHpHAg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_nknPNm5fEd-5CZIeuHpHAg" type="Class_StructureCompartment">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nknPN25fEd-5CZIeuHpHAg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_hZRPgDrVEeGMCcwsbpLuFA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZR2kDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZR2kTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZR2kjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZR2kzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZR2lDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZR2lTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_hZR2ljrVEeGMCcwsbpLuFA" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_s2NAkF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_whZf8F7qEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_hZR2lzrVEeGMCcwsbpLuFA" x="21" y="25"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_hZR2mDrVEeGMCcwsbpLuFA" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_hZSdoDrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hZRPgTrVEeGMCcwsbpLuFA" x="-10" y="33"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_hZSdoTrVEeGMCcwsbpLuFA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZTEsDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZTEsTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZTEsjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZTEszrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZTEtDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZTEtTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_hZTEtjrVEeGMCcwsbpLuFA" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_24F8QF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2_b6YF7qEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_hZTEtzrVEeGMCcwsbpLuFA" x="-23" y="24"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_hZTEuDrVEeGMCcwsbpLuFA" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_hZTrwDrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hZSdojrVEeGMCcwsbpLuFA" x="111" y="33"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_klK98Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_klK98Vy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="FCM:InteractionComponent" href="core.uml#_efp4QClzEd-eoo60eNyGlg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klK98ly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_klK981y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_klK99Fy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klK99Vy8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9hqK1guXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9hqK1wuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_Whe8EClYEd-eoo60eNyGlg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nkmBEW5fEd-5CZIeuHpHAg" x="225" y="390" width="121" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_HJAqEG5gEd-5CZIeuHpHAg" type="Class_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HJBRIG5gEd-5CZIeuHpHAg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HJBRIW5gEd-5CZIeuHpHAg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HJBRIm5gEd-5CZIeuHpHAg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HJBRI25gEd-5CZIeuHpHAg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HJB4MG5gEd-5CZIeuHpHAg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HJB4MW5gEd-5CZIeuHpHAg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_HJB4Mm5gEd-5CZIeuHpHAg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_HJB4M25gEd-5CZIeuHpHAg" type="Class_StructureCompartment">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HJB4NG5gEd-5CZIeuHpHAg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_iOXEcDrVEeGMCcwsbpLuFA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOXrgDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOXrgTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOXrgjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOXrgzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOXrhDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOXrhTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_iOXrhjrVEeGMCcwsbpLuFA" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BXMYYF7rEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VrqkYFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_iOXrhzrVEeGMCcwsbpLuFA" x="14" y="27"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_iOXriDrVEeGMCcwsbpLuFA" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_iOXriTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iOXEcTrVEeGMCcwsbpLuFA" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_iOYSkDrVEeGMCcwsbpLuFA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOYSkjrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOY5oDrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOY5oTrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOY5ojrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOY5ozrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOY5pDrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_iOY5pTrVEeGMCcwsbpLuFA" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tskA0F7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WOFU8FbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_iOY5pjrVEeGMCcwsbpLuFA" x="-16" y="24"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_iOY5pzrVEeGMCcwsbpLuFA" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_iOY5qDrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iOYSkTrVEeGMCcwsbpLuFA" x="111" y="36"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_klMzIFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_klMzIVy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="FCM:InteractionComponent" href="core.uml#_vEYVcFR1Ed6GqrP6fkWBoQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klMzIly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_klNaMFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_klNaMVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klNaMly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9hqx4AuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9hqx4QuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_Zx2ZUA1jEd6tvthBDl600Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HJAqEW5gEd-5CZIeuHpHAg" x="420" y="270" width="121" height="76"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_H_CTIG5gEd-5CZIeuHpHAg" type="Class_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H_C6MG5gEd-5CZIeuHpHAg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H_C6MW5gEd-5CZIeuHpHAg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H_C6Mm5gEd-5CZIeuHpHAg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H_C6M25gEd-5CZIeuHpHAg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H_C6NG5gEd-5CZIeuHpHAg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H_C6NW5gEd-5CZIeuHpHAg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_H_C6Nm5gEd-5CZIeuHpHAg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_H_C6N25gEd-5CZIeuHpHAg" type="Class_StructureCompartment">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H_C6OG5gEd-5CZIeuHpHAg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_kf30EDrVEeGMCcwsbpLuFA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf4bIDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf4bITrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf4bIjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf4bIzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf4bJDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf4bJTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_kf4bJjrVEeGMCcwsbpLuFA" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EmPuUF7rEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GfK-0F7rEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kf4bJzrVEeGMCcwsbpLuFA" x="22" y="25"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_kf4bKDrVEeGMCcwsbpLuFA" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kf4bKTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kf30ETrVEeGMCcwsbpLuFA" x="-10" y="33"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_kf5CMDrVEeGMCcwsbpLuFA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf5pQDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf5pQTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf5pQjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf5pQzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf5pRDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf5pRTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_kf5pRjrVEeGMCcwsbpLuFA" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tXAAgF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EFa5MF7rEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kf5pRzrVEeGMCcwsbpLuFA" x="25"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_kf5pSDrVEeGMCcwsbpLuFA" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kf5pSTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kf5CMTrVEeGMCcwsbpLuFA" x="111" y="33"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_klPPYFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_klPPYVy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="FCM:InteractionComponent" href="core.uml#_wT-8IFR1Ed6GqrP6fkWBoQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klPPYly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_klP2cFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_klP2cVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klP2cly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9hqx4guXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9hqx4wuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_jOU60A1jEd6tvthBDl600Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H_CTIW5gEd-5CZIeuHpHAg" x="420" y="390" width="121" height="70"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="__rQAQDrVEeGMCcwsbpLuFA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__rQnUDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__rQnUTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__rQnUjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__rQnUzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__rQnVDrVEeGMCcwsbpLuFA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__rQnVTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="__rQnVjrVEeGMCcwsbpLuFA" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="core.uml#__oxUADrVEeGMCcwsbpLuFA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__rQAQTrVEeGMCcwsbpLuFA" x="596" y="102" width="242"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_2oWskF7pEeGEmrrwB1vhPg" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2oX6sF7pEeGEmrrwB1vhPg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2oX6sV7pEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2oX6sl7pEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2oX6s17pEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2oX6tF7pEeGEmrrwB1vhPg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2oX6tV7pEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_2oYhwF7pEeGEmrrwB1vhPg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_2oYhwV7pEeGEmrrwB1vhPg" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_2oYhwl7pEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2oYhw17pEeGEmrrwB1vhPg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_5wCPMF7pEeGEmrrwB1vhPg" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5wC2QF7pEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5wC2QV7pEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5wC2Ql7pEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5wC2Q17pEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5wC2RF7pEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5wC2RV7pEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_5wC2Rl7pEeGEmrrwB1vhPg" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-VsWQF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZVGwQFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_5wC2R17pEeGEmrrwB1vhPg" x="-99"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_5wC2SF7pEeGEmrrwB1vhPg" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_5wC2SV7pEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5wCPMV7pEeGEmrrwB1vhPg" x="108" y="45"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_klRroFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_klRroVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klRroly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9hqx5AuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9hqx5QuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_0KYOQF7pEeGEmrrwB1vhPg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2oWskV7pEeGEmrrwB1vhPg" x="36" y="90" width="118" height="82"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_TLmDkF7qEeGEmrrwB1vhPg" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TLmqoF7qEeGEmrrwB1vhPg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TLmqoV7qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TLmqol7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TLmqo17qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TLmqpF7qEeGEmrrwB1vhPg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TLmqpV7qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_TLnRsF7qEeGEmrrwB1vhPg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_TLnRsV7qEeGEmrrwB1vhPg" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_TLnRsl7qEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TLnRs17qEeGEmrrwB1vhPg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_ewlwwF7qEeGEmrrwB1vhPg" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewmX0F7qEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewmX0V7qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewmX0l7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewmX017qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewmX1F7qEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewmX1V7qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ewmX1l7qEeGEmrrwB1vhPg" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_08xfEF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1Gzk0F7qEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ewmX117qEeGEmrrwB1vhPg" x="-41" y="22"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ewmX2F7qEeGEmrrwB1vhPg" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ewmX2V7qEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ewlwwV7qEeGEmrrwB1vhPg" x="106" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_ewm-4F7qEeGEmrrwB1vhPg" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewm-4l7qEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewm-417qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewm-5F7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewm-5V7qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewm-5l7qEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewm-517qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ewnl8F7qEeGEmrrwB1vhPg" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_x3Ij0F7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YVUHMFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ewnl8V7qEeGEmrrwB1vhPg" x="19" y="26"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ewnl8l7qEeGEmrrwB1vhPg" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ewnl817qEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ewm-4V7qEeGEmrrwB1vhPg" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_klS5wFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_klS5wVy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="FCM:InteractionComponent" href="core.uml#_Z3Zs4F7tEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klS5wly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_klTg0Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_klTg0Vy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klTg0ly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9hqx5guXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9hqx5wuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_TLShkF7qEeGEmrrwB1vhPg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TLmDkV7qEeGEmrrwB1vhPg" x="38" y="270" width="116" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9kaj4AuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9kaj4QuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9kaj4wuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9kaj4guXEeWXe7AeBUbqvw" x="310" y="45"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9kmxKAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9kmxKQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9kmxKwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9kmxKguXEeWXe7AeBUbqvw" x="190" y="44"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9k1aoAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9k1aoQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9k2BsAuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_KxQBELuXEd2TTr3gJIvazw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9k1aoguXEeWXe7AeBUbqvw" x="425" y="270"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9lGgYAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9lGgYQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9lGgYwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9lGgYguXEeWXe7AeBUbqvw" x="190" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9lapcAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9lapcQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9lapcwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9lapcguXEeWXe7AeBUbqvw" x="306" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9lsWQAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9lsWQQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9lsWQwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_Whe8EClYEd-eoo60eNyGlg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9lsWQguXEeWXe7AeBUbqvw" x="425" y="390"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9l3VYAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9l3VYQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9l3VYwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9l3VYguXEeWXe7AeBUbqvw" x="190" y="33"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9mEwwAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9mEwwQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9mEwwwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9mEwwguXEeWXe7AeBUbqvw" x="311" y="33"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9mb9IAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9mb9IQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9mckMAuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_Zx2ZUA1jEd6tvthBDl600Q"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9mb9IguXEeWXe7AeBUbqvw" x="620" y="270"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9mtC4AuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9mtC4QuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9mtC4wuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9mtC4guXEeWXe7AeBUbqvw" x="190" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9m-IoAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9m-IoQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9m-IowuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9m-IoguXEeWXe7AeBUbqvw" x="311" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9nMLEAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9nMLEQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9nMLEwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_jOU60A1jEd6tvthBDl600Q"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9nMLEguXEeWXe7AeBUbqvw" x="620" y="390"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9nXKMAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9nXKMQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9nXKMwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9nXKMguXEeWXe7AeBUbqvw" x="190" y="33"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9njXcAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9njXcQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9njXcwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9njXcguXEeWXe7AeBUbqvw" x="311" y="33"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9nuWmAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9nuWmQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9nuWmwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9nuWmguXEeWXe7AeBUbqvw" x="308" y="45"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9n6j0AuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9n6j0QuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9n6j0wuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_TLShkF7qEeGEmrrwB1vhPg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9n6j0guXEeWXe7AeBUbqvw" x="238" y="270"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9oGKAAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9oGKAQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9oGxEAuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9oGKAguXEeWXe7AeBUbqvw" x="306" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9oTlYAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9oTlYQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9oTlYwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9oTlYguXEeWXe7AeBUbqvw" x="190" y="36"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_FYBLP24sEd-0rs2VEGIwsA"/>
-    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_7gTl0Mc1EeSsAI2TZshUyg" name="css_stylesheets" eObjectListValue="_7gUz8Mc1EeSsAI2TZshUyg"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_9hqx6AuXEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="core.uml#_mMCK8PiPEd2UhpY2Y3WUyg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_dNEMkG5fEd-5CZIeuHpHAg" type="Generalization_Edge" source="_cTlm4G5fEd-5CZIeuHpHAg" target="_FYAkIW4sEd-0rs2VEGIwsA" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_dNFasG5fEd-5CZIeuHpHAg" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_dNGo0G5fEd-5CZIeuHpHAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_dNEMkW5fEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_1H2JwDBEEd6V16eboHV1gw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dNEMkm5fEd-5CZIeuHpHAg" points="[-8, -20, 58, 145]$[-50, -123, 16, 42]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_drspUG5fEd-5CZIeuHpHAg" type="Generalization_Edge" source="_cTlm4G5fEd-5CZIeuHpHAg" target="_FYBLNG4sEd-0rs2VEGIwsA" routing="Rectilinear" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_drtQYG5fEd-5CZIeuHpHAg" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_drtQYW5fEd-5CZIeuHpHAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_drspUW5fEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_0KzSsDBEEd6V16eboHV1gw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_drspUm5fEd-5CZIeuHpHAg" points="[41, -38, -136, 105]$[41, -92, -136, 51]$[172, -92, -5, 51]$[172, -139, -5, 4]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jflTgG5fEd-5CZIeuHpHAg" id="(0.3305785123966942,0.9493670886075949)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_pOq9QG5fEd-5CZIeuHpHAg" type="Generalization_Edge" source="_nkmBEG5fEd-5CZIeuHpHAg" target="_cTlm4G5fEd-5CZIeuHpHAg" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_pOrkUG5fEd-5CZIeuHpHAg" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_pOrkUW5fEd-5CZIeuHpHAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_pOq9QW5fEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_lYOSkClzEd-eoo60eNyGlg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pOq9Qm5fEd-5CZIeuHpHAg" points="[1, -40, 0, 83]$[0, -85, -1, 38]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_IsGNcG5gEd-5CZIeuHpHAg" type="Generalization_Edge" source="_H_CTIG5gEd-5CZIeuHpHAg" target="_HJAqEG5gEd-5CZIeuHpHAg" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_IsPXYG5gEd-5CZIeuHpHAg" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_IsPXYW5gEd-5CZIeuHpHAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_IsGNcW5gEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_lm4GkA1jEd6tvthBDl600Q"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IsGNcm5gEd-5CZIeuHpHAg" points="[-4, -20, 17, 90]$[-18, -90, 3, 20]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_KGqG8G5gEd-5CZIeuHpHAg" type="Generalization_Edge" source="_HJAqEG5gEd-5CZIeuHpHAg" target="_FYAkIW4sEd-0rs2VEGIwsA" routing="Rectilinear" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_KGrVEG5gEd-5CZIeuHpHAg" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KGrVEW5gEd-5CZIeuHpHAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_KGqG8W5gEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_T1zr4DBFEd6V16eboHV1gw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KGqG8m5gEd-5CZIeuHpHAg" points="[-31, -18, 261, 147]$[-232, -132, 60, 33]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Kc5csG5gEd-5CZIeuHpHAg" type="Generalization_Edge" source="_HJAqEG5gEd-5CZIeuHpHAg" target="_FYBLNG4sEd-0rs2VEGIwsA" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Kc6DwG5gEd-5CZIeuHpHAg" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Kc6DwW5gEd-5CZIeuHpHAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Kc5csW5gEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_STdvYDBFEd6V16eboHV1gw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Kc5csm5gEd-5CZIeuHpHAg" points="[-12, -23, 74, 146]$[-66, -129, 20, 40]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_DjnY8DrWEeGMCcwsbpLuFA" type="Comment_AnnotatedElementEdge" source="__rQAQDrVEeGMCcwsbpLuFA" target="_FYBLNG4sEd-0rs2VEGIwsA" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_DjoAADrWEeGMCcwsbpLuFA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DjoAATrWEeGMCcwsbpLuFA" points="[-19, 1, 78, 0]$[-74, 3, 23, 2]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DjzmMDrWEeGMCcwsbpLuFA" id="(0.11801242236024845,0.5)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DjzmMTrWEeGMCcwsbpLuFA" id="(0.8099173553719008,0.5443037974683544)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_WhiEoF7qEeGEmrrwB1vhPg" type="Generalization_Edge" source="_TLmDkF7qEeGEmrrwB1vhPg" target="_2oWskF7pEeGEmrrwB1vhPg" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_WhirsF7qEeGEmrrwB1vhPg" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_WhirsV7qEeGEmrrwB1vhPg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_WhiEoV7qEeGEmrrwB1vhPg" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_WhUpQF7qEeGEmrrwB1vhPg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WhiEol7qEeGEmrrwB1vhPg" points="[1, -4, 0, 109]$[-3, -107, -4, 6]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wh9icF7qEeGEmrrwB1vhPg" id="(0.3673469387755102,0.06779661016949153)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wh9icV7qEeGEmrrwB1vhPg" id="(0.3728813559322034,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_XgiDgF7qEeGEmrrwB1vhPg" type="Generalization_Edge" source="_TLmDkF7qEeGEmrrwB1vhPg" target="_FYBLNG4sEd-0rs2VEGIwsA" routing="Rectilinear" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_XgiqkF7qEeGEmrrwB1vhPg" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_XgiqkV7qEeGEmrrwB1vhPg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_XgiDgV7qEeGEmrrwB1vhPg" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_XgUoIF7qEeGEmrrwB1vhPg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XgiDgl7qEeGEmrrwB1vhPg" points="[17, -6, -338, 114]$[349, -112, -6, 8]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xg9hUF7qEeGEmrrwB1vhPg" id="(0.6632653061224489,0.1016949152542373)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xg9hUV7qEeGEmrrwB1vhPg" id="(0.3140495867768595,0.8987341772151899)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9kaj5AuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_FYAkJW4sEd-0rs2VEGIwsA" target="_9kaj4AuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9kaj5QuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9kaj6QuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9kaj5guXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9kaj5wuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9kaj6AuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9kmxLAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_FYBLOG4sEd-0rs2VEGIwsA" target="_9kmxKAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9kmxLQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9kn_QAuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9kmxLguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9kmxLwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9kmxMAuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9k2BsQuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_cTlm4G5fEd-5CZIeuHpHAg" target="_9k1aoAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9k2BsguXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9k2BtguXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_KxQBELuXEd2TTr3gJIvazw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9k2BswuXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9k2BtAuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9k2BtQuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9lGgZAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_cnOc0DrVEeGMCcwsbpLuFA" target="_9lGgYAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9lGgZQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9lGgaQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9lGgZguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9lGgZwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9lGgaAuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9lapdAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_cnSuQDrVEeGMCcwsbpLuFA" target="_9lapcAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9lapdQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9lapeQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9lapdguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9lapdwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9lapeAuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9lsWRAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_nkmBEG5fEd-5CZIeuHpHAg" target="_9lsWQAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9lsWRQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9lsWSQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_Whe8EClYEd-eoo60eNyGlg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9lsWRguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9lsWRwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9lsWSAuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9l3VZAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_hZRPgDrVEeGMCcwsbpLuFA" target="_9l3VYAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9l3VZQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9l38cAuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9l3VZguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9l3VZwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9l3VaAuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9mEwxAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_hZSdoTrVEeGMCcwsbpLuFA" target="_9mEwwAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9mEwxQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9mEwyQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9mEwxguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9mEwxwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9mEwyAuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9mckMQuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_HJAqEG5gEd-5CZIeuHpHAg" target="_9mb9IAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9mckMguXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9mckNguXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_Zx2ZUA1jEd6tvthBDl600Q"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9mckMwuXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9mckNAuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9mckNQuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9mtC5AuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_iOXEcDrVEeGMCcwsbpLuFA" target="_9mtC4AuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9mtC5QuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9mtC6QuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9mtC5guXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9mtC5wuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9mtC6AuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9m-IpAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_iOYSkDrVEeGMCcwsbpLuFA" target="_9m-IoAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9m-IpQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9m-IqQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9m-IpguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9m-IpwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9m-IqAuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9nMLFAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_H_CTIG5gEd-5CZIeuHpHAg" target="_9nMLEAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9nMLFQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9nMLGQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_jOU60A1jEd6tvthBDl600Q"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9nMLFguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9nMLFwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9nMLGAuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9nXKNAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_kf30EDrVEeGMCcwsbpLuFA" target="_9nXKMAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9nXKNQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9nXKOQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9nXKNguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9nXKNwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9nXKOAuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9njXdAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_kf5CMDrVEeGMCcwsbpLuFA" target="_9njXcAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9njXdQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9njXeQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9njXdguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9njXdwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9njXeAuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9nuWnAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_5wCPMF7pEeGEmrrwB1vhPg" target="_9nuWmAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9nuWnQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9nuWoQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9nuWnguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9nuWnwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9nuWoAuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9n6j1AuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_TLmDkF7qEeGEmrrwB1vhPg" target="_9n6j0AuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9n6j1QuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9n6j2QuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_TLShkF7qEeGEmrrwB1vhPg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9n6j1guXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9n6j1wuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9n6j2AuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9oGxEQuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_ewlwwF7qEeGEmrrwB1vhPg" target="_9oGKAAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9oGxEguXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9oGxFguXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9oGxEwuXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9oGxFAuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9oGxFQuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9oTlZAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_ewm-4F7qEeGEmrrwB1vhPg" target="_9oTlYAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9oTlZQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9oTlaQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9oTlZguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9oTlZwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9oTlaAuXEeWXe7AeBUbqvw"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_A6ULINYGEd-CgJIavLpOxQ" type="PapyrusUMLClassDiagram" name="Class: ContainerServices" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_ByS8ANYGEd-CgJIavLpOxQ" type="Class_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByUKINYGEd-CgJIavLpOxQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ByUKIdYGEd-CgJIavLpOxQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByUKItYGEd-CgJIavLpOxQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ByUKI9YGEd-CgJIavLpOxQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByUKJNYGEd-CgJIavLpOxQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ByUxMNYGEd-CgJIavLpOxQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ByUxMdYGEd-CgJIavLpOxQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_ByUxMtYGEd-CgJIavLpOxQ" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_5X2YACVqEeGXBt65HZzY7g" type="Property_ClassAttributeLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_oG9wEFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tfIHkFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <styles xmi:type="notation:StringListValueStyle" xmi:id="_yc3tsMThEeWfEYAFL-UFuw" name="maskLabel">
-            <stringListValue>name</stringListValue>
-            <stringListValue>type</stringListValue>
-            <stringListValue>derived</stringListValue>
-          </styles>
-          <element xmi:type="uml:Port" href="core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_5X2YASVqEeGXBt65HZzY7g"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_60xB8CVqEeGXBt65HZzY7g" type="Property_ClassAttributeLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qGsMIFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qRYZMFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_THI2YMTgEeWfEYAFL-UFuw" visible="false" type="StereotypeLabel">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0FDMcMThEeWfEYAFL-UFuw" source="PapyrusCSSForceValue">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0FDMccThEeWfEYAFL-UFuw" key="visible" value="true"/>
-            </eAnnotations>
-            <styles xmi:type="notation:StringValueStyle" xmi:id="_THI2YcTgEeWfEYAFL-UFuw" name="stereotype" stringValue="FCM::ConfigurationProperty"/>
-            <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_L8b3wMtvEd2H_o0jIC6qDQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_THI2YsTgEeWfEYAFL-UFuw"/>
-          </children>
-          <styles xmi:type="notation:StringListValueStyle" xmi:id="_0kPp4MThEeWfEYAFL-UFuw" name="maskLabel">
-            <stringListValue>name</stringListValue>
-            <stringListValue>type</stringListValue>
-            <stringListValue>derived</stringListValue>
-          </styles>
-          <element xmi:type="uml:Property" href="core.uml#_rVfYoMGJEd-Mveea1W_olA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_60xB8SVqEeGXBt65HZzY7g"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_r31CwCXREeGX6PuSE-DJlQ" type="Property_ClassAttributeLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rmOsQFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rxObUFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <styles xmi:type="notation:StringListValueStyle" xmi:id="_zFyH0MThEeWfEYAFL-UFuw" name="maskLabel">
-            <stringListValue>name</stringListValue>
-            <stringListValue>type</stringListValue>
-            <stringListValue>derived</stringListValue>
-          </styles>
-          <element xmi:type="uml:Port" href="core.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_r31CwSXREeGX6PuSE-DJlQ"/>
-        </children>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_ByUxM9YGEd-CgJIavLpOxQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_ByUxNNYGEd-CgJIavLpOxQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByUxNdYGEd-CgJIavLpOxQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_ByUxNtYGEd-CgJIavLpOxQ" type="Class_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_s9ecMCXREeGX6PuSE-DJlQ" type="Operation_ClassOperationLabel" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:Operation" href="core.uml#_yv198P-EEd6628OhKk_dpg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_s9ecMSXREeGX6PuSE-DJlQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_s9fDQCXREeGX6PuSE-DJlQ" type="Operation_ClassOperationLabel" fontName="Sans Serif" lineColor="0">
-          <children xmi:type="notation:DecorationNode" xmi:id="_THMgwMTgEeWfEYAFL-UFuw" visible="false" type="StereotypeLabel">
-            <styles xmi:type="notation:StringValueStyle" xmi:id="_THMgwcTgEeWfEYAFL-UFuw" name="stereotype" stringValue="FCM::DerivedElement"/>
-            <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_6B80EGV9Ed6b6erIXzmEEA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_THMgwsTgEeWfEYAFL-UFuw"/>
-          </children>
-          <element xmi:type="uml:Operation" href="core.uml#_JmxyMD16Ed-Bk-AHd6yyoA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_s9fDQSXREeGX6PuSE-DJlQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_s9fqUCXREeGX6PuSE-DJlQ" type="Operation_ClassOperationLabel" fontName="Sans Serif" lineColor="0">
-          <children xmi:type="notation:DecorationNode" xmi:id="_THOV8MTgEeWfEYAFL-UFuw" visible="false" type="StereotypeLabel">
-            <styles xmi:type="notation:StringValueStyle" xmi:id="_THOV8cTgEeWfEYAFL-UFuw" name="stereotype" stringValue="FCM::DerivedElement"/>
-            <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_6B80EGV9Ed6b6erIXzmEEA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_THOV8sTgEeWfEYAFL-UFuw"/>
-          </children>
-          <element xmi:type="uml:Operation" href="core.uml#_JqB6gD16Ed-Bk-AHd6yyoA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_s9fqUSXREeGX6PuSE-DJlQ"/>
-        </children>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_ByUxN9YGEd-CgJIavLpOxQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_ByUxONYGEd-CgJIavLpOxQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByUxOdYGEd-CgJIavLpOxQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_ByUxOtYGEd-CgJIavLpOxQ" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_ByUxO9YGEd-CgJIavLpOxQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_ByUxPNYGEd-CgJIavLpOxQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByUxPdYGEd-CgJIavLpOxQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kym9AFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kym9AVy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="C_Cpp:Include" href="core.uml#_Q7TVYBJcEd-QgZm_R1AKbA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kym9Aly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kym9A1y8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kym9BFy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="SW_Concurrency:SwSchedulableResource" href="core.uml#_42YPYBn3EeONpa5JgejICQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kym9BVy8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kynkEFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kynkEVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kynkEly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9v73YAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73YQuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9zgv0AuXEeWXe7AeBUbqvw" visible="false" type="StereotypeLabel">
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_9zgv0QuXEeWXe7AeBUbqvw" name="stereotype" stringValue="C_Cpp::Include"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_RwTdQByJEduN1bTiWJ0lyw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9zgv0guXEeWXe7AeBUbqvw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9zm2dguXEeWXe7AeBUbqvw" visible="false" type="StereotypeLabel">
-        <styles xmi:type="notation:StringValueStyle" xmi:id="_9zm2dwuXEeWXe7AeBUbqvw" name="stereotype" stringValue="MARTE::MARTE_DesignModel::SRM::SW_Concurrency::SwSchedulableResource"/>
-        <element xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_hQja8BJhEdypOJGS7WfJjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9zm2eAuXEeWXe7AeBUbqvw"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByS8AdYGEd-CgJIavLpOxQ" x="80" y="108" width="209" height="145"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_D0xKENYGEd-CgJIavLpOxQ" type="Class_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D0xxINYGEd-CgJIavLpOxQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D0xxIdYGEd-CgJIavLpOxQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D0xxItYGEd-CgJIavLpOxQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D0xxI9YGEd-CgJIavLpOxQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D0xxJNYGEd-CgJIavLpOxQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D0xxJdYGEd-CgJIavLpOxQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_D0xxJtYGEd-CgJIavLpOxQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_D0xxJ9YGEd-CgJIavLpOxQ" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_OSicECXVEeGX6PuSE-DJlQ" type="Property_ClassAttributeLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l2kawFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v7LTQFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Port" href="core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_OSicESXVEeGX6PuSE-DJlQ"/>
-        </children>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_D0xxKNYGEd-CgJIavLpOxQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_D0xxKdYGEd-CgJIavLpOxQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xxKtYGEd-CgJIavLpOxQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_D0xxK9YGEd-CgJIavLpOxQ" visible="false" type="Class_OperationCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_D0xxLNYGEd-CgJIavLpOxQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_D0xxLdYGEd-CgJIavLpOxQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xxLtYGEd-CgJIavLpOxQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_D0xxL9YGEd-CgJIavLpOxQ" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_D0xxMNYGEd-CgJIavLpOxQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_D0xxMdYGEd-CgJIavLpOxQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xxMtYGEd-CgJIavLpOxQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kyqnYFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kyqnYVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kyqnYly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9v73YguXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73YwuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xKEdYGEd-CgJIavLpOxQ" x="80" y="9" width="212" height="55"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_EhiDELaaEeCj_-LEBuGpmA" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EhiqILaaEeCj_-LEBuGpmA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EhiqIbaaEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EhjRMLaaEeCj_-LEBuGpmA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EhjRMbaaEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EhjRMraaEeCj_-LEBuGpmA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EhjRM7aaEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_EhjRNLaaEeCj_-LEBuGpmA" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="core.uml#_hGEOAMT8Ed-zx4a_r4xAYw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EhiDEbaaEeCj_-LEBuGpmA" x="325" y="13" width="343" height="100"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_elme8PQREeCovO8AYZymZQ" type="Interface_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_elnGAPQREeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_elnGAfQREeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_elntEPQREeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_elntEfQREeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_elntEvQREeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_elntE_QREeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_elntFPQREeCovO8AYZymZQ" type="Interface_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_elntFfQREeCovO8AYZymZQ" visible="false" type="Interface_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_elntFvQREeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_elntF_QREeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_elntGPQREeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elntGfQREeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_elntGvQREeCovO8AYZymZQ" type="Interface_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_f1SlMPQREeCovO8AYZymZQ" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rsca8FjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rvvmkFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="core.uml#_f1HmEPQREeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_f1SlMfQREeCovO8AYZymZQ"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_elntG_QREeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_elntHPQREeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_elntHfQREeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elntHvQREeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_eloUIPQREeCovO8AYZymZQ" visible="false" type="Interface_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_eloUIfQREeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_eloUIvQREeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_eloUI_QREeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eloUJPQREeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kyr1gFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kyr1gVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kyr1gly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9v73ZAuXEeWXe7AeBUbqvw" type="Interface_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73ZQuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Interface" href="core.uml#_elkpwPQREeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elme8fQREeCovO8AYZymZQ" x="459" y="201" width="208" height="82"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_S9Kp8PQWEeCovO8AYZymZQ" type="Interface_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S9LRAPQWEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S9LRAfQWEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S9LRAvQWEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S9LRA_QWEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S9LRBPQWEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S9LRBfQWEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_S9LRBvQWEeCovO8AYZymZQ" type="Interface_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_S9LRB_QWEeCovO8AYZymZQ" visible="false" type="Interface_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_S9LRCPQWEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_S9LRCfQWEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_S9LRCvQWEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9LRC_QWEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_S9L4EPQWEeCovO8AYZymZQ" type="Interface_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_tK13wPQWEeCovO8AYZymZQ" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uQYXUFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uT-d4FjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="core.uml#_tK0poPQWEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_tK13wfQWEeCovO8AYZymZQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_FBOeEPQXEeCovO8AYZymZQ" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:Operation" href="core.uml#_FBMo4PQXEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FBOeEfQXEeCovO8AYZymZQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_SaK_4CUREeGXBt65HZzY7g" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uQZlcFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uT_E8FjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="core.uml#_f1HmEPQREeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_SaK_4SUREeGXBt65HZzY7g"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_S9L4EfQWEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_S9L4EvQWEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_S9L4E_QWEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9L4FPQWEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_S9L4FfQWEeCovO8AYZymZQ" visible="false" type="Interface_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_S9L4FvQWEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_S9L4F_QWEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_S9L4GPQWEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9L4GfQWEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kytDoFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kytDoVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kytDoly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9v73ZguXEeWXe7AeBUbqvw" type="Interface_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73ZwuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Interface" href="core.uml#_omxU4PNAEeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9Kp8fQWEeCovO8AYZymZQ" x="459" y="324" width="462" height="91"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_DZTowCUREeGXBt65HZzY7g" type="Interface_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DZUP0SUREeGXBt65HZzY7g" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DZUP0iUREeGXBt65HZzY7g" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DZU24CUREeGXBt65HZzY7g" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DZU24SUREeGXBt65HZzY7g" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DZU24iUREeGXBt65HZzY7g" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DZU24yUREeGXBt65HZzY7g" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_DZU25CUREeGXBt65HZzY7g" type="Interface_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_DZU25SUREeGXBt65HZzY7g" visible="false" type="Interface_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_DZU25iUREeGXBt65HZzY7g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_DZU25yUREeGXBt65HZzY7g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_DZU26CUREeGXBt65HZzY7g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZU26SUREeGXBt65HZzY7g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_DZU26iUREeGXBt65HZzY7g" type="Interface_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_Et42ECUREeGXBt65HZzY7g" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rsdCAVjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rvw0sFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="core.uml#_tK0poPQWEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_Et42ESUREeGXBt65HZzY7g" x="58" y="3"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_DZU26yUREeGXBt65HZzY7g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_DZU27CUREeGXBt65HZzY7g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_DZU27SUREeGXBt65HZzY7g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZU27iUREeGXBt65HZzY7g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_DZU27yUREeGXBt65HZzY7g" visible="false" type="Interface_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_DZU28CUREeGXBt65HZzY7g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_DZU28SUREeGXBt65HZzY7g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_DZU28iUREeGXBt65HZzY7g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZU28yUREeGXBt65HZzY7g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kyuRwFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kyuRwVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kyuRwly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9v73aAuXEeWXe7AeBUbqvw" type="Interface_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73aQuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Interface" href="core.uml#_DY2VwCUREeGXBt65HZzY7g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZUP0CUREeGXBt65HZzY7g" x="702" y="201" width="219" height="79"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_5MArECXQEeGX6PuSE-DJlQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5MBSICXQEeGX6PuSE-DJlQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5MBSISXQEeGX6PuSE-DJlQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5MBSIiXQEeGX6PuSE-DJlQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5MB5MCXQEeGX6PuSE-DJlQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5MB5MSXQEeGX6PuSE-DJlQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5MB5MiXQEeGX6PuSE-DJlQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_5MB5MyXQEeGX6PuSE-DJlQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_5MB5NCXQEeGX6PuSE-DJlQ" visible="false" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_5MB5NSXQEeGX6PuSE-DJlQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_5MB5NiXQEeGX6PuSE-DJlQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_5MB5NyXQEeGX6PuSE-DJlQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MB5OCXQEeGX6PuSE-DJlQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_5MCgQCXQEeGX6PuSE-DJlQ" visible="false" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_5MCgQSXQEeGX6PuSE-DJlQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_5MCgQiXQEeGX6PuSE-DJlQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_5MCgQyXQEeGX6PuSE-DJlQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MCgRCXQEeGX6PuSE-DJlQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_5MCgRSXQEeGX6PuSE-DJlQ" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_5MCgRiXQEeGX6PuSE-DJlQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_5MCgRyXQEeGX6PuSE-DJlQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_5MCgSCXQEeGX6PuSE-DJlQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MCgSSXQEeGX6PuSE-DJlQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kyvf4Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kyvf4Vy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="FCM:InteractionComponent" href="core.uml#_OXit8CfwEeG6iME5Q8XPKw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kyvf4ly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kywG8Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kywG8Vy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kywG8ly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9v73aguXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73awuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_5J9coCXQEeGX6PuSE-DJlQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MArESXQEeGX6PuSE-DJlQ" x="80" y="297" width="209" height="55"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_E3A5oCXREeGX6PuSE-DJlQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E3BgsCXREeGX6PuSE-DJlQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E3CHwCXREeGX6PuSE-DJlQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E3CHwSXREeGX6PuSE-DJlQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E3CHwiXREeGX6PuSE-DJlQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E3CHwyXREeGX6PuSE-DJlQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E3CHxCXREeGX6PuSE-DJlQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_E3CHxSXREeGX6PuSE-DJlQ" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="core.uml#_EuvHYCXREeGX6PuSE-DJlQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E3A5oSXREeGX6PuSE-DJlQ" x="81" y="378" width="235"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_OX-j4FaNEeKxltxu9uR4dg" type="DataType_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OYQ3wFaNEeKxltxu9uR4dg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OYQ3wVaNEeKxltxu9uR4dg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OYQ3wlaNEeKxltxu9uR4dg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OYRe0FaNEeKxltxu9uR4dg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OYRe0VaNEeKxltxu9uR4dg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OYRe0laNEeKxltxu9uR4dg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OYRe01aNEeKxltxu9uR4dg" type="DataType_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_OYRe1FaNEeKxltxu9uR4dg" type="DataType_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_RXTbwFaNEeKxltxu9uR4dg" type="Property_DataTypeAttributeLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_waMsEFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_waNTIFaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="60"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="core.uml#_RW82cFaNEeKxltxu9uR4dg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_RXTbwVaNEeKxltxu9uR4dg"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_OYRe1VaNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_OYRe1laNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_OYRe11aNEeKxltxu9uR4dg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OYRe2FaNEeKxltxu9uR4dg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_OYRe2VaNEeKxltxu9uR4dg" visible="false" type="DataType_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_OYRe2laNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_OYRe21aNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_OYRe3FaNEeKxltxu9uR4dg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OYRe3VaNEeKxltxu9uR4dg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kyxVEFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kyxVEVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kyxVEly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9v73bAuXEeWXe7AeBUbqvw" type="DataType_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73bQuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:DataType" href="core.uml#_OU5asFaNEeKxltxu9uR4dg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OX-j4VaNEeKxltxu9uR4dg" x="702" y="9" width="219" height="64"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Y9_gUFaNEeKxltxu9uR4dg" type="DataType_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y9_gUlaNEeKxltxu9uR4dg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y-AHYFaNEeKxltxu9uR4dg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y-AHYVaNEeKxltxu9uR4dg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y-AHYlaNEeKxltxu9uR4dg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y-AHY1aNEeKxltxu9uR4dg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y-AHZFaNEeKxltxu9uR4dg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Y-AHZVaNEeKxltxu9uR4dg" type="DataType_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Y-AHZlaNEeKxltxu9uR4dg" type="DataType_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_fYzAkFaNEeKxltxu9uR4dg" type="Property_DataTypeAttributeLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t76EsFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uWGGUFaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="core.uml#_fYeQcFaNEeKxltxu9uR4dg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_fYzAkVaNEeKxltxu9uR4dg"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_oUoTIFaNEeKxltxu9uR4dg" type="Property_DataTypeAttributeLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vVH6YFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vY61QFaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="core.uml#_oUVYMFaNEeKxltxu9uR4dg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_oUoTIVaNEeKxltxu9uR4dg"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_xXc-gFaNEeKxltxu9uR4dg" type="Property_DataTypeAttributeLabel" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1PtpgFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1fyF0FaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="core.uml#_xXGZMFaNEeKxltxu9uR4dg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_xXc-gVaNEeKxltxu9uR4dg"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Y-AHZ1aNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_Y-AHaFaNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_Y-AHaVaNEeKxltxu9uR4dg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y-AHalaNEeKxltxu9uR4dg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Y-AHa1aNEeKxltxu9uR4dg" visible="false" type="DataType_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Y-AHbFaNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_Y-AHbVaNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_Y-AHblaNEeKxltxu9uR4dg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y-AHb1aNEeKxltxu9uR4dg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kyyjMFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kyyjMVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kyyjMly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9v73bguXEeWXe7AeBUbqvw" type="DataType_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73bwuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:DataType" href="core.uml#_Y8dPQFaNEeKxltxu9uR4dg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y9_gUVaNEeKxltxu9uR4dg" x="702" y="90" width="219" height="91"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9zuyWAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9zuyWQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9zvZUAuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9zuyWguXEeWXe7AeBUbqvw" x="299" y="108"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_90UoIguXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_90UoIwuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_90UoJQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_5J9coCXQEeGX6PuSE-DJlQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_90UoJAuXEeWXe7AeBUbqvw" x="299" y="297"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_doRyEL4KEeWvxpnDGpErAg" type="Class_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_doYfwL4KEeWvxpnDGpErAg" type="Class_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_doYfwb4KEeWvxpnDGpErAg" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_doYfwr4KEeWvxpnDGpErAg" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_doZG0L4KEeWvxpnDGpErAg" visible="false" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_doZG0b4KEeWvxpnDGpErAg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_doZG0r4KEeWvxpnDGpErAg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_doZG074KEeWvxpnDGpErAg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_doZG1L4KEeWvxpnDGpErAg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_doZG1b4KEeWvxpnDGpErAg" visible="false" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_doZG1r4KEeWvxpnDGpErAg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_doZG174KEeWvxpnDGpErAg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_doZG2L4KEeWvxpnDGpErAg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_doZG2b4KEeWvxpnDGpErAg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_doZG2r4KEeWvxpnDGpErAg" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_doZG274KEeWvxpnDGpErAg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_doZG3L4KEeWvxpnDGpErAg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_doZG3b4KEeWvxpnDGpErAg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_doZG3r4KEeWvxpnDGpErAg"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_doRyEb4KEeWvxpnDGpErAg" x="460" y="460" width="170" height="80"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_dqqXsL4KEeWvxpnDGpErAg" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_dqqXsb4KEeWvxpnDGpErAg" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_dqqXs74KEeWvxpnDGpErAg" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dqqXsr4KEeWvxpnDGpErAg" x="200"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_kLaH4L4KEeWvxpnDGpErAg" type="Class_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_kLau8L4KEeWvxpnDGpErAg" type="Class_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_kLau8b4KEeWvxpnDGpErAg" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_kLau8r4KEeWvxpnDGpErAg" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kLau874KEeWvxpnDGpErAg" visible="false" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kLau9L4KEeWvxpnDGpErAg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_kLau9b4KEeWvxpnDGpErAg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_kLau9r4KEeWvxpnDGpErAg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kLau974KEeWvxpnDGpErAg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kLau-L4KEeWvxpnDGpErAg" visible="false" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kLau-b4KEeWvxpnDGpErAg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_kLau-r4KEeWvxpnDGpErAg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_kLau-74KEeWvxpnDGpErAg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kLau_L4KEeWvxpnDGpErAg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kLau_b4KEeWvxpnDGpErAg" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kLau_r4KEeWvxpnDGpErAg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_kLau_74KEeWvxpnDGpErAg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_kLavAL4KEeWvxpnDGpErAg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kLavAb4KEeWvxpnDGpErAg"/>
-      </children>
-      <element xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_FuKEEDj8Edy0Rd6V_tf1-Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kLaH4b4KEeWvxpnDGpErAg" x="820" y="460" width="101" height="81"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_kMcCo74KEeWvxpnDGpErAg" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_kMcCpL4KEeWvxpnDGpErAg" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kMcCpr4KEeWvxpnDGpErAg" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_FuKEEDj8Edy0Rd6V_tf1-Q"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kMcCpb4KEeWvxpnDGpErAg" x="200"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_A6ULIdYGEd-CgJIavLpOxQ"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_9v73cAuXEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="core.uml#_xtlE8ARAEd--t-uhRn9OBA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_D1HvYNYGEd-CgJIavLpOxQ" type="Generalization_Edge" source="_ByS8ANYGEd-CgJIavLpOxQ" target="_D0xKENYGEd-CgJIavLpOxQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_D1IWcNYGEd-CgJIavLpOxQ" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_D1IWcdYGEd-CgJIavLpOxQ" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_D1HvYdYGEd-CgJIavLpOxQ" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_6bsEkARAEd--t-uhRn9OBA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D1HvYtYGEd-CgJIavLpOxQ" points="[-77, -75, 118, 115]$[-195, -190, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tMbHwMThEeWfEYAFL-UFuw" id="(0.4784688995215311,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_syrLAMThEeWfEYAFL-UFuw" id="(0.4716981132075472,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_KuwaULaaEeCj_-LEBuGpmA" type="Comment_AnnotatedElementEdge" source="_EhiDELaaEeCj_-LEBuGpmA" target="_ByS8ANYGEd-CgJIavLpOxQ" routing="Rectilinear" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_KuwaUbaaEeCj_-LEBuGpmA" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KuwaUraaEeCj_-LEBuGpmA" points="[325, 137, -643984, -643984]$[289, 137, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KvJb4LaaEeCj_-LEBuGpmA" id="(0.0,0.7005649717514124)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KvJb4baaEeCj_-LEBuGpmA" id="(0.917098445595855,0.2)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_ffcCQPQXEeCovO8AYZymZQ" type="Generalization_Edge" source="_S9Kp8PQWEeCovO8AYZymZQ" target="_elme8PQREeCovO8AYZymZQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_ffdQYPQXEeCovO8AYZymZQ" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_ffdQYfQXEeCovO8AYZymZQ" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_ffcCQfQXEeCovO8AYZymZQ" fontName="Sans Serif"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_feaHgPQXEeCovO8AYZymZQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ffcCQvQXEeCovO8AYZymZQ" points="[-109, 14, 100, -14]$[-162, 10, 47, -18]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ffeegPQXEeCovO8AYZymZQ" id="(0.2328159645232816,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ffeegfQXEeCovO8AYZymZQ" id="(0.507537688442211,0.95)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_GxXJsCUREeGXBt65HZzY7g" type="Generalization_Edge" source="_S9Kp8PQWEeCovO8AYZymZQ" target="_DZTowCUREeGXBt65HZzY7g" routing="Rectilinear" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_GxXwwCUREeGXBt65HZzY7g" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_GxXwwSUREeGXBt65HZzY7g" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_GxXJsSUREeGXBt65HZzY7g" fontName="Sans Serif"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_GwxT0CUREeGXBt65HZzY7g"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GxXJsiUREeGXBt65HZzY7g" points="[807, 324, -643984, -643984]$[807, 304, -643984, -643984]$[807, 280, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GzJSYCUREeGXBt65HZzY7g" id="(0.7716186252771619,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GzJSYSUREeGXBt65HZzY7g" id="(0.5048076923076923,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9vKGICXQEeGX6PuSE-DJlQ" type="Generalization_Edge" source="_5MArECXQEeGX6PuSE-DJlQ" target="_ByS8ANYGEd-CgJIavLpOxQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_9vKtMCXQEeGX6PuSE-DJlQ" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9vLUQCXQEeGX6PuSE-DJlQ" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_9vKGISXQEeGX6PuSE-DJlQ" fontName="Sans Serif"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_9thucCXQEeGX6PuSE-DJlQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9vKGIiXQEeGX6PuSE-DJlQ" points="[6, -10, 0, 41]$[8, -36, 2, 15]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9wimMCXQEeGX6PuSE-DJlQ" id="(0.5052631578947369,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9wimMSXQEeGX6PuSE-DJlQ" id="(0.5077720207253886,0.98)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_jDnbICXREeGX6PuSE-DJlQ" type="Comment_AnnotatedElementEdge" source="_E3A5oCXREeGX6PuSE-DJlQ" target="_5MArECXQEeGX6PuSE-DJlQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_jDnbISXREeGX6PuSE-DJlQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jDnbIiXREeGX6PuSE-DJlQ" points="[-18, 13, 101, -76]$[-107, 85, 12, -4]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jFAiQCXREeGX6PuSE-DJlQ" id="(0.4765957446808511,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jFBJUCXREeGX6PuSE-DJlQ" id="(0.5741626794258373,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9zvZUQuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_ByS8ANYGEd-CgJIavLpOxQ" target="_9zuyWAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9zvZUguXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9zvZVguXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9zvZUwuXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9zvZVAuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9zvZVQuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_90UoJguXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_5MArECXQEeGX6PuSE-DJlQ" target="_90UoIguXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_90UoJwuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_90UoKwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_5J9coCXQEeGX6PuSE-DJlQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_90UoKAuXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_90UoKQuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_90UoKguXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_dqq-wL4KEeWvxpnDGpErAg" type="StereotypeCommentLink" source="_doRyEL4KEeWvxpnDGpErAg" target="_dqqXsL4KEeWvxpnDGpErAg">
-      <styles xmi:type="notation:FontStyle" xmi:id="_dqq-wb4KEeWvxpnDGpErAg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_dqrl0L4KEeWvxpnDGpErAg" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dqq-wr4KEeWvxpnDGpErAg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dqq-w74KEeWvxpnDGpErAg"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dqq-xL4KEeWvxpnDGpErAg"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_kMcCp74KEeWvxpnDGpErAg" type="StereotypeCommentLink" source="_kLaH4L4KEeWvxpnDGpErAg" target="_kMcCo74KEeWvxpnDGpErAg">
-      <styles xmi:type="notation:FontStyle" xmi:id="_kMcCqL4KEeWvxpnDGpErAg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kMcpsr4KEeWvxpnDGpErAg" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_FuKEEDj8Edy0Rd6V_tf1-Q"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kMcCqb4KEeWvxpnDGpErAg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kMcpsL4KEeWvxpnDGpErAg"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kMcpsb4KEeWvxpnDGpErAg"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_xsPPoL4KEeWvxpnDGpErAg" type="Dependency_Edge" source="_doRyEL4KEeWvxpnDGpErAg" target="_kLaH4L4KEeWvxpnDGpErAg">
-      <children xmi:type="notation:DecorationNode" xmi:id="_xsPPo74KEeWvxpnDGpErAg" type="Dependency_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_xsPPpL4KEeWvxpnDGpErAg" y="40"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_xsPPpb4KEeWvxpnDGpErAg" type="Dependency_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_xsPPpr4KEeWvxpnDGpErAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_xsPPob4KEeWvxpnDGpErAg"/>
-      <element xmi:type="uml:Dependency" href="core.uml#_xsB0QL4KEeWvxpnDGpErAg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xsPPor4KEeWvxpnDGpErAg" points="[630, 500, -643984, -643984]$[820, 500, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xtpk4L4KEeWvxpnDGpErAg" id="(1.0,0.5)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xtpk4b4KEeWvxpnDGpErAg" id="(0.0,0.49382716049382713)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_glyeMK8qEeCXIcykFPsB8Q" type="PapyrusUMLClassDiagram" name="Pkg. Template: methodCall_comp" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_iLyysK8qEeCXIcykFPsB8Q" type="2007" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iL0A0K8qEeCXIcykFPsB8Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iL0n4K8qEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iL0n4a8qEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iL0n4q8qEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iL1O8K8qEeCXIcykFPsB8Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iL1O8a8qEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_iL1O8q8qEeCXIcykFPsB8Q" type="5026"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_iL1O868qEeCXIcykFPsB8Q" type="7016">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iL1O9K8qEeCXIcykFPsB8Q"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_jkrRMK8qEeCXIcykFPsB8Q" type="3033" fontName="Sans Serif" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jkr4QK8qEeCXIcykFPsB8Q" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jkr4Qa8qEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jkr4Qq8qEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jkr4Q68qEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jkr4RK8qEeCXIcykFPsB8Q" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jkr4Ra8qEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_jksfUK8qEeCXIcykFPsB8Q" type="7038">
-          <children xmi:type="notation:Shape" xmi:id="_kvgFkK8qEeCXIcykFPsB8Q" type="3031" fontName="Sans Serif" lineColor="0">
-            <element xmi:type="uml:ClassifierTemplateParameter" href="core.uml#_QBCTAOxJEd-2rr_yAeKkjQ"/>
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_kvgFka8qEeCXIcykFPsB8Q" x="22" y="8"/>
-          </children>
-          <styles xmi:type="notation:SortingStyle" xmi:id="_jksfUa8qEeCXIcykFPsB8Q"/>
-          <styles xmi:type="notation:FilteringStyle" xmi:id="_jksfUq8qEeCXIcykFPsB8Q"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jksfU68qEeCXIcykFPsB8Q"/>
-        </children>
-        <element xmi:type="uml:TemplateSignature" href="core.uml#_ewC6kOxIEd-2rr_yAeKkjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jkrRMa8qEeCXIcykFPsB8Q" x="30" y="8"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kAPE4Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kAPE4Vy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kAPE4ly8EeOwKfaVRwV11Q"/>
-      </children>
-      <element xmi:type="uml:Package" href="core.uml#_RPCMoOxIEd-2rr_yAeKkjQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iLyysa8qEeCXIcykFPsB8Q" x="90" y="243"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_q3ohcK8qEeCXIcykFPsB8Q" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q3pIgK8qEeCXIcykFPsB8Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q3pvkK8qEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q3pvka8qEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q3pvkq8qEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q3pvk68qEeCXIcykFPsB8Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q3pvlK8qEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_q3pvla8qEeCXIcykFPsB8Q" type="5038"/>
-      <element xmi:type="uml:Comment" href="core.uml#_q1w5MK8qEeCXIcykFPsB8Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q3ohca8qEeCXIcykFPsB8Q" x="261" y="108" width="253"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_glyeMa8qEeCXIcykFPsB8Q"/>
-    <element xmi:type="uml:Package" href="core.uml#_RPCMoOxIEd-2rr_yAeKkjQ"/>
-    <edges xmi:type="notation:Connector" xmi:id="_xP-jkK8qEeCXIcykFPsB8Q" type="4013" source="_q3ohcK8qEeCXIcykFPsB8Q" target="_iLyysK8qEeCXIcykFPsB8Q" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_xP-jka8qEeCXIcykFPsB8Q" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xP-jkq8qEeCXIcykFPsB8Q" points="[-40, 30, 181, -116]$[-121, 140, 100, -6]"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_DtdykK8rEeCXIcykFPsB8Q" type="PapyrusUMLClassDiagram" name="Pkg. Template: methodCall" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_NLTmAK8rEeCXIcykFPsB8Q" type="2007" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NLUNEK8rEeCXIcykFPsB8Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NLUNEa8rEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NLUNEq8rEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NLUNE68rEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NLUNFK8rEeCXIcykFPsB8Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NLUNFa8rEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_NLUNFq8rEeCXIcykFPsB8Q" type="5026"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_NLUNF68rEeCXIcykFPsB8Q" type="7016">
-        <children xmi:type="notation:Shape" xmi:id="_TmKUIK8sEeCXIcykFPsB8Q" type="3009" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TmK7MK8sEeCXIcykFPsB8Q" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TmK7Ma8sEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TmK7Mq8sEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TmLiQK8sEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TmLiQa8sEeCXIcykFPsB8Q" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TmLiQq8sEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_TmLiQ68sEeCXIcykFPsB8Q" type="5017"/>
-          <children xmi:type="notation:DecorationNode" xmi:id="_TmLiRK8sEeCXIcykFPsB8Q" type="7010">
-            <children xmi:type="notation:Shape" xmi:id="_V93yYK8sEeCXIcykFPsB8Q" type="3010" fontName="Sans Serif" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V95AgK8sEeCXIcykFPsB8Q" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V95Aga8sEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V95Agq8sEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V95Ag68sEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V95AhK8sEeCXIcykFPsB8Q" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V95Aha8sEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_V95Ahq8sEeCXIcykFPsB8Q" type="5014"/>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_V95nkK8sEeCXIcykFPsB8Q" visible="false" type="7011">
-                <styles xmi:type="notation:SortingStyle" xmi:id="_V95nka8sEeCXIcykFPsB8Q"/>
-                <styles xmi:type="notation:FilteringStyle" xmi:id="_V95nkq8sEeCXIcykFPsB8Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V95nk68sEeCXIcykFPsB8Q"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_V95nlK8sEeCXIcykFPsB8Q" visible="false" type="7012">
-                <styles xmi:type="notation:SortingStyle" xmi:id="_V95nla8sEeCXIcykFPsB8Q"/>
-                <styles xmi:type="notation:FilteringStyle" xmi:id="_V95nlq8sEeCXIcykFPsB8Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V95nl68sEeCXIcykFPsB8Q"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_V95nmK8sEeCXIcykFPsB8Q" visible="false" type="7013">
-                <styles xmi:type="notation:SortingStyle" xmi:id="_V95nma8sEeCXIcykFPsB8Q"/>
-                <styles xmi:type="notation:FilteringStyle" xmi:id="_V95nmq8sEeCXIcykFPsB8Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V95nm68sEeCXIcykFPsB8Q"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_kCfHoFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_kCfHoVy8EeOwKfaVRwV11Q" showTitle="true"/>
-                <element xmi:type="FCM:InteractionComponent" href="core.uml#_s8OWIFR1Ed6GqrP6fkWBoQ"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kCfHoly8EeOwKfaVRwV11Q"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_kCfusFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_kCfusVy8EeOwKfaVRwV11Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kCfusly8EeOwKfaVRwV11Q"/>
-              </children>
-              <element xmi:type="uml:Class" href="core.uml#_KxQBELuXEd2TTr3gJIvazw"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V94ZcK8sEeCXIcykFPsB8Q" x="16" y="10" height="43"/>
-            </children>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TmLiRa8sEeCXIcykFPsB8Q"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kCegkFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kCegkVy8EeOwKfaVRwV11Q"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kCegkly8EeOwKfaVRwV11Q"/>
-          </children>
-          <element xmi:type="uml:Package" href="core.uml#_ZISNcIQzEd2_fLv04swWfw"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TmKUIa8sEeCXIcykFPsB8Q" x="13" y="28" width="190"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_UgOIoK8sEeCXIcykFPsB8Q" type="3009" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UgOvsK8sEeCXIcykFPsB8Q" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UgOvsa8sEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UgOvsq8sEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UgOvs68sEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UgOvtK8sEeCXIcykFPsB8Q" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UgOvta8sEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_UgOvtq8sEeCXIcykFPsB8Q" type="5017"/>
-          <children xmi:type="notation:DecorationNode" xmi:id="_UgOvt68sEeCXIcykFPsB8Q" type="7010">
-            <children xmi:type="notation:Shape" xmi:id="_bgjX0K8sEeCXIcykFPsB8Q" type="3010" fontName="Sans Serif" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bgj-4K8sEeCXIcykFPsB8Q" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bgj-4a8sEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bgj-4q8sEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bgj-468sEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bgkl8K8sEeCXIcykFPsB8Q" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bgkl8a8sEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_bgkl8q8sEeCXIcykFPsB8Q" type="5014"/>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_bgkl868sEeCXIcykFPsB8Q" visible="false" type="7011">
-                <styles xmi:type="notation:SortingStyle" xmi:id="_bgkl9K8sEeCXIcykFPsB8Q"/>
-                <styles xmi:type="notation:FilteringStyle" xmi:id="_bgkl9a8sEeCXIcykFPsB8Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgkl9q8sEeCXIcykFPsB8Q"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_bgkl968sEeCXIcykFPsB8Q" visible="false" type="7012">
-                <styles xmi:type="notation:SortingStyle" xmi:id="_bgkl-K8sEeCXIcykFPsB8Q"/>
-                <styles xmi:type="notation:FilteringStyle" xmi:id="_bgkl-a8sEeCXIcykFPsB8Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgkl-q8sEeCXIcykFPsB8Q"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_bgkl-68sEeCXIcykFPsB8Q" visible="false" type="7013">
-                <styles xmi:type="notation:SortingStyle" xmi:id="_bgkl_K8sEeCXIcykFPsB8Q"/>
-                <styles xmi:type="notation:FilteringStyle" xmi:id="_bgkl_a8sEeCXIcykFPsB8Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgkl_q8sEeCXIcykFPsB8Q"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_kChj4Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_kChj4Vy8EeOwKfaVRwV11Q" showTitle="true"/>
-                <element xmi:type="FCM:InteractionComponent" href="core.uml#_vEYVcFR1Ed6GqrP6fkWBoQ"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kChj4ly8EeOwKfaVRwV11Q"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_kCiK8Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_kCiK8Vy8EeOwKfaVRwV11Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kCiK8ly8EeOwKfaVRwV11Q"/>
-              </children>
-              <element xmi:type="uml:Class" href="core.uml#_Zx2ZUA1jEd6tvthBDl600Q"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgjX0a8sEeCXIcykFPsB8Q" x="15" y="7" height="51"/>
-            </children>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UgOvuK8sEeCXIcykFPsB8Q" x="48" y="4" width="200" height="80"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kCg80Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kCg80Vy8EeOwKfaVRwV11Q"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kCg80ly8EeOwKfaVRwV11Q"/>
-          </children>
-          <element xmi:type="uml:Package" href="core.uml#_RjvvcA1jEd6tvthBDl600Q"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UgOIoa8sEeCXIcykFPsB8Q" x="229" y="28" width="190"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NLUNGK8rEeCXIcykFPsB8Q"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_q9rCkK8rEeCXIcykFPsB8Q" type="3033" fontName="Sans Serif" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q9rpoK8rEeCXIcykFPsB8Q" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q9sQsK8rEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q9sQsa8rEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q9sQsq8rEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q9sQs68rEeCXIcykFPsB8Q" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q9sQtK8rEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_q9sQta8rEeCXIcykFPsB8Q" type="7038">
-          <children xmi:type="notation:Shape" xmi:id="_ryntkK8rEeCXIcykFPsB8Q" type="3031" fontName="Sans Serif" lineColor="0">
-            <element xmi:type="uml:ClassifierTemplateParameter" href="core.uml#_WzWVUPfBEd2TbIfwytOyPA"/>
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_ryntka8rEeCXIcykFPsB8Q" x="15" y="10"/>
-          </children>
-          <styles xmi:type="notation:SortingStyle" xmi:id="_q9sQtq8rEeCXIcykFPsB8Q"/>
-          <styles xmi:type="notation:FilteringStyle" xmi:id="_q9sQt68rEeCXIcykFPsB8Q"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q9sQuK8rEeCXIcykFPsB8Q"/>
-        </children>
-        <element xmi:type="uml:TemplateSignature" href="core.uml#_V0b2APfBEd2TbIfwytOyPA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q9rCka8rEeCXIcykFPsB8Q" x="40" y="10"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kCdScFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kCdScVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kCdScly8EeOwKfaVRwV11Q"/>
-      </children>
-      <element xmi:type="uml:Package" href="core.uml#_mMCK8PiPEd2UhpY2Y3WUyg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NLTmAa8rEeCXIcykFPsB8Q" x="90" y="108" width="451" height="181"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Wi948K8rEeCXIcykFPsB8Q" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wi948q8rEeCXIcykFPsB8Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wi-gAK8rEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wi-gAa8rEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wi-gAq8rEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wi-gA68rEeCXIcykFPsB8Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wi-gBK8rEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Wi-gBa8rEeCXIcykFPsB8Q" type="5038"/>
-      <element xmi:type="uml:Comment" href="core.uml#_WiuBUK8rEeCXIcykFPsB8Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wi948a8rEeCXIcykFPsB8Q" x="594" y="180" width="253"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_Dtdyka8rEeCXIcykFPsB8Q"/>
-    <element xmi:type="uml:Package" href="core.uml#_mMCK8PiPEd2UhpY2Y3WUyg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_Xu0BAK8rEeCXIcykFPsB8Q" type="4013" source="_Wi948K8rEeCXIcykFPsB8Q" target="_NLTmAK8rEeCXIcykFPsB8Q" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_Xu0BAa8rEeCXIcykFPsB8Q" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xu0BAq8rEeCXIcykFPsB8Q" points="[-50, 10, 224, -38]$[-174, 51, 100, 3]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tBbDAK8rEeCXIcykFPsB8Q" id="(0.755,0.72)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_PIvc4LabEeCj_-LEBuGpmA" type="CompositeStructure" name="StdPorts" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_PlQZwLabEeCj_-LEBuGpmA" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PlRA0LabEeCj_-LEBuGpmA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PlRA0babEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PlRn4LabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PlRn4babEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PlRn4rabEeCj_-LEBuGpmA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PlRn47abEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_PlSO8LabEeCj_-LEBuGpmA" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_PlSO8babEeCj_-LEBuGpmA" type="Class_StructureCompartment">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PlSO8rabEeCj_-LEBuGpmA"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_UfT48LabEeCj_-LEBuGpmA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UfUgALabEeCj_-LEBuGpmA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UfUgAbabEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UfUgArabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UfUgA7abEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UfVHELabEeCj_-LEBuGpmA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UfVHEbabEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_UfVHErabEeCj_-LEBuGpmA" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_UfVHE7abEeCj_-LEBuGpmA" x="26" y="2"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_UfVHFLabEeCj_-LEBuGpmA" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_UfVHFbabEeCj_-LEBuGpmA" x="25" y="-10"/>
-        </children>
-        <styles xmi:type="notation:StringListValueStyle" xmi:id="_Cp1F8MRdEeWq5unKf5DK_A" name="maskLabel">
-          <stringListValue>name</stringListValue>
-          <stringListValue>type</stringListValue>
-          <stringListValue>derived</stringListValue>
-        </styles>
-        <element xmi:type="uml:Port" href="core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UfT48babEeCj_-LEBuGpmA" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kEpq0Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kEpq0Vy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kEpq0ly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_wwg7AMRcEeWq5unKf5DK_A" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_wwg7AcRcEeWq5unKf5DK_A" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PlQZwbabEeCj_-LEBuGpmA" x="144" y="72" width="157" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_QHPsgLabEeCj_-LEBuGpmA" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QHQTkLabEeCj_-LEBuGpmA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QHQTkbabEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QHQ6oLabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QHQ6obabEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QHQ6orabEeCj_-LEBuGpmA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QHQ6o7abEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_QHQ6pLabEeCj_-LEBuGpmA" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_QHRhsLabEeCj_-LEBuGpmA" type="Class_StructureCompartment">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QHRhsbabEeCj_-LEBuGpmA"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_atcPILabEeCj_-LEBuGpmA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_atc2MLabEeCj_-LEBuGpmA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_atc2MbabEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_atc2MrabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_atc2M7abEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_atc2NLabEeCj_-LEBuGpmA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_atc2NbabEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_atc2NrabEeCj_-LEBuGpmA" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_atc2N7abEeCj_-LEBuGpmA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_atddQLabEeCj_-LEBuGpmA" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_atddQbabEeCj_-LEBuGpmA" x="25" y="-10"/>
-        </children>
-        <styles xmi:type="notation:StringListValueStyle" xmi:id="_FUVkYMRdEeWq5unKf5DK_A" name="maskLabel">
-          <stringListValue>name</stringListValue>
-          <stringListValue>type</stringListValue>
-          <stringListValue>derived</stringListValue>
-        </styles>
-        <element xmi:type="uml:Port" href="core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_atcPIbabEeCj_-LEBuGpmA" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kErgAFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kErgAVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kErgAly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_wwhiEMRcEeWq5unKf5DK_A" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_wwhiEcRcEeWq5unKf5DK_A" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QHPsgbabEeCj_-LEBuGpmA" x="144" y="180" width="157" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_SOUtwLabEeCj_-LEBuGpmA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SOVU0LabEeCj_-LEBuGpmA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SOVU0babEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SOV74LabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SOV74babEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SOV74rabEeCj_-LEBuGpmA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SOV747abEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_SOV75LabEeCj_-LEBuGpmA" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="core.uml#_OcN78Nt2Ed6nqsBVkgJEEA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SOUtwbabEeCj_-LEBuGpmA" x="378" y="72" width="235"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_wyClBsRcEeWq5unKf5DK_A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_wyClB8RcEeWq5unKf5DK_A" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wyDMEMRcEeWq5unKf5DK_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wyClCMRcEeWq5unKf5DK_A" x="190" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_wyYjRMRcEeWq5unKf5DK_A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_wyYjRcRcEeWq5unKf5DK_A" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wyYjR8RcEeWq5unKf5DK_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wyYjRsRcEeWq5unKf5DK_A" x="190" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_zDGBoMRcEeWq5unKf5DK_A" type="Class_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_zDGosMRcEeWq5unKf5DK_A" type="Class_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_zDGoscRcEeWq5unKf5DK_A" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_zDGossRcEeWq5unKf5DK_A" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_zDGos8RcEeWq5unKf5DK_A" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_zDGotMRcEeWq5unKf5DK_A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zDGotcRcEeWq5unKf5DK_A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_zDMvUMRcEeWq5unKf5DK_A" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_zDMvUcRcEeWq5unKf5DK_A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zDMvUsRcEeWq5unKf5DK_A"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_2evpIMRcEeWq5unKf5DK_A" type="Port_Shape">
-        <children xmi:type="notation:DecorationNode" xmi:id="_2evpIsRcEeWq5unKf5DK_A" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_2evpI8RcEeWq5unKf5DK_A" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_2evpJMRcEeWq5unKf5DK_A" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_2evpJcRcEeWq5unKf5DK_A" x="25" y="-10"/>
-        </children>
-        <styles xmi:type="notation:StringListValueStyle" xmi:id="_G2UUgMRdEeWq5unKf5DK_A" name="maskLabel">
-          <stringListValue>name</stringListValue>
-          <stringListValue>type</stringListValue>
-          <stringListValue>derived</stringListValue>
-        </styles>
-        <element xmi:type="uml:Port" href="core.uml#_2elREMRcEeWq5unKf5DK_A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2evpIcRcEeWq5unKf5DK_A" x="-10" y="37" width="20" height="20"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_zDDlYMRcEeWq5unKf5DK_A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zDGBocRcEeWq5unKf5DK_A" x="144" y="293" width="157" height="72"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_PIvc4babEeCj_-LEBuGpmA"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_wwhiEsRcEeWq5unKf5DK_A" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="core.uml#_HmnpEJsrEd61Eo3nmu3JhQ"/>
-    <edges xmi:type="notation:Connector" xmi:id="_SOtIQLabEeCj_-LEBuGpmA" type="Comment_AnnotatedElementEdge" source="_SOUtwLabEeCj_-LEBuGpmA" target="_PlQZwLabEeCj_-LEBuGpmA" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_SOtvULabEeCj_-LEBuGpmA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SOtvUbabEeCj_-LEBuGpmA" points="[0, 0, -129, -109]$[108, 90, -21, -19]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_wyDMEcRcEeWq5unKf5DK_A" type="StereotypeCommentLink" source="_UfT48LabEeCj_-LEBuGpmA" target="_wyClBsRcEeWq5unKf5DK_A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_wyDMEsRcEeWq5unKf5DK_A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wyFBQMRcEeWq5unKf5DK_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wyDME8RcEeWq5unKf5DK_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wyDMFMRcEeWq5unKf5DK_A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wyDMFcRcEeWq5unKf5DK_A"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_wyYjSMRcEeWq5unKf5DK_A" type="StereotypeCommentLink" source="_atcPILabEeCj_-LEBuGpmA" target="_wyYjRMRcEeWq5unKf5DK_A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_wyYjScRcEeWq5unKf5DK_A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wyYjTcRcEeWq5unKf5DK_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wyYjSsRcEeWq5unKf5DK_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wyYjS8RcEeWq5unKf5DK_A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wyYjTMRcEeWq5unKf5DK_A"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_0IaT8LnYEeCxXoyQxQ47PQ" type="PapyrusUMLClassDiagram" name="PortKinds" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_0-EJkLnYEeCxXoyQxQ47PQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-EwoLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-EwobnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-EwornYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-Ewo7nYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-EwpLnYEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-EwpbnYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0-EwprnYEeCxXoyQxQ47PQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-Ewp7nYEeCxXoyQxQ47PQ" visible="false" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-EwqLnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-EwqbnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-EwqrnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-Ewq7nYEeCxXoyQxQ47PQ" visible="false" type="Class_OperationCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-EwrLnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-EwrbnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-EwrrnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-FXsLnYEeCxXoyQxQ47PQ" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-FXsbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-FXsrnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-FXs7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kIQ_gFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kIQ_gVy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="FCM:PortKind" href="core.uml#_x5mL4FRxEd6GqrP6fkWBoQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIQ_gly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kIQ_g1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kIQ_hFy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIQ_hVy8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_tei3ojMXEeWoDfId-zdVpA" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_tei3ozMXEeWoDfId-zdVpA" y="5"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="core.uml#_Wtq4sVDlEd6cwecVIgl9nw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-EJkbnYEeCxXoyQxQ47PQ" x="54" y="388" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_0-XrkLnYEeCxXoyQxQ47PQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-XrkrnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-Xrk7nYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-XrlLnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-YSoLnYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-YSobnYEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-YSornYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0-YSo7nYEeCxXoyQxQ47PQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-YSpLnYEeCxXoyQxQ47PQ" visible="false" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-YSpbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-YSprnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-YSp7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-YSqLnYEeCxXoyQxQ47PQ" visible="false" type="Class_OperationCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-YSqbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-YSqrnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-YSq7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-YSrLnYEeCxXoyQxQ47PQ" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-YSrbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-YSrrnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-YSr7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kIS0sFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kIS0sVy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="FCM:PortKind" href="core.uml#_pE6GUFR1Ed6GqrP6fkWBoQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIS0sly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kITbwFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kITbwVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kITbwly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_tei3pDMXEeWoDfId-zdVpA" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_tei3pTMXEeWoDfId-zdVpA" y="5"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="core.uml#_Wtq4slDlEd6cwecVIgl9nw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-XrkbnYEeCxXoyQxQ47PQ" x="54" y="334" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_0-rNkLnYEeCxXoyQxQ47PQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-r0oLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-r0obnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-sbsLnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-sbsbnYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vy3QQDrZEeGgAdAmWw4pyQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vy3QQTrZEeGgAdAmWw4pyQ" key="QualifiedNameDepth" value="2"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0-sbtLnYEeCxXoyQxQ47PQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-sbtbnYEeCxXoyQxQ47PQ" visible="false" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-sbtrnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-sbt7nYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-sbuLnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-sbubnYEeCxXoyQxQ47PQ" visible="false" type="Class_OperationCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-sburnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-sbu7nYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-sbvLnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-sbvbnYEeCxXoyQxQ47PQ" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-sbvrnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-sbv7nYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-sbwLnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kIVQ8Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kIVQ8Vy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="FCM:PortKind" href="core.uml#_qOK0cFR1Ed6GqrP6fkWBoQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIVQ8ly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kIV4AFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kIV4AVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIV4Aly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_tei3pjMXEeWoDfId-zdVpA" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_tei3pzMXEeWoDfId-zdVpA" y="5"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="core.uml#_WtrfwlDlEd6cwecVIgl9nw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-rNkbnYEeCxXoyQxQ47PQ" x="234" y="280" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_2dxzYLnZEeCxXoyQxQ47PQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2dyacLnZEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2dyacbnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2dyacrnZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2dyac7nZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2dyadLnZEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2dyadbnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_2dzBgLnZEeCxXoyQxQ47PQ" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="core.uml#_2dvXILnZEeCxXoyQxQ47PQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2dxzYbnZEeCxXoyQxQ47PQ" x="253" y="334" width="468" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_FMviMLnaEeCxXoyQxQ47PQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FMviMbnaEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FMviMrnaEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FMviM7naEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FMviNLnaEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FMviNbnaEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FMviNrnaEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_FMviN7naEeCxXoyQxQ47PQ" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="core.uml#_FMuUELnaEeCxXoyQxQ47PQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FMviOLnaEeCxXoyQxQ47PQ" x="432" y="280" width="468" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Ggu5oLnaEeCxXoyQxQ47PQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ggu5obnaEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ggu5ornaEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ggu5o7naEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ggu5pLnaEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ggu5pbnaEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ggu5prnaEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Ggu5p7naEeCxXoyQxQ47PQ" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="core.uml#_GgtrgLnaEeCxXoyQxQ47PQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ggu5qLnaEeCxXoyQxQ47PQ" x="252" y="388" width="468" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_-bqrQDiyEeGiupyIkgMHVw" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-bsgcDiyEeGiupyIkgMHVw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-bsgcTiyEeGiupyIkgMHVw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-bsgcjiyEeGiupyIkgMHVw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-bsgcziyEeGiupyIkgMHVw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-bsgdDiyEeGiupyIkgMHVw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-bsgdTiyEeGiupyIkgMHVw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_-btHgDiyEeGiupyIkgMHVw" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="core.uml#_-UGDoDiyEeGiupyIkgMHVw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-bqrQTiyEeGiupyIkgMHVw" x="18" y="496" width="595" height="28"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_GkKYAC8qEeKx7OxAiA06uw" type="Class_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GkM0QC8qEeKx7OxAiA06uw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GkM0QS8qEeKx7OxAiA06uw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GkNbUC8qEeKx7OxAiA06uw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GkNbUS8qEeKx7OxAiA06uw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GkNbUi8qEeKx7OxAiA06uw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GkNbUy8qEeKx7OxAiA06uw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_GkNbVC8qEeKx7OxAiA06uw" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_GkOCYC8qEeKx7OxAiA06uw" visible="false" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_GkOCYS8qEeKx7OxAiA06uw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_GkOCYi8qEeKx7OxAiA06uw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_GkOCYy8qEeKx7OxAiA06uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkOCZC8qEeKx7OxAiA06uw"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_GkOCZS8qEeKx7OxAiA06uw" visible="false" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_GkOCZi8qEeKx7OxAiA06uw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_GkOCZy8qEeKx7OxAiA06uw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_GkOCaC8qEeKx7OxAiA06uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkOCaS8qEeKx7OxAiA06uw"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_GkOCai8qEeKx7OxAiA06uw" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_GkOCay8qEeKx7OxAiA06uw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_GkOCbC8qEeKx7OxAiA06uw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_GkOCbS8qEeKx7OxAiA06uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkOCbi8qEeKx7OxAiA06uw"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kIfpAFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kIfpAVy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="FCM:PortKind" href="core.uml#_SrCqQC8qEeKx7OxAiA06uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIfpAly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kIfpA1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kIfpBFy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIfpBVy8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_tei3rjMXEeWoDfId-zdVpA" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_tei3rzMXEeWoDfId-zdVpA" y="5"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="core.uml#_GjnlcC8qEeKx7OxAiA06uw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkK_EC8qEeKx7OxAiA06uw" x="54" y="442" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_CQkpAEMMEeKGIL695HkFYQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CQoTYEMMEeKGIL695HkFYQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CQo6cEMMEeKGIL695HkFYQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CQo6cUMMEeKGIL695HkFYQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CQo6ckMMEeKGIL695HkFYQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CQo6c0MMEeKGIL695HkFYQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CQphgEMMEeKGIL695HkFYQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_CQphgUMMEeKGIL695HkFYQ" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="core.uml#_COvdAEMMEeKGIL695HkFYQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CQkpAUMMEeKGIL695HkFYQ" x="252" y="442" width="469" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_1GdhkH-QEeOtkrzuMiGEow" type="Interface_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_1Gdhkn-QEeOtkrzuMiGEow" type="Interface_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_1GeIoH-QEeOtkrzuMiGEow" visible="false" type="Interface_AttributeCompartment">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1GevsH-QEeOtkrzuMiGEow" source="PapyrusCSSForceValue">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1GfWwH-QEeOtkrzuMiGEow" key="showTitle" value="true"/>
-        </eAnnotations>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_1GeIoX-QEeOtkrzuMiGEow"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_1GeIon-QEeOtkrzuMiGEow"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_1GeIo3-QEeOtkrzuMiGEow"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1GeIpH-QEeOtkrzuMiGEow"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_1GeIpX-QEeOtkrzuMiGEow" type="Interface_OperationCompartment">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1GfWwX-QEeOtkrzuMiGEow" source="PapyrusCSSForceValue">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1GfWwn-QEeOtkrzuMiGEow" key="showTitle" value="true"/>
-        </eAnnotations>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_1GeIpn-QEeOtkrzuMiGEow"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_1GeIp3-QEeOtkrzuMiGEow"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_1GeIqH-QEeOtkrzuMiGEow"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1GeIqX-QEeOtkrzuMiGEow"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_1GeIqn-QEeOtkrzuMiGEow" visible="false" type="Interface_NestedClassifierCompartment">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1Ggk4H-QEeOtkrzuMiGEow" source="PapyrusCSSForceValue">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1Ggk4X-QEeOtkrzuMiGEow" key="showTitle" value="true"/>
-        </eAnnotations>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_1GeIq3-QEeOtkrzuMiGEow"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_1GeIrH-QEeOtkrzuMiGEow"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_1GeIrX-QEeOtkrzuMiGEow"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1GeIrn-QEeOtkrzuMiGEow"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_tejesDMXEeWoDfId-zdVpA" type="Interface_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_tejesTMXEeWoDfId-zdVpA" y="5"/>
-      </children>
-      <element xmi:type="uml:Interface" href="core.uml#_1FxlEH-QEeOtkrzuMiGEow"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1GdhkX-QEeOtkrzuMiGEow" x="21" y="555" width="224" height="61"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_7cugEH-QEeOtkrzuMiGEow" type="Comment_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_7cugEn-QEeOtkrzuMiGEow" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="core.uml#_7cXTsH-QEeOtkrzuMiGEow"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7cugEX-QEeOtkrzuMiGEow" x="305" y="558" width="315" height="71"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_thsSQDMXEeWoDfId-zdVpA" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_thsSQTMXEeWoDfId-zdVpA" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_thsSQzMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Stereotype" href="core.uml#_Wtq4sFDlEd6cwecVIgl9nw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_thsSQjMXEeWoDfId-zdVpA" x="254" y="28"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_tiI-MDMXEeWoDfId-zdVpA" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_tiI-MTMXEeWoDfId-zdVpA" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tiI-MzMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Stereotype" href="core.uml#_Wtq4sVDlEd6cwecVIgl9nw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tiI-MjMXEeWoDfId-zdVpA" x="254" y="351"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_tih_wDMXEeWoDfId-zdVpA" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_tih_wTMXEeWoDfId-zdVpA" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tih_wzMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Stereotype" href="core.uml#_Wtq4slDlEd6cwecVIgl9nw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tih_wjMXEeWoDfId-zdVpA" x="254" y="297"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_ti6aQTMXEeWoDfId-zdVpA" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_ti6aQjMXEeWoDfId-zdVpA" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ti6aRDMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Stereotype" href="core.uml#_WtrfwlDlEd6cwecVIgl9nw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ti6aQzMXEeWoDfId-zdVpA" x="254" y="243"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_tjS0wDMXEeWoDfId-zdVpA" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_tjS0wTMXEeWoDfId-zdVpA" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tjS0wzMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Stereotype" href="core.uml#_Wtrfw1DlEd6cwecVIgl9nw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tjS0wjMXEeWoDfId-zdVpA" x="254" y="81"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_tjrPQDMXEeWoDfId-zdVpA" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_tjrPQTMXEeWoDfId-zdVpA" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tjrPQzMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Stereotype" href="core.uml#__nMrwLqNEd-SedGzMDDkww"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tjrPQjMXEeWoDfId-zdVpA" x="254" y="135"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_tka2IDMXEeWoDfId-zdVpA" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_tka2ITMXEeWoDfId-zdVpA" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tka2IzMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Stereotype" href="core.uml#_AQZZwLqOEd-SedGzMDDkww"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tka2IjMXEeWoDfId-zdVpA" x="254" y="189"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_tlS_4DMXEeWoDfId-zdVpA" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_tlS_4TMXEeWoDfId-zdVpA" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tlS_4zMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Stereotype" href="core.uml#_GjnlcC8qEeKx7OxAiA06uw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tlS_4jMXEeWoDfId-zdVpA" x="254" y="405"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_HPS44DMYEeWoDfId-zdVpA" type="Package_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_HPVVIDMYEeWoDfId-zdVpA" type="Package_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_HPVVITMYEeWoDfId-zdVpA" type="Package_PackagedElementCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_09vZcLnYEeCxXoyQxQ47PQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_09wAgLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_09wAgbnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_09wAgrnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_09wAg7nYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_09wAhLnYEeCxXoyQxQ47PQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_09wAhbnYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_09wAhrnYEeCxXoyQxQ47PQ" type="Class_NameLabel"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_09wAh7nYEeCxXoyQxQ47PQ" visible="false" type="Class_AttributeCompartment">
-            <styles xmi:type="notation:SortingStyle" xmi:id="_09wnkLnYEeCxXoyQxQ47PQ"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_09wnkbnYEeCxXoyQxQ47PQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_09wnkrnYEeCxXoyQxQ47PQ"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_09wnk7nYEeCxXoyQxQ47PQ" visible="false" type="Class_OperationCompartment">
-            <styles xmi:type="notation:SortingStyle" xmi:id="_09wnlLnYEeCxXoyQxQ47PQ"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_09wnlbnYEeCxXoyQxQ47PQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_09wnlrnYEeCxXoyQxQ47PQ"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_09wnl7nYEeCxXoyQxQ47PQ" visible="false" type="Class_NestedClassifierCompartment">
-            <styles xmi:type="notation:SortingStyle" xmi:id="_09wnmLnYEeCxXoyQxQ47PQ"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_09wnmbnYEeCxXoyQxQ47PQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_09wnmrnYEeCxXoyQxQ47PQ"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kIOjQFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kIOjQVy8EeOwKfaVRwV11Q" showTitle="true"/>
-            <element xmi:type="FCM:PortKind" href="core.uml#_wySlkFRxEd6GqrP6fkWBoQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIOjQly8EeOwKfaVRwV11Q"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kIPKUFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kIPKUVy8EeOwKfaVRwV11Q"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIPKUly8EeOwKfaVRwV11Q"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_tei3oDMXEeWoDfId-zdVpA" type="Class_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_tei3oTMXEeWoDfId-zdVpA" y="5"/>
-          </children>
-          <element xmi:type="uml:Stereotype" href="core.uml#_Wtq4sFDlEd6cwecVIgl9nw"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_09vZcbnYEeCxXoyQxQ47PQ" x="235" y="12" width="127" height="37"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_0-9hcLnYEeCxXoyQxQ47PQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-9hcrnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-9hc7nYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0--IgLnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0--IgbnYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0--IgrnYEeCxXoyQxQ47PQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0--Ig7nYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_0--IhLnYEeCxXoyQxQ47PQ" type="Class_NameLabel"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_0--IhbnYEeCxXoyQxQ47PQ" visible="false" type="Class_AttributeCompartment">
-            <styles xmi:type="notation:SortingStyle" xmi:id="_0--IhrnYEeCxXoyQxQ47PQ"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_0--Ih7nYEeCxXoyQxQ47PQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0--IiLnYEeCxXoyQxQ47PQ"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_0--IibnYEeCxXoyQxQ47PQ" visible="false" type="Class_OperationCompartment">
-            <styles xmi:type="notation:SortingStyle" xmi:id="_0--IirnYEeCxXoyQxQ47PQ"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_0--Ii7nYEeCxXoyQxQ47PQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0--IjLnYEeCxXoyQxQ47PQ"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_0--IjbnYEeCxXoyQxQ47PQ" visible="false" type="Class_NestedClassifierCompartment">
-            <styles xmi:type="notation:SortingStyle" xmi:id="_0--IjrnYEeCxXoyQxQ47PQ"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_0--Ij7nYEeCxXoyQxQ47PQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0--IkLnYEeCxXoyQxQ47PQ"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kIXGIFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kIXGIVy8EeOwKfaVRwV11Q" showTitle="true"/>
-            <element xmi:type="FCM:PortKind" href="core.uml#_9Fif4FRxEd6GqrP6fkWBoQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIXGIly8EeOwKfaVRwV11Q"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kIXtMFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kIXtMVy8EeOwKfaVRwV11Q"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIXtMly8EeOwKfaVRwV11Q"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_tei3qDMXEeWoDfId-zdVpA" type="Class_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_tei3qTMXEeWoDfId-zdVpA" y="5"/>
-          </children>
-          <element xmi:type="uml:Stereotype" href="core.uml#_Wtrfw1DlEd6cwecVIgl9nw"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-9hcbnYEeCxXoyQxQ47PQ" x="235" y="72" width="127" height="37"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_0_OnMLnYEeCxXoyQxQ47PQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_POQLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_POQbnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_POQrnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_POQ7nYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_PORLnYEeCxXoyQxQ47PQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_PORbnYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_0_PORrnYEeCxXoyQxQ47PQ" type="Class_NameLabel"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_0_POR7nYEeCxXoyQxQ47PQ" visible="false" type="Class_AttributeCompartment">
-            <styles xmi:type="notation:SortingStyle" xmi:id="_0_POSLnYEeCxXoyQxQ47PQ"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_0_POSbnYEeCxXoyQxQ47PQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_POSrnYEeCxXoyQxQ47PQ"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_0_P1ULnYEeCxXoyQxQ47PQ" visible="false" type="Class_OperationCompartment">
-            <styles xmi:type="notation:SortingStyle" xmi:id="_0_P1UbnYEeCxXoyQxQ47PQ"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_0_P1UrnYEeCxXoyQxQ47PQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_P1U7nYEeCxXoyQxQ47PQ"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_0_P1VLnYEeCxXoyQxQ47PQ" visible="false" type="Class_NestedClassifierCompartment">
-            <styles xmi:type="notation:SortingStyle" xmi:id="_0_P1VbnYEeCxXoyQxQ47PQ"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_0_P1VrnYEeCxXoyQxQ47PQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_P1V7nYEeCxXoyQxQ47PQ"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kIZiYFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kIZiYVy8EeOwKfaVRwV11Q" showTitle="true"/>
-            <element xmi:type="FCM:PortKind" href="core.uml#_KtgR0LqOEd-SedGzMDDkww"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIZiYly8EeOwKfaVRwV11Q"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kIaJcFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kIaJcVy8EeOwKfaVRwV11Q"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIaJcly8EeOwKfaVRwV11Q"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_tei3qjMXEeWoDfId-zdVpA" type="Class_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_tei3qzMXEeWoDfId-zdVpA" y="5"/>
-          </children>
-          <element xmi:type="uml:Stereotype" href="core.uml#__nMrwLqNEd-SedGzMDDkww"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_OnMbnYEeCxXoyQxQ47PQ" x="235" y="132" width="127" height="37"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_0_j-YLnYEeCxXoyQxQ47PQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_klcLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_klcbnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_lMgLnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_lMgbnYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_lMgrnYEeCxXoyQxQ47PQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_lMg7nYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_0_lMhLnYEeCxXoyQxQ47PQ" type="Class_NameLabel"/>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_0_lMhbnYEeCxXoyQxQ47PQ" visible="false" type="Class_AttributeCompartment">
-            <styles xmi:type="notation:SortingStyle" xmi:id="_0_lMhrnYEeCxXoyQxQ47PQ"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_0_lMh7nYEeCxXoyQxQ47PQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_lMiLnYEeCxXoyQxQ47PQ"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_0_lzkLnYEeCxXoyQxQ47PQ" visible="false" type="Class_OperationCompartment">
-            <styles xmi:type="notation:SortingStyle" xmi:id="_0_lzkbnYEeCxXoyQxQ47PQ"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_0_lzkrnYEeCxXoyQxQ47PQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_lzk7nYEeCxXoyQxQ47PQ"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_0_lzlLnYEeCxXoyQxQ47PQ" visible="false" type="Class_NestedClassifierCompartment">
-            <styles xmi:type="notation:SortingStyle" xmi:id="_0_lzlbnYEeCxXoyQxQ47PQ"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_0_lzlrnYEeCxXoyQxQ47PQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_lzl7nYEeCxXoyQxQ47PQ"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kIb-oFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kIb-oVy8EeOwKfaVRwV11Q" showTitle="true"/>
-            <element xmi:type="FCM:PortKind" href="core.uml#_H5-aQLqOEd-SedGzMDDkww"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIb-oly8EeOwKfaVRwV11Q"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kIb-o1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kIb-pFy8EeOwKfaVRwV11Q"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kIb-pVy8EeOwKfaVRwV11Q"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_tei3rDMXEeWoDfId-zdVpA" type="Class_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_tei3rTMXEeWoDfId-zdVpA" y="5"/>
-          </children>
-          <element xmi:type="uml:Stereotype" href="core.uml#_AQZZwLqOEd-SedGzMDDkww"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_j-YbnYEeCxXoyQxQ47PQ" x="235" y="192" width="127" height="37"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_Fw1jMLnZEeCxXoyQxQ47PQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fw3YYLnZEeCxXoyQxQ47PQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fw3YYbnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fw3YYrnZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fw3YY7nZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fw3YZLnZEeCxXoyQxQ47PQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fw3YZbnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_Fw3YZrnZEeCxXoyQxQ47PQ" type="Comment_BodyLabel"/>
-          <element xmi:type="uml:Comment" href="core.uml#_FryEELnZEeCxXoyQxQ47PQ"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Fw1jMbnZEeCxXoyQxQ47PQ" x="435" y="12" width="469" height="40"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_K19p8LnZEeCxXoyQxQ47PQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K1-RALnZEeCxXoyQxQ47PQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K1-RAbnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K1-RArnZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K1-4ELnZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K1-4EbnZEeCxXoyQxQ47PQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K1-4ErnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_K1-4E7nZEeCxXoyQxQ47PQ" type="Comment_BodyLabel"/>
-          <element xmi:type="uml:Comment" href="core.uml#_K17NsLnZEeCxXoyQxQ47PQ"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_K19p8bnZEeCxXoyQxQ47PQ" x="435" y="72" width="469" height="35"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_Px1uELnZEeCxXoyQxQ47PQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Px2VILnZEeCxXoyQxQ47PQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Px2VIbnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Px2VIrnZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Px28MLnZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Px28MbnZEeCxXoyQxQ47PQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Px28MrnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_Px28M7nZEeCxXoyQxQ47PQ" type="Comment_BodyLabel"/>
-          <element xmi:type="uml:Comment" href="core.uml#_PxzR0LnZEeCxXoyQxQ47PQ"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Px1uEbnZEeCxXoyQxQ47PQ" x="435" y="132" width="469" height="36"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_l4_LYLnZEeCxXoyQxQ47PQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l4_LYbnZEeCxXoyQxQ47PQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l4_LYrnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l4_LY7nZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l4_LZLnZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l4_LZbnZEeCxXoyQxQ47PQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l4_LZrnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_l4_LZ7nZEeCxXoyQxQ47PQ" type="Comment_BodyLabel"/>
-          <element xmi:type="uml:Comment" href="core.uml#_l49WMLnZEeCxXoyQxQ47PQ"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l4_LaLnZEeCxXoyQxQ47PQ" x="435" y="192" width="469" height="36"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_1cX-4DPdEeWoDfId-zdVpA" type="Interface_Shape">
-          <children xmi:type="notation:DecorationNode" xmi:id="_1cX-4jPdEeWoDfId-zdVpA" type="Interface_NameLabel"/>
-          <children xmi:type="notation:DecorationNode" xmi:id="_1cX-4zPdEeWoDfId-zdVpA" type="Interface_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_1cX-5DPdEeWoDfId-zdVpA" y="5"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_1cYl8DPdEeWoDfId-zdVpA" visible="false" type="Interface_AttributeCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_1cYl8TPdEeWoDfId-zdVpA"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_1cYl8jPdEeWoDfId-zdVpA"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_1cYl8zPdEeWoDfId-zdVpA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1cYl9DPdEeWoDfId-zdVpA"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_1cYl9TPdEeWoDfId-zdVpA" visible="false" type="Interface_OperationCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_1cYl9jPdEeWoDfId-zdVpA"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_1cYl9zPdEeWoDfId-zdVpA"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_1cYl-DPdEeWoDfId-zdVpA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1cYl-TPdEeWoDfId-zdVpA"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_1cYl-jPdEeWoDfId-zdVpA" visible="false" type="Interface_NestedClassifierCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_1cYl-zPdEeWoDfId-zdVpA"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_1cYl_DPdEeWoDfId-zdVpA"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_1cYl_TPdEeWoDfId-zdVpA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1cYl_jPdEeWoDfId-zdVpA"/>
-          </children>
-          <element xmi:type="uml:Interface" href="core.uml#_d9RssDMYEeWoDfId-zdVpA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1cX-4TPdEeWoDfId-zdVpA" x="15" y="12" width="121" height="101"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_HPVVIjMYEeWoDfId-zdVpA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HPVVIzMYEeWoDfId-zdVpA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_HPrTYDMYEeWoDfId-zdVpA" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_HPrTYTMYEeWoDfId-zdVpA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HPrTYjMYEeWoDfId-zdVpA"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_OwZS0DMYEeWoDfId-zdVpA" type="TemplateSignature_Shape">
-        <children xmi:type="notation:BasicCompartment" xmi:id="_3EOr0Ca0EeazPcQ6-9hBeQ" type="TemplateSignature_TemplateParameterCompartment">
-          <children xmi:type="notation:Shape" xmi:id="_QqluoDMYEeWoDfId-zdVpA" type="ClassifierTemplateParameter_TemplateParameterLabel">
-            <element xmi:type="uml:ClassifierTemplateParameter" href="core.uml#_QqFYUDMYEeWoDfId-zdVpA"/>
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_QqluoTMYEeWoDfId-zdVpA"/>
-          </children>
-          <styles xmi:type="notation:TitleStyle" xmi:id="_OwZS0zMYEeWoDfId-zdVpA"/>
-          <styles xmi:type="notation:SortingStyle" xmi:id="_OwZS1DMYEeWoDfId-zdVpA"/>
-          <styles xmi:type="notation:FilteringStyle" xmi:id="_OwZS1TMYEeWoDfId-zdVpA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OwZS1jMYEeWoDfId-zdVpA"/>
-        </children>
-        <element xmi:type="uml:TemplateSignature" href="core.uml#_OwA4UDMYEeWoDfId-zdVpA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OwZS0TMYEeWoDfId-zdVpA"/>
-      </children>
-      <element xmi:type="uml:Package" href="core.uml#_HPLkIDMYEeWoDfId-zdVpA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HPS44TMYEeWoDfId-zdVpA" x="40" y="-40" width="1061" height="301"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_0IaT8bnYEeCxXoyQxQ47PQ"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_tejesjMXEeWoDfId-zdVpA" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="core.uml#_QwvnQFDlEd6cwecVIgl9nw"/>
-    <edges xmi:type="notation:Connector" xmi:id="_jEPL0LnZEeCxXoyQxQ47PQ" type="Comment_AnnotatedElementEdge" source="_Fw1jMLnZEeCxXoyQxQ47PQ" target="_09vZcLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_jEPy4LnZEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jEPy4bnZEeCxXoyQxQ47PQ" points="[-4, 1, 86, 0]$[-87, 0, 3, -1]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jES2MLnZEeCxXoyQxQ47PQ" id="(0.0,0.45)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jES2MbnZEeCxXoyQxQ47PQ" id="(1.0,0.4864864864864865)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_ju3dMLnZEeCxXoyQxQ47PQ" type="Comment_AnnotatedElementEdge" source="_K19p8LnZEeCxXoyQxQ47PQ" target="_0-9hcLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_ju3dMbnZEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ju3dMrnZEeCxXoyQxQ47PQ" points="[-5, 0, 137, 2]$[-87, 0, 55, 2]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ju7uoLnZEeCxXoyQxQ47PQ" id="(0.0,0.6285714285714286)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4JY0QDMYEeWoDfId-zdVpA" id="(1.0,0.5945945945945946)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_kSsjALnZEeCxXoyQxQ47PQ" type="Comment_AnnotatedElementEdge" source="_Px1uELnZEeCxXoyQxQ47PQ" target="_0_OnMLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_kSsjAbnZEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kSsjArnZEeCxXoyQxQ47PQ" points="[-13, 6, 136, 5]$[-94, 6, 55, 5]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kSyCkLnZEeCxXoyQxQ47PQ" id="(0.0,0.42857142857142855)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_d48UUDPeEeWoDfId-zdVpA" id="(1.0,0.4864864864864865)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_pgZ-ALnZEeCxXoyQxQ47PQ" type="Comment_AnnotatedElementEdge" source="_l4_LYLnZEeCxXoyQxQ47PQ" target="_0_j-YLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_pgZ-AbnZEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pgZ-ArnZEeCxXoyQxQ47PQ" points="[-4, 2, 106, 0]$[-93, 1, 17, -1]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pge2gLnZEeCxXoyQxQ47PQ" id="(0.0,0.2982456140350877)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pge2gbnZEeCxXoyQxQ47PQ" id="(1.0,0.4594594594594595)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_MhrIYLnaEeCxXoyQxQ47PQ" type="Comment_AnnotatedElementEdge" source="_2dxzYLnZEeCxXoyQxQ47PQ" target="_0-XrkLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_MhrIYbnaEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MhrIYrnaEeCxXoyQxQ47PQ" points="[-9, -1, 113, 0]$[-99, -1, 23, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MhuywLnaEeCxXoyQxQ47PQ" id="(0.00641025641025641,0.5405405405405406)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MhuywbnaEeCxXoyQxQ47PQ" id="(0.963302752293578,0.5135135135135135)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_NJn5MLnaEeCxXoyQxQ47PQ" type="Comment_AnnotatedElementEdge" source="_FMviMLnaEeCxXoyQxQ47PQ" target="_0-rNkLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_NJn5MbnaEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NJn5MrnaEeCxXoyQxQ47PQ" points="[-20, -1, 144, 5]$[-109, -1, 55, 5]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NJq8gLnaEeCxXoyQxQ47PQ" id="(0.042735042735042736,0.47058823529411764)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_NplLoLnaEeCxXoyQxQ47PQ" type="Comment_AnnotatedElementEdge" source="_Ggu5oLnaEeCxXoyQxQ47PQ" target="_0-EJkLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_NplLobnaEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NplLornaEeCxXoyQxQ47PQ" points="[-7, -6, 106, 0]$[-96, -7, 17, -1]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NppdELnaEeCxXoyQxQ47PQ" id="(0.014957264957264958,0.45098039215686275)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NppdEbnaEeCxXoyQxQ47PQ" id="(0.8440366972477065,0.4594594594594595)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_McYVsEMMEeKGIL695HkFYQ" type="Comment_AnnotatedElementEdge" source="_CQkpAEMMEeKGIL695HkFYQ" target="_GkKYAC8qEeKx7OxAiA06uw" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_McYVsUMMEeKGIL695HkFYQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_McYVskMMEeKGIL695HkFYQ" points="[-3, 0, 115, 0]$[-92, 0, 26, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mcj74EMMEeKGIL695HkFYQ" id="(0.006396588486140725,0.35714285714285715)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mcj74UMMEeKGIL695HkFYQ" id="(0.7614678899082569,0.5135135135135135)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_HeY7IH-REeOtkrzuMiGEow" type="Comment_AnnotatedElementEdge" source="_7cugEH-QEeOtkrzuMiGEow" target="_1GdhkH-QEeOtkrzuMiGEow">
-      <styles xmi:type="notation:FontStyle" xmi:id="_HeY7IX-REeOtkrzuMiGEow"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HeY7In-REeOtkrzuMiGEow" points="[-31, -4, 68, 0]$[-91, -5, 8, -1]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HebXYH-REeOtkrzuMiGEow" id="(0.09841269841269841,0.4084507042253521)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Heb-cH-REeOtkrzuMiGEow" id="(0.9642857142857143,0.45901639344262296)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_ths5UDMXEeWoDfId-zdVpA" type="StereotypeCommentLink" source="_09vZcLnYEeCxXoyQxQ47PQ" target="_thsSQDMXEeWoDfId-zdVpA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_ths5UTMXEeWoDfId-zdVpA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_thuugTMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Stereotype" href="core.uml#_Wtq4sFDlEd6cwecVIgl9nw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ths5UjMXEeWoDfId-zdVpA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_thuHcDMXEeWoDfId-zdVpA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_thuugDMXEeWoDfId-zdVpA"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_tiI-NDMXEeWoDfId-zdVpA" type="StereotypeCommentLink" source="_0-EJkLnYEeCxXoyQxQ47PQ" target="_tiI-MDMXEeWoDfId-zdVpA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_tiI-NTMXEeWoDfId-zdVpA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tiI-OTMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Stereotype" href="core.uml#_Wtq4sVDlEd6cwecVIgl9nw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tiI-NjMXEeWoDfId-zdVpA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tiI-NzMXEeWoDfId-zdVpA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tiI-ODMXEeWoDfId-zdVpA"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_tih_xDMXEeWoDfId-zdVpA" type="StereotypeCommentLink" source="_0-XrkLnYEeCxXoyQxQ47PQ" target="_tih_wDMXEeWoDfId-zdVpA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_tih_xTMXEeWoDfId-zdVpA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tih_yTMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Stereotype" href="core.uml#_Wtq4slDlEd6cwecVIgl9nw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tih_xjMXEeWoDfId-zdVpA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tih_xzMXEeWoDfId-zdVpA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tih_yDMXEeWoDfId-zdVpA"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_ti6aRTMXEeWoDfId-zdVpA" type="StereotypeCommentLink" source="_0-rNkLnYEeCxXoyQxQ47PQ" target="_ti6aQTMXEeWoDfId-zdVpA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_ti6aRjMXEeWoDfId-zdVpA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ti7BUDMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Stereotype" href="core.uml#_WtrfwlDlEd6cwecVIgl9nw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ti6aRzMXEeWoDfId-zdVpA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ti6aSDMXEeWoDfId-zdVpA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ti6aSTMXEeWoDfId-zdVpA"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_tjS0xDMXEeWoDfId-zdVpA" type="StereotypeCommentLink" source="_0-9hcLnYEeCxXoyQxQ47PQ" target="_tjS0wDMXEeWoDfId-zdVpA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_tjS0xTMXEeWoDfId-zdVpA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tjS0yTMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Stereotype" href="core.uml#_Wtrfw1DlEd6cwecVIgl9nw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tjS0xjMXEeWoDfId-zdVpA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tjS0xzMXEeWoDfId-zdVpA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tjS0yDMXEeWoDfId-zdVpA"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_tjrPRDMXEeWoDfId-zdVpA" type="StereotypeCommentLink" source="_0_OnMLnYEeCxXoyQxQ47PQ" target="_tjrPQDMXEeWoDfId-zdVpA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_tjrPRTMXEeWoDfId-zdVpA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tjr2UDMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Stereotype" href="core.uml#__nMrwLqNEd-SedGzMDDkww"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tjrPRjMXEeWoDfId-zdVpA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tjrPRzMXEeWoDfId-zdVpA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tjrPSDMXEeWoDfId-zdVpA"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_tka2JDMXEeWoDfId-zdVpA" type="StereotypeCommentLink" source="_0_j-YLnYEeCxXoyQxQ47PQ" target="_tka2IDMXEeWoDfId-zdVpA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_tka2JTMXEeWoDfId-zdVpA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tka2KTMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Stereotype" href="core.uml#_AQZZwLqOEd-SedGzMDDkww"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tka2JjMXEeWoDfId-zdVpA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tka2JzMXEeWoDfId-zdVpA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tka2KDMXEeWoDfId-zdVpA"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_tlS_5DMXEeWoDfId-zdVpA" type="StereotypeCommentLink" source="_GkKYAC8qEeKx7OxAiA06uw" target="_tlS_4DMXEeWoDfId-zdVpA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_tlS_5TMXEeWoDfId-zdVpA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_tlTm8DMXEeWoDfId-zdVpA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Stereotype" href="core.uml#_GjnlcC8qEeKx7OxAiA06uw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tlS_5jMXEeWoDfId-zdVpA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tlS_5zMXEeWoDfId-zdVpA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tlS_6DMXEeWoDfId-zdVpA"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="__8V9sDPdEeWoDfId-zdVpA" type="InterfaceRealization_Edge" source="_09vZcLnYEeCxXoyQxQ47PQ" target="_1cX-4DPdEeWoDfId-zdVpA">
-      <children xmi:type="notation:DecorationNode" xmi:id="__8WkwDPdEeWoDfId-zdVpA" type="InterfaceRealization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="__8WkwTPdEeWoDfId-zdVpA" y="40"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="__8WkwjPdEeWoDfId-zdVpA" type="InterfaceRealization_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="__8WkwzPdEeWoDfId-zdVpA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="__8V9sTPdEeWoDfId-zdVpA"/>
-      <element xmi:type="uml:InterfaceRealization" href="core.uml#__77G8DPdEeWoDfId-zdVpA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__8V9sjPdEeWoDfId-zdVpA" points="[12, 0, -655, -14]$[665, 14, -2, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__9hCYDPdEeWoDfId-zdVpA" id="(0.0,0.5405405405405406)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__9hpcDPdEeWoDfId-zdVpA" id="(1.0,0.19801980198019803)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_BXmawDPeEeWoDfId-zdVpA" type="Usage_Edge" source="_0-9hcLnYEeCxXoyQxQ47PQ" target="_1cX-4DPdEeWoDfId-zdVpA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_BXmawzPeEeWoDfId-zdVpA" type="Usage_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_BXmaxDPeEeWoDfId-zdVpA" y="40"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_BXmaxTPeEeWoDfId-zdVpA" type="Usage_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_BXmaxjPeEeWoDfId-zdVpA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_BXmawTPeEeWoDfId-zdVpA"/>
-      <element xmi:type="uml:Usage" href="core.uml#_BXPOYDPeEeWoDfId-zdVpA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BXmawjPeEeWoDfId-zdVpA" points="[5, -1, -676, 28]$[658, -24, -23, 5]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BZFBcDPeEeWoDfId-zdVpA" id="(0.0,0.5405405405405406)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BZFogDPeEeWoDfId-zdVpA" id="(1.0,0.7920792079207921)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_SstwYPEnEeCIafpoJVk7CQ" type="CompositeStructure" name="ContainerRules" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_V3-LcPEnEeCIafpoJVk7CQ" type="2073" fontName="Arial" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4AnsPEnEeCIafpoJVk7CQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4AnsfEnEeCIafpoJVk7CQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4AnsvEnEeCIafpoJVk7CQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4Ans_EnEeCIafpoJVk7CQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4BOwPEnEeCIafpoJVk7CQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4BOwfEnEeCIafpoJVk7CQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HPEWAPQUEeCovO8AYZymZQ" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPEWAfQUEeCovO8AYZymZQ" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPE9EPQUEeCovO8AYZymZQ" key="StereotypeList" value="FCM::ContainerRule"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPE9EfQUEeCovO8AYZymZQ" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPE9EvQUEeCovO8AYZymZQ" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPE9E_QUEeCovO8AYZymZQ" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_V4BOwvEnEeCIafpoJVk7CQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_V4BOw_EnEeCIafpoJVk7CQ" type="7073">
-        <children xmi:type="notation:Shape" xmi:id="_mxqE4PTWEeCn1-FCrfecFg" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mxrTAPTWEeCn1-FCrfecFg" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mxr6EPTWEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mxr6EfTWEeCn1-FCrfecFg" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mxr6EvTWEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mxr6E_TWEeCn1-FCrfecFg" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mxr6FPTWEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qmq1AAJzEeG0Lb1KYG16fA" source="Stereotype_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcEAJzEeG0Lb1KYG16fA" key="StereotypeWithQualifiedNameList" value=""/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcEQJzEeG0Lb1KYG16fA" key="StereotypeList" value="FCM::InterceptionRule"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcEgJzEeG0Lb1KYG16fA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcEwJzEeG0Lb1KYG16fA" key="PropStereoDisplay" value=""/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcFAJzEeG0Lb1KYG16fA" key="StereotypePropertyLocation" value="Compartment"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_mxr6FfTWEeCn1-FCrfecFg" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RtvSsFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RzCCYFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_mxshIPTWEeCn1-FCrfecFg" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_mxshIfTWEeCn1-FCrfecFg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mxshIvTWEeCn1-FCrfecFg"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_y3lU4PTWEeCn1-FCrfecFg" type="3069" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3mjAPTWEeCn1-FCrfecFg" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3nKEPTWEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3nKEfTWEeCn1-FCrfecFg" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3nKEvTWEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3nKE_TWEeCn1-FCrfecFg" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3nKFPTWEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WiNb0DrUEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XNgbkDrUEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XNgbkTrUEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XNhCoDrUEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XNhCoTrUEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XNhCojrUEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_y3nKFfTWEeCn1-FCrfecFg" type="5125">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QlkJsFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QplHAFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_y3nxIPTWEeCn1-FCrfecFg" x="-90" y="38"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_y3nxIfTWEeCn1-FCrfecFg" type="6029">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_y3nxIvTWEeCn1-FCrfecFg" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="core.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y3lU4fTWEeCn1-FCrfecFg" x="189" y="7"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_y3oYMPTWEeCn1-FCrfecFg" type="3069" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3pmUPTWEeCn1-FCrfecFg" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3pmUfTWEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3pmUvTWEeCn1-FCrfecFg" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3pmU_TWEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3pmVPTWEeCn1-FCrfecFg" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3qNYPTWEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VXcR0DrUEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vt_woDrUEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vt_woTrUEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vt_wojrUEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VuAXsDrUEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VuAXsTrUEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_y3qNYfTWEeCn1-FCrfecFg" type="5125">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QEIQkFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QK0HYFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_y3qNYvTWEeCn1-FCrfecFg" x="-17" y="-34"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_y3qNY_TWEeCn1-FCrfecFg" type="6029">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_y3qNZPTWEeCn1-FCrfecFg" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y3o_QPTWEeCn1-FCrfecFg" x="-10" y="7"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kKoXAFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kKoXAVy8EeOwKfaVRwV11Q" showTitle="true"/>
-            <element xmi:type="FCM:InterceptionRule" href="core.uml#_qlcF8AJzEeG0Lb1KYG16fA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKoXAly8EeOwKfaVRwV11Q"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kKoXA1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kKoXBFy8EeOwKfaVRwV11Q"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKoXBVy8EeOwKfaVRwV11Q"/>
-          </children>
-          <element xmi:type="uml:Property" href="core.uml#_mvN04PTWEeCn1-FCrfecFg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mxqE4fTWEeCn1-FCrfecFg" x="31" y="31" width="199" height="37"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_V4BOxPEnEeCIafpoJVk7CQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V4BOxfEnEeCIafpoJVk7CQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kKmh0Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kKmh0Vy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="FCM:ContainerRule" href="core.uml#_3Jq5MARLEd-OidZzGKCpzg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKmh0ly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kKnI4Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kKnI4Vy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKnI4ly8EeOwKfaVRwV11Q"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_14WtMARJEd--t-uhRn9OBA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V3-LcfEnEeCIafpoJVk7CQ" x="72" y="36" width="262" height="145"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_W2m98PEnEeCIafpoJVk7CQ" type="2109" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W2nlAPEnEeCIafpoJVk7CQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W2nlAfEnEeCIafpoJVk7CQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W2nlAvEnEeCIafpoJVk7CQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W2nlA_EnEeCIafpoJVk7CQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W2nlBPEnEeCIafpoJVk7CQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W2nlBfEnEeCIafpoJVk7CQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_W2oMEPEnEeCIafpoJVk7CQ" type="5192"/>
-      <element xmi:type="uml:Comment" href="core.uml#_q-kFUMTJEd-cLazKlAeYsQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W2m98fEnEeCIafpoJVk7CQ" x="378" y="54" width="429"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_HDAUACjaEeGFbebITJYb9g" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HDA7ECjaEeGFbebITJYb9g" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HDA7ESjaEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HDA7EijaEeGFbebITJYb9g" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HDA7EyjaEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HDA7FCjaEeGFbebITJYb9g" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HDA7FSjaEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MUh4ACjaEeGFbebITJYb9g" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4ASjaEeGFbebITJYb9g" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4AijaEeGFbebITJYb9g" key="StereotypeList" value="FCM::ContainerRule"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4AyjaEeGFbebITJYb9g" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4BCjaEeGFbebITJYb9g" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4BSjaEeGFbebITJYb9g" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_HDA7FijaEeGFbebITJYb9g" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_HDA7FyjaEeGFbebITJYb9g" type="7073">
-        <children xmi:type="notation:Shape" xmi:id="_JWCGkCjaEeGFbebITJYb9g" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JWCtoCjaEeGFbebITJYb9g" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JWCtoSjaEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JWCtoijaEeGFbebITJYb9g" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JWCtoyjaEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JWCtpCjaEeGFbebITJYb9g" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JWCtpSjaEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_JWCtpijaEeGFbebITJYb9g" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PdThIFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PlvrcFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JWCtpyjaEeGFbebITJYb9g" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_JWCtqCjaEeGFbebITJYb9g"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JWCtqSjaEeGFbebITJYb9g"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kKsocFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kKsocVy8EeOwKfaVRwV11Q"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKsocly8EeOwKfaVRwV11Q"/>
-          </children>
-          <element xmi:type="uml:Property" href="core.uml#_6yVMkCjZEeGFbebITJYb9g"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JWCGkSjaEeGFbebITJYb9g" x="10" y="10" width="156"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_HDA7GCjaEeGFbebITJYb9g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HDA7GSjaEeGFbebITJYb9g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kKqzQFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kKqzQVy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="FCM:ContainerRule" href="core.uml#_MS45QCjaEeGFbebITJYb9g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKqzQly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kKraUFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kKraUVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKraUly8EeOwKfaVRwV11Q"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_1sCBICjZEeGFbebITJYb9g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HDAUASjaEeGFbebITJYb9g" x="72" y="252" width="261" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_H0i7YDbgEeGdqp2YT1LwWw" type="2109" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H0jicDbgEeGdqp2YT1LwWw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H0jicTbgEeGdqp2YT1LwWw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H0jicjbgEeGdqp2YT1LwWw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H0jiczbgEeGdqp2YT1LwWw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H0jidDbgEeGdqp2YT1LwWw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H0jidTbgEeGdqp2YT1LwWw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_H0jidjbgEeGdqp2YT1LwWw" type="5192"/>
-      <element xmi:type="uml:Comment" href="core.uml#_H0IrsDbgEeGdqp2YT1LwWw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H0i7YTbgEeGdqp2YT1LwWw" x="378" y="261" width="217"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_SstwYfEnEeCIafpoJVk7CQ"/>
-    <element xmi:type="uml:Package" href="core.uml#_y4qB4ARJEd--t-uhRn9OBA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_YjbFEPEnEeCIafpoJVk7CQ" type="4002" source="_W2m98PEnEeCIafpoJVk7CQ" target="_V3-LcPEnEeCIafpoJVk7CQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_YjbFEfEnEeCIafpoJVk7CQ" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YjbFEvEnEeCIafpoJVk7CQ" points="[-11, -4, 128, 36]$[-126, -42, 13, -2]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YjcTMPEnEeCIafpoJVk7CQ" id="(0.01,0.38333333333333336)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YjcTMfEnEeCIafpoJVk7CQ" id="(0.8602150537634409,0.45)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_NK3f0DbgEeGdqp2YT1LwWw" type="4002" source="_H0i7YDbgEeGdqp2YT1LwWw" target="_HDAUACjaEeGFbebITJYb9g" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_NK3f0TbgEeGdqp2YT1LwWw" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NK3f0jbgEeGdqp2YT1LwWw" points="[-18, 3, 77, 0]$[-63, 2, 32, -1]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NLz7ADbgEeGdqp2YT1LwWw" id="(0.08294930875576037,0.6)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NL0iEDbgEeGdqp2YT1LwWw" id="(0.8773946360153256,0.4752475247524752)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_eblvwPM_EeCovO8AYZymZQ" type="CompositeStructure" name="Composite: ContainerServices " measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_JRsvcPNAEeCovO8AYZymZQ" type="Class_Shape" fontName="" fontHeight="10" fillColor="8047085" transparency="50" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JRtWgPNAEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JRtWgfNAEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JRtWgvNAEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JRtWg_NAEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JRtWhPNAEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JRtWhfNAEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_JRtWhvNAEeCovO8AYZymZQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JRtWh_NAEeCovO8AYZymZQ" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_k-Qe0PN8EeCovO8AYZymZQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_k-RF4PN8EeCovO8AYZymZQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k-RF4fN8EeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_k-RF4vN8EeCovO8AYZymZQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k-RF4_N8EeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_k-RF5PN8EeCovO8AYZymZQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k-RF5fN8EeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_k-RF5vN8EeCovO8AYZymZQ" type="Property_NameLabel">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iWRp4FaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ivBhEFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="60"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_k-Rs8PN8EeCovO8AYZymZQ" visible="false" type="Property_StructureCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_k-Rs8fN8EeCovO8AYZymZQ" showTitle="true"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_k-Rs8vN8EeCovO8AYZymZQ"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kn7-EFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kn7-EVy8EeOwKfaVRwV11Q"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kn7-Ely8EeOwKfaVRwV11Q"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_9o2_AguXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_AwuXEeWXe7AeBUbqvw" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="core.uml#_k-OpoPN8EeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_k-Qe0fN8EeCovO8AYZymZQ" x="24" y="41" width="165" height="23"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="__a22APQXEeCovO8AYZymZQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__a3dEPQXEeCovO8AYZymZQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__a4EIPQXEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__a4EIfQXEeCovO8AYZymZQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__a4EIvQXEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__a4EI_QXEeCovO8AYZymZQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__a4EJPQXEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="__a4EJfQXEeCovO8AYZymZQ" type="Property_NameLabel">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fzb5sFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gCiFoFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="__a4EJvQXEeCovO8AYZymZQ" visible="false" type="Property_StructureCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="__a4EJ_QXEeCovO8AYZymZQ" showTitle="true"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="__a4EKPQXEeCovO8AYZymZQ"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kn8lIFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kn8lIVy8EeOwKfaVRwV11Q"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kn8lIly8EeOwKfaVRwV11Q"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_9o2_BAuXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_BQuXEeWXe7AeBUbqvw" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="core.uml#__a1A0PQXEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="__a22AfQXEeCovO8AYZymZQ" x="24" y="5" width="165" height="23"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_KnUHYPQYEeCovO8AYZymZQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KnUHYvQYEeCovO8AYZymZQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KnUHY_QYEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KnUucPQYEeCovO8AYZymZQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KnUucfQYEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KnUucvQYEeCovO8AYZymZQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KnUuc_QYEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_KnUudPQYEeCovO8AYZymZQ" type="Property_NameLabel">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hLhG8FaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hSXV0FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_KnUudfQYEeCovO8AYZymZQ" visible="false" type="Property_StructureCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_KnUudvQYEeCovO8AYZymZQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnUud_QYEeCovO8AYZymZQ"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kn9zQFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kn9zQVy8EeOwKfaVRwV11Q"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kn9zQly8EeOwKfaVRwV11Q"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_9o2_BguXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_BwuXEeWXe7AeBUbqvw" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="core.uml#_KnS5QPQYEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnUHYfQYEeCovO8AYZymZQ" x="24" y="83" width="165" height="23"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_JRtWiPNAEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JRtWifNAEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_M0b2YPNAEeCovO8AYZymZQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M0cdcPNAEeCovO8AYZymZQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0cdcfNAEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M0cdcvNAEeCovO8AYZymZQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0cdc_NAEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M0dEgPNAEeCovO8AYZymZQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0dEgfNAEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_M0dEgvNAEeCovO8AYZymZQ" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dBgkoFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dM7xgFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_M0dEg_NAEeCovO8AYZymZQ" x="-61" y="-2"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_M0dEhPNAEeCovO8AYZymZQ" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_M0dEhfNAEeCovO8AYZymZQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M0b2YfNAEeCovO8AYZymZQ" x="-10" y="60" width="20" height="20"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kn6I4Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kn6I4Vy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="C_Cpp:Include" href="core.uml#_Yx49gCaeEeG4fZdVXNtoOQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kn6I4ly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kn6I41y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kn6I5Fy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kn6I5Vy8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9o2_AAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_AQuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JRsvcfNAEeCovO8AYZymZQ" x="171" y="32" width="212" height="159"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9dH0UCjYEeGFbebITJYb9g" type="Class_Shape" fontName="" fontHeight="10" fillColor="8047085" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9dIbYCjYEeGFbebITJYb9g" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9dIbYSjYEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9dIbYijYEeGFbebITJYb9g" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9dIbYyjYEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9dIbZCjYEeGFbebITJYb9g" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9dIbZSjYEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9dJCcCjYEeGFbebITJYb9g" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_9dJCcSjYEeGFbebITJYb9g" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_9dJCcijYEeGFbebITJYb9g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9dJCcyjYEeGFbebITJYb9g"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_AVlPMCjZEeGFbebITJYb9g" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AVl2QCjZEeGFbebITJYb9g" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AVl2QSjZEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AVl2QijZEeGFbebITJYb9g" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AVl2QyjZEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AVl2RCjZEeGFbebITJYb9g" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AVmdUCjZEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_AVmdUSjZEeGFbebITJYb9g" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WOqX0FaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WaM5cFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_AVmdUijZEeGFbebITJYb9g" x="-72"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_AVmdUyjZEeGFbebITJYb9g" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_AVmdVCjZEeGFbebITJYb9g" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_ATRiECjZEeGFbebITJYb9g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AVlPMSjZEeGFbebITJYb9g" x="207" y="45" width="20" height="20"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kn_BYFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kn_BYVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kn_BYly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9o2_CAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_CQuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_9V8OQCjYEeGFbebITJYb9g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9dH0USjYEeGFbebITJYb9g" x="171" y="302" width="217" height="92"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_qz8ykCkAEeGDDbdzqSb4UA" type="Class_Shape" fontName="" fontHeight="10" fillColor="8047085" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ykSkAEeGDDbdzqSb4UA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ykikAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ykykAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ylCkAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ylSkAEeGDDbdzqSb4UA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ylikAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_qz8ynSkAEeGDDbdzqSb4UA" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_qz8ypCkAEeGDDbdzqSb4UA" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_qz8ypSkAEeGDDbdzqSb4UA" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ypikAEeGDDbdzqSb4UA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ypykAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yqCkAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yqSkAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yqikAEeGDDbdzqSb4UA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yqykAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_qz8yrCkAEeGDDbdzqSb4UA" type="Property_NameLabel">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vo5_YFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vv278FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_qz8yrSkAEeGDDbdzqSb4UA" visible="false" type="Property_StructureCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_qz8yrikAEeGDDbdzqSb4UA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8yrykAEeGDDbdzqSb4UA"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_4ksloCkAEeGDDbdzqSb4UA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4kwQACkAEeGDDbdzqSb4UA" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4kwQASkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4kwQAikAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4kwQAykAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4kwQBCkAEeGDDbdzqSb4UA" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4kwQBSkAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_4kwQBikAEeGDDbdzqSb4UA" visible="false" type="Port_NameLabel">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AP6k4CkBEeGDDbdzqSb4UA" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AP7L8CkBEeGDDbdzqSb4UA" key="CustomAppearance_MaskValue" value="46"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_4kwQBykAEeGDDbdzqSb4UA" x="18" y="-18"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_4kw3ECkAEeGDDbdzqSb4UA" visible="false" type="Port_StereotypeLabel">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_4kw3ESkAEeGDDbdzqSb4UA" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="core.uml#_ATRiECjZEeGFbebITJYb9g"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ksloSkAEeGDDbdzqSb4UA" x="153" y="16"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_koCrwFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_koCrwVy8EeOwKfaVRwV11Q"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_koCrwly8EeOwKfaVRwV11Q"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_9o2_DguXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_DwuXEeWXe7AeBUbqvw" y="5"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_fZwEQMTwEeWfEYAFL-UFuw" type="Port_Shape">
-            <children xmi:type="notation:DecorationNode" xmi:id="_fZwrUMTwEeWfEYAFL-UFuw" type="Port_NameLabel">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_fZwrUcTwEeWfEYAFL-UFuw" x="29" y="-7"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_fZwrUsTwEeWfEYAFL-UFuw" type="Port_StereotypeLabel">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_fZwrU8TwEeWfEYAFL-UFuw" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="core.uml#_2elREMRcEeWq5unKf5DK_A"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fZwEQcTwEeWfEYAFL-UFuw" x="52"/>
-          </children>
-          <element xmi:type="uml:Property" href="core.uml#_ARs_UCjaEeGFbebITJYb9g"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8yvikAEeGDDbdzqSb4UA" x="22" y="103" width="163" height="51"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_qz8yvykAEeGDDbdzqSb4UA" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ywCkAEeGDDbdzqSb4UA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ywSkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ywikAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ywykAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yxCkAEeGDDbdzqSb4UA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yxSkAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_qz8yxikAEeGDDbdzqSb4UA" type="Property_NameLabel">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UO2cMFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UlpLkFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_qz8yxykAEeGDDbdzqSb4UA" visible="false" type="Property_StructureCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_qz8yyCkAEeGDDbdzqSb4UA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8yySkAEeGDDbdzqSb4UA"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_qz8yyikAEeGDDbdzqSb4UA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yyykAEeGDDbdzqSb4UA" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yzCkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yzSkAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yzikAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yzykAEeGDDbdzqSb4UA" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8y0CkAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_qz8y0SkAEeGDDbdzqSb4UA" type="Port_NameLabel">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8y0ikAEeGDDbdzqSb4UA" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cTAf4FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="12"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_qz8y1CkAEeGDDbdzqSb4UA" x="31" y="13"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_qz8y1SkAEeGDDbdzqSb4UA" visible="false" type="Port_StereotypeLabel">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_qz8y1ikAEeGDDbdzqSb4UA" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="core.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y1ykAEeGDDbdzqSb4UA" x="50" y="52" width="20" height="20"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_koEg8Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_koEg8Vy8EeOwKfaVRwV11Q"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_koEg8ly8EeOwKfaVRwV11Q"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_9o2_EAuXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_EQuXEeWXe7AeBUbqvw" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="core.uml#_RMqEkCjaEeGFbebITJYb9g"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y2CkAEeGDDbdzqSb4UA" x="22" y="7" width="163" height="52"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_9vOFuAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-          <styles xmi:type="notation:TitleStyle" xmi:id="_9vOFuQuXEeWXe7AeBUbqvw" showTitle="true"/>
-          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9vOFuwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-            <eObjectValue xmi:type="uml:Port" href="core.uml#_ATRiECjZEeGFbebITJYb9g"/>
-          </styles>
-          <element xsi:nil="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9vOFuguXEeWXe7AeBUbqvw" x="353" y="16"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_9vZr6AuXEeWXe7AeBUbqvw" type="StereotypeComment">
-          <styles xmi:type="notation:TitleStyle" xmi:id="_9vZr6QuXEeWXe7AeBUbqvw" showTitle="true"/>
-          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9vZr6wuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-            <eObjectValue xmi:type="uml:Port" href="core.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
-          </styles>
-          <element xsi:nil="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9vZr6guXEeWXe7AeBUbqvw" x="263" y="42"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_qz8y2SkAEeGDDbdzqSb4UA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y2ikAEeGDDbdzqSb4UA"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_3PyBICkAEeGDDbdzqSb4UA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3PyoMCkAEeGDDbdzqSb4UA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3PyoMSkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3PzPQCkAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3PzPQSkAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3PzPQikAEeGDDbdzqSb4UA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3PzPQykAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_3PzPRCkAEeGDDbdzqSb4UA" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aE63sFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aMll8FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_3PzPRSkAEeGDDbdzqSb4UA" x="-81" y="-9"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_3PzPRikAEeGDDbdzqSb4UA" visible="false" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_3PzPRykAEeGDDbdzqSb4UA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_3NSGwCkAEeGDDbdzqSb4UA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3PyBISkAEeGDDbdzqSb4UA" x="288" y="144" width="20" height="20"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_koCEsFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_koCEsVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_koCEsly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9o2_DAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_DQuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_-X6zMCjZEeGFbebITJYb9g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y2ykAEeGDDbdzqSb4UA" x="455" y="39" width="298" height="199"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9uLj4AuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9uLj4QuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9uLj4wuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9uLj4guXEeWXe7AeBUbqvw" x="371" y="32"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9uaNYAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9uaNYQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9uaNYwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9uaNYguXEeWXe7AeBUbqvw" x="190" y="60"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9unBsguXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9unBswuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9unBtQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_ATRiECjZEeGFbebITJYb9g"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9unBtAuXEeWXe7AeBUbqvw" x="407" y="45"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9vqxoAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9vqxoQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9vqxowuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_3NSGwCkAEeGDDbdzqSb4UA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9vqxoguXEeWXe7AeBUbqvw" x="488" y="144"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_fKPxAMTiEeWfEYAFL-UFuw" type="Class_Shape" fillColor="8047085">
-      <children xmi:type="notation:DecorationNode" xmi:id="_fKQ_IMTiEeWfEYAFL-UFuw" type="Class_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_fKQ_IcTiEeWfEYAFL-UFuw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_fKRmMMTiEeWfEYAFL-UFuw" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_fKRmMcTiEeWfEYAFL-UFuw" visible="false" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_fKRmMsTiEeWfEYAFL-UFuw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fKRmM8TiEeWfEYAFL-UFuw"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_zDDlYMRcEeWq5unKf5DK_A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fKPxAcTiEeWfEYAFL-UFuw" x="170" y="238" width="219" height="33"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_ebmW0PM_EeCovO8AYZymZQ"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_9o2_EguXEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_FImRkAuZEeWXe7AeBUbqvw" name="css_stylesheets" eObjectListValue="_7gUz8Mc1EeSsAI2TZshUyg"/>
-    <element xmi:type="uml:Package" href="core.uml#_xtlE8ARAEd--t-uhRn9OBA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_85CvsCkAEeGDDbdzqSb4UA" type="Connector_Edge" source="_4ksloCkAEeGDDbdzqSb4UA" target="_3PyBICkAEeGDDbdzqSb4UA" routing="Rectilinear" closestDistance="true" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_85D90CkAEeGDDbdzqSb4UA" type="Connector_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__8OOwMThEeWfEYAFL-UFuw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D90SkAEeGDDbdzqSb4UA" y="60"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_85D90ikAEeGDDbdzqSb4UA" visible="false" type="Connector_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__8hJsMThEeWfEYAFL-UFuw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D90ykAEeGDDbdzqSb4UA" y="-20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_85D91CkAEeGDDbdzqSb4UA" visible="false" type="Connector_SourceMultiplicityLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__8yPcMThEeWfEYAFL-UFuw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D91SkAEeGDDbdzqSb4UA" x="-15" y="20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_85D91ikAEeGDDbdzqSb4UA" visible="false" type="Connector_TargetMultiplicityLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__9DVMMThEeWfEYAFL-UFuw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D91ykAEeGDDbdzqSb4UA" x="14" y="20"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_85CvsSkAEeGDDbdzqSb4UA" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Connector" href="core.uml#_84IJsCkAEeGDDbdzqSb4UA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_85CvsikAEeGDDbdzqSb4UA" points="[655, 238, -643984, -643984]$[655, 258, -643984, -643984]$[783, 258, -643984, -643984]$[783, 197, -643984, -643984]$[763, 197, -643984, -643984]$[763, 184, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__75eoMThEeWfEYAFL-UFuw" id="(0.9,0.55)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_864iwCkAEeGDDbdzqSb4UA" id="(0.0,0.4)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9uMK8AuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_JRsvcPNAEeCovO8AYZymZQ" target="_9uLj4AuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9uMK8QuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9uMK9QuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9uMK8guXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9uMK8wuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9uMK9AuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9uaNZAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_M0b2YPNAEeCovO8AYZymZQ" target="_9uaNYAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9uaNZQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9uaNaQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9uaNZguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9uaNZwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9uaNaAuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9unBtguXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_AVlPMCjZEeGFbebITJYb9g" target="_9unBsguXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9unBtwuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9unBuwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_ATRiECjZEeGFbebITJYb9g"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9unBuAuXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9unBuQuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9unBuguXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9vOFvAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_4ksloCkAEeGDDbdzqSb4UA" target="_9vOFuAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9vOFvQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9vOFwQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_ATRiECjZEeGFbebITJYb9g"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9vOFvguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9vOFvwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9vOFwAuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9vZr7AuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_qz8yyikAEeGDDbdzqSb4UA" target="_9vZr6AuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9vZr7QuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9vaS8guXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9vZr7guXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9vaS8AuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9vaS8QuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9vqxpAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_3PyBICkAEeGDDbdzqSb4UA" target="_9vqxoAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9vqxpQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9vqxqQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_3NSGwCkAEeGDDbdzqSb4UA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9vqxpguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9vqxpwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9vqxqAuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_jQUOgMTiEeWfEYAFL-UFuw" type="Generalization_Edge" source="_9dH0UCjYEeGFbebITJYb9g" target="_fKPxAMTiEeWfEYAFL-UFuw">
-      <children xmi:type="notation:DecorationNode" xmi:id="_jQUOg8TiEeWfEYAFL-UFuw" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_jQUOhMTiEeWfEYAFL-UFuw" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_jQUOgcTiEeWfEYAFL-UFuw"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_jPxb8MTiEeWfEYAFL-UFuw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jQUOgsTiEeWfEYAFL-UFuw" points="[288, 302, -643984, -643984]$[281, 271, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jQvFQMTiEeWfEYAFL-UFuw" id="(0.5069124423963134,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jQvsUMTiEeWfEYAFL-UFuw" id="(0.5068493150684932,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_kMmIMMTwEeWfEYAFL-UFuw" type="Connector_Edge" source="_fZwEQMTwEeWfEYAFL-UFuw" target="_qz8yyikAEeGDDbdzqSb4UA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_kMmvQMTwEeWfEYAFL-UFuw" type="Connector_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_kMmvQcTwEeWfEYAFL-UFuw" y="60"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_kMmvQsTwEeWfEYAFL-UFuw" visible="false" type="Connector_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_kMmvQ8TwEeWfEYAFL-UFuw" y="-20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_kMmvRMTwEeWfEYAFL-UFuw" visible="false" type="Connector_SourceMultiplicityLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_kMmvRcTwEeWfEYAFL-UFuw" y="20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_kMmvRsTwEeWfEYAFL-UFuw" visible="false" type="Connector_TargetMultiplicityLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_kMmvR8TwEeWfEYAFL-UFuw" y="20"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_kMmIMcTwEeWfEYAFL-UFuw"/>
-      <element xmi:type="uml:Connector" href="core.uml#_kMZT4MTwEeWfEYAFL-UFuw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kMmIMsTwEeWfEYAFL-UFuw" points="[524, 159, -643984, -643984]$[522, 135, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kNSEsMTwEeWfEYAFL-UFuw" id="(0.35,0.2)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kNSEscTwEeWfEYAFL-UFuw" id="(0.45,0.85)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_hyLz8PNGEeCovO8AYZymZQ" type="CompositeStructure" name="composite: Marshalling" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_iVJ-IPNGEeCovO8AYZymZQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVJ-IvNGEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVKlMPNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVKlMfNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVKlMvNGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVKlM_NGEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVKlNPNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_iVKlNfNGEeCovO8AYZymZQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_iVKlNvNGEeCovO8AYZymZQ" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_iVKlN_NGEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iVKlOPNGEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_ZjCy0PNHEeCovO8AYZymZQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZjDZ4PNHEeCovO8AYZymZQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZjDZ4fNHEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZjDZ4vNHEeCovO8AYZymZQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZjDZ4_NHEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZjDZ5PNHEeCovO8AYZymZQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZjDZ5fNHEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ZjEA8PNHEeCovO8AYZymZQ" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cZt34EN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cfyMwE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZjEA8fNHEeCovO8AYZymZQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ZjEA8vNHEeCovO8AYZymZQ" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZjEA8_NHEeCovO8AYZymZQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_rSCxUAytEd6it_RkGhz_AA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZjCy0fNHEeCovO8AYZymZQ" x="117" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_iVa2wEN9EeGfhclnRyNzoA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVbd0EN9EeGfhclnRyNzoA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVbd0UN9EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVbd0kN9EeGfhclnRyNzoA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVbd00N9EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVbd1EN9EeGfhclnRyNzoA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVbd1UN9EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_iVbd1kN9EeGfhclnRyNzoA" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YRiFEEN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZxVCcE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_iVbd10N9EeGfhclnRyNzoA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_iVcE4EN9EeGfhclnRyNzoA" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_iVcE4UN9EeGfhclnRyNzoA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_MhH6cENxEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iVa2wUN9EeGfhclnRyNzoA" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kfWp0Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kfWp0Vy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kfWp0ly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_JgU80M9XEeWyEP66wtWG_A" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_JgU80c9XEeWyEP66wtWG_A" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_b_yh4AzyEd6it_RkGhz_AA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iVJ-IfNGEeCovO8AYZymZQ" x="90" y="279" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_kENg8PNGEeCovO8AYZymZQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEOIAPNGEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEOIAfNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEOIAvNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEOIA_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEOIBPNGEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEOIBfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_kEOvEPNGEeCovO8AYZymZQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kEOvEfNGEeCovO8AYZymZQ" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kEOvEvNGEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kEOvE_NGEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_qJrqYPNGEeCovO8AYZymZQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qJsRcPNGEeCovO8AYZymZQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qJsRcfNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qJsRcvNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qJsRc_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qJsRdPNGEeCovO8AYZymZQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qJsRdfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qJsRdvNGEeCovO8AYZymZQ" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ezv2kFjoEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FAR2sFjoEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qJsRd_NGEeCovO8AYZymZQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qJsRePNGEeCovO8AYZymZQ" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qJsRefNGEeCovO8AYZymZQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qJrqYfNGEeCovO8AYZymZQ" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kfYfAFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kfYfAVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kfYfAly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_JgU80s9XEeWyEP66wtWG_A" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_JgU8089XEeWyEP66wtWG_A" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_j29X4NttEd2eM5kqcby5ZA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kENg8fNGEeCovO8AYZymZQ" x="90" y="36" width="316" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_mqiqAPNGEeCovO8AYZymZQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mqjREPNGEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mqjREfNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mqjREvNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mqjRE_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mqj4IPNGEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mqj4IfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mqj4IvNGEeCovO8AYZymZQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_mqj4I_NGEeCovO8AYZymZQ" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_mqj4JPNGEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mqj4JfNGEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_bc1mAPNHEeCovO8AYZymZQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bc2NEPNHEeCovO8AYZymZQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bc2NEfNHEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bc2NEvNHEeCovO8AYZymZQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bc2NE_NHEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bc2NFPNHEeCovO8AYZymZQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bc2NFfNHEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_bc2NFvNHEeCovO8AYZymZQ" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y0v8UEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aYUJ8E4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_bc2NF_NHEeCovO8AYZymZQ" x="19"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_bc2NGPNHEeCovO8AYZymZQ" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_bc2NGfNHEeCovO8AYZymZQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_r5Va0AytEd6it_RkGhz_AA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bc1mAfNHEeCovO8AYZymZQ" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_cQDbAEN9EeGfhclnRyNzoA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cQECEEN9EeGfhclnRyNzoA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cQECEUN9EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cQECEkN9EeGfhclnRyNzoA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cQECE0N9EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cQECFEN9EeGfhclnRyNzoA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cQECFUN9EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_cQECFkN9EeGfhclnRyNzoA" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XwXHIEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a51ioE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_cQECF0N9EeGfhclnRyNzoA" x="27"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_cQECGEN9EeGfhclnRyNzoA" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_cQECGUN9EeGfhclnRyNzoA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_Zd558ENxEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cQDbAUN9EeGfhclnRyNzoA" x="117" y="36"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kfZtIFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kfZtIVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kfZtIly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_JgU81M9XEeWyEP66wtWG_A" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_JgU81c9XEeWyEP66wtWG_A" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_fmF6MAzyEd6it_RkGhz_AA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mqiqAfNGEeCovO8AYZymZQ" x="396" y="279" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_o1VGkPNGEeCovO8AYZymZQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o1VtoPNGEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o1VtofNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o1VtovNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o1Vto_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o1WUsPNGEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o1WUsfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_o1WUsvNGEeCovO8AYZymZQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_o1WUs_NGEeCovO8AYZymZQ" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_o1WUtPNGEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o1WUtfNGEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_qpQiUPNGEeCovO8AYZymZQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qpRJYPNGEeCovO8AYZymZQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qpRJYfNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qpRJYvNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qpRJY_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qpRwcPNGEeCovO8AYZymZQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qpRwcfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qpRwcvNGEeCovO8AYZymZQ" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_h3CcMEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lv9-sE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qpRwc_NGEeCovO8AYZymZQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qpRwdPNGEeCovO8AYZymZQ" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qpRwdfNGEeCovO8AYZymZQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qpQiUfNGEeCovO8AYZymZQ" x="117" y="36"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kfbiUFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kfbiUVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kfbiUly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_JgU81s9XEeWyEP66wtWG_A" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_JgU8189XEeWyEP66wtWG_A" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_mIpj8Ns8Ed2eM5kqcby5ZA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o1VGkfNGEeCovO8AYZymZQ" x="468" y="36" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="__uLGkPNGEeCovO8AYZymZQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__uLtoPNGEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__uLtofNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__uLtovNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__uLto_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__uMUsPNGEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__uMUsfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="__uMUsvNGEeCovO8AYZymZQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="__uMUs_NGEeCovO8AYZymZQ" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="__uMUtPNGEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__uMUtfNGEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_KNC08PQSEeCovO8AYZymZQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KNDcAPQSEeCovO8AYZymZQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KNDcAfQSEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KNDcAvQSEeCovO8AYZymZQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KNDcA_QSEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KNDcBPQSEeCovO8AYZymZQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KNDcBfQSEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_KNDcBvQSEeCovO8AYZymZQ" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_e8v1UEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b_sXcE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_KNDcB_QSEeCovO8AYZymZQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_KNEDEPQSEeCovO8AYZymZQ" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_KNEDEfQSEeCovO8AYZymZQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_rSCxUAytEd6it_RkGhz_AA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KNC08fQSEeCovO8AYZymZQ" x="117" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_vzOfsEN9EeGfhclnRyNzoA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vzPGwEN9EeGfhclnRyNzoA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vzPGwUN9EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vzPGwkN9EeGfhclnRyNzoA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vzPGw0N9EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vzPGxEN9EeGfhclnRyNzoA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vzPGxUN9EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_vzPGxkN9EeGfhclnRyNzoA" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b0q0oEN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bcLasE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_vzPGx0N9EeGfhclnRyNzoA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_vzPGyEN9EeGfhclnRyNzoA" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_vzPGyUN9EeGfhclnRyNzoA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_MhH6cENxEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vzOfsUN9EeGfhclnRyNzoA" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kfcwcFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kfcwcVy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="FCM:ImplementationProperties" href="core.uml#_WIe68PQMEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kfcwcly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kfcwc1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kfcwdFy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kfcwdVy8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_JgU82M9XEeWyEP66wtWG_A" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_JgU82c9XEeWyEP66wtWG_A" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#__uJRYPNGEeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__uLGkfNGEeCovO8AYZymZQ" x="90" y="405" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_u_QmwENqEeGoAtSeIK7WLg" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u_RN0ENqEeGoAtSeIK7WLg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u_RN0UNqEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u_RN0kNqEeGoAtSeIK7WLg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u_RN00NqEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u_RN1ENqEeGoAtSeIK7WLg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u_RN1UNqEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_u_RN1kNqEeGoAtSeIK7WLg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_u_R04ENqEeGoAtSeIK7WLg" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_u_R04UNqEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u_R04kNqEeGoAtSeIK7WLg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_7XPQEENqEeGoAtSeIK7WLg" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7XP3IENqEeGoAtSeIK7WLg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7XP3IUNqEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7XP3IkNqEeGoAtSeIK7WLg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7XP3I0NqEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7XP3JENqEeGoAtSeIK7WLg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7XP3JUNqEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_7XP3JkNqEeGoAtSeIK7WLg" visible="false" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_7XQeMENqEeGoAtSeIK7WLg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_7XQeMUNqEeGoAtSeIK7WLg" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_7XQeMkNqEeGoAtSeIK7WLg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7XPQEUNqEeGoAtSeIK7WLg" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_-nzo8ENqEeGoAtSeIK7WLg" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-n0QAENqEeGoAtSeIK7WLg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-n0QAUNqEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-n0QAkNqEeGoAtSeIK7WLg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-n0QA0NqEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-n0QBENqEeGoAtSeIK7WLg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-n0QBUNqEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_-n0QBkNqEeGoAtSeIK7WLg" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WEWb0EN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_smS9UE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_-n0QB0NqEeGoAtSeIK7WLg" x="-99"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_-n0QCENqEeGoAtSeIK7WLg" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_-n0QCUNqEeGoAtSeIK7WLg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_-nk_cENqEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-nzo8UNqEeGoAtSeIK7WLg" x="117" y="36" width="20" height="20"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kffzwFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kffzwVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kffzwly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_JgU82s9XEeWyEP66wtWG_A" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_JgU8289XEeWyEP66wtWG_A" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_u7MmIENqEeGoAtSeIK7WLg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u_QmwUNqEeGoAtSeIK7WLg" x="90" y="144" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_1xcsQENqEeGoAtSeIK7WLg" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1xdTUENqEeGoAtSeIK7WLg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1xdTUUNqEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1xdTUkNqEeGoAtSeIK7WLg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1xdTU0NqEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1xdTVENqEeGoAtSeIK7WLg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1xdTVUNqEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_1xdTVkNqEeGoAtSeIK7WLg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_1xdTV0NqEeGoAtSeIK7WLg" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_1xdTWENqEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1xdTWUNqEeGoAtSeIK7WLg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_zeMyEEN8EeGfhclnRyNzoA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeOAMEN8EeGfhclnRyNzoA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeOAMUN8EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeOAMkN8EeGfhclnRyNzoA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeOAM0N8EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeOANEN8EeGfhclnRyNzoA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeOANUN8EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_zeOANkN8EeGfhclnRyNzoA" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a_mN0EN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mTaC8E4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_zeOAN0N8EeGfhclnRyNzoA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_zeOAOEN8EeGfhclnRyNzoA" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_zeOAOUN8EeGfhclnRyNzoA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_9gIc8ENvEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zeNZIEN8EeGfhclnRyNzoA" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_zePOUEN8EeGfhclnRyNzoA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeP1YEN8EeGfhclnRyNzoA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeP1YUN8EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeP1YkN8EeGfhclnRyNzoA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeP1Y0N8EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeP1ZEN8EeGfhclnRyNzoA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeP1ZUN8EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_zeP1ZkN8EeGfhclnRyNzoA" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_e8wcYEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dPSXEE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_zeP1Z0N8EeGfhclnRyNzoA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_zeP1aEN8EeGfhclnRyNzoA" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_zeP1aUN8EeGfhclnRyNzoA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zePOUUN8EeGfhclnRyNzoA" x="117" y="36"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kfho8Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kfho8Vy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kfho8ly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_JgU83M9XEeWyEP66wtWG_A" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_JgU83c9XEeWyEP66wtWG_A" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_1xGG8ENqEeGoAtSeIK7WLg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1xcsQUNqEeGoAtSeIK7WLg" x="468" y="144" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_H7kTUENrEeGoAtSeIK7WLg" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H7k6YENrEeGoAtSeIK7WLg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H7k6YUNrEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H7k6YkNrEeGoAtSeIK7WLg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H7k6Y0NrEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H7k6ZENrEeGoAtSeIK7WLg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H7k6ZUNrEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_H7k6ZkNrEeGoAtSeIK7WLg" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_H7k6Z0NrEeGoAtSeIK7WLg" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_H7k6aENrEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H7k6aUNrEeGoAtSeIK7WLg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_LIMnYENrEeGoAtSeIK7WLg" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LINOcENrEeGoAtSeIK7WLg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LINOcUNrEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LINOckNrEeGoAtSeIK7WLg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LINOc0NrEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LINOdENrEeGoAtSeIK7WLg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LINOdUNrEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_LINOdkNrEeGoAtSeIK7WLg" visible="false" type="Port_NameLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_LINOd0NrEeGoAtSeIK7WLg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_LINOeENrEeGoAtSeIK7WLg" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_LINOeUNrEeGoAtSeIK7WLg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LIMnYUNrEeGoAtSeIK7WLg" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_i742UEN8EeGfhclnRyNzoA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i76EcEN8EeGfhclnRyNzoA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i76rgEN8EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i76rgUN8EeGfhclnRyNzoA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i76rgkN8EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i76rg0N8EeGfhclnRyNzoA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i76rhEN8EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_i76rhUN8EeGfhclnRyNzoA" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UeOLgEN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eFDhcE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_i76rhkN8EeGfhclnRyNzoA" x="-99"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_i77SkEN8EeGfhclnRyNzoA" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_i77SkUN8EeGfhclnRyNzoA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_i5SOQEN8EeGfhclnRyNzoA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_i75dYEN8EeGfhclnRyNzoA" x="117" y="36" width="20" height="20"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kfi3EFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kfi3EVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kfi3Ely8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_JgU83s9XEeWyEP66wtWG_A" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_JgU8389XEeWyEP66wtWG_A" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_H7IOcENrEeGoAtSeIK7WLg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H7kTUUNrEeGoAtSeIK7WLg" x="279" y="144" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_pmSKYEN_EeGfhclnRyNzoA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pmSxcEN_EeGfhclnRyNzoA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pmSxcUN_EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pmSxckN_EeGfhclnRyNzoA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pmSxc0N_EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pmSxdEN_EeGfhclnRyNzoA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pmSxdUN_EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_pmSxdkN_EeGfhclnRyNzoA" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="core.uml#_pk4cMEN_EeGfhclnRyNzoA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pmSKYUN_EeGfhclnRyNzoA" x="351" y="390" width="391" height="79"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_JiYLQM9XEeWyEP66wtWG_A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_JiYLQc9XEeWyEP66wtWG_A" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JiYLQ89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_rSCxUAytEd6it_RkGhz_AA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JiYLQs9XEeWyEP66wtWG_A" x="317" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Jim0xs9XEeWyEP66wtWG_A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_Jim0x89XEeWyEP66wtWG_A" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jim0yc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_MhH6cENxEeGoAtSeIK7WLg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jim0yM9XEeWyEP66wtWG_A" x="190" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Ji3TcM9XEeWyEP66wtWG_A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_Ji3Tcc9XEeWyEP66wtWG_A" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Ji3Tc89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ji3Tcs9XEeWyEP66wtWG_A" x="190" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_JjJAQs9XEeWyEP66wtWG_A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_JjJAQ89XEeWyEP66wtWG_A" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JjJARc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_r5Va0AytEd6it_RkGhz_AA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JjJARM9XEeWyEP66wtWG_A" x="190" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_JjY34M9XEeWyEP66wtWG_A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_JjY34c9XEeWyEP66wtWG_A" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JjY3489XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Zd558ENxEeGoAtSeIK7WLg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JjY34s9XEeWyEP66wtWG_A" x="317" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_JjtoBs9XEeWyEP66wtWG_A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_JjtoB89XEeWyEP66wtWG_A" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JjuPEM9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JjtoCM9XEeWyEP66wtWG_A" x="317" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Jj84kM9XEeWyEP66wtWG_A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_Jj84kc9XEeWyEP66wtWG_A" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jj84k89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#__uJRYPNGEeCovO8AYZymZQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jj84ks9XEeWyEP66wtWG_A" x="290" y="405"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_JkMwMM9XEeWyEP66wtWG_A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_JkMwMc9XEeWyEP66wtWG_A" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JkMwM89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_rSCxUAytEd6it_RkGhz_AA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JkMwMs9XEeWyEP66wtWG_A" x="317" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_JkbZsM9XEeWyEP66wtWG_A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_JkbZsc9XEeWyEP66wtWG_A" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JkbZs89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_MhH6cENxEeGoAtSeIK7WLg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JkbZss9XEeWyEP66wtWG_A" x="190" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_JktGgM9XEeWyEP66wtWG_A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_JktGgc9XEeWyEP66wtWG_A" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JktGg89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JktGgs9XEeWyEP66wtWG_A" x="190" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Jk7I9s9XEeWyEP66wtWG_A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_Jk7I989XEeWyEP66wtWG_A" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jk7I-c9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_-nk_cENqEeGoAtSeIK7WLg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jk7I-M9XEeWyEP66wtWG_A" x="317" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_JlLnps9XEeWyEP66wtWG_A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_JlLnp89XEeWyEP66wtWG_A" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JlLnqc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_9gIc8ENvEeGoAtSeIK7WLg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JlLnqM9XEeWyEP66wtWG_A" x="190" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Jla4MM9XEeWyEP66wtWG_A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_Jla4Mc9XEeWyEP66wtWG_A" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jla4M89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jla4Ms9XEeWyEP66wtWG_A" x="317" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_JlslAM9XEeWyEP66wtWG_A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_JlslAc9XEeWyEP66wtWG_A" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JlslA89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JlslAs9XEeWyEP66wtWG_A" x="190" y="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Jl4yRs9XEeWyEP66wtWG_A" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_Jl4yR89XEeWyEP66wtWG_A" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jl4ySc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_i5SOQEN8EeGfhclnRyNzoA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jl4ySM9XEeWyEP66wtWG_A" x="317" y="36"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_hyMbAPNGEeCovO8AYZymZQ"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_JgU84M9XEeWyEP66wtWG_A" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="core.uml#_gKMTIAytEd6it_RkGhz_AA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_khmAgPNGEeCovO8AYZymZQ" type="Generalization_Edge" source="_u_QmwENqEeGoAtSeIK7WLg" target="_kENg8PNGEeCovO8AYZymZQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_khmnkPNGEeCovO8AYZymZQ" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_khmnkfNGEeCovO8AYZymZQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_khmAgfNGEeCovO8AYZymZQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_K088oF_rEd6RvK-1A151zQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_khmAgvNGEeCovO8AYZymZQ" points="[17, -30, -23, 39]$[23, -39, -17, 30]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4ud3AENqEeGoAtSeIK7WLg" id="(0.49606299212598426,0.0273972602739726)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OtJFEEN8EeGfhclnRyNzoA" id="(0.20569620253164558,0.958904109589041)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_sH_KIPNGEeCovO8AYZymZQ" type="Generalization_Edge" source="_1xcsQENqEeGoAtSeIK7WLg" target="_o1VGkPNGEeCovO8AYZymZQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_sH_xMPNGEeCovO8AYZymZQ" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_sIAYQPNGEeCovO8AYZymZQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_sH_KIfNGEeCovO8AYZymZQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_M09FgF_rEd6RvK-1A151zQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sH_KIvNGEeCovO8AYZymZQ" points="[-8, -30, 0, 77]$[0, -77, 8, 30]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5r5voENqEeGoAtSeIK7WLg" id="(0.4881889763779528,0.0958904109589041)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_EWU9cPNHEeCovO8AYZymZQ" type="Generalization_Edge" source="__uLGkPNGEeCovO8AYZymZQ" target="_iVJ-IPNGEeCovO8AYZymZQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_EWWLkPNHEeCovO8AYZymZQ" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_EWWLkfNHEeCovO8AYZymZQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_EWU9cfNHEeCovO8AYZymZQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_EWShMPNHEeCovO8AYZymZQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EWU9cvNHEeCovO8AYZymZQ" points="[2, -8, -13, 52]$[20, -42, 5, 18]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EWWyoPNHEeCovO8AYZymZQ" id="(0.4881889763779528,0.1095890410958904)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EWWyofNHEeCovO8AYZymZQ" id="(0.5196850393700787,0.9178082191780822)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_KH4Z4ENrEeGoAtSeIK7WLg" type="Generalization_Edge" source="_H7kTUENrEeGoAtSeIK7WLg" target="_kENg8PNGEeCovO8AYZymZQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_KH5A8ENrEeGoAtSeIK7WLg" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KH5oAENrEeGoAtSeIK7WLg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_KH4Z4UNrEeGoAtSeIK7WLg" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_KHmGAENrEeGoAtSeIK7WLg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KH4Z4kNrEeGoAtSeIK7WLg" points="[-4, -5, 94, 153]$[-95, -150, 3, 8]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KIePwENrEeGoAtSeIK7WLg" id="(0.5229357798165137,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KIePwUNrEeGoAtSeIK7WLg" id="(0.8142857142857143,0.9452054794520548)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_JiYLRM9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_ZjCy0PNHEeCovO8AYZymZQ" target="_JiYLQM9XEeWyEP66wtWG_A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_JiYLRc9XEeWyEP66wtWG_A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JiYLSc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_rSCxUAytEd6it_RkGhz_AA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JiYLRs9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JiYLR89XEeWyEP66wtWG_A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JiYLSM9XEeWyEP66wtWG_A"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Jim0ys9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_iVa2wEN9EeGfhclnRyNzoA" target="_Jim0xs9XEeWyEP66wtWG_A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_Jim0y89XEeWyEP66wtWG_A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jinb0M9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_MhH6cENxEeGoAtSeIK7WLg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Jim0zM9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jim0zc9XEeWyEP66wtWG_A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jim0zs9XEeWyEP66wtWG_A"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Ji3TdM9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_qJrqYPNGEeCovO8AYZymZQ" target="_Ji3TcM9XEeWyEP66wtWG_A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_Ji3Tdc9XEeWyEP66wtWG_A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Ji3Tec9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ji3Tds9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ji3Td89XEeWyEP66wtWG_A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ji3TeM9XEeWyEP66wtWG_A"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_JjJARs9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_bc1mAPNHEeCovO8AYZymZQ" target="_JjJAQs9XEeWyEP66wtWG_A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_JjJAR89XEeWyEP66wtWG_A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JjJAS89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_r5Va0AytEd6it_RkGhz_AA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JjJASM9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JjJASc9XEeWyEP66wtWG_A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JjJASs9XEeWyEP66wtWG_A"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_JjY35M9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_cQDbAEN9EeGfhclnRyNzoA" target="_JjY34M9XEeWyEP66wtWG_A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_JjY35c9XEeWyEP66wtWG_A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JjY36c9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Zd558ENxEeGoAtSeIK7WLg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JjY35s9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JjY3589XEeWyEP66wtWG_A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JjY36M9XEeWyEP66wtWG_A"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_JjuPEc9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_qpQiUPNGEeCovO8AYZymZQ" target="_JjtoBs9XEeWyEP66wtWG_A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_JjuPEs9XEeWyEP66wtWG_A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JjuPFs9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JjuPE89XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JjuPFM9XEeWyEP66wtWG_A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JjuPFc9XEeWyEP66wtWG_A"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Jj84lM9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="__uLGkPNGEeCovO8AYZymZQ" target="_Jj84kM9XEeWyEP66wtWG_A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_Jj84lc9XEeWyEP66wtWG_A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jj84mc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#__uJRYPNGEeCovO8AYZymZQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Jj84ls9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jj84l89XEeWyEP66wtWG_A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jj84mM9XEeWyEP66wtWG_A"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_JkMwNM9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_KNC08PQSEeCovO8AYZymZQ" target="_JkMwMM9XEeWyEP66wtWG_A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_JkMwNc9XEeWyEP66wtWG_A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JkMwOc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_rSCxUAytEd6it_RkGhz_AA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JkMwNs9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JkMwN89XEeWyEP66wtWG_A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JkMwOM9XEeWyEP66wtWG_A"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_JkbZtM9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_vzOfsEN9EeGfhclnRyNzoA" target="_JkbZsM9XEeWyEP66wtWG_A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_JkbZtc9XEeWyEP66wtWG_A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JkbZuc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_MhH6cENxEeGoAtSeIK7WLg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JkbZts9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JkbZt89XEeWyEP66wtWG_A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JkbZuM9XEeWyEP66wtWG_A"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_JktGhM9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_7XPQEENqEeGoAtSeIK7WLg" target="_JktGgM9XEeWyEP66wtWG_A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_JktGhc9XEeWyEP66wtWG_A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JktGic9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JktGhs9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JktGh89XEeWyEP66wtWG_A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JktGiM9XEeWyEP66wtWG_A"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Jk7I-s9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_-nzo8ENqEeGoAtSeIK7WLg" target="_Jk7I9s9XEeWyEP66wtWG_A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_Jk7I-89XEeWyEP66wtWG_A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jk7wAM9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_-nk_cENqEeGoAtSeIK7WLg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Jk7I_M9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jk7I_c9XEeWyEP66wtWG_A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jk7I_s9XEeWyEP66wtWG_A"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_JlLnqs9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_zeMyEEN8EeGfhclnRyNzoA" target="_JlLnps9XEeWyEP66wtWG_A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_JlLnq89XEeWyEP66wtWG_A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JlMOss9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_9gIc8ENvEeGoAtSeIK7WLg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JlLnrM9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JlMOsM9XEeWyEP66wtWG_A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JlMOsc9XEeWyEP66wtWG_A"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Jla4NM9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_zePOUEN8EeGfhclnRyNzoA" target="_Jla4MM9XEeWyEP66wtWG_A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_Jla4Nc9XEeWyEP66wtWG_A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jla4Oc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Jla4Ns9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jla4N89XEeWyEP66wtWG_A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jla4OM9XEeWyEP66wtWG_A"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_JlslBM9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_LIMnYENrEeGoAtSeIK7WLg" target="_JlslAM9XEeWyEP66wtWG_A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_JlslBc9XEeWyEP66wtWG_A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JlslCc9XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JlslBs9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JlslB89XEeWyEP66wtWG_A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JlslCM9XEeWyEP66wtWG_A"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Jl4ySs9XEeWyEP66wtWG_A" type="StereotypeCommentLink" source="_i742UEN8EeGfhclnRyNzoA" target="_Jl4yRs9XEeWyEP66wtWG_A">
-      <styles xmi:type="notation:FontStyle" xmi:id="_Jl4yS89XEeWyEP66wtWG_A"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Jl4yT89XEeWyEP66wtWG_A" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_i5SOQEN8EeGfhclnRyNzoA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Jl4yTM9XEeWyEP66wtWG_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jl4yTc9XEeWyEP66wtWG_A"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jl4yTs9XEeWyEP66wtWG_A"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_cVCGYPNUEeCovO8AYZymZQ" type="PapyrusUMLClassDiagram" name="Class: Marshalling" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_jQk8MPNUEeCovO8AYZymZQ" type="2006" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQljQPNUEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQljQfNUEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQljQvNUEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQljQ_NUEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQljRPNUEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQljRfNUEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_jQmKUPNUEeCovO8AYZymZQ" type="5023"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_jQmKUfNUEeCovO8AYZymZQ" type="7015">
-        <children xmi:type="notation:Shape" xmi:id="_jv7KoPNUEeCovO8AYZymZQ" type="3017" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:EnumerationLiteral" href="core.uml#_jv4uYPNUEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_jv7KofNUEeCovO8AYZymZQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_kuE08PNUEeCovO8AYZymZQ" type="3017" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:EnumerationLiteral" href="core.uml#_kuDm0PNUEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kuE08fNUEeCovO8AYZymZQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_ljFxYPNUEeCovO8AYZymZQ" type="3017" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:EnumerationLiteral" href="core.uml#_ljD8MPNUEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ljFxYfNUEeCovO8AYZymZQ"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_jQmKUvNUEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_jQmKU_NUEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_jQmKVPNUEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jQmKVfNUEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kcbRoFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kcbRoVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kcbRoly8EeOwKfaVRwV11Q"/>
-      </children>
-      <element xmi:type="uml:Enumeration" href="core.uml#_jQjHAPNUEeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jQk8MfNUEeCovO8AYZymZQ" x="387" y="83"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_SPPn0FjnEeKaM_PspnG53g" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SPRdAFjnEeKaM_PspnG53g" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SPSEEFjnEeKaM_PspnG53g" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SPSEEVjnEeKaM_PspnG53g" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SPSEEljnEeKaM_PspnG53g" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SPSEE1jnEeKaM_PspnG53g" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SPSEFFjnEeKaM_PspnG53g" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_SPSEFVjnEeKaM_PspnG53g" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_SPSrIFjnEeKaM_PspnG53g" type="7017">
-        <children xmi:type="notation:Shape" xmi:id="_USG3cFjnEeKaM_PspnG53g" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d1EbcFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eOY6YFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="core.uml#_YKtbAPNUEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_USG3cVjnEeKaM_PspnG53g"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_USHegFjnEeKaM_PspnG53g" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d1FCgFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eOaIgFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="core.uml#_gQGNwPNUEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_USHegVjnEeKaM_PspnG53g"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_USIFkFjnEeKaM_PspnG53g" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d1FCgljnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eOavkFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="core.uml#_-_HCMBI0EeGU49ezpRnvLg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_USIFkVjnEeKaM_PspnG53g"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_USIsoFjnEeKaM_PspnG53g" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ffmDkFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ffmDkVjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="60"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="core.uml#_qzHgkPNUEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_USIsoVjnEeKaM_PspnG53g"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_SPSrIVjnEeKaM_PspnG53g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_SPSrIljnEeKaM_PspnG53g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_SPSrI1jnEeKaM_PspnG53g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SPSrJFjnEeKaM_PspnG53g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_SPSrJVjnEeKaM_PspnG53g" visible="false" type="7018">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_SPSrJljnEeKaM_PspnG53g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_SPSrJ1jnEeKaM_PspnG53g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_SPSrKFjnEeKaM_PspnG53g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SPSrKVjnEeKaM_PspnG53g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_SPSrKljnEeKaM_PspnG53g" visible="false" type="7019">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_SPSrK1jnEeKaM_PspnG53g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_SPSrLFjnEeKaM_PspnG53g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_SPSrLVjnEeKaM_PspnG53g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SPSrLljnEeKaM_PspnG53g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kccfwFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kccfwVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kccfwly8EeOwKfaVRwV11Q"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_WkkjoPNUEeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SPPn0VjnEeKaM_PspnG53g" x="130" y="78"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_cVCGYfNUEeCovO8AYZymZQ"/>
-    <element xmi:type="uml:Package" href="core.uml#_gKMTIAytEd6it_RkGhz_AA"/>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_g6Yg0CnOEeGxrprK9wB9iA" type="CompositeStructure" name="Service configuration" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_hvsYMCnOEeGxrprK9wB9iA" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hvs_QCnOEeGxrprK9wB9iA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hvtmUCnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hvtmUSnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hvtmUinOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hvtmUynOEeGxrprK9wB9iA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hvtmVCnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_hvtmVSnOEeGxrprK9wB9iA" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hvuNYCnOEeGxrprK9wB9iA" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_j5-ecCnOEeGxrprK9wB9iA" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_j5_FgCnOEeGxrprK9wB9iA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_j5_FgSnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_j5_FginOEeGxrprK9wB9iA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_j5_FgynOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_j5_FhCnOEeGxrprK9wB9iA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_j5_FhSnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_j5_FhinOEeGxrprK9wB9iA" type="Property_NameLabel">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eASCYFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eBKMIFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_j5_skCnOEeGxrprK9wB9iA" visible="false" type="Property_StructureCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_j5_skSnOEeGxrprK9wB9iA" showTitle="true"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_j5_skinOEeGxrprK9wB9iA"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kNDY4Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kNDY4Vy8EeOwKfaVRwV11Q" showTitle="true"/>
-            <element xmi:type="FCM:ConfigurationProperty" href="core.uml#_s0fGMMGJEd-Mveea1W_olA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNDY4ly8EeOwKfaVRwV11Q"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kNDY41y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kNDY5Fy8EeOwKfaVRwV11Q"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNDY5Vy8EeOwKfaVRwV11Q"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_90xUEguXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_90xUEwuXEeWXe7AeBUbqvw" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="core.uml#_rVfYoMGJEd-Mveea1W_olA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_j5-ecSnOEeGxrprK9wB9iA" x="10" y="10" width="131"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_lEz54CnOEeGxrprK9wB9iA" type="Comment_Shape_CN" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lEz54inOEeGxrprK9wB9iA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lE0g8CnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lE0g8SnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lE0g8inOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lE0g8ynOEeGxrprK9wB9iA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lE0g9CnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_lE0g9SnOEeGxrprK9wB9iA" type="Comment_BodyLabel_CN"/>
-          <element xmi:type="uml:Comment" href="core.uml#_lCtoICnOEeGxrprK9wB9iA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEz54SnOEeGxrprK9wB9iA" x="201" y="10" width="291" height="64"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_93ep0AuXEeWXe7AeBUbqvw" type="StereotypeComment">
-          <styles xmi:type="notation:TitleStyle" xmi:id="_93ep0QuXEeWXe7AeBUbqvw" showTitle="true"/>
-          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_93ep0wuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-            <eObjectValue xmi:type="uml:Property" href="core.uml#_rVfYoMGJEd-Mveea1W_olA"/>
-          </styles>
-          <element xsi:nil="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_93ep0guXEeWXe7AeBUbqvw" x="210" y="10"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hvuNYSnOEeGxrprK9wB9iA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hvuNYinOEeGxrprK9wB9iA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kNBjsFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kNBjsVy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="C_Cpp:Include" href="core.uml#_Q7TVYBJcEd-QgZm_R1AKbA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNBjsly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kNBjs1y8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kNBjtFy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="SW_Concurrency:SwSchedulableResource" href="core.uml#_42YPYBn3EeONpa5JgejICQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNBjtVy8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kNBjtly8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kNBjt1y8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNBjuFy8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_90xUEAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_90xUEQuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hvsYMSnOEeGxrprK9wB9iA" x="62" y="64" width="524" height="166"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_t6v_0CnOEeGxrprK9wB9iA" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6wm4CnOEeGxrprK9wB9iA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6wm4SnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6wm4inOEeGxrprK9wB9iA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6wm4ynOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6xN8CnOEeGxrprK9wB9iA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6xN8SnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_t6xN8inOEeGxrprK9wB9iA" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_t6xN8ynOEeGxrprK9wB9iA" type="Class_StructureCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_vBLcYCnOEeGxrprK9wB9iA" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBMDcCnOEeGxrprK9wB9iA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vBMqgCnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBMqgSnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vBNRkCnOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBNRkSnOEeGxrprK9wB9iA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vBNRkinOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_vBNRkynOEeGxrprK9wB9iA" type="Property_NameLabel">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_chkosFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_co8cAFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_vBNRlCnOEeGxrprK9wB9iA" visible="false" type="Property_StructureCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_vBNRlSnOEeGxrprK9wB9iA" showTitle="true"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vBNRlinOEeGxrprK9wB9iA"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kNF1IFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kNF1IVy8EeOwKfaVRwV11Q" showTitle="true"/>
-            <element xmi:type="FCM:ConfigurationProperty" href="core.uml#_zVumMCjbEeGFbebITJYb9g"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNF1Ily8EeOwKfaVRwV11Q"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_kNF1I1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_kNF1JFy8EeOwKfaVRwV11Q"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNF1JVy8EeOwKfaVRwV11Q"/>
-          </children>
-          <children xmi:type="notation:DecorationNode" xmi:id="_90xUFguXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_90xUFwuXEeWXe7AeBUbqvw" y="5"/>
-          </children>
-          <element xmi:type="uml:Property" href="core.uml#_tmNeoCjbEeGFbebITJYb9g"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vBLcYSnOEeGxrprK9wB9iA" x="10" y="10" width="173"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_zNMJ0CnOEeGxrprK9wB9iA" type="Comment_Shape_CN" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zNMw4SnOEeGxrprK9wB9iA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zNMw4inOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zNNX8CnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zNNX8SnOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zNNX8inOEeGxrprK9wB9iA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zNNX8ynOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_zNNX9CnOEeGxrprK9wB9iA" type="Comment_BodyLabel_CN"/>
-          <element xmi:type="uml:Comment" href="core.uml#_zLeSkCnOEeGxrprK9wB9iA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zNMw4CnOEeGxrprK9wB9iA" x="219" y="15" width="270"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_93q3EAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-          <styles xmi:type="notation:TitleStyle" xmi:id="_93q3EQuXEeWXe7AeBUbqvw" showTitle="true"/>
-          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_93q3EwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-            <eObjectValue xmi:type="uml:Property" href="core.uml#_tmNeoCjbEeGFbebITJYb9g"/>
-          </styles>
-          <element xsi:nil="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_93q3EguXEeWXe7AeBUbqvw" x="210" y="10"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_t6xN9CnOEeGxrprK9wB9iA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t6xN9SnOEeGxrprK9wB9iA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kNEnAFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kNEnAVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNEnAly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_90xUFAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_90xUFQuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_9V8OQCjYEeGFbebITJYb9g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t6v_0SnOEeGxrprK9wB9iA" x="65" y="245" width="521" height="172"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_RANSwCo0EeGxrprK9wB9iA" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RAN50Co0EeGxrprK9wB9iA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RAN50So0EeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RAN50io0EeGxrprK9wB9iA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RAN50yo0EeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RAN51Co0EeGxrprK9wB9iA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RAN51So0EeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_RAN51io0EeGxrprK9wB9iA" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_RAN51yo0EeGxrprK9wB9iA" visible="false" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_RAN52Co0EeGxrprK9wB9iA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RAN52So0EeGxrprK9wB9iA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kNHqUFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kNHqUVy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="C_Cpp:Include" href="pathmap://QML_CORE/osal.uml#_tNGmwDkUEdyuzNpSiGPe4w"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNHqUly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kNHqU1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kNHqVFy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNHqVVy8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_90x7IAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_90x7IQuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_ETakYDj8Edy0Rd6V_tf1-Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RANSwSo0EeGxrprK9wB9iA" x="652" y="261" width="60" height="55"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_93Lu4AuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_93Lu4QuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_93Lu4wuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_93Lu4guXEeWXe7AeBUbqvw" x="262" y="64"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9312MAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9312MQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9312MwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_ETakYDj8Edy0Rd6V_tf1-Q"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9312MguXEeWXe7AeBUbqvw" x="852" y="261"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_g6Yg0SnOEeGxrprK9wB9iA"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_90x7IguXEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="core.uml#_xtlE8ARAEd--t-uhRn9OBA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_mp1-ACnOEeGxrprK9wB9iA" type="Comment_AnnotatedElementEdge" source="_lEz54CnOEeGxrprK9wB9iA" target="_j5-ecCnOEeGxrprK9wB9iA" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_mp1-ASnOEeGxrprK9wB9iA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mp1-AinOEeGxrprK9wB9iA" points="[-50, -4, 105, 6]$[-136, -16, 19, -6]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e4-FsMTgEeWfEYAFL-UFuw" id="(0.0,0.14432989690721648)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mthkICnOEeGxrprK9wB9iA" id="(0.8137254901960784,0.3559322033898305)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_0Tj8ACnOEeGxrprK9wB9iA" type="Comment_AnnotatedElementEdge" source="_zNMJ0CnOEeGxrprK9wB9iA" target="_vBLcYCnOEeGxrprK9wB9iA" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_0Tj8ASnOEeGxrprK9wB9iA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0Tj8AinOEeGxrprK9wB9iA" points="[-20, -6, 63, 16]$[-56, -25, 27, -3]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0V4QMCnOEeGxrprK9wB9iA" id="(0.0,0.05263157894736842)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0V4QMSnOEeGxrprK9wB9iA" id="(0.8439306358381503,0.35)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_SZ63sCo0EeGxrprK9wB9iA" type="Dependency_Edge" source="_t6v_0CnOEeGxrprK9wB9iA" target="_RANSwCo0EeGxrprK9wB9iA" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_SZ7ewCo0EeGxrprK9wB9iA" visible="false" type="Dependency_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_SZ7ewSo0EeGxrprK9wB9iA" y="60"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_SZ7ewio0EeGxrprK9wB9iA" type="Dependency_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_SZ7ewyo0EeGxrprK9wB9iA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_SZ63sSo0EeGxrprK9wB9iA" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Dependency" href="core.uml#_SXkHQCo0EeGxrprK9wB9iA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SZ63sio0EeGxrprK9wB9iA" points="[19, -6, -74, 0]$[85, -6, -8, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sd71ACo0EeGxrprK9wB9iA" id="(1.0,0.2670807453416149)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sd71ASo0EeGxrprK9wB9iA" id="(0.0,0.4909090909090909)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_93Lu5AuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_hvsYMCnOEeGxrprK9wB9iA" target="_93Lu4AuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_93Lu5QuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_93Lu6QuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_93Lu5guXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_93Lu5wuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_93Lu6AuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_93ep1AuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_j5-ecCnOEeGxrprK9wB9iA" target="_93ep0AuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_93ep1QuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_93fQ4guXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Property" href="core.uml#_rVfYoMGJEd-Mveea1W_olA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_93ep1guXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_93fQ4AuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_93fQ4QuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_93q3FAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_vBLcYCnOEeGxrprK9wB9iA" target="_93q3EAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_93q3FQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_93q3GQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Property" href="core.uml#_tmNeoCjbEeGFbebITJYb9g"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_93q3FguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_93q3FwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_93q3GAuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9312NAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_RANSwCo0EeGxrprK9wB9iA" target="_9312MAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9312NQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9312OQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_ETakYDj8Edy0Rd6V_tf1-Q"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9312NguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9312NwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9312OAuXEeWXe7AeBUbqvw"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_OhgzgD8AEeGJ6KSvhYhYuQ" type="CompositeStructure" name="CallActivation" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_SgFh4D8AEeGJ6KSvhYhYuQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SgGI8D8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SgGI8T8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SgGI8j8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SgGI8z8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SgGI9D8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SgGI9T8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_SgGI9j8AEeGJ6KSvhYhYuQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_SgGI9z8AEeGJ6KSvhYhYuQ" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_SgGI-D8AEeGJ6KSvhYhYuQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SgGI-T8AEeGJ6KSvhYhYuQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_dcQ7kD8AEeGJ6KSvhYhYuQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcSJsD8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcSJsT8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcSJsj8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcSJsz8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcSJtD8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcSJtT8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_dcSJtj8AEeGJ6KSvhYhYuQ" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kA0sEFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nFWNAFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_dcSwwD8AEeGJ6KSvhYhYuQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_dcSwwT8AEeGJ6KSvhYhYuQ" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_dcSwwj8AEeGJ6KSvhYhYuQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dcRioD8AEeGJ6KSvhYhYuQ" x="-10" y="23"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_dcSwwz8AEeGJ6KSvhYhYuQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcTX0D8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcTX0T8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcTX0j8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcTX0z8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcTX1D8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcTX1T8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_dcTX1j8AEeGJ6KSvhYhYuQ" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kq-cUFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nqWXgFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_dcTX1z8AEeGJ6KSvhYhYuQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_dcTX2D8AEeGJ6KSvhYhYuQ" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_dcTX2T8AEeGJ6KSvhYhYuQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dcSwxD8AEeGJ6KSvhYhYuQ" x="360" y="23"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kaQHYFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kaQHYVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kaQHYly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mmeaUMp6EeWZ7LDc4RWI6w" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mmeaUcp6EeWZ7LDc4RWI6w" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_e6Y_EChYEd-eoo60eNyGlg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SgFh4T8AEeGJ6KSvhYhYuQ" x="117" y="99" width="370"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_S-NoUD8AEeGJ6KSvhYhYuQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S-OPYD8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S-OPYT8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S-OPYj8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S-OPYz8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S-OPZD8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S-OPZT8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_S-O2cD8AEeGJ6KSvhYhYuQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_S-O2cT8AEeGJ6KSvhYhYuQ" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_S-O2cj8AEeGJ6KSvhYhYuQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S-O2cz8AEeGJ6KSvhYhYuQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_1JUC4D8EEeGJ6KSvhYhYuQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JUp8D8EEeGJ6KSvhYhYuQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JUp8T8EEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JUp8j8EEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JUp8z8EEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JVRAD8EEeGJ6KSvhYhYuQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JVRAT8EEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_1JVRAj8EEeGJ6KSvhYhYuQ" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l3gg4FbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mBsXoFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JVRAz8EEeGJ6KSvhYhYuQ" x="27" y="18"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_1JVRBD8EEeGJ6KSvhYhYuQ" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JVRBT8EEeGJ6KSvhYhYuQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_N0tB4Cu4Ed-uZPFNCty7PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1JUC4T8EEeGJ6KSvhYhYuQ" x="45" y="63"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_1JVRBj8EEeGJ6KSvhYhYuQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JV4ED8EEeGJ6KSvhYhYuQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JV4ET8EEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JV4Ej8EEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JV4Ez8EEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JV4FD8EEeGJ6KSvhYhYuQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JV4FT8EEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_1JV4Fj8EEeGJ6KSvhYhYuQ" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lQgyUFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lXdH0FbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JV4Fz8EEeGJ6KSvhYhYuQ" x="27" y="27"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_1JWfID8EEeGJ6KSvhYhYuQ" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JWfIT8EEeGJ6KSvhYhYuQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1JVRBz8EEeGJ6KSvhYhYuQ" x="99" y="27"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_1JWfIj8EEeGJ6KSvhYhYuQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JXGMD8EEeGJ6KSvhYhYuQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JXGMT8EEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JXGMj8EEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JXGMz8EEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JXtQD8EEeGJ6KSvhYhYuQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JXtQT8EEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_1JXtQj8EEeGJ6KSvhYhYuQ" type="Port_NameLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jaFcMFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mifXkFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JXtQz8EEeGJ6KSvhYhYuQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_1JXtRD8EEeGJ6KSvhYhYuQ" type="Port_StereotypeLabel">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JXtRT8EEeGJ6KSvhYhYuQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1JWfIz8EEeGJ6KSvhYhYuQ" x="-10" y="27"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kaTKsFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kaTKsVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kaTKsly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mmeaUsp6EeWZ7LDc4RWI6w" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mmeaU8p6EeWZ7LDc4RWI6w" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_qgzokChYEd-eoo60eNyGlg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S-NoUT8AEeGJ6KSvhYhYuQ" x="117" y="189" width="109" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_TeWg8D8AEeGJ6KSvhYhYuQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TeWg8j8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TeXIAD8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TeXIAT8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TeXIAj8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TeXIAz8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TeXIBD8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_TeXIBT8AEeGJ6KSvhYhYuQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_TeXIBj8AEeGJ6KSvhYhYuQ" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_TeXIBz8AEeGJ6KSvhYhYuQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TeXICD8AEeGJ6KSvhYhYuQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kaVm8Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kaVm8Vy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kaVm8ly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mmeaVMp6EeWZ7LDc4RWI6w" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mmeaVcp6EeWZ7LDc4RWI6w" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_2wMyEChiEd-eoo60eNyGlg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TeWg8T8AEeGJ6KSvhYhYuQ" x="252" y="189"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_T7ZpUD8AEeGJ6KSvhYhYuQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T7aQYD8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_T7aQYT8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T7aQYj8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_T7aQYz8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T7aQZD8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_T7aQZT8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_T7aQZj8AEeGJ6KSvhYhYuQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_T7aQZz8AEeGJ6KSvhYhYuQ" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_T7aQaD8AEeGJ6KSvhYhYuQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T7aQaT8AEeGJ6KSvhYhYuQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kaW1EFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kaW1EVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kaW1Ely8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mmeaVsp6EeWZ7LDc4RWI6w" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mmeaV8p6EeWZ7LDc4RWI6w" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_6rmQoChiEd-eoo60eNyGlg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T7ZpUT8AEeGJ6KSvhYhYuQ" x="387" y="189" width="95"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_gXAOYD8AEeGJ6KSvhYhYuQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gXA1cD8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gXA1cT8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gXA1cj8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gXA1cz8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gXA1dD8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gXA1dT8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_gXA1dj8AEeGJ6KSvhYhYuQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_gXBcgD8AEeGJ6KSvhYhYuQ" type="Class_StructureCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_gXBcgT8AEeGJ6KSvhYhYuQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gXBcgj8AEeGJ6KSvhYhYuQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kaXcIFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kaXcIVy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="FCM:InteractionComponent" href="core.uml#_s8OWIFR1Ed6GqrP6fkWBoQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kaXcIly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kaYDMFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kaYDMVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kaYDMly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mmeaWMp6EeWZ7LDc4RWI6w" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mmeaWcp6EeWZ7LDc4RWI6w" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_KxQBELuXEd2TTr3gJIvazw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gXAOYT8AEeGJ6KSvhYhYuQ" x="117" y="18" width="370"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_aCZK0D8CEeGJ6KSvhYhYuQ" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aCZx4D8CEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aCZx4T8CEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aCZx4j8CEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aCZx4z8CEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aCZx5D8CEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aCZx5T8CEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_aCZx5j8CEeGJ6KSvhYhYuQ" type="Comment_BodyLabel"/>
-      <element xmi:type="uml:Comment" href="core.uml#_aAH58D8CEeGJ6KSvhYhYuQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aCZK0T8CEeGJ6KSvhYhYuQ" x="72" y="297" width="336" height="91"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_jQ_BUD8CEeGJ6KSvhYhYuQ" type="Enumeration_Shape" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQ_BUj8CEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQ_BUz8CEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQ_oYD8CEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQ_oYT8CEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQ_oYj8CEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQ_oYz8CEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_jQ_oZD8CEeGJ6KSvhYhYuQ" type="Enumeration_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_jQ_oZT8CEeGJ6KSvhYhYuQ" type="Enumeration_LiteralCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_XhHrcD8DEeGJ6KSvhYhYuQ" type="EnumerationLiteral_LiteralLabel" fontName="" fontHeight="10" lineColor="0">
-          <element xmi:type="uml:EnumerationLiteral" href="core.uml#_mzqd4D8CEeGJ6KSvhYhYuQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_XhHrcT8DEeGJ6KSvhYhYuQ" x="63"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_XhjwUD8DEeGJ6KSvhYhYuQ" type="EnumerationLiteral_LiteralLabel" fontName="" fontHeight="10" lineColor="0">
-          <element xmi:type="uml:EnumerationLiteral" href="core.uml#_qdIe8D8CEeGJ6KSvhYhYuQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_XhjwUT8DEeGJ6KSvhYhYuQ" x="63"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_XiAcQD8DEeGJ6KSvhYhYuQ" type="EnumerationLiteral_LiteralLabel" fontName="" fontHeight="10" lineColor="0">
-          <element xmi:type="uml:EnumerationLiteral" href="core.uml#_rOMvgD8CEeGJ6KSvhYhYuQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_XiAcQT8DEeGJ6KSvhYhYuQ" x="63"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_jQ_oZj8CEeGJ6KSvhYhYuQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_jQ_oZz8CEeGJ6KSvhYhYuQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_jQ_oaD8CEeGJ6KSvhYhYuQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jQ_oaT8CEeGJ6KSvhYhYuQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kaZRUFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kaZRUVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kaZRUly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mmeaWsp6EeWZ7LDc4RWI6w" type="Enumeration_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mmeaW8p6EeWZ7LDc4RWI6w" y="5"/>
-      </children>
-      <element xmi:type="uml:Enumeration" href="core.uml#_hcwDkD8CEeGJ6KSvhYhYuQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jQ_BUT8CEeGJ6KSvhYhYuQ" x="441" y="261" width="164"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_mpJ64Mp6EeWZ7LDc4RWI6w" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_mpJ64cp6EeWZ7LDc4RWI6w" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mpJ648p6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mpJ64sp6EeWZ7LDc4RWI6w" x="190" y="23"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_mpfSEMp6EeWZ7LDc4RWI6w" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_mpfSEcp6EeWZ7LDc4RWI6w" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mpfSE8p6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mpfSEsp6EeWZ7LDc4RWI6w" x="560" y="23"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_mpvwwMp6EeWZ7LDc4RWI6w" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_mpvwwcp6EeWZ7LDc4RWI6w" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mpvww8p6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_N0tB4Cu4Ed-uZPFNCty7PQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mpvwwsp6EeWZ7LDc4RWI6w" x="245" y="63"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_mp-aQMp6EeWZ7LDc4RWI6w" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_mp-aQcp6EeWZ7LDc4RWI6w" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mp-aQ8p6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mp-aQsp6EeWZ7LDc4RWI6w" x="299" y="27"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_mqNq0Mp6EeWZ7LDc4RWI6w" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_mqNq0cp6EeWZ7LDc4RWI6w" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mqOR4Mp6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mqNq0sp6EeWZ7LDc4RWI6w" x="190" y="27"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_mqhz4Mp6EeWZ7LDc4RWI6w" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_mqhz4cp6EeWZ7LDc4RWI6w" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mqhz48p6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_KxQBELuXEd2TTr3gJIvazw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mqhz4sp6EeWZ7LDc4RWI6w" x="317" y="18"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_OhgzgT8AEeGJ6KSvhYhYuQ"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_mmfBYMp6EeWZ7LDc4RWI6w" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="core.uml#_aQ7goChYEd-eoo60eNyGlg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_WFrvkD8AEeGJ6KSvhYhYuQ" type="Generalization_Edge" source="_S-NoUD8AEeGJ6KSvhYhYuQ" target="_SgFh4D8AEeGJ6KSvhYhYuQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_WFtkwD8AEeGJ6KSvhYhYuQ" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_WFuL0D8AEeGJ6KSvhYhYuQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_WFrvkT8AEeGJ6KSvhYhYuQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_sW6OkChYEd-eoo60eNyGlg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WFrvkj8AEeGJ6KSvhYhYuQ" points="[-8, -29, 27, 101]$[-27, -100, 8, 30]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tiKoID8AEeGJ6KSvhYhYuQ" id="(0.15135135135135136,0.8813559322033898)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_XN1DYD8AEeGJ6KSvhYhYuQ" type="Generalization_Edge" source="_TeWg8D8AEeGJ6KSvhYhYuQ" target="_SgFh4D8AEeGJ6KSvhYhYuQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_XN1qcD8AEeGJ6KSvhYhYuQ" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_XN1qcT8AEeGJ6KSvhYhYuQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_XN1DYT8AEeGJ6KSvhYhYuQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_5AKpkChiEd-eoo60eNyGlg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XN1DYj8AEeGJ6KSvhYhYuQ" points="[-7, -29, 37, 186]$[-38, -185, 6, 30]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_YLQU8D8AEeGJ6KSvhYhYuQ" type="Generalization_Edge" source="_T7ZpUD8AEeGJ6KSvhYhYuQ" target="_SgFh4D8AEeGJ6KSvhYhYuQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_YLQ8AD8AEeGJ6KSvhYhYuQ" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_YLQ8AT8AEeGJ6KSvhYhYuQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_YLQU8T8AEeGJ6KSvhYhYuQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_892AEChiEd-eoo60eNyGlg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YLQU8j8AEeGJ6KSvhYhYuQ" points="[-2, -29, 15, 281]$[-16, -280, 1, 30]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vL-ekD8AEeGJ6KSvhYhYuQ" id="(0.8729729729729729,0.8983050847457628)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_gXiZ4D8AEeGJ6KSvhYhYuQ" type="Generalization_Edge" source="_SgFh4D8AEeGJ6KSvhYhYuQ" target="_gXAOYD8AEeGJ6KSvhYhYuQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_gXjA8D8AEeGJ6KSvhYhYuQ" type="Generalization_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_gXjA8T8AEeGJ6KSvhYhYuQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_gXiZ4T8AEeGJ6KSvhYhYuQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_oJX3IChYEd-eoo60eNyGlg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gXiZ4j8AEeGJ6KSvhYhYuQ" points="[-103, -29, 202, 58]$[-305, -87, 0, 0]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_mpJ65Mp6EeWZ7LDc4RWI6w" type="StereotypeCommentLink" source="_dcQ7kD8AEeGJ6KSvhYhYuQ" target="_mpJ64Mp6EeWZ7LDc4RWI6w">
-      <styles xmi:type="notation:FontStyle" xmi:id="_mpJ65cp6EeWZ7LDc4RWI6w"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mpJ66cp6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mpJ65sp6EeWZ7LDc4RWI6w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mpJ658p6EeWZ7LDc4RWI6w"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mpJ66Mp6EeWZ7LDc4RWI6w"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_mpfSFMp6EeWZ7LDc4RWI6w" type="StereotypeCommentLink" source="_dcSwwz8AEeGJ6KSvhYhYuQ" target="_mpfSEMp6EeWZ7LDc4RWI6w">
-      <styles xmi:type="notation:FontStyle" xmi:id="_mpfSFcp6EeWZ7LDc4RWI6w"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mpfSGcp6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mpfSFsp6EeWZ7LDc4RWI6w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mpfSF8p6EeWZ7LDc4RWI6w"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mpfSGMp6EeWZ7LDc4RWI6w"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_mpvwxMp6EeWZ7LDc4RWI6w" type="StereotypeCommentLink" source="_1JUC4D8EEeGJ6KSvhYhYuQ" target="_mpvwwMp6EeWZ7LDc4RWI6w">
-      <styles xmi:type="notation:FontStyle" xmi:id="_mpvwxcp6EeWZ7LDc4RWI6w"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mpvwycp6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_N0tB4Cu4Ed-uZPFNCty7PQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mpvwxsp6EeWZ7LDc4RWI6w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mpvwx8p6EeWZ7LDc4RWI6w"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mpvwyMp6EeWZ7LDc4RWI6w"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_mp-aRMp6EeWZ7LDc4RWI6w" type="StereotypeCommentLink" source="_1JVRBj8EEeGJ6KSvhYhYuQ" target="_mp-aQMp6EeWZ7LDc4RWI6w">
-      <styles xmi:type="notation:FontStyle" xmi:id="_mp-aRcp6EeWZ7LDc4RWI6w"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mp_BUMp6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mp-aRsp6EeWZ7LDc4RWI6w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mp-aR8p6EeWZ7LDc4RWI6w"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mp-aSMp6EeWZ7LDc4RWI6w"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_mqOR4cp6EeWZ7LDc4RWI6w" type="StereotypeCommentLink" source="_1JWfIj8EEeGJ6KSvhYhYuQ" target="_mqNq0Mp6EeWZ7LDc4RWI6w">
-      <styles xmi:type="notation:FontStyle" xmi:id="_mqOR4sp6EeWZ7LDc4RWI6w"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mqOR5sp6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mqOR48p6EeWZ7LDc4RWI6w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mqOR5Mp6EeWZ7LDc4RWI6w"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mqOR5cp6EeWZ7LDc4RWI6w"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_mqhz5Mp6EeWZ7LDc4RWI6w" type="StereotypeCommentLink" source="_gXAOYD8AEeGJ6KSvhYhYuQ" target="_mqhz4Mp6EeWZ7LDc4RWI6w">
-      <styles xmi:type="notation:FontStyle" xmi:id="_mqhz5cp6EeWZ7LDc4RWI6w"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mqhz6cp6EeWZ7LDc4RWI6w" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_KxQBELuXEd2TTr3gJIvazw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mqhz5sp6EeWZ7LDc4RWI6w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mqhz58p6EeWZ7LDc4RWI6w"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mqhz6Mp6EeWZ7LDc4RWI6w"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_DfG8kF7qEeGEmrrwB1vhPg" type="CompositeStructure" name="CompositeDiagram CallMultiplier" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_EYv6UF7qEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EYwhYF7qEeGEmrrwB1vhPg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EYwhYV7qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EYwhYl7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EYwhY17qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EYwhZF7qEeGEmrrwB1vhPg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EYwhZV7qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_c85eMF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c86FQF7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c86FQV7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c86FQl7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c9de4F7tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c9de4V7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_EYwhZl7qEeGEmrrwB1vhPg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_EYwhZ17qEeGEmrrwB1vhPg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_EYwhaF7qEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EYwhaV7qEeGEmrrwB1vhPg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_khqW8Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_khqW8Vy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="FCM:InteractionComponent" href="core.uml#_s8OWIFR1Ed6GqrP6fkWBoQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_khqW8ly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_khqW81y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_khqW9Fy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_khqW9Vy8EeOwKfaVRwV11Q"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_KxQBELuXEd2TTr3gJIvazw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EYv6UV7qEeGEmrrwB1vhPg" x="135" y="72" width="154" height="64"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_FWtXYF7qEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FWtXYl7qEeGEmrrwB1vhPg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FWtXY17qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FWt-cF7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FWt-cV7qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FWt-cl7qEeGEmrrwB1vhPg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FWt-c17qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XrOJMF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwQF7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwQV7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwQl7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwQ17tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwRF7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_FWt-dF7qEeGEmrrwB1vhPg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_FWt-dV7qEeGEmrrwB1vhPg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_FWt-dl7qEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FWt-d17qEeGEmrrwB1vhPg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_udKFYF7sEeGEmrrwB1vhPg" type="3069" fontName="Arial" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udKFYl7sEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udKFY17sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udKscF7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udKscV7sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udKscl7sEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udKsc17sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_66tLMF7sEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-FcF7sEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-FcV7sEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-Fcl7sEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-Fc17sEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-FdF7sEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_udKsdF7sEeGEmrrwB1vhPg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fcEHcFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PQ7DkFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_udKsdV7sEeGEmrrwB1vhPg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_udKsdl7sEeGEmrrwB1vhPg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_udKsd17sEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_udKFYV7sEeGEmrrwB1vhPg" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_udLTgF7sEeGEmrrwB1vhPg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udLTgl7sEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udLTg17sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udLThF7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udLThV7sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udL6kF7sEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udL6kV7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3KisQF7sEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gixcF7sEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gjYgF7sEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gjYgV7sEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gjYgl7sEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gjYg17sEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_udL6kl7sEeGEmrrwB1vhPg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_f-9ZIFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_f-9ZIVbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="30"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_udL6k17sEeGEmrrwB1vhPg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_udL6lF7sEeGEmrrwB1vhPg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_udL6lV7sEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_udLTgV7sEeGEmrrwB1vhPg" x="144" y="36"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_khrlEFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_khrlEVy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="FCM:InteractionComponent" href="core.uml#_efp4QClzEd-eoo60eNyGlg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_khrlEly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_khrlE1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_khrlFFy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_khrlFVy8EeOwKfaVRwV11Q"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_Whe8EClYEd-eoo60eNyGlg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FWtXYV7qEeGEmrrwB1vhPg" x="135" y="198" width="154" height="64"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_b3o7wF7sEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b3pi0F7sEeGEmrrwB1vhPg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b3pi0V7sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b3pi0l7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b3pi017sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b3pi1F7sEeGEmrrwB1vhPg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b3pi1V7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bkoqwF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqwV7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqwl7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqw17tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqxF7tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqxV7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_b3pi1l7sEeGEmrrwB1vhPg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_b3pi117sEeGEmrrwB1vhPg" type="7073">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z3t18F7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udAF7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udAV7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udAl7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udA17tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udBF7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_b3pi2F7sEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b3pi2V7sEeGEmrrwB1vhPg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_khtaQFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_khtaQVy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="FCM:InteractionComponent" href="core.uml#_Z3Zs4F7tEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_khtaQly8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_khuBUFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_khuBUVy8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_khuBUly8EeOwKfaVRwV11Q"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_TLShkF7qEeGEmrrwB1vhPg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b3o7wV7sEeGEmrrwB1vhPg" x="423" y="71" width="154" height="65"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_ck0K0F7sEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ck0x4F7sEeGEmrrwB1vhPg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ck0x4V7sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ck0x4l7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ck0x417sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ck0x5F7sEeGEmrrwB1vhPg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ck0x5V7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UBwvMF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBwvMV7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBxWQF7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBxWQV7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBxWQl7tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBxWQ17tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ck0x5l7sEeGEmrrwB1vhPg" type="5156">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VCInEF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgMF7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgMV7tEeGEmrrwB1vhPg" key="StereotypeList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgMl7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgM17tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgNF7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_ck0x517sEeGEmrrwB1vhPg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_ck0x6F7sEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ck0x6V7sEeGEmrrwB1vhPg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_qrnGYF7sEeGEmrrwB1vhPg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qrntcF7sEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qrntcV7sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qrntcl7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qrntc17sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qroUgF7sEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qroUgV7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zr6CMF7sEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HjcYF7sEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HjcYV7sEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HkDcF7sEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HkDcV7sEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HkDcl7sEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qroUgl7sEeGEmrrwB1vhPg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ds_9kFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QJj7wFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="60"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qroUg17sEeGEmrrwB1vhPg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qroUhF7sEeGEmrrwB1vhPg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qroUhV7sEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qrnGYV7sEeGEmrrwB1vhPg" x="147" y="38"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_qroUhl7sEeGEmrrwB1vhPg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qro7kF7sEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qro7kV7sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qro7kl7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qro7k17sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qro7lF7sEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qro7lV7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1PKksF7sEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpAF7sEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpAV7sEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpAl7sEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpA17sEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpBF7sEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qro7ll7sEeGEmrrwB1vhPg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dHyXsFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PvAGsFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qro7l17sEeGEmrrwB1vhPg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qro7mF7sEeGEmrrwB1vhPg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qro7mV7sEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qroUh17sEeGEmrrwB1vhPg" x="-10" y="38"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_khuoYFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_khvPcFy8EeOwKfaVRwV11Q" showTitle="true"/>
-        <element xmi:type="FCM:InteractionComponent" href="core.uml#_UBcmIF7tEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_khvPcVy8EeOwKfaVRwV11Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_khvPcly8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_khvPc1y8EeOwKfaVRwV11Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_khvPdFy8EeOwKfaVRwV11Q"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_Mo2kwF7pEeGEmrrwB1vhPg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ck0K0V7sEeGEmrrwB1vhPg" x="420" y="196" width="157" height="66"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_DfG8kV7qEeGEmrrwB1vhPg"/>
-    <element xmi:type="uml:Package" href="core.uml#_ZISNcIQzEd2_fLv04swWfw"/>
-    <edges xmi:type="notation:Connector" xmi:id="_GsuIEF7qEeGEmrrwB1vhPg" type="4015" source="_FWtXYF7qEeGEmrrwB1vhPg" target="_EYv6UF7qEeGEmrrwB1vhPg" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_GsvWMF7qEeGEmrrwB1vhPg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_GsvWMV7qEeGEmrrwB1vhPg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_GsuIEV7qEeGEmrrwB1vhPg" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_lYOSkClzEd-eoo60eNyGlg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GsuIEl7qEeGEmrrwB1vhPg" points="[-4, -29, 13, 99]$[-13, -98, 4, 30]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_eJ55UF7sEeGEmrrwB1vhPg" type="4015" source="_ck0K0F7sEeGEmrrwB1vhPg" target="_b3o7wF7sEeGEmrrwB1vhPg" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_eJ6gYF7sEeGEmrrwB1vhPg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_eJ6gYV7sEeGEmrrwB1vhPg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_eJ55UV7sEeGEmrrwB1vhPg" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="core.uml#_eJqowF7sEeGEmrrwB1vhPg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eJ55Ul7sEeGEmrrwB1vhPg" points="[-9, -10, -7, 96]$[-9, -76, -7, 30]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eKfIIF7sEeGEmrrwB1vhPg" id="(0.504424778761062,0.1694915254237288)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_zCsUsHI3EeOCrdvV8oxOKA" type="PapyrusUMLClassDiagram" name="Binding helpers" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_z30l4HI3EeOCrdvV8oxOKA" type="Class_Shape" fontName="" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z33CInI3EeOCrdvV8oxOKA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z33CI3I3EeOCrdvV8oxOKA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z33CJHI3EeOCrdvV8oxOKA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z33pMHI3EeOCrdvV8oxOKA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Bp0jUHkhEeOCpqruXGWNPw" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Bp0jUXkhEeOCpqruXGWNPw" key="gradient" value="true"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F6iPQLnHEeO_6d9PgxHkpw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_F6i2ULnHEeO_6d9PgxHkpw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_z33pMXI3EeOCrdvV8oxOKA" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_z33pMnI3EeOCrdvV8oxOKA" visible="false" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_z33pM3I3EeOCrdvV8oxOKA"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_z33pNHI3EeOCrdvV8oxOKA"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_z33pNXI3EeOCrdvV8oxOKA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z33pNnI3EeOCrdvV8oxOKA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_z33pN3I3EeOCrdvV8oxOKA" visible="false" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_z33pOHI3EeOCrdvV8oxOKA"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_z33pOXI3EeOCrdvV8oxOKA"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_z33pOnI3EeOCrdvV8oxOKA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z33pO3I3EeOCrdvV8oxOKA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_z33pPHI3EeOCrdvV8oxOKA" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_z33pPXI3EeOCrdvV8oxOKA"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_z33pPnI3EeOCrdvV8oxOKA"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_z33pP3I3EeOCrdvV8oxOKA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z33pQHI3EeOCrdvV8oxOKA"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_z4FroHI3EeOCrdvV8oxOKA" visible="false" type="compartment_shape_display">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_z4FroXI3EeOCrdvV8oxOKA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z4FronI3EeOCrdvV8oxOKA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_94BcYAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_94BcYQuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_z2tyoHI3EeOCrdvV8oxOKA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z30l4XI3EeOCrdvV8oxOKA" x="60" y="20" width="181" height="61"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_4ICEAHkgEeOCpqruXGWNPw" type="Class_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_4IDSIHkgEeOCpqruXGWNPw" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_4ID5MHkgEeOCpqruXGWNPw" visible="false" type="Class_AttributeCompartment">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4IFHUHkgEeOCpqruXGWNPw" source="PapyrusCSSForceValue">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4IFHUXkgEeOCpqruXGWNPw" key="showTitle" value="true"/>
-        </eAnnotations>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_4ID5MXkgEeOCpqruXGWNPw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_4ID5MnkgEeOCpqruXGWNPw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_4ID5M3kgEeOCpqruXGWNPw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ID5NHkgEeOCpqruXGWNPw"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_4ID5NXkgEeOCpqruXGWNPw" visible="false" type="Class_OperationCompartment">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4IFuYHkgEeOCpqruXGWNPw" source="PapyrusCSSForceValue">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4IFuYXkgEeOCpqruXGWNPw" key="showTitle" value="true"/>
-        </eAnnotations>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_4ID5NnkgEeOCpqruXGWNPw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_4ID5N3kgEeOCpqruXGWNPw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_4ID5OHkgEeOCpqruXGWNPw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ID5OXkgEeOCpqruXGWNPw"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_4ID5OnkgEeOCpqruXGWNPw" visible="false" type="Class_NestedClassifierCompartment">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4IGVcHkgEeOCpqruXGWNPw" source="PapyrusCSSForceValue">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4IGVcXkgEeOCpqruXGWNPw" key="showTitle" value="true"/>
-        </eAnnotations>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_4ID5O3kgEeOCpqruXGWNPw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_4ID5PHkgEeOCpqruXGWNPw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_4ID5PXkgEeOCpqruXGWNPw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ID5PnkgEeOCpqruXGWNPw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_94BcYguXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_94BcYwuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_4H-ZoHkgEeOCpqruXGWNPw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ICrEHkgEeOCpqruXGWNPw" x="60" y="100" width="181" height="61"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_g9VpkLsMEeO0n5elMxN1LQ" type="Class_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_g9WQoLsMEeO0n5elMxN1LQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_g9WQobsMEeO0n5elMxN1LQ" visible="false" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_g9WQorsMEeO0n5elMxN1LQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_g9WQo7sMEeO0n5elMxN1LQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_g9WQpLsMEeO0n5elMxN1LQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g9WQpbsMEeO0n5elMxN1LQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_g9W3sLsMEeO0n5elMxN1LQ" visible="false" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_g9W3sbsMEeO0n5elMxN1LQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_g9W3srsMEeO0n5elMxN1LQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_g9W3s7sMEeO0n5elMxN1LQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g9W3tLsMEeO0n5elMxN1LQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_g9W3tbsMEeO0n5elMxN1LQ" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_g9W3trsMEeO0n5elMxN1LQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_g9W3t7sMEeO0n5elMxN1LQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_g9W3uLsMEeO0n5elMxN1LQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g9W3ubsMEeO0n5elMxN1LQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_94BcZAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_94BcZQuXEeWXe7AeBUbqvw" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_g8oe8LsMEeO0n5elMxN1LQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g9VpkbsMEeO0n5elMxN1LQ" x="60" y="180" width="181" height="61"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_96IVMAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_96IVMQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_96I8QAuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_z2tyoHI3EeOCrdvV8oxOKA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_96IVMguXEeWXe7AeBUbqvw" x="260" y="20"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_96e6gAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_96e6gQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_96e6gwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_4H-ZoHkgEeOCpqruXGWNPw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_96e6gguXEeWXe7AeBUbqvw" x="260" y="100"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9604wAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_9604wQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9604wwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_g8oe8LsMEeO0n5elMxN1LQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9604wguXEeWXe7AeBUbqvw" x="260" y="180"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_zCs7wHI3EeOCrdvV8oxOKA"/>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_94BcZguXEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <element xmi:type="uml:Package" href="core.uml#_tkiC4HI3EeOCrdvV8oxOKA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_96I8QQuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_z30l4HI3EeOCrdvV8oxOKA" target="_96IVMAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_96I8QguXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_96I8RguXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_z2tyoHI3EeOCrdvV8oxOKA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_96I8QwuXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_96I8RAuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_96I8RQuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_96e6hAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_4ICEAHkgEeOCpqruXGWNPw" target="_96e6gAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_96e6hQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_96e6iQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_4H-ZoHkgEeOCpqruXGWNPw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_96e6hguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_96e6hwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_96e6iAuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9604xAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_g9VpkLsMEeO0n5elMxN1LQ" target="_9604wAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_9604xQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_961f0guXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_g8oe8LsMEeO0n5elMxN1LQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9604xguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_961f0AuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_961f0QuXEeWXe7AeBUbqvw"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_ljiPEKLvEeSBiP8ZTcBQrQ" type="PapyrusUMLClassDiagram" name="OOtransformations" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_mhOmYKLvEeSBiP8ZTcBQrQ" type="Class_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_mhP0gKLvEeSBiP8ZTcBQrQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mhP0gaLvEeSBiP8ZTcBQrQ" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mhP0gqLvEeSBiP8ZTcBQrQ" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_mhQbkKLvEeSBiP8ZTcBQrQ" visible="false" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_mhQbkaLvEeSBiP8ZTcBQrQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_mhQbkqLvEeSBiP8ZTcBQrQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_mhQbk6LvEeSBiP8ZTcBQrQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mhQblKLvEeSBiP8ZTcBQrQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_mhQblaLvEeSBiP8ZTcBQrQ" visible="false" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_mhQblqLvEeSBiP8ZTcBQrQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_mhQbl6LvEeSBiP8ZTcBQrQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_mhQbmKLvEeSBiP8ZTcBQrQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mhQbmaLvEeSBiP8ZTcBQrQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_mhQbmqLvEeSBiP8ZTcBQrQ" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_mhQbm6LvEeSBiP8ZTcBQrQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_mhQbnKLvEeSBiP8ZTcBQrQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_mhQbnaLvEeSBiP8ZTcBQrQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mhQbnqLvEeSBiP8ZTcBQrQ"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_mgbVIKLvEeSBiP8ZTcBQrQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mhOmYaLvEeSBiP8ZTcBQrQ" x="40" y="40" width="161" height="61"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_nRtBEKLvEeSBiP8ZTcBQrQ" type="Class_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_nRtoIKLvEeSBiP8ZTcBQrQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_nRtoIaLvEeSBiP8ZTcBQrQ" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_nRtoIqLvEeSBiP8ZTcBQrQ" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_nRtoI6LvEeSBiP8ZTcBQrQ" visible="false" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_nRtoJKLvEeSBiP8ZTcBQrQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_nRtoJaLvEeSBiP8ZTcBQrQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_nRtoJqLvEeSBiP8ZTcBQrQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nRtoJ6LvEeSBiP8ZTcBQrQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_nRtoKKLvEeSBiP8ZTcBQrQ" visible="false" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_nRtoKaLvEeSBiP8ZTcBQrQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_nRtoKqLvEeSBiP8ZTcBQrQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_nRtoK6LvEeSBiP8ZTcBQrQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nRtoLKLvEeSBiP8ZTcBQrQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_nRtoLaLvEeSBiP8ZTcBQrQ" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_nRtoLqLvEeSBiP8ZTcBQrQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_nRtoL6LvEeSBiP8ZTcBQrQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_nRtoMKLvEeSBiP8ZTcBQrQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nRtoMaLvEeSBiP8ZTcBQrQ"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_nRnhgKLvEeSBiP8ZTcBQrQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nRtBEaLvEeSBiP8ZTcBQrQ" x="240" y="40" width="161" height="61"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_pu_i4KLvEeSBiP8ZTcBQrQ" type="Class_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_pvAJ8KLvEeSBiP8ZTcBQrQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_pvAJ8aLvEeSBiP8ZTcBQrQ" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_pvAJ8qLvEeSBiP8ZTcBQrQ" y="5"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_pvAJ86LvEeSBiP8ZTcBQrQ" visible="false" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_pvAJ9KLvEeSBiP8ZTcBQrQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_pvAJ9aLvEeSBiP8ZTcBQrQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_pvAJ9qLvEeSBiP8ZTcBQrQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pvAJ96LvEeSBiP8ZTcBQrQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_pvAJ-KLvEeSBiP8ZTcBQrQ" visible="false" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_pvAJ-aLvEeSBiP8ZTcBQrQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_pvAJ-qLvEeSBiP8ZTcBQrQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_pvAJ-6LvEeSBiP8ZTcBQrQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pvAJ_KLvEeSBiP8ZTcBQrQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_pvAJ_aLvEeSBiP8ZTcBQrQ" visible="false" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_pvAJ_qLvEeSBiP8ZTcBQrQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_pvAJ_6LvEeSBiP8ZTcBQrQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_pvAKAKLvEeSBiP8ZTcBQrQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pvAKAaLvEeSBiP8ZTcBQrQ"/>
-      </children>
-      <element xmi:type="uml:Class" href="core.uml#_pu1x4KLvEeSBiP8ZTcBQrQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pu_i4aLvEeSBiP8ZTcBQrQ" x="40" y="140" width="161" height="61"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_98wLYAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_98wLYQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_98wLYwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_mgbVIKLvEeSBiP8ZTcBQrQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_98wLYguXEeWXe7AeBUbqvw" x="240" y="40"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_99B4MAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_99B4MQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_99B4MwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_nRnhgKLvEeSBiP8ZTcBQrQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_99B4MguXEeWXe7AeBUbqvw" x="440" y="40"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_99PTkAuXEeWXe7AeBUbqvw" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_99PTkQuXEeWXe7AeBUbqvw" showTitle="true"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_99PTkwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_pu1x4KLvEeSBiP8ZTcBQrQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_99PTkguXEeWXe7AeBUbqvw" x="240" y="140"/>
-    </children>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_ljiPEaLvEeSBiP8ZTcBQrQ" name="diagram_compatibility_version" stringValue="1.2.0"/>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_ljiPEqLvEeSBiP8ZTcBQrQ"/>
-    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_ljiPE6LvEeSBiP8ZTcBQrQ">
-      <owner xmi:type="uml:Package" href="core.uml#_B_a2UKLvEeSBiP8ZTcBQrQ"/>
-    </styles>
-    <element xmi:type="uml:Package" href="core.uml#_B_a2UKLvEeSBiP8ZTcBQrQ"/>
-    <edges xmi:type="notation:Connector" xmi:id="_98wLZAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_mhOmYKLvEeSBiP8ZTcBQrQ" target="_98wLYAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_98wLZQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_98wLaQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_mgbVIKLvEeSBiP8ZTcBQrQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_98wLZguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_98wLZwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_98wLaAuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_99B4NAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_nRtBEKLvEeSBiP8ZTcBQrQ" target="_99B4MAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_99B4NQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_99B4OQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_nRnhgKLvEeSBiP8ZTcBQrQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_99B4NguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_99B4NwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_99B4OAuXEeWXe7AeBUbqvw"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_99PTlAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_pu_i4KLvEeSBiP8ZTcBQrQ" target="_99PTkAuXEeWXe7AeBUbqvw">
-      <styles xmi:type="notation:FontStyle" xmi:id="_99PTlQuXEeWXe7AeBUbqvw"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_99PTmQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="core.uml#_pu1x4KLvEeSBiP8ZTcBQrQ"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_99PTlguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_99PTlwuXEeWXe7AeBUbqvw"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_99PTmAuXEeWXe7AeBUbqvw"/>
-    </edges>
-  </notation:Diagram>
-  <css:ModelStyleSheets xmi:id="_qkkdcMc1EeSsAI2TZshUyg"/>
-  <css:EmbeddedStyleSheet xmi:id="_7gUz8Mc1EeSsAI2TZshUyg" label="Qompass" content="Label {&#xA;&#x9;maskLabel: name;&#xA;}&#xA;&#xA;Port > Label {&#xA;&#x9;maskLabel: name;&#xA;}&#xA;&#xA;Port {&#xA;&#x9;maskLabel: name;&#xA;}&#xA;&#xA;Property {&#xA;&#x9;maskLabel: name type;&#xA;}"/>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/core.uml b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/core.uml
deleted file mode 100644
index 83d16fd..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/core.uml
+++ /dev/null
@@ -1,1398 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:SW_Concurrency="http://www.eclipse.org/papyrus/SW_Concurrency/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:standard="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/SW_Concurrency/1 http://www.eclipse.org/papyrus/MARTE/1#//SRM/SW_Concurrency">
-  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="core" viewpoint="">
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
-      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_clzbsC3xEd6OqY3qskOtLQ">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/sysinterfaces.uml#_RodVAAweEd6it_RkGhz_AA"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_hWGaIF9CEd6vU6EJjexEKQ">
-      <importedPackage xmi:type="uml:Model" href="pathmap://PDML_IDL/corba.uml#_DtQEwDLdEd2_U4efLnjQIw"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_K9IBUP-FEd6628OhKk_dpg">
-      <importedPackage xmi:type="uml:Model" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_DV8nkBv8EduZN5aJJITI5w"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_mXnzUPQdEeCIC-7tA9lfzA">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/osal.uml#_ROTQYC-OEdySSa8YESkO2w"/>
-    </packageImport>
-    <packagedElement xmi:type="uml:Package" xmi:id="_TFq8cOy6Ed2UrumbR9YAVg" name="composites">
-      <packagedElement xmi:type="uml:Class" xmi:id="_1RehUAGpEd6eR-dxi5su4Q" name="BootLoader">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_JMwYwMGJEd-Mveea1W_olA">
-          <body>A template for the bootloader generation.</body>
-        </ownedComment>
-        <ownedComment xmi:type="uml:Comment" xmi:id="_JM4UkMGJEd-Mveea1W_olA">
-          <body>This C++ implementation of the template contains principally the definition of the 
-&quot;main&quot; function and the declaration of the bootloader instance</body>
-        </ownedComment>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_AFnZUAGqEd6eR-dxi5su4Q" name="b:createInstances" specification="_3kwykAGpEd6eR-dxi5su4Q">
-          <language>C/C++</language>
-          <body>&lt;%createInstances%></body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_IbrFUAGqEd6eR-dxi5su4Q" name="b:main" specification="_6pkAUAGpEd6eR-dxi5su4Q"/>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_3kwykAGpEd6eR-dxi5su4Q" name="createInstances" method="_AFnZUAGqEd6eR-dxi5su4Q"/>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_6pkAUAGpEd6eR-dxi5su4Q" name="main" isStatic="true" method="_IbrFUAGqEd6eR-dxi5su4Q"/>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_mMCK8PiPEd2UhpY2Y3WUyg" name="methodCall">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_WiuBUK8rEeCXIcykFPsB8Q" annotatedElement="_mMCK8PiPEd2UhpY2Y3WUyg">
-        <body>Main package template for all call based connectors. The formal parameter is the interface I (which is bound to the actual interface used in a call).
-This package is virtually extended by other model libraries who import it.</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="__oxUADrVEeGMCcwsbpLuFA" annotatedElement="_j29X4NttEd2eM5kqcby5ZA">
-        <body>Inheritance hierarchy for (A)SyncCall component types. Separate types for required (rconn) and provided (fconn) ports enable re-use via inheritance ain multiple places (e.g. for AMI ports that use an unmodified provided port and different variants of a required port).
-Note that ports on connector side are conjugated</body>
-      </ownedComment>
-      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_V0b2APfBEd2TbIfwytOyPA" parameter="_WzWVUPfBEd2TbIfwytOyPA">
-        <ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_WzWVUPfBEd2TbIfwytOyPA" parameteredElement="_ZzlzMPfBEd2TbIfwytOyPA">
-          <ownedParameteredElement xmi:type="uml:Interface" xmi:id="_ZzlzMPfBEd2TbIfwytOyPA" name="I" templateParameter="_WzWVUPfBEd2TbIfwytOyPA"/>
-        </ownedParameter>
-      </ownedTemplateSignature>
-      <packagedElement xmi:type="uml:Package" xmi:id="_ZISNcIQzEd2_fLv04swWfw" name="AsyncCall">
-        <packagedElement xmi:type="uml:Class" xmi:id="_KxQBELuXEd2TTr3gJIvazw" name="AsyncCall" isAbstract="true">
-          <generalization xmi:type="uml:Generalization" xmi:id="_0KzSsDBEEd6V16eboHV1gw" general="_j29X4NttEd2eM5kqcby5ZA"/>
-          <generalization xmi:type="uml:Generalization" xmi:id="_1H2JwDBEEd6V16eboHV1gw" general="_mIpj8Ns8Ed2eM5kqcby5ZA"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_Whe8EClYEd-eoo60eNyGlg" name="AsyncCall_impl">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_sp9YYG5fEd-5CZIeuHpHAg">
-            <body>Description: A simple implementation of asynchronous calls. It will execution requests by means of a single dispatcher thread</body>
-          </ownedComment>
-          <ownedComment xmi:type="uml:Comment" xmi:id="_HMz-ADJKEeCAhMtIsY9HwA">
-            <body>Simple asynchronous call implementation: returns immediately and executes request in new thread</body>
-          </ownedComment>
-          <ownedComment xmi:type="uml:Comment" xmi:id="_bustsDJKEeCAhMtIsY9HwA">
-            <body>Uses buffer and ASN marshalling.
-TODO: configurable buffer size, use data structure (CppParameterStorage)</body>
-          </ownedComment>
-          <generalization xmi:type="uml:Generalization" xmi:id="_lYOSkClzEd-eoo60eNyGlg" general="_KxQBELuXEd2TTr3gJIvazw"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_1XeLIED5Ed-_DOja_sRgWA" name="buffer" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8wC7MED5Ed-_DOja_sRgWA" value="500"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8wLeEED5Ed-_DOja_sRgWA" value="500"/>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_2fcqYED6Ed-_DOja_sRgWA" name="pBuffer" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-          </ownedAttribute>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_nBpugClzEd-eoo60eNyGlg" name="derived realization of I" client="_Whe8EClYEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_WhfjIilYEd-eoo60eNyGlg" name="[name/]" specification="_2bwsEClzEd-eoo60eNyGlg">
-            <language>C/C++</language>
-            <body>!xtend AsyncCalls.asyncCall</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_WhfjIylYEd-eoo60eNyGlg" name="static[name/]" specification="_WhfjJSlYEd-eoo60eNyGlg">
-            <language>C/C++</language>
-            <body>((AsyncCall_impl *) arg)->dispatch ();
-return NULL;
-</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_nV2DcED5Ed-_DOja_sRgWA" name="dispatch" specification="_G6LzAD3QEd-Bk-AHd6yyoA">
-            <language>C/C++</language>
-            <body>!xtend AsyncCalls.dispatch_</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_WhfjJSlYEd-eoo60eNyGlg" name="staticDispatch" isStatic="true" method="_WhfjIylYEd-eoo60eNyGlg">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_WhfjJilYEd-eoo60eNyGlg" name="arg">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WhfjKClYEd-eoo60eNyGlg" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WhfjJylYEd-eoo60eNyGlg" value="1"/>
-              <defaultValue xmi:type="uml:LiteralString" xmi:id="_WhfjKSlYEd-eoo60eNyGlg">
-                <value xsi:nil="true"/>
-              </defaultValue>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_WhfjKilYEd-eoo60eNyGlg" name="ret" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            </ownedParameter>
-          </ownedOperation>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_2bwsEClzEd-eoo60eNyGlg" name="[name/]" method="_WhfjIilYEd-eoo60eNyGlg"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_G6LzAD3QEd-Bk-AHd6yyoA" name="dispatch" method="_nV2DcED5Ed-_DOja_sRgWA"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_pXzKcEJ1Ed-Ps4Bfh0j9LQ" name="AsyncCallPool_impl">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_spsPMDJKEeCAhMtIsY9HwA">
-            <body>(untested) implementation of an asynchronous invocation that uses a thread pool for
-spawning new requests</body>
-          </ownedComment>
-          <generalization xmi:type="uml:Generalization" xmi:id="_pXzKcUJ1Ed-Ps4Bfh0j9LQ" general="_KxQBELuXEd2TTr3gJIvazw"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_pXzxgEJ1Ed-Ps4Bfh0j9LQ" name="buffer" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pXzxgkJ1Ed-Ps4Bfh0j9LQ" value="500"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pXzxgUJ1Ed-Ps4Bfh0j9LQ" value="500"/>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_pXzxg0J1Ed-Ps4Bfh0j9LQ" name="pBuffer" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-          </ownedAttribute>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_pXzxh0J1Ed-Ps4Bfh0j9LQ" name="derived realization of I" client="_pXzKcEJ1Ed-Ps4Bfh0j9LQ" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_pXzxhEJ1Ed-Ps4Bfh0j9LQ" name="[name/]" specification="_pXzxjkJ1Ed-Ps4Bfh0j9LQ">
-            <language>C/C++</language>
-            <body>!xtend AsyncCalls.asyncCall</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_pXzxhUJ1Ed-Ps4Bfh0j9LQ" name="static[name/]" specification="_pXzxiEJ1Ed-Ps4Bfh0j9LQ">
-            <language>C/C++</language>
-            <body>((AsyncCall_impl *) arg)->dispatch ();
-return NULL;
-</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_pXzxhkJ1Ed-Ps4Bfh0j9LQ" name="dispatch" specification="_pXzxj0J1Ed-Ps4Bfh0j9LQ">
-            <language>C/C++</language>
-            <body>!xtend AsyncCalls.dispatchWithThreadPool</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_pXzxiEJ1Ed-Ps4Bfh0j9LQ" name="staticDispatch" isStatic="true" method="_pXzxhUJ1Ed-Ps4Bfh0j9LQ">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_pXzxiUJ1Ed-Ps4Bfh0j9LQ" name="arg">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pXzxi0J1Ed-Ps4Bfh0j9LQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pXzxikJ1Ed-Ps4Bfh0j9LQ" value="1"/>
-              <defaultValue xmi:type="uml:LiteralString" xmi:id="_pXzxjEJ1Ed-Ps4Bfh0j9LQ">
-                <value xsi:nil="true"/>
-              </defaultValue>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_pXzxjUJ1Ed-Ps4Bfh0j9LQ" name="ret" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            </ownedParameter>
-          </ownedOperation>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_pXzxjkJ1Ed-Ps4Bfh0j9LQ" name="[name/]" method="_pXzxhEJ1Ed-Ps4Bfh0j9LQ"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_pXzxj0J1Ed-Ps4Bfh0j9LQ" name="dispatch" method="_pXzxhkJ1Ed-Ps4Bfh0j9LQ"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_3itBkNdwEd-ZnqCk2P2ZKg" name="AMIPollCall_impl">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_3itBkddwEd-ZnqCk2P2ZKg">
-            <body>Description: A simple implementation of asynchronous calls. It will execution requests by means of a single dispatcher thread</body>
-          </ownedComment>
-          <ownedComment xmi:type="uml:Comment" xmi:id="_lEC3ADJLEeCAhMtIsY9HwA">
-            <body>Polling variant of CORBAs asynchronous messaging (AMI), enables asynchronous calls while reading
-return values (also called deferred synchronous):
-Instead of specified return values, functions return a poller object which may be queried for
-the result.
-TODO: complete, move into model of Qompass AMI plugin</body>
-          </ownedComment>
-          <generalization xmi:type="uml:Generalization" xmi:id="_3itBktdwEd-ZnqCk2P2ZKg" general="_KxQBELuXEd2TTr3gJIvazw"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_3itBk9dwEd-ZnqCk2P2ZKg" name="buffer" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3itBlddwEd-ZnqCk2P2ZKg" value="500"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3itBlNdwEd-ZnqCk2P2ZKg" value="500"/>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_3itBltdwEd-ZnqCk2P2ZKg" name="pBuffer" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-          </ownedAttribute>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_3itBmtdwEd-ZnqCk2P2ZKg" name="derived realization of I" client="_3itBkNdwEd-ZnqCk2P2ZKg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_3itBl9dwEd-ZnqCk2P2ZKg" name="[name/]" specification="_3itBoddwEd-ZnqCk2P2ZKg">
-            <language>C/C++</language>
-            <body>!xtend AMIPull.operation</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_3itBmNdwEd-ZnqCk2P2ZKg" name="static[name/]" specification="_3itBm9dwEd-ZnqCk2P2ZKg">
-            <language>C/C++</language>
-            <body>((AsyncCall_impl *) arg)->dispatch ();
-return NULL;
-</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_3itBmddwEd-ZnqCk2P2ZKg" name="dispatch" specification="_3itBotdwEd-ZnqCk2P2ZKg">
-            <language>C/C++</language>
-            <body>!xtend AsyncCall.dispatch_</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_3itBm9dwEd-ZnqCk2P2ZKg" name="staticDispatch" isStatic="true" method="_3itBmNdwEd-ZnqCk2P2ZKg">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_3itBnNdwEd-ZnqCk2P2ZKg" name="arg">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3itBntdwEd-ZnqCk2P2ZKg" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3itBnddwEd-ZnqCk2P2ZKg" value="1"/>
-              <defaultValue xmi:type="uml:LiteralString" xmi:id="_3itBn9dwEd-ZnqCk2P2ZKg">
-                <value xsi:nil="true"/>
-              </defaultValue>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_3itBoNdwEd-ZnqCk2P2ZKg" name="ret" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            </ownedParameter>
-          </ownedOperation>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_3itBoddwEd-ZnqCk2P2ZKg" name="[name/]" method="_3itBl9dwEd-ZnqCk2P2ZKg"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_3itBotdwEd-ZnqCk2P2ZKg" name="dispatch" method="_3itBmddwEd-ZnqCk2P2ZKg"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_Mo2kwF7pEeGEmrrwB1vhPg" name="CallMultiplier_impl">
-          <generalization xmi:type="uml:Generalization" xmi:id="_eJqowF7sEeGEmrrwB1vhPg" general="_TLShkF7qEeGEmrrwB1vhPg"/>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_8e_ocF7sEeGEmrrwB1vhPg" name="derived realization of I" client="_Mo2kwF7pEeGEmrrwB1vhPg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DmUQcF7tEeGEmrrwB1vhPg" name="operation1" specification="_ChD4kF7tEeGEmrrwB1vhPg">
-            <language>C/C++</language>
-            <body>!xtend MultipleReceptacle.operation_</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_ChD4kF7tEeGEmrrwB1vhPg" name="[name/]" method="_DmUQcF7tEeGEmrrwB1vhPg"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_TLShkF7qEeGEmrrwB1vhPg" name="AsyncCallM" isAbstract="true">
-          <generalization xmi:type="uml:Generalization" xmi:id="_WhUpQF7qEeGEmrrwB1vhPg" general="_0KYOQF7pEeGEmrrwB1vhPg"/>
-          <generalization xmi:type="uml:Generalization" xmi:id="_XgUoIF7qEeGEmrrwB1vhPg" general="_j29X4NttEd2eM5kqcby5ZA"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Enumeration" xmi:id="_2oxDIPiPEd2UhpY2Y3WUyg" name="OperationIDs">
-        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_KOvHsPiREd2UhpY2Y3WUyg" name="ID_[name/]"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_j29X4NttEd2eM5kqcby5ZA" name="OPC_useI" isAbstract="true">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_P4xVsNtuEd2eM5kqcby5ZA" name="fconn" visibility="public" type="_AsqygH2MEeWV7cfiwPN21w" aggregation="composite" isConjugated="true"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_mIpj8Ns8Ed2eM5kqcby5ZA" name="OPC_provideI" isAbstract="true">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_Qk0jYNtuEd2eM5kqcby5ZA" name="rconn" visibility="public" type="_ZzlzMPfBEd2TbIfwytOyPA" aggregation="composite" isConjugated="true">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rftH8ENwEeGoAtSeIK7WLg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rfxZYENwEeGoAtSeIK7WLg" value="1"/>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_gKMTIAytEd6it_RkGhz_AA" name="marshalling">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_9gpvcENxEeGoAtSeIK7WLg">
-          <body>Needs completion:
-good(?) write buffer event?
-Call operations of buffer component?
-[could have done in an identical way for EventPool]</body>
-        </ownedComment>
-        <ownedComment xmi:type="uml:Comment" xmi:id="_pk4cMEN_EeGfhclnRyNzoA">
-          <body>Marshalling is done at two levels:
-(1) In case of a shared address space, only a callEvent is created. It can be passed between threads within a process.
-(2) For remote communication, marshalling into a buffer is done.</body>
-        </ownedComment>
-        <packagedElement xmi:type="uml:Class" xmi:id="_b_yh4AzyEd6it_RkGhz_AA" name="Marshall" isAbstract="true">
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_rSCxUAytEd6it_RkGhz_AA" name="disp" visibility="public" type="_oJcUUH2LEeWV7cfiwPN21w" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HZg9YPQSEeCovO8AYZymZQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HaX5APQSEeCovO8AYZymZQ" value="1"/>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_MhH6cENxEeGoAtSeIK7WLg" name="in" visibility="public" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QR4PQENxEeGoAtSeIK7WLg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QR5dYENxEeGoAtSeIK7WLg" value="1"/>
-          </ownedAttribute>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_fmF6MAzyEd6it_RkGhz_AA" name="Unmarshall" isAbstract="true">
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_r5Va0AytEd6it_RkGhz_AA" name="disp" visibility="public" aggregation="composite">
-            <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_7TuzoCUUEd6YR-YzyVnLng"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WNWcQEN-EeGfhclnRyNzoA" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WNY4gEN-EeGfhclnRyNzoA" value="1"/>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_Zd558ENxEeGoAtSeIK7WLg" name="out" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aPDDAENxEeGoAtSeIK7WLg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aPERIENxEeGoAtSeIK7WLg" value="1"/>
-          </ownedAttribute>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_fPpr0K-jEd6DndT7kDY1-A" name="b:dispatch">
-            <specification xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#__aGzICUUEd6YR-YzyVnLng"/>
-          </ownedBehavior>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="__uJRYPNGEeCovO8AYZymZQ" name="StructBased">
-          <generalization xmi:type="uml:Generalization" xmi:id="_EWShMPNHEeCovO8AYZymZQ" general="_b_yh4AzyEd6it_RkGhz_AA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_qRJc8PNJEeCovO8AYZymZQ" name="[name/]" specification="_aGt1sPNJEeCovO8AYZymZQ">
-            <language>C/C++</language>
-            <body>!xtend StructBasedMarshalling.marshall</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_aGt1sPNJEeCovO8AYZymZQ" name="[name/]" method="_qRJc8PNJEeCovO8AYZymZQ"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_u7MmIENqEeGoAtSeIK7WLg" name="ToCallEvent">
-          <generalization xmi:type="uml:Generalization" xmi:id="_K088oF_rEd6RvK-1A151zQ" general="_j29X4NttEd2eM5kqcby5ZA"/>
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_-nk_cENqEeGoAtSeIK7WLg" name="out" visibility="public" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AdVAIENrEeGoAtSeIK7WLg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AdW1UENrEeGoAtSeIK7WLg" value="1"/>
-            <defaultValue xmi:type="uml:LiteralString" xmi:id="_Adf_QENrEeGoAtSeIK7WLg">
-              <value xsi:nil="true"/>
-            </defaultValue>
-          </ownedAttribute>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_QTRNgDUKEeWa95xDrmW0sg" name="derived realization of I" client="_u7MmIENqEeGoAtSeIK7WLg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_1xGG8ENqEeGoAtSeIK7WLg" name="FromCallEventWP">
-          <generalization xmi:type="uml:Generalization" xmi:id="_M09FgF_rEd6RvK-1A151zQ" general="_mIpj8Ns8Ed2eM5kqcby5ZA"/>
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_9gIc8ENvEeGoAtSeIK7WLg" name="in" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9uDkMENvEeGoAtSeIK7WLg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9uEyUENvEeGoAtSeIK7WLg" value="1"/>
-          </ownedAttribute>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_H7IOcENrEeGoAtSeIK7WLg" name="ToCallEventWP">
-          <generalization xmi:type="uml:Generalization" xmi:id="_KHmGAENrEeGoAtSeIK7WLg" general="_j29X4NttEd2eM5kqcby5ZA"/>
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_i5SOQEN8EeGfhclnRyNzoA" name="out" visibility="public" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jRB_4EN8EeGfhclnRyNzoA" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jRtVUEN8EeGfhclnRyNzoA" value="1"/>
-          </ownedAttribute>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_QTU34DUKEeWa95xDrmW0sg" name="derived realization of I" client="_H7IOcENrEeGoAtSeIK7WLg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_RjvvcA1jEd6tvthBDl600Q" name="SyncCall">
-        <packagedElement xmi:type="uml:Class" xmi:id="_Zx2ZUA1jEd6tvthBDl600Q" name="SyncCall" isAbstract="true">
-          <generalization xmi:type="uml:Generalization" xmi:id="_STdvYDBFEd6V16eboHV1gw" general="_j29X4NttEd2eM5kqcby5ZA"/>
-          <generalization xmi:type="uml:Generalization" xmi:id="_T1zr4DBFEd6V16eboHV1gw" general="_mIpj8Ns8Ed2eM5kqcby5ZA"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_jOU60A1jEd6tvthBDl600Q" name="DirectCall_impl">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_MgKU8G5gEd-5CZIeuHpHAg">
-            <body>Description: This connector is a kind of dummy connector, since it only passes incoming requests to its caller port</body>
-          </ownedComment>
-          <ownedComment xmi:type="uml:Comment" xmi:id="_0fC3UDJJEeCAhMtIsY9HwA">
-            <body>Minimal connector implementation that does nothing (but passing requests)</body>
-          </ownedComment>
-          <ownedComment xmi:type="uml:Comment" xmi:id="_0fOdgDJJEeCAhMtIsY9HwA">
-            <body></body>
-          </ownedComment>
-          <generalization xmi:type="uml:Generalization" xmi:id="_lm4GkA1jEd6tvthBDl600Q" general="_Zx2ZUA1jEd6tvthBDl600Q"/>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_1tfFAJyCEd6WR4pSVO_UYw" name="derived realization of I" client="_jOU60A1jEd6tvthBDl600Q" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_GSdesJ09Ed6l5bTPBsl00Q" name="[name/]" specification="__y0hwJ08Ed6l5bTPBsl00Q">
-            <language>C/C++</language>
-            <body>!xtend SyncCalls.syncCall</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="__y0hwJ08Ed6l5bTPBsl00Q" name="[name/]" method="_GSdesJ09Ed6l5bTPBsl00Q"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_UAIU0K-iEd6DndT7kDY1-A" name="AdaptiveContainerServices">
-        <packagedElement xmi:type="uml:Class" xmi:id="_cxVEsK-iEd6DndT7kDY1-A" name="SampleInterceptor">
-          <generalization xmi:type="uml:Generalization" xmi:id="_lrS8oAQxEd--t-uhRn9OBA" general="_Zx2ZUA1jEd6tvthBDl600Q"/>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_v-oAAK-iEd6DndT7kDY1-A" name="derived realization of I" client="_cxVEsK-iEd6DndT7kDY1-A" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_GTvA0K-jEd6DndT7kDY1-A" name="[name/]" specification="_16jy8K-iEd6DndT7kDY1-A">
-            <language>C/C++</language>
-            <body>cout &lt;&lt; &quot;this is a sample pre-call interception&quot; &lt;&lt; endl;
-rconn->&lt;%cppCall%>;
-cout &lt;&lt; &quot;this is a sample post-call interception&quot; &lt;&lt; endl;</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_16jy8K-iEd6DndT7kDY1-A" name="[name/]" method="_GTvA0K-jEd6DndT7kDY1-A"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_aQ7goChYEd-eoo60eNyGlg" name="CallActivation">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_aAH58D8CEeGJ6KSvhYhYuQ">
-          <body>A set of Leader followers is instantiated. Each has its own thread and a semaphore. The LF instance waits on its semaphore. When selectLeader is called, a follower is signaled (semaphore is posted) and will become leader. The leader waits for a resource (e.g. a socket) and becomes executor.
-</body>
-        </ownedComment>
-        <packagedElement xmi:type="uml:Class" xmi:id="_e6Y_EChYEd-eoo60eNyGlg" name="Activator" isAbstract="true">
-          <generalization xmi:type="uml:Generalization" xmi:id="_oJX3IChYEd-eoo60eNyGlg" general="_KxQBELuXEd2TTr3gJIvazw"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_qgzokChYEd-eoo60eNyGlg" name="LeaderFollower">
-          <generalization xmi:type="uml:Generalization" xmi:id="_sW6OkChYEd-eoo60eNyGlg" general="_e6Y_EChYEd-eoo60eNyGlg"/>
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_N0tB4Cu4Ed-uZPFNCty7PQ" name="listener" type="_LO4hoMp7EeWZ7LDc4RWI6w" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UxKdsCu4Ed-uZPFNCty7PQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_UxM58Cu4Ed-uZPFNCty7PQ" value="1"/>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="__fLb4Cu5Ed-uZPFNCty7PQ" name="state" type="_F3CIECu1Ed-uZPFNCty7PQ" isUnique="false" aggregation="composite"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_M4VG8Cu9Ed-uZPFNCty7PQ" name="m_sema" type="_fxfe8Cu1Ed-uZPFNCty7PQ" isUnique="false" aggregation="composite"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_rmwGoCu-Ed-uZPFNCty7PQ" name="m_sr" isStatic="true" type="_qgzokChYEd-eoo60eNyGlg" isUnique="false" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zYwqYCu-Ed-uZPFNCty7PQ" value="20"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zY4mMCu-Ed-uZPFNCty7PQ" value="20"/>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_xukAICvDEd-uZPFNCty7PQ" name="m_tID" type="_5KatsCvDEd-uZPFNCty7PQ" isUnique="false" aggregation="composite"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_Xq00oCvHEd-uZPFNCty7PQ" name="POOL_SIZE" isStatic="true" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_ZmFncCvHEd-uZPFNCty7PQ" value="20"/>
-          </ownedAttribute>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_cWjrYCsAEd-uZPFNCty7PQ" name="derived realization of I" client="_qgzokChYEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_D8z3ECu1Ed-uZPFNCty7PQ" name="run" specification="_2FN1ICu0Ed-uZPFNCty7PQ">
-            <language>C/C++</language>
-            <body>for (;;) {
-	// wait to be become active
-	m_state = FOLLOWER;
-	sem_wait (&amp;m_sema);
-	m_state = LEADER;
-	listener->select();     // no loop, single select
-	selectLeader ();
-	m_state = EXECUTOR;
-	listener->exec();
-}
-
-</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_wXEiYCu7Ed-uZPFNCty7PQ" name="selectLeader" specification="_eHX3wCu7Ed-uZPFNCty7PQ">
-            <language>C/C++</language>
-            <body>// select a new leader from the followers
-for (int i = currentIndex+1, j=0; j&lt;POOL_SIZE; i++, j++)
-{
-	if (i == POOL_SIZE) {
-		i = 0;
-	}
-	if (sr[i].state == FOLLOWER) {
-		sem_post (&amp;sr[i].m_sema);
-		break;
-	}
-}</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_4M1S0Cu9Ed-uZPFNCty7PQ" name="LeaderFollower" specification="_JM4I4Cu9Ed-uZPFNCty7PQ">
-            <language>C/C++</language>
-            <body>sem_init (&amp;m_sema, 0, 0);
-m_state = FOLLOWER;</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_OyEk4Cu_Ed-uZPFNCty7PQ" name="init" specification="_6cImgCu-Ed-uZPFNCty7PQ">
-            <language>C/C++</language>
-            <body>for (int i=0; i&lt;POOL_SIZE; i++) {
-	pthread_create (&amp;m_sr.m_tID, 0, runStatic, &amp;m_sr[i]);
-}</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_AGUogCvHEd-uZPFNCty7PQ" name="runStatic" specification="_z-laoCvGEd-uZPFNCty7PQ">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_LPCSoMp7EeWZ7LDc4RWI6w" name="arg">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LPDgwMp7EeWZ7LDc4RWI6w" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LPDgwcp7EeWZ7LDc4RWI6w" value="1"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_LPGkEMp7EeWZ7LDc4RWI6w" name="ret" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LPHLIMp7EeWZ7LDc4RWI6w" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LPHLIcp7EeWZ7LDc4RWI6w" value="1"/>
-            </ownedParameter>
-            <language>C/C++</language>
-            <body>((LeaderFollower *) arg)->run();</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_2FN1ICu0Ed-uZPFNCty7PQ" name="run" method="_D8z3ECu1Ed-uZPFNCty7PQ"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_eHX3wCu7Ed-uZPFNCty7PQ" name="selectLeader" method="_wXEiYCu7Ed-uZPFNCty7PQ"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_JM4I4Cu9Ed-uZPFNCty7PQ" name="LeaderFollower" method="_4M1S0Cu9Ed-uZPFNCty7PQ"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_6cImgCu-Ed-uZPFNCty7PQ" name="init" isStatic="true" method="_OyEk4Cu_Ed-uZPFNCty7PQ"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_z-laoCvGEd-uZPFNCty7PQ" name="runStatic" method="_AGUogCvHEd-uZPFNCty7PQ">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_Dn-xYCvHEd-uZPFNCty7PQ" name="arg">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_IdnDkCvHEd-uZPFNCty7PQ" name="ret" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            </ownedParameter>
-          </ownedOperation>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_2wMyEChiEd-eoo60eNyGlg" name="SimpleActivation">
-          <generalization xmi:type="uml:Generalization" xmi:id="_5AKpkChiEd-eoo60eNyGlg" general="_e6Y_EChYEd-eoo60eNyGlg"/>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_BhfKYChjEd-eoo60eNyGlg" name="derived realization of I" client="_2wMyEChiEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_6rmQoChiEd-eoo60eNyGlg" name="Thread Pool">
-          <generalization xmi:type="uml:Generalization" xmi:id="_892AEChiEd-eoo60eNyGlg" general="_e6Y_EChYEd-eoo60eNyGlg"/>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_cWkScCsAEd-uZPFNCty7PQ" name="derived realization of I" client="_6rmQoChiEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_BY-fwCnxEd-eoo60eNyGlg" name="sem_t">
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_CQ_F0CnxEd-eoo60eNyGlg" name="lf" type="_qgzokChYEd-eoo60eNyGlg" isUnique="false" aggregation="composite"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_PpWOECnxEd-eoo60eNyGlg" name="listener" isUnique="false" aggregation="composite"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Enumeration" xmi:id="_F3CIECu1Ed-uZPFNCty7PQ" name="LFState">
-          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_QSQJwCu1Ed-uZPFNCty7PQ" name="EXECUTOR"/>
-          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_R5B6UCu1Ed-uZPFNCty7PQ" name="FOLLOWER"/>
-          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_SxRJ4Cu1Ed-uZPFNCty7PQ" name="LEADER"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Interface" xmi:id="_fxfe8Cu1Ed-uZPFNCty7PQ" name="IListener">
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_eN6hcCu3Ed-uZPFNCty7PQ" name="exec" isAbstract="true"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_hY4ooCu3Ed-uZPFNCty7PQ" name="select" isAbstract="true"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_5KatsCvDEd-uZPFNCty7PQ" name="pthread_t"/>
-        <packagedElement xmi:type="uml:Enumeration" xmi:id="_hcwDkD8CEeGJ6KSvhYhYuQ" name="LeaderFollowerState">
-          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_mzqd4D8CEeGJ6KSvhYhYuQ" name="LEADER"/>
-          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_qdIe8D8CEeGJ6KSvhYhYuQ" name="FOLLOWER"/>
-          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_rOMvgD8CEeGJ6KSvhYhYuQ" name="EXECUTOR"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_xOqL0No9Ed-wvpj-p-V_QQ" name="CppParameterStorage"/>
-      <packagedElement xmi:type="uml:Class" xmi:id="_0KYOQF7pEeGEmrrwB1vhPg" name="OPC_provideMultI" isAbstract="true">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_0KY1UF7pEeGEmrrwB1vhPg" name="rconn" visibility="public" type="_ZzlzMPfBEd2TbIfwytOyPA" aggregation="composite" isConjugated="true">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0KY1Ul7pEeGEmrrwB1vhPg"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_0KY1UV7pEeGEmrrwB1vhPg" value="10"/>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_oJZ4EH2LEeWV7cfiwPN21w" name="derivedTypes">
-        <packagedElement xmi:type="uml:Package" xmi:id="_oJbtQH2LEeWV7cfiwPN21w" name="sysinterfaces">
-          <packagedElement xmi:type="uml:Class" xmi:id="_oJcUUH2LEeWV7cfiwPN21w" name="Use_Dispatch"/>
-          <packagedElement xmi:type="uml:Usage" xmi:id="_oJhM0H2LEeWV7cfiwPN21w" client="_oJcUUH2LEeWV7cfiwPN21w">
-            <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_7TuzoCUUEd6YR-YzyVnLng"/>
-          </packagedElement>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Package" xmi:id="_Askr4H2MEeWV7cfiwPN21w" name="core">
-          <packagedElement xmi:type="uml:Package" xmi:id="_AspkYH2MEeWV7cfiwPN21w" name="methodCall">
-            <packagedElement xmi:type="uml:Package" xmi:id="_LO3TgMp7EeWZ7LDc4RWI6w" name="CallActivation">
-              <packagedElement xmi:type="uml:Class" xmi:id="_LO4hoMp7EeWZ7LDc4RWI6w" name="Use_IListener"/>
-              <packagedElement xmi:type="uml:Usage" xmi:id="_LO_2YMp7EeWZ7LDc4RWI6w" client="_LO4hoMp7EeWZ7LDc4RWI6w" supplier="_fxfe8Cu1Ed-uZPFNCty7PQ"/>
-            </packagedElement>
-            <packagedElement xmi:type="uml:Class" xmi:id="_AsqygH2MEeWV7cfiwPN21w" name="Use_I"/>
-            <packagedElement xmi:type="uml:Usage" xmi:id="_As2_wH2MEeWV7cfiwPN21w" client="_AsqygH2MEeWV7cfiwPN21w" supplier="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          </packagedElement>
-        </packagedElement>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_QwvnQFDlEd6cwecVIgl9nw" name="PortKinds">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_2dvXILnZEeCxXoyQxQ47PQ" annotatedElement="_Wtq4slDlEd6cwecVIgl9nw">
-        <body>Data Flow oriented communication: consume passively: provided push operation is called </body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_Ch2pQLnaEeCxXoyQxQ47PQ">
-        <body>Data Flow oriented communication: produce data via pushing these (calling the required operation) </body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_DsnzQLnaEeCxXoyQxQ47PQ">
-        <body>Data Flow oriented communication: produce data via pushing these (calling the required operation) </body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_FMuUELnaEeCxXoyQxQ47PQ" annotatedElement="_WtrfwlDlEd6cwecVIgl9nw">
-        <body>Data Flow oriented communication: produce data via pushing these (calling the required operation) </body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_GgtrgLnaEeCxXoyQxQ47PQ" annotatedElement="_Wtq4sVDlEd6cwecVIgl9nw">
-        <body>Data Flow oriented communication: consumer data actively by calling the required poll operation </body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_-UGDoDiyEeGiupyIkgMHVw">
-        <body>In order to support icons, all port kinds are stereotypes, but for Qompass they are classes stereotyped as &quot;PortKind&quot;</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_COvdAEMMEeKGIL695HkFYQ" annotatedElement="_GjnlcC8qEeKx7OxAiA06uw">
-        <body> A bidirectional flow port combining a push-producer and a pull consumer</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_7cXTsH-QEeOtkrzuMiGEow" annotatedElement="_1FxlEH-QEeOtkrzuMiGEow">
-        <body>Dummy interface returned by ports who need to update derived interfaces (but can only do so in the context of a transaction).</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtq4sVDlEd6cwecVIgl9nw" name="PullConsumer">
-        <icon xmi:type="uml:Image" xmi:id="_CVWIADiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%97%0%0%0%98%8%0%0%0%0%101%-7%-30%-47%0%0%2%120%73%68%65%84%104%-127%-75%-38%-51%75%21%81%24%6%-16%-125%-106%105%25%-106%38%-107%84%-76%50%-119%-54%32%90%37%-75%-120%72%-94%69%-117%104%85%86%-46%-90%112%97%73%33%-47%-86%-123%16%33%70%17%-47%-54%-94%47%-24%3%-63%34%-56%-115%20%-35%77%4%-110%65%-123%27%11%51%37%-107%-16%-93%-85%-34%105%-26%-23%74%31%115%-18%120%103%-18%97%-50%-5%60%127%-64%-4%86%103%-26%61%-49%59%10%-99%23%-102%121%105%31%-127%122%-80%72%17%-77%-96%98%68%85%51%-127%116%-82%-87%26%-78%112%76%-35%34%11%117%106%-74%-98%45%32%121%-124%45%96%124%55%91%-64%-40%46%-74%-128%-127%-51%108%1%-3%-107%108%1%61%107%-40%2%-34%-106%-78%5%116%-111%8%95%-64%-45%34%-74%-32%-35%-90%16%-102%0%-17%106%62%89%-128%-45%66%32%50%4%56%-115%108%1%-45%39%-39%2%-110%7%-39%2%38%14%-80%5%-116%-18%96%11%24%-38%-50%22%-48%-73%-127%45%-32%-29%58%-74%-128%-41%43%-39%2%94%-107%-80%5%116%-120%17%97%2%-18%20%-78%5%-9%-70%16%17%42%-64%-67%40%-13%-94%13%23%-112%58%47%66%68%8%72%29%103%11%-104%58%-52%22%48%-79%-113%45%96%108%15%91%-64%-32%54%-74%-128%47%-101%-40%2%-34%-83%103%11%-24%89%-59%22%-16%-94%-116%45%-32%-39%82%-74%-128%-69%-59%108%1%55%11%-40%-126%123%41%54%97%40%-64%109%-54%35%11%-104%-39%-49%22%-34%-105%-109%-123%-127%-86%-104%-128%-87%-16%99%103%92%-64%80%-104%58%20%27%48%19%82%-89%-29%3%70%-126%-41%106%51%18%-104%8%-9%-84%38%39%3%-95%107%-103%13%96%32%-12%-38%125%30%114%11%-33%108%-81%43%-71%-124%113%-21%-6%44%-121%-112%-76%56%8%70%-126%115%-58%26%-120%22%-68%54%-127%-39%56%82%120%36%81%7%69%9%-35%-53%5%-128%40%-95%-73%66%2%-120%16%6%55%-118%0%-31%-62%100%-4%47%-126%-103%48%45%113%57%-119%18%-100%38%41%32%68%-16%-82%-56%21%126%-39%-123%-57%-126%-67%104%86%33%97%53%108%27%8%31%68%91%-10%44%-62%87%-39%101%-60%124%65%122%103%51%79%-104%-107%-34%59%5%-123%95%103%-123%-127%-96%64%40%-41%3%-62%-109%-59%-46%64%64%72%-84%16%7%50%5%-47%22%52%-101%48%-76%-107%0%-24%-62%-28%94%6%-96%9%-87%58%10%-32%11%-18%57%14%-32%11%55%72%-64%127%-95%-109%-10%63%-62%95%-31%13%107%103%-7%79%-24%91%75%3%-2%8%-33%41%7%65%19%126%-42%18%-127%57%-63%57%-63%4%-46%-126%-37%76%5%-46%66%7%23%80%71%85%-36%86%-57%52%-83%-86%-127%-6%-4%-68%-110%97%-11%-87%44%-93%-3%-54%-41%-78%-80%64%75%-111%-106%37%-59%126%86%111%-47%82%-85%-91%-2%84%58%109%-61%80%24%109%-65%-84%-27%-2%67%63%-49%95%-6%73%124%-42%50%19%28%-127%-94%-14%27%-2%-94%-44%59%115%-35%74%-17%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4KKUwDrSEeGKkdk54CX6PQ" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4KLi4DrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MdOBcDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconPushConsumer"/>
-          </eAnnotations>
-        </icon>
-        <icon xmi:type="uml:Image" xmi:id="_kZGdADl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%108%0%0%0%97%8%0%0%0%0%22%-109%27%-49%0%0%2%-101%73%68%65%84%104%-127%-67%-38%-51%75%84%81%24%6%-16%-25%-36%59%87%68%43%107%76%40%63%42%-84%4%-125%1%49%-86%77%-82%70%24%-120%54%-39%-57%44%18%35%-110%62%104%-91%-83%10%-108%32%-94%64%40%92%-10%-79%-120%-118%8%23%82%-101%26%-124%22%65%41%4%69%-117%-118%-124%114%17%52%65%-108%9%105%-47%-28%116%26%107%76%-13%-34%-21%-67%112%-49%-5%60%-1%-64%111%49%103%120%-97%123%-34%3%61%118%-78%37%84%118%-89%61%115%-30%-123%14%29%76%39%16%41%106%-29%72%120%44%19%-51%42%100%-61%-77%-48%-40%-11%-56%24%-102%71%-119%-104%-38%-10%-114%-121%-63%74%101%121%24%84%-37%4%15%-125%-35%17%70%51%-124%-63%62%62%21%2%-21%55%-125%-63%-23%-2%30%-116%-99%54%-124%-95%-12%124%-114%-121%-95%-20%66%-98%-121%97%-7%-75%0%-51%36%-122%-8%32%17%67%-19%61%34%-122%-75%-113%-120%24%26%-122%-119%24%-102%94%19%49%-75%-27%45%15%-125%74%-67%-25%97%-80%118%-114%-13%48%-60%14%-8%-116%0%9%12%-79%-61%-34%35%64%4%-125%-45%-27%-87%-55%96%112%-50%120%-115%0%-12%-120%96%40%-21%-101%-10%-64%14%-55%96%88%-26%49%2%-48%33%-124%33%126%-117%-120%-95%-58%53%2%4%49%-84%121%72%-60%-48%48%66%-60%-48%-8%-110%-120%-87%-83%-93%60%12%42%-103%-27%97%-80%118%124%-28%97%-80%-38%39%120%24%-20%-125%83%60%-84%-16%21%-16%-115%-121%-63%-23%-51%-15%-80%-62%8%-56%-15%48%-108%95%-3%-59%-61%-80%-30%-58%31%108%23%5%67%85%102%6%-37%-50%-63%80%-5%-128%-120%97%-3%19%34%-122%-42%28%17%-85%120%78%-60%-86%-77%60%-52%-18%-28%-3%102%-86%117%-100%-121%37%-34%-16%-114%126%-35%48%-17%79%29%-65%-85%105%88%-23%-59%60%13%-117%117%-3%-48%44%-52%-38%59%-87%105%88%-53%7%77%-61%-26%106%-79%60%-74%122%104%-82%-54%109%18%-74%42%110%-50%43%-87%-11%-78%86%-55%-39%60%13%-77%-113%-52%-65%57%-106%-59%84%-37%23%77%-61%54%-1%-65%55%17%-59%-22%-97%106%26%86%117%95%-45%-80%37%-105%53%13%115%122%126%-46%48%-69%-3%-21%66%75%12%83%-55%-49%46%75%12%-101%-87%28%44%-84%-18%-79%-121%37%-124%85%-34%-15%-78%100%-80%98%-27%-96%96%-77%-107%-61%-115%85%27%-73%-84%125%-18%67%95%-60%-52%-25%95%-27%32%96%-115%-81%-4%44%-13%-40%-86%33%95%-53%56%-74%-44%125%51%44%-122%-107%-100%91%108%-19%105%-42%-78%-113%46%-70%-84%54%106%45%-88%28%-78%88%115%-64%83%13%-109%-42%-70%-96%39%47%6%-83%-107%-103%0%-53%32%86%-18%-86%28%114%-104%-45%-21%-86%28%98%-104%-75%127%50%-48%50%-123%-87%-92%-33%82%85%0%75%-116%-123%-80%12%97%53%-31%94%-107%25%-79%-2%-34%114%-124%-64%84%116%-85%-92%63%-24%-119%-53%44%-42%20%-39%-78%-70%125%42%-121%27%-69%93%25%-77%109%43%-118%-107%14%113%-24%-117%-104%-2%52%56%48%112%-91%-49%55%-89%-114%-7%38%-99%42%100%-49%-91%-48%-106%-2%13%-127%31%98%-1%-55%30%-37%-42%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_44RX8DrSEeGKkdk54CX6PQ" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_44R_ADrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PhMv0DrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjPullConsumer"/>
-          </eAnnotations>
-        </icon>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtq4slDlEd6cwecVIgl9nw" name="PushConsumer">
-        <icon xmi:type="uml:Image" xmi:id="_Dh_hUDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%97%0%0%0%98%8%0%0%0%0%101%-7%-30%-47%0%0%2%120%73%68%65%84%104%-127%-75%-38%-51%75%21%81%24%6%-16%-125%-106%105%25%-106%38%-107%84%-76%50%-119%-54%32%90%37%-75%-120%72%-94%69%-117%104%85%86%-46%-90%112%97%73%33%-47%-86%-123%16%33%70%17%-47%-54%-94%47%-24%3%-63%34%-56%-115%20%-35%77%4%-110%65%-123%27%11%51%37%-107%-16%-93%-85%-34%105%-26%-23%74%31%115%-18%120%103%-18%97%-50%-5%60%127%-64%-4%86%103%-26%61%-49%59%10%-99%23%-102%121%105%31%-127%122%-80%72%17%-77%-96%98%68%85%51%-127%116%-82%-87%26%-78%112%76%-35%34%11%117%106%-74%-98%45%32%121%-124%45%96%124%55%91%-64%-40%46%-74%-128%-127%-51%108%1%-3%-107%108%1%61%107%-40%2%-34%-106%-78%5%116%-111%8%95%-64%-45%34%-74%-32%-35%-90%16%-102%0%-17%106%62%89%-128%-45%66%32%50%4%56%-115%108%1%-45%39%-39%2%-110%7%-39%2%38%14%-80%5%-116%-18%96%11%24%-38%-50%22%-48%-73%-127%45%-32%-29%58%-74%-128%-41%43%-39%2%94%-107%-80%5%116%-120%17%97%2%-18%20%-78%5%-9%-70%16%17%42%-64%-67%40%-13%-94%13%23%-112%58%47%66%68%8%72%29%103%11%-104%58%-52%22%48%-79%-113%45%96%108%15%91%-64%-32%54%-74%-128%47%-101%-40%2%-34%-83%103%11%-24%89%-59%22%-16%-94%-116%45%-32%-39%82%-74%-128%-69%-59%108%1%55%11%-40%-126%123%41%54%97%40%-64%109%-54%35%11%-104%-39%-49%22%-34%-105%-109%-123%-127%-86%-104%-128%-87%-16%99%103%92%-64%80%-104%58%20%27%48%19%82%-89%-29%3%70%-126%-41%106%51%18%-104%8%-9%-84%38%39%3%-95%107%-103%13%96%32%-12%-38%125%30%114%11%-33%108%-81%43%-71%-124%113%-21%-6%44%-121%-112%-76%56%8%70%-126%115%-58%26%-120%22%-68%54%-127%-39%56%82%120%36%81%7%69%9%-35%-53%5%-128%40%-95%-73%66%2%-120%16%6%55%-118%0%-31%-62%100%-4%47%-126%-103%48%45%113%57%-119%18%-100%38%41%32%68%-16%-82%-56%21%126%-39%-123%-57%-126%-67%104%86%33%97%53%108%27%8%31%68%91%-10%44%-62%87%-39%101%-60%124%65%122%103%51%79%-104%-107%-34%59%5%-123%95%103%-123%-127%-96%64%40%-41%3%-62%-109%-59%-46%64%64%72%-84%16%7%50%5%-47%22%52%-101%48%-76%-107%0%-24%-62%-28%94%6%-96%9%-87%58%10%-32%11%-18%57%14%-32%11%55%72%-64%127%-95%-109%-10%63%-62%95%-31%13%107%103%-7%79%-24%91%75%3%-2%8%-33%41%7%65%19%126%-42%18%-127%57%-63%57%-63%4%-46%-126%-37%76%5%-46%66%7%23%80%71%85%-36%86%-57%52%-83%-86%-127%-6%-4%-68%-110%97%-11%-87%44%-93%-3%-54%-41%-78%-80%64%75%-111%-106%37%-59%126%86%111%-47%82%-85%-91%-2%84%58%109%-61%80%24%109%-65%-84%-27%-2%67%63%-49%95%-6%73%124%-42%50%19%28%-127%-94%-14%27%-2%-94%-44%59%115%-35%74%-17%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7bjNADrSEeGKkdk54CX6PQ" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7bj0EDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JNOQUDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconPushConsumer"/>
-          </eAnnotations>
-        </icon>
-        <icon xmi:type="uml:Image" xmi:id="_hwLS8Dl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%108%0%0%0%97%8%0%0%0%0%22%-109%27%-49%0%0%2%-101%73%68%65%84%104%-127%-67%-38%-51%75%84%81%24%6%-16%-25%-36%59%87%68%43%107%76%40%63%42%-84%4%-125%1%49%-86%77%-82%70%24%-120%54%-39%-57%44%18%35%-110%62%104%-91%-83%10%-108%32%-94%64%40%92%-10%-79%-120%-118%8%23%82%-101%26%-124%22%65%41%4%69%-117%-118%-124%114%17%52%65%-108%9%105%-47%-28%116%26%107%76%-13%-34%-21%-67%112%-49%-5%60%-1%-64%111%49%103%120%-97%123%-34%3%61%118%-78%37%84%118%-89%61%115%-30%-123%14%29%76%39%16%41%106%-29%72%120%44%19%-51%42%100%-61%-77%-48%-40%-11%-56%24%-102%71%-119%-104%-38%-10%-114%-121%-63%74%101%121%24%84%-37%4%15%-125%-35%17%70%51%-124%-63%62%62%21%2%-21%55%-125%-63%-23%-2%30%-116%-99%54%-124%-95%-12%124%-114%-121%-95%-20%66%-98%-121%97%-7%-75%0%-51%36%-122%-8%32%17%67%-19%61%34%-122%-75%-113%-120%24%26%-122%-119%24%-102%94%19%49%-75%-27%45%15%-125%74%-67%-25%97%-80%118%-114%-13%48%-60%14%-8%-116%0%9%12%-79%-61%-34%35%64%4%-125%-45%-27%-87%-55%96%112%-50%120%-115%0%-12%-120%96%40%-21%-101%-10%-64%14%-55%96%88%-26%49%2%-48%33%-124%33%126%-117%-120%-95%-58%53%2%4%49%-84%121%72%-60%-48%48%66%-60%-48%-8%-110%-120%-87%-83%-93%60%12%42%-103%-27%97%-80%118%124%-28%97%-80%-38%39%120%24%-20%-125%83%60%-84%-16%21%-16%-115%-121%-63%-23%-51%-15%-80%-62%8%-56%-15%48%-108%95%-3%-59%-61%-80%-30%-58%31%108%23%5%67%85%102%6%-37%-50%-63%80%-5%-128%-120%97%-3%19%34%-122%-42%28%17%-85%120%78%-60%-86%-77%60%-52%-18%-28%-3%102%-86%117%-100%-121%37%-34%-16%-114%126%-35%48%-17%79%29%-65%-85%105%88%-23%-59%60%13%-117%117%-3%-48%44%-52%-38%59%-87%105%88%-53%7%77%-61%-26%106%-79%60%-74%122%104%-82%-54%109%18%-74%42%110%-50%43%-87%-11%-78%86%-55%-39%60%13%-77%-113%-52%-65%57%-106%-59%84%-37%23%77%-61%54%-1%-65%55%17%-59%-22%-97%106%26%86%117%95%-45%-80%37%-105%53%13%115%122%126%-46%48%-69%-3%-21%66%75%12%83%-55%-49%46%75%12%-101%-87%28%44%-84%-18%-79%-121%37%-124%85%-34%-15%-78%100%-80%98%-27%-96%96%-77%-107%-61%-115%85%27%-73%-84%125%-18%67%95%-60%-52%-25%95%-27%32%96%-115%-81%-4%44%-13%-40%-86%33%95%-53%56%-74%-44%125%51%44%-122%-107%-100%91%108%-19%105%-42%-78%-113%46%-70%-84%54%106%45%-88%28%-78%88%115%-64%83%13%-109%-42%-70%-96%39%47%6%-83%-107%-103%0%-53%32%86%-18%-86%28%114%-104%-45%-21%-86%28%98%-104%-75%127%50%-48%50%-123%-87%-92%-33%82%85%0%75%-116%-123%-80%12%97%53%-31%94%-107%25%-79%-2%-34%114%-124%-64%84%116%-85%-92%63%-24%-119%-53%44%-42%20%-39%-78%-70%125%42%-121%27%-69%93%25%-77%109%43%-118%-107%14%113%-24%-117%-104%-2%52%56%48%112%-91%-49%55%-89%-114%-7%38%-99%42%100%-49%-91%-48%-106%-2%13%-127%31%98%-1%-55%30%-37%-42%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8L9WQDrSEeGKkdk54CX6PQ" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8L99UDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Lb68gDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjPushConsumer"/>
-          </eAnnotations>
-        </icon>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="_WtrfwlDlEd6cwecVIgl9nw" name="PushProducer">
-        <icon xmi:type="uml:Image" xmi:id="_Eu1u8DiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%108%0%0%0%97%8%0%0%0%0%22%-109%27%-49%0%0%2%-101%73%68%65%84%104%-127%-67%-38%-51%75%84%81%24%6%-16%-25%-36%59%87%68%43%107%76%40%63%42%-84%4%-125%1%49%-86%77%-82%70%24%-120%54%-39%-57%44%18%35%-110%62%104%-91%-83%10%-108%32%-94%64%40%92%-10%-79%-120%-118%8%23%82%-101%26%-124%22%65%41%4%69%-117%-118%-124%114%17%52%65%-108%9%105%-47%-28%116%26%107%76%-13%-34%-21%-67%112%-49%-5%60%-1%-64%111%49%103%120%-97%123%-34%3%61%118%-78%37%84%118%-89%61%115%-30%-123%14%29%76%39%16%41%106%-29%72%120%44%19%-51%42%100%-61%-77%-48%-40%-11%-56%24%-102%71%-119%-104%-38%-10%-114%-121%-63%74%101%121%24%84%-37%4%15%-125%-35%17%70%51%-124%-63%62%62%21%2%-21%55%-125%-63%-23%-2%30%-116%-99%54%-124%-95%-12%124%-114%-121%-95%-20%66%-98%-121%97%-7%-75%0%-51%36%-122%-8%32%17%67%-19%61%34%-122%-75%-113%-120%24%26%-122%-119%24%-102%94%19%49%-75%-27%45%15%-125%74%-67%-25%97%-80%118%-114%-13%48%-60%14%-8%-116%0%9%12%-79%-61%-34%35%64%4%-125%-45%-27%-87%-55%96%112%-50%120%-115%0%-12%-120%96%40%-21%-101%-10%-64%14%-55%96%88%-26%49%2%-48%33%-124%33%126%-117%-120%-95%-58%53%2%4%49%-84%121%72%-60%-48%48%66%-60%-48%-8%-110%-120%-87%-83%-93%60%12%42%-103%-27%97%-80%118%124%-28%97%-80%-38%39%120%24%-20%-125%83%60%-84%-16%21%-16%-115%-121%-63%-23%-51%-15%-80%-62%8%-56%-15%48%-108%95%-3%-59%-61%-80%-30%-58%31%108%23%5%67%85%102%6%-37%-50%-63%80%-5%-128%-120%97%-3%19%34%-122%-42%28%17%-85%120%78%-60%-86%-77%60%-52%-18%-28%-3%102%-86%117%-100%-121%37%-34%-16%-114%126%-35%48%-17%79%29%-65%-85%105%88%-23%-59%60%13%-117%117%-3%-48%44%-52%-38%59%-87%105%88%-53%7%77%-61%-26%106%-79%60%-74%122%104%-82%-54%109%18%-74%42%110%-50%43%-87%-11%-78%86%-55%-39%60%13%-77%-113%-52%-65%57%-106%-59%84%-37%23%77%-61%54%-1%-65%55%17%-59%-22%-97%106%26%86%117%95%-45%-80%37%-105%53%13%115%122%126%-46%48%-69%-3%-21%66%75%12%83%-55%-49%46%75%12%-101%-87%28%44%-84%-18%-79%-121%37%-124%85%-34%-15%-78%100%-80%98%-27%-96%96%-77%-107%-61%-115%85%27%-73%-84%125%-18%67%95%-60%-52%-25%95%-27%32%96%-115%-81%-4%44%-13%-40%-86%33%95%-53%56%-74%-44%125%51%44%-122%-107%-100%91%108%-19%105%-42%-78%-113%46%-70%-84%54%106%45%-88%28%-78%88%115%-64%83%13%-109%-42%-70%-96%39%47%6%-83%-107%-103%0%-53%32%86%-18%-86%28%114%-104%-45%-21%-86%28%98%-104%-75%127%50%-48%50%-123%-87%-92%-33%82%85%0%75%-116%-123%-80%12%97%53%-31%94%-107%25%-79%-2%-34%114%-124%-64%84%116%-85%-92%63%-24%-119%-53%44%-42%20%-39%-78%-70%125%42%-121%27%-69%93%25%-77%109%43%-118%-107%14%113%-24%-117%-104%-2%52%56%48%112%-91%-49%55%-89%-114%-7%38%-99%42%100%-49%-91%-48%-106%-2%13%-127%31%98%-1%-55%30%-37%-42%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVcCADrXEeGMCcwsbpLuFA" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EVdQIDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconPushProducer"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Eg1ZsDrXEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
-          </eAnnotations>
-        </icon>
-        <icon xmi:type="uml:Image" xmi:id="_djiTYDl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%97%0%0%0%98%8%0%0%0%0%101%-7%-30%-47%0%0%2%120%73%68%65%84%104%-127%-75%-38%-51%75%21%81%24%6%-16%-125%-106%105%25%-106%38%-107%84%-76%50%-119%-54%32%90%37%-75%-120%72%-94%69%-117%104%85%86%-46%-90%112%97%73%33%-47%-86%-123%16%33%70%17%-47%-54%-94%47%-24%3%-63%34%-56%-115%20%-35%77%4%-110%65%-123%27%11%51%37%-107%-16%-93%-85%-34%105%-26%-23%74%31%115%-18%120%103%-18%97%-50%-5%60%127%-64%-4%86%103%-26%61%-49%59%10%-99%23%-102%121%105%31%-127%122%-80%72%17%-77%-96%98%68%85%51%-127%116%-82%-87%26%-78%112%76%-35%34%11%117%106%-74%-98%45%32%121%-124%45%96%124%55%91%-64%-40%46%-74%-128%-127%-51%108%1%-3%-107%108%1%61%107%-40%2%-34%-106%-78%5%116%-111%8%95%-64%-45%34%-74%-32%-35%-90%16%-102%0%-17%106%62%89%-128%-45%66%32%50%4%56%-115%108%1%-45%39%-39%2%-110%7%-39%2%38%14%-80%5%-116%-18%96%11%24%-38%-50%22%-48%-73%-127%45%-32%-29%58%-74%-128%-41%43%-39%2%94%-107%-80%5%116%-120%17%97%2%-18%20%-78%5%-9%-70%16%17%42%-64%-67%40%-13%-94%13%23%-112%58%47%66%68%8%72%29%103%11%-104%58%-52%22%48%-79%-113%45%96%108%15%91%-64%-32%54%-74%-128%47%-101%-40%2%-34%-83%103%11%-24%89%-59%22%-16%-94%-116%45%-32%-39%82%-74%-128%-69%-59%108%1%55%11%-40%-126%123%41%54%97%40%-64%109%-54%35%11%-104%-39%-49%22%-34%-105%-109%-123%-127%-86%-104%-128%-87%-16%99%103%92%-64%80%-104%58%20%27%48%19%82%-89%-29%3%70%-126%-41%106%51%18%-104%8%-9%-84%38%39%3%-95%107%-103%13%96%32%-12%-38%125%30%114%11%-33%108%-81%43%-71%-124%113%-21%-6%44%-121%-112%-76%56%8%70%-126%115%-58%26%-120%22%-68%54%-127%-39%56%82%120%36%81%7%69%9%-35%-53%5%-128%40%-95%-73%66%2%-120%16%6%55%-118%0%-31%-62%100%-4%47%-126%-103%48%45%113%57%-119%18%-100%38%41%32%68%-16%-82%-56%21%126%-39%-123%-57%-126%-67%104%86%33%97%53%108%27%8%31%68%91%-10%44%-62%87%-39%101%-60%124%65%122%103%51%79%-104%-107%-34%59%5%-123%95%103%-123%-127%-96%64%40%-41%3%-62%-109%-59%-46%64%64%72%-84%16%7%50%5%-47%22%52%-101%48%-76%-107%0%-24%-62%-28%94%6%-96%9%-87%58%10%-32%11%-18%57%14%-32%11%55%72%-64%127%-95%-109%-10%63%-62%95%-31%13%107%103%-7%79%-24%91%75%3%-2%8%-33%41%7%65%19%126%-42%18%-127%57%-63%57%-63%4%-46%-126%-37%76%5%-46%66%7%23%80%71%85%-36%86%-57%52%-83%-86%-127%-6%-4%-68%-110%97%-11%-87%44%-93%-3%-54%-41%-78%-80%64%75%-111%-106%37%-59%126%86%111%-47%82%-85%-91%-2%84%58%109%-61%80%24%109%-65%-84%-27%-2%67%63%-49%95%-6%73%124%-42%50%19%28%-127%-94%-14%27%-2%-94%-44%59%115%-35%74%-17%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GvSOQDrXEeGMCcwsbpLuFA" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GvS1UDrXEeGMCcwsbpLuFA" key="image_name_key" value="ConjIconPushProducer"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G5-bUDrXEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
-          </eAnnotations>
-        </icon>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="_GjnlcC8qEeKx7OxAiA06uw" name="PushProdPullCons">
-        <icon xmi:type="uml:Image" xmi:id="_0I0rMEMLEeKGIL695HkFYQ" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%112%0%0%0%103%8%0%0%0%0%-3%88%-103%-76%0%0%7%56%73%68%65%84%104%-127%-75%-102%123%80%21%85%28%-57%-9%-18%-67%92%121%-91%40%-124%38%70%64%-26%11%-33%-118%-29%115%124%84%-90%83%106%-91%-93%2%-115%83%-90%102%-90%-7%-56%-55%-41%-104%58%-26%-116%-40%56%-102%-64%-116%-88%53%101%62%-54%102%-14%81%26%86%102%-58%4%78%102%-120%14%89%62%72%5%-15%9%72%112%-111%-57%-62%-23%42%23%-10%123%118%-49%-18%-98%-35%-69%-2%-2%-29%-100%-33%-2%62%-105%-35%-13%123%-100%-33%57%2%-31%23%-23%-20%-87%-101%-116%-31%-102%-69%38%108%16%-127%31%-105%-38%78%16%-100%83%47%-46%-93%-43%-97%116%17%-59%94%-23%53%-10%3%-85%-34%116%9%15%36%-106%34%86%39%63%28%20%-109%-1%-77%29%-72%-92%-111%39%8%-29%-85%96%52%-75%105%116%90%-75%-51%-64%-116%22%62%-53%66%-28%101%121%-76%122%96%-45%-88%-72%-76%-34%86%-32%-31%80%-95%89%-66%-105%-121%47%61%-39%60%-22%78%-77%19%120%-90%-83%-52%19%-14%-28%-15%-62%56%121%56%116%-97%125%-64%-62%-98%-64%-21%120%93%-98%-88%26%12%19%109%-114%-39%5%44%123%22%-52%10%91%112%-22%-101%64%-104%-119%62%103%15%80%74%114%-128%-43%23%-53%113%-50%-25%22%62%-23%117%-51%22%-32%42%39%-40%-20%83%76%79%-106%-67%-128%-60%81%-58%65%-57%24%-72%-93%5%88%-20%-112%-81%-100%-66%-103%-128%-60%-55%30%-65%-127%-103%-32%16%66%-21%-29%106%-123%11%79%-125%-126%56%-73%-42%79%96%126%52%-104%11%-38%-55%82%-55%121%28%84%2%-42%-7%7%-68%-34%11%95%-40%-70%58%-90%-46%-63%-57%64%39%-28%115%127%-128%-98%-25%-112%55%-29%-66%-122%-38%118%-4%-52%97%-121%-83%3%-91%-23%-24%16%99%52%51%66%-3%-121%34%-24%69%-99%-78%12%92%-29%2%59%61%-117%-75%21%107%-26%-32%-101%-24%-10%-113%69%-32%23%24%70%-94%114%-11%126%90%-59%68%36%14%101%21%6%-58%-64%19%-83%-64%70%-85%31%-12%120%-124%-108%12%69%-30%-72%50%11%64%72%61%-34%-46%-30%-45%6%125%32%-71%26%15%-22%-30%76%-83%-11%-91%13%-68%-35%7%127%-14%74%-74%67%-96%-28%70%-127%126%-64%7%-110%73%-96%-121%-118%-111%111%104%-2%96%-112%-93%97%-16%68%96%-70%73%-32%76%116%-120%81%-9%56%120%-124%-20%13%-126%103%66%-65%50%5%92%-113%14%-47%-11%10%23%-113%-44%111%-62%-68%18%-98%101%2%-72%-41%13%79%70%-98%-26%-29%121%-35%113%41%126%-121%-40%-13%-36%-64%-109%-24%16%-63%-103%-68%60%66%42%95%67%98%127%86%-88%96%1%11%48%67%56%-73%25%57%4%74%-39%88%36%14%47%-27%2%-106%80%14%-79%-62%-40%33%80%-118%-6%-31%-61%83%-85%84%10%106%-96%-12%18%46%-48%100%-11%35%-6%-110%31%11%79%59%22%-87%-36%81%13%-100%-117%-111%127%-104%118%-116%-46%-110%19%88%-61%6%108%52%4%110%70%-121%-120%-27%116%8%74%14%-32%-110%11%82%-26%99%37%112%63%58%68%-60%31%22%120%-92%126%43%102%-103%-106%-118%-88%-81%0%-2%-114%-31%41%-8%59%43%60%66%106%87%99%0%104%-105%71%77%-46%-64%43%88%-127%9%105%90%1%-40%72%60%-77%-48%76%-89%34%77%96%101%95%84%92%96%84%-15%105%75%-7%-85%104%104%48%-106%-57%8%-84%-101%-128%106%-109%121%-73%-104%44%-71%51%4%77%-31%30%22%-127%-117%-47%1%19%-52%59%4%-54%-91%46%96%-53%49%67%-2%56%0%-92%98%125%76%-127%95%60%-17%-14%123%2%-84%57%87%49%-128%-103%-104%-51%-38%-24%-106%122%92%114%-76%53%-40%115%103%-88%-128%-25%-38%-64%-68%-21%-96%-103%-120%-83%33%-69%-15%63%8%57%-92%0%-34%-120%-63%-81%-68%-103%-77%67%-96%43%13%31%81%-7%56%-121%2%86%12%66%-34%60%-21%14%-127%82%-77%16%-115%-58%92%4%96%-35%100%-100%-102%-32%-113%67%-96%84%38%-94%-39%-34%55%101%-32%10%116%-120%-34%37%54%-15%-68%-7%120%36%18%71%120%-102%-128%59%-112%-41%94%111%103%96%86%-118%-79%-1%-31%72%-108%26%-127%-57%48%67%-124%-8%-17%16%40%-25%-79%60%118%-66%-1%16%120%1%-13%-105%75%-93%-100%-76%44%89%-24%110%-31%69%94%96%113%71%124%-49%41%118%56%4%37%-5%-63%29%-59%84%47%-112%-6%-82%-13%-52%-107%76%60%-46%-112%14%-18%56%64%18%-14%112%-63%-116%54%-20%122%88%-112%44%-8%100%125%37%97%62%-16%-30%-17%60%2%-34%5%-88%114%29%-21%-119%-48%94%-2%51%-20%-46%35%-32%-35%-22%15%-1%81%-40%95%68%-64%125%-28%86%27%66%-74%66%42%38%-127%125%71%-94%-41%45%54%-94%79%88%-84%-102%-76%-91%-10%61%92%-110%-61%-68%-91%-65%112%59%0%70%66%-71%55%74%124%-46%-80%5%19%70%-41%-85%-28%-127%-29%83%91%-84%-88%-117%-122%70%-52%-56%1%76%-119%17%15%-1%27%111%-92%-103%-126%-60%78%-73%108%-28%-3%22%1%-106%-125%15%18%31%-16%-2%112%-22%61%87%-40%-58%43%120%6%-20%-70%55%-111%38%32%41%-19%-122%-60%41%-4%-89%44%-6%82%58%2%-84%58%23%18%25%72%10%-80%37%35%44%-78%39%-68%121%-110%-48%-24%-53%77%-91%105%99%2%-2%19%-73%20%-62%70%59%2%120%-35%114%52%57%-80%-71%-8%-10%-43%52%71%-80%1%-23%-38%-25%127%0%104%-56%64%-121%-120%-109%79%115%-102%-86%-74%109%-72%13%13%57%-18%55%48%19%-33%89%120%-74%60%-47%92%-105%-82%68%98%100%30%-53%-120%9%57%-35%14%-84%5%-19%-127%25%-71%-14%-98%-123%121%42%-90%72%109%-60%-124%20%-10%0%91%1%41%56%37%3%-21%-88%-114%-57%0%127%-10%50%-9%-80%115%-19%-104%69%109%51%97%51%83%-47%-101%90%-57%60%-3%60%-74%120%94%71%67%99%-24%62%8%110%-41%-118%-30%80%-15%109%-85%1%64%90%-125%11%52%-31%6%61%75%-19%-128%-13%-15%4%66%88%109%113%-57%77%117%-82%-97%82%30%-27%-48%123%-4%-97%67%64%-41%-75%-35%-110%59%-2%68%117%-82%127%84%78%43%-70%24%123%48%59%90%-22%98%-100%-61%70%93%-32%103%-86%121%101%-97%-122%-38%98%69%-28%-104%-26%81%-67%54%-41%90%-75%-126%-86%19%-75%0%3%64%-76%-39%124%124%15%-5%18%-30%116%-58%-70%83%1%-21%38%82%59%41%115%-123%99%-19%108%92%117%35%24%-35%75%70%115%-81%18%-49%117%-123%-25%-71%111%4%120%-91%-98%-6%32%-35%-103%71%57%-116%126%-23%45%-20%120%-16%53%-12%125%-14%101%48%60%24%-59%-114%-57%-52%-114%112%123%36%46%-31%-34%127%-1%18%14%-113%-75%-44%88%-30%-58%61%111%-25%22%-50%124%76%29%-107%6%102%104%104%-79%-69%-6%-5%49%88%4%127%-51%-59%-93%-70%93%-30%50%-109%39%51%105%24%0%-62%127%-27%-32%81%53%-67%-112%100%-6%-20%105%57%-70%99%7%-29%-126%-68%6%119%97%-62%112%-19%-66%-124%22%80%-102%-122%-18%-40%-29%95%35%-32%-57%88%20%-59%-21%-88%107%-98%-82%-47%-57%-65%35%13%2%-64%1%60%119%-114%-52%-42%-47%-44%62%63%-92%-49%-13%18%43%-11%120%39%35%65%53%84%119%-111%-23%-100%-112%-46%-3%-24%-7%58%1%-32%114%103%80%12%-40%-84%-57%-45%61%3%-50%69%71%118%-90%104%22%-28%119%71%-127%-98%-72%80%-33%109%117%79%-71%-113%96%62%14%-38%-87%-111%-113%-85%-88%19%-82%-119%6%-101%33%-3%-117%3%25%-72%-10%90%-79%-113%-39%-22%-105%-95%7%13%49%-38%-18%25%92%-115%88%-117%-25%52%109%-103%-7%120%43%54%-50%-30%12%27%117%6%64%-23%29%-4%-7%-99%24%-7%-8%80%75%80%-32%-120%73%70%-73%77%60%-44%9%-60%32%-43%11%59%-125%-103%37%100%-105%33%-49%-8%62%-51%93%-22%4%-30%21%69%62%46%-60%-30%-39%-99%-62%54%97%14%72%-82%117%71%-30%108%-86%91%92%54%26%-25%-34%-30%-23%36%115%-36%-119%58%-117%45%79%-9%-73%56%-75%1%121%-29%-54%-75%44%-104%4%-110%99%-104%-113%-57%-62%-65%113%37%6%38%-6%-23%-36%70%49%9%36%-69%-96%86%-23%12%123%-123%108%8%12%-86%-102%-34%31%32%-39%36%7%-128%104%-72%-69%-106%41%-13%-62%-114%-14%-15%56%-127%-46%-30%-26%0%48%6%-118%-37%-13%-51%-25%75%-116%-102%-34%47%-96%55%94%-6%-14%-79%115%55%-116%-42%-114%-9%-15%-60%85%-36%-115%15%-34%-5%-91%37%-109%26%-119%115%-88%-22%-35%87%-88%-119%-17%62%-126%43%-69%82%90%127%-105%-69%-25%94%-123%-27%-53%-55%-34%72%26%-67%-61%68%99%-121%-1%82%50%33%-27%-84%-46%-81%-28%-52%-33%-90%-6%72%-1%3%78%-120%-67%33%108%33%82%26%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
-        <icon xmi:type="uml:Image" xmi:id="_12mboEMLEeKGIL695HkFYQ" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%112%0%0%0%103%8%0%0%0%0%-3%88%-103%-76%0%0%7%56%73%68%65%84%104%-127%-75%-102%123%80%21%85%28%-57%-9%-18%-67%92%121%-91%40%-124%38%70%64%-26%11%-33%-118%-29%115%124%84%-90%83%106%-91%-93%2%-115%83%-90%102%-90%-7%-56%-55%-41%-104%58%-26%-116%-40%56%-102%-64%-116%-88%53%101%62%-54%102%-14%81%26%86%102%-58%4%78%102%-120%14%89%62%72%5%-15%9%72%112%-111%-57%-62%-23%42%23%-10%123%118%-49%-18%-98%-35%-69%-2%-2%-29%-100%-33%-2%62%-105%-35%-13%123%-100%-33%57%2%-31%23%-23%-20%-87%-101%-116%-31%-102%-69%38%108%16%-127%31%-105%-38%78%16%-100%83%47%-46%-93%-43%-97%116%17%-59%94%-23%53%-10%3%-85%-34%116%9%15%36%-106%34%86%39%63%28%20%-109%-1%-77%29%-72%-92%-111%39%8%-29%-85%96%52%-75%105%116%90%-75%-51%-64%-116%22%62%-53%66%-28%101%121%-76%122%96%-45%-88%-72%-76%-34%86%-32%-31%80%-95%89%-66%-105%-121%47%61%-39%60%-22%78%-77%19%120%-90%-83%-52%19%-14%-28%-15%-62%56%121%56%116%-97%125%-64%-62%-98%-64%-21%120%93%-98%-88%26%12%19%109%-114%-39%5%44%123%22%-52%10%91%112%-22%-101%64%-104%-119%62%103%15%80%74%114%-128%-43%23%-53%113%-50%-25%22%62%-23%117%-51%22%-32%42%39%-40%-20%83%76%79%-106%-67%-128%-60%81%-58%65%-57%24%-72%-93%5%88%-20%-112%-81%-100%-66%-103%-128%-60%-55%30%-65%-127%-103%-32%16%66%-21%-29%106%-123%11%79%-125%-126%56%-73%-42%79%96%126%52%-104%11%-38%-55%82%-55%121%28%84%2%-42%-7%7%-68%-34%11%95%-40%-70%58%-90%-46%-63%-57%64%39%-28%115%127%-128%-98%-25%-112%55%-29%-66%-122%-38%118%-4%-52%97%-121%-83%3%-91%-23%-24%16%99%52%51%66%-3%-121%34%-24%69%-99%-78%12%92%-29%2%59%61%-117%-75%21%107%-26%-32%-101%-24%-10%-113%69%-32%23%24%70%-94%114%-11%126%90%-59%68%36%14%101%21%6%-58%-64%19%-83%-64%70%-85%31%-12%120%-124%-108%12%69%-30%-72%50%11%64%72%61%-34%-46%-30%-45%6%125%32%-71%26%15%-22%-30%76%-83%-11%-91%13%-68%-35%7%127%-14%74%-74%67%-96%-28%70%-127%126%-64%7%-110%73%-96%-121%-118%-111%111%104%-2%96%-112%-93%97%-16%68%96%-70%73%-32%76%116%-120%81%-9%56%120%-124%-20%13%-126%103%66%-65%50%5%92%-113%14%-47%-11%10%23%-113%-44%111%-62%-68%18%-98%101%2%-72%-41%13%79%70%-98%-26%-29%121%-35%113%41%126%-121%-40%-13%-36%-64%-109%-24%16%-63%-103%-68%60%66%42%95%67%98%127%86%-88%96%1%11%48%67%56%-73%25%57%4%74%-39%88%36%14%47%-27%2%-106%80%14%-79%-62%-40%33%80%-118%-6%-31%-61%83%-85%84%10%106%-96%-12%18%46%-48%100%-11%35%-6%-110%31%11%79%59%22%-87%-36%81%13%-100%-117%-111%127%-104%118%-116%-46%-110%19%88%-61%6%108%52%4%110%70%-121%-120%-27%116%8%74%14%-32%-110%11%82%-26%99%37%112%63%58%68%-60%31%22%120%-92%126%43%102%-103%-106%-118%-88%-81%0%-2%-114%-31%41%-8%59%43%60%66%106%87%99%0%104%-105%71%77%-46%-64%43%88%-127%9%105%90%1%-40%72%60%-77%-48%76%-89%34%77%96%101%95%84%92%96%84%-15%105%75%-7%-85%104%104%48%-106%-57%8%-84%-101%-128%106%-109%121%-73%-104%44%-71%51%4%77%-31%30%22%-127%-117%-47%1%19%-52%59%4%-54%-91%46%96%-53%49%67%-2%56%0%-92%98%125%76%-127%95%60%-17%-14%123%2%-84%57%87%49%-128%-103%-104%-51%-38%-24%-106%122%92%114%-76%53%-40%115%103%-88%-128%-25%-38%-64%-68%-21%-96%-103%-120%-83%33%-69%-15%63%8%57%-92%0%-34%-120%-63%-81%-68%-103%-77%67%-96%43%13%31%81%-7%56%-121%2%86%12%66%-34%60%-21%14%-127%82%-77%16%-115%-58%92%4%96%-35%100%-100%-102%-32%-113%67%-96%84%38%-94%-39%-34%55%101%-32%10%116%-120%-34%37%54%-15%-68%-7%120%36%18%71%120%-102%-128%59%-112%-41%94%111%103%96%86%-118%-79%-1%-31%72%-108%26%-127%-57%48%67%-124%-8%-17%16%40%-25%-79%60%118%-66%-1%16%120%1%-13%-105%75%-93%-100%-76%44%89%-24%110%-31%69%94%96%113%71%124%-49%41%118%56%4%37%-5%-63%29%-59%84%47%-112%-6%-82%-13%-52%-107%76%60%-46%-112%14%-18%56%64%18%-14%112%-63%-116%54%-20%122%88%-112%44%-8%100%125%37%97%62%-16%-30%-17%60%2%-34%5%-88%114%29%-21%-119%-48%94%-2%51%-20%-46%35%-32%-35%-22%15%-1%81%-40%95%68%-64%125%-28%86%27%66%-74%66%42%38%-127%125%71%-94%-41%45%54%-94%79%88%-84%-102%-76%-91%-10%61%92%-110%-61%-68%-91%-65%112%59%0%70%66%-71%55%74%124%-46%-80%5%19%70%-41%-85%-28%-127%-29%83%91%-84%-88%-117%-122%70%-52%-56%1%76%-119%17%15%-1%27%111%-92%-103%-126%-60%78%-73%108%-28%-3%22%1%-106%-125%15%18%31%-16%-2%112%-22%61%87%-40%-58%43%120%6%-20%-70%55%-111%38%32%41%-19%-122%-60%41%-4%-89%44%-6%82%58%2%-84%58%23%18%25%72%10%-80%37%35%44%-78%39%-68%121%-110%-48%-24%-53%77%-91%105%99%2%-2%19%-73%20%-62%70%59%2%120%-35%114%52%57%-80%-71%-8%-10%-43%52%71%-80%1%-23%-38%-25%127%0%104%-56%64%-121%-120%-109%79%115%-102%-86%-74%109%-72%13%13%57%-18%55%48%19%-33%89%120%-74%60%-47%92%-105%-82%68%98%100%30%-53%-120%9%57%-35%14%-84%5%-19%-127%25%-71%-14%-98%-123%121%42%-90%72%109%-60%-124%20%-10%0%91%1%41%56%37%3%-21%-88%-114%-57%0%127%-10%50%-9%-80%115%-19%-104%69%109%51%97%51%83%-47%-101%90%-57%60%-3%60%-74%120%94%71%67%99%-24%62%8%110%-41%-118%-30%80%-15%109%-85%1%64%90%-125%11%52%-31%6%61%75%-19%-128%-13%-15%4%66%88%109%113%-57%77%117%-82%-97%82%30%-27%-48%123%-4%-97%67%64%-41%-75%-35%-110%59%-2%68%117%-82%127%84%78%43%-70%24%123%48%59%90%-22%98%-100%-61%70%93%-32%103%-86%121%101%-97%-122%-38%98%69%-28%-104%-26%81%-67%54%-41%90%-75%-126%-86%19%-75%0%3%64%-76%-39%124%124%15%-5%18%-30%116%-58%-70%83%1%-21%38%82%59%41%115%-123%99%-19%108%92%117%35%24%-35%75%70%115%-81%18%-49%117%-123%-25%-71%111%4%120%-91%-98%-6%32%-35%-103%71%57%-116%126%-23%45%-20%120%-16%53%-12%125%-14%101%48%60%24%-59%-114%-57%-52%-114%112%123%36%46%-31%-34%127%-1%18%14%-113%-75%-44%88%-30%-58%61%111%-25%22%-50%124%76%29%-107%6%102%104%104%-79%-69%-6%-5%49%88%4%127%-51%-59%-93%-70%93%-30%50%-109%39%51%105%24%0%-62%127%-27%-32%81%53%-67%-112%100%-6%-20%105%57%-70%99%7%-29%-126%-68%6%119%97%-62%112%-19%-66%-124%22%80%-102%-122%-18%-40%-29%95%35%-32%-57%88%20%-59%-21%-88%107%-98%-82%-47%-57%-65%35%13%2%-64%1%60%119%-114%-52%-42%-47%-44%62%63%-92%-49%-13%18%43%-11%120%39%35%65%53%84%119%-111%-23%-100%-112%-46%-3%-24%-7%58%1%-32%114%103%80%12%-40%-84%-57%-45%61%3%-50%69%71%118%-90%104%22%-28%119%71%-127%-98%-72%80%-33%109%117%79%-71%-113%96%62%14%-38%-87%-111%-113%-85%-88%19%-82%-119%6%-101%33%-3%-117%3%25%-72%-10%90%-79%-113%-39%-22%-105%-95%7%13%49%-38%-18%25%92%-115%88%-117%-25%52%109%-103%-7%120%43%54%-50%-30%12%27%117%6%64%-23%29%-4%-7%-99%24%-7%-8%80%75%80%-32%-120%73%70%-73%77%60%-44%9%-60%32%-43%11%59%-125%-103%37%100%-105%33%-49%-8%62%-51%93%-22%4%-30%21%69%62%46%-60%-30%-39%-99%-62%54%97%14%72%-82%117%71%-30%108%-86%91%92%54%26%-25%-34%-30%-23%36%115%-36%-119%58%-117%45%79%-9%-73%56%-75%1%121%-29%-54%-75%44%-104%4%-110%99%-104%-113%-57%-62%-65%113%37%6%38%-6%-23%-36%70%49%9%36%-69%-96%86%-23%12%123%-123%108%8%12%-86%-102%-34%31%32%-39%36%7%-128%104%-72%-69%-106%41%-13%-62%-114%-14%-15%56%-127%-46%-30%-26%0%48%6%-118%-37%-13%-51%-25%75%-116%-102%-34%47%-96%55%94%-6%-14%-79%115%55%-116%-42%-114%-9%-15%-60%85%-36%-115%15%-34%-5%-91%37%-109%26%-119%115%-88%-22%-35%87%-88%-119%-17%62%-126%43%-69%82%90%127%-105%-69%-25%94%-123%-27%-53%-55%-34%72%26%-67%-61%68%99%-121%-1%82%50%33%-27%-84%-46%-81%-28%-52%-33%-90%-6%72%-1%3%78%-120%-67%33%108%33%82%26%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Interface" xmi:id="_1FxlEH-QEeOtkrzuMiGEow" name="Please update derived elements"/>
-      <packagedElement xmi:type="uml:Package" xmi:id="_HPLkIDMYEeWoDfId-zdVpA" name="interfaceBased">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_FryEELnZEeCxXoyQxQ47PQ" annotatedElement="_Wtq4sFDlEd6cwecVIgl9nw">
-          <body>Simple provision of typing interface as provided interface</body>
-        </ownedComment>
-        <ownedComment xmi:type="uml:Comment" xmi:id="_K17NsLnZEeCxXoyQxQ47PQ" annotatedElement="_Wtrfw1DlEd6cwecVIgl9nw">
-          <body>Simple provision of typing interface as required interface</body>
-        </ownedComment>
-        <ownedComment xmi:type="uml:Comment" xmi:id="_PxzR0LnZEeCxXoyQxQ47PQ" annotatedElement="__nMrwLqNEd-SedGzMDDkww">
-          <body>CORBA asynchronous messaging (AMI): Provision of poller variant of typing interface. Allows client to continue without waiting for the result</body>
-        </ownedComment>
-        <ownedComment xmi:type="uml:Comment" xmi:id="_l49WMLnZEeCxXoyQxQ47PQ" annotatedElement="__nMrwLqNEd-SedGzMDDkww _AQZZwLqOEd-SedGzMDDkww">
-          <body>CORBA asynchronous messaging (AMI): Provision of callback variant of typing interface. Allows client Allows client to continue without waiting for the result</body>
-        </ownedComment>
-        <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_OwA4UDMYEeWoDfId-zdVpA" parameter="_QqFYUDMYEeWoDfId-zdVpA">
-          <ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_QqFYUDMYEeWoDfId-zdVpA" parameteredElement="_d9RssDMYEeWoDfId-zdVpA"/>
-        </ownedTemplateSignature>
-        <packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtq4sFDlEd6cwecVIgl9nw" name="ProvideInterface">
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="__77G8DPdEeWoDfId-zdVpA" client="_Wtq4sFDlEd6cwecVIgl9nw" supplier="_d9RssDMYEeWoDfId-zdVpA" contract="_d9RssDMYEeWoDfId-zdVpA"/>
-          <icon xmi:type="uml:Image" xmi:id="__3j28DixEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%119%0%0%0%92%8%3%0%0%0%99%-116%-38%77%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%120%120%120%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-71%82%-104%50%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%4%-59%73%68%65%84%104%-127%-59%-102%109%91%-30%58%16%-122%11%-118%40%-88%108%-83%2%-53%-117%93%123%4%-75%-20%110%53%-83%69%-91%-108%30%20%-1%-1%79%58%-107%-77%72%38%77%-109%73%-126%-41%62%95%-55%-52%77%94%-102%-52%76%98%-111%29%104%-2%-74%26%-115%-22%-29%81%-27%-83%31%35%77%44%51%98%-68%58%60%-19%120%22%-91%-27%-76%57%-70%-8%90%-18%-62%127%6%-56%-83%58%-65%-34%-61%47%-30%94%28%-76%-7%-52%63%122%109%-4%-5%5%-36%-59%73%73%79%105%-75%43%59%-26%14%78%-28%-48%-75%-70%-29%-78%-31%-42%-32%94%96%-87%107%-14%96%71%-36%-80%-18%42%96%115%5%-50%46%-72%-117%-82%26%53%-41%-16%-38%-100%-69%127%-91%-116%-51%-43%-116%-52%-72%-15%-67%14%53%87%123%102%-62%117%94%52%-79%-106%-27%-78%-53%75%-127%-101%-88%79%45%5%102%-66%101%60%119%-66%44%117%58%124%-71%15%38%-66%-1%59%-104%-106%-73%-15%-58%122%-36%-92%-60%101%-89%89%-95%63%-108%120%-32%79%75%-42%94%85%-121%-21%100%60%87%-39%36%-31%-76%-75%111%-98%-72%61%-2%-95%-50%-115%121%115%43%-40%127%23%15%-100%-3%-37%-19%41%115%91%69%47%-35%-107%-48%34%-31%-20%-90%-53%-19%-116%-32%-72%-11%-30%127%-81%75%14%88%66%86%-33%11%86%45%53%-18%-96%48%104%47%-123%-115%-128%-93%-8%119%1%92%87%-31%-38%25%107%-34%-112%118%-10%127%-115%-39%51%-60%-21%43%112%27%-84%113%13%71%-51%-43%103%-65%-66%78%-120%-26%-10%-104%81%-10%-86%114%-101%79%37%-20%88%-43%-48%-36%103%3%44%33%51%-90%-57%-18%5%-110%59%102%-2%-16%88%106%1%-107%48%115%28%32%-71%41%52%-13%21%-79%-124%92%-62%121%-14%18%20%-73%2%-79%-33%-112%43%-103%-42%29%116%-47%68%113%97%-108%-4%-54%13%-106%36%10%-65%1%31%87%14%-126%-5%6%-1%-21%72%3%-101%-81%45%120%66%77%16%-36%0%88%60%106%97%-39%-111%-50%-28%-36%8%44%70%-113%119%-22%97%20%-62%-59%121%41%-27%94%-125%-10%-57%-102%88%-10%99%12%-92%92%120%-2%45%-76%-71%33%-40%61%-36%80%-62%13%-63%48%-73%-124%109%-59%58%0%29%-24%75%-72%125%-48%-102%23%-9%99%-27%-128%-51%-29%78%-62%5%-21%-48%45%70%-3%10%2%51%54%-107%112%31%-103%-43%96%-96%17%-19%-22%42%18%115%95%-23%-58%122%123%-58%70%51%-72%66%-123%92%27%-76%-59%-124%54%2%-127%-120%-76%-14%-121%27%-49%120%-86%-46%77%51%51%44%-36%-7%110%63%-72%-47%-92%-115%-88%86%-24%-18%-111%27%-127%47%-23%-34%66%-89%-46%13%67%46%56%80%-97%44%18%103%40%-84%-75%111%-56%-99%-45%-50%-50%45%-46%-60%97%13%-105%51%-77%-96%83%-117%12%-111%92%113%90%34%87%8%-71%9%18%107%-67%25%114%9%-19%-52%-77%46%-1%10%-41%-75%-20%50%14%43%65%-47%15%-91%-104%118%-106%-49%47%-74%106%-79%-21%117%85%45%3%49%58%48%-28%-10%104%103%-7%-9%75%30%112%-36%95%-122%-36%127%104%103%-45%-100%27%-6%-120%93%50%-1%-117%-122%92%-97%118%-42%92%-97%11%73%-19%-8%-119%39%80%39%27%26%114%65%-35%-95%38%60%7%35%-48%-31%-98%-88%-87%92%96%127%122%23%-97%-5%32%-20%-59%103%-37%60%-127%101%-107%-17%86%-62%-58%-57%116%91%-109%112%-110%-112%91%56%103%98%-18%30%-35%-40%-45%-55%-55%62%5%-14%-69%19%9%23%-100%93%70%3%-67%0%-98%-10%100%-7%2%8%-13%59%6%92%88%-101%-103%-53%-72%48%29%-44%-33%-94%29%-112%-119%102%-46%-4%8%-90%-65%-25%-38%92%-80%105%124%36%-64%-78%-4%55%3%6%-17%-102%88%7%6%23%115%57%-9%16%24%100%-102%-87%10%-100%-82%103%34%-25%-62%21%-67%46%17%-88%-117%-119%45%-10%17%92%-72%-83%90%94%-55%-11%-105%80%76%125%115%25%97%-72%-16%-61%-77%-78%51%117%46%83%-119%94%111%3%-14%-70%-39%41%-76%106%41%23%-80%-104%-14%-43%-48%-58%113%7%-48%76%57%29%29%49%-10%119%4%-57%37%108%-11%-6%72%9%91%101%-126%-118%52%-62%114%-49%-40%-56%30%91%-11%-26%97%55%-31%63%-90%-18%-67%-49%-104%90%15%-24%-49%-72%112%49%-15%64%-16%92%-90%-66%-104%-85%-115%43%-96%21%-17%49%95%55%79%29%80%-9%26%78%-31%-82%-52%-67%65%-104%-11%82%-42%108%-101%100%-31%-18%113%126%20%35%-50%-87%-84%-53%118%-77%104%-12%-13%-13%87%-28%-67%-107%95%112%97%121%13%-47%-13%-112%-88%-58%-71%79%-100%110%23%36%-10%126%48%40%122%-79%-68%-96%-84%112%-24%-44%121%-73%-104%93%123%-37%2%-53%13%-7%-113%24%-38%7%-59%42%-113%125%125%-54%77%4%50%58%62%67%-33%-61%-58%-36%59%-50%92%105%112%115%-71%-15%24%-9%-85%71%101%-49%88%-106%96%65%-32%-17%-99%-29%105%-119%-61%-11%-112%-89%-23%75%-102%-118%94%88%64%-84%-54%61%123%-120%76%-32%-72%-22%50%-117%80%-23%61%-61%-111%54%-10%-23%-116%113%-91%-10%126%-93%112%-49%-120%84%113%71%87%124%55%50%19%63%126%-30%107%-56%-119%127%85%-33%-55%68%13%84%-78%76%-21%-111%87%80%85%127%-113%52%127%-106%-93%40%45%-7%85%122%-99%-9%87%123%-27%-81%52%88%93%29%-39%124%31%90%-17%-66%-94%-101%-30%-43%61%-105%-38%40%77%33%53%-33%-71%-123%99%-7%104%103%126%73%95%13%-72%-71%-110%-119%-88%-45%110%32%-82%-17%25%-67%-97%-20%-33%-74%-72%31%-12%-7%-31%74%22%9%25%-66%-37%36%97%127%-4%-13%-76%-67%-119%-4%-68%116%-38%-84%-83%4%-61%-69%51%-18%-89%102%-77%25%-10%-115%-22%-121%-2%3%52%51%-49%67%-105%-19%90%17%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%5%-46%-52%-24%92%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_17F1IDrSEeGKkdk54CX6PQ" source="image_papyrus">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_17HDQDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Sn5bADrXEeGMCcwsbpLuFA" key="image_name_key" value="IconProvideInterface"/>
-            </eAnnotations>
-          </icon>
-          <icon xmi:type="uml:Image" xmi:id="_ToC6oDl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%84%0%0%0%101%8%3%0%0%0%-28%-109%52%-5%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-52%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%82%82%82%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%24%24%24%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-33%61%-9%-93%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%41%73%68%65%84%104%-127%-83%-39%125%91%-38%48%16%0%-16%-29%101%12%-76%32%32%69%17%-95%88%-107%23%-69%45%-43%90%-83%5%117%-32%-9%-1%78%-125%103%-37%67%47%109%115%-105%54%-9%119%-8%61%41%73%-109%-69%43%-120%-14%17%92%86%-105%86%56%-116%15%49%12%-83%-42%26%74%-126%-35%-54%106%8%82%84%74%-95%-125%-58%-117%12%30%98%84%28%125%-84%-74%-99%44%18%-96%87%20%125%-84%127%100%-117%0%83%81%12%85%-112%0%-61%98%-24%-83%-126%4%120%42%-126%-66%61%-87%72%-128%7%125%-44%-97%79%-43%38%-52%-75%-47%-2%25%65%2%-72%-70%-24%104%67%-102%-80%-43%68%107%57%59%19%69%-92%-121%46%25%36%-128%-81%-123%54%115%-99%-15%-85%-41%-88%110%15%81%-83%-51%-123%6%-22%63%100%-125%-45%-50%-3%-91%52%-108%-113%-98%100%-110%-81%-75%94%122%40%27%-99%103%-111%-42%58%115%44%23%-67%-31%-109%108%116%-108%-34%75%-101%93%-18%104%30%-38%77%-17%-7%102%-112%63%-100%-121%-2%72%-19%-95%47%-43%112%22%122%39%-101%118%-92%28%-49%65%-93%-119%100%-122%-118%71%-25%-94%-14%-61%119%8%-109%-125%110%37%-13%-52%-89%126%65%-93%-66%116%-81%15%-87%121%114%-48%26%54%63%-6%-28%47%104%-44%-57%91%-44%-71%-94%77%26%-67%-59%19%-99%51%76%26%-75%-15%102%34%23%-119%-125%86%-16%-61%-65%113%76%18%-75%16%-38%98%-103%20%-38%67%-89%-45%-17%-82%17%20%47%-45%61%-49%-92%-48%48%105%-114%-103%19%37%-48%1%-102%104%-109%105%18%-88%-117%-48%-127%25%-44%67%123%-108%107%18%104%-100%68%-17%-52%-96%17%122%-6%-116%11%-66%8%58%75%-102%54%-37%84%-93%40%-127%96%-66%77%36%-118%-18%-111%-118%33%-12%60%-119%50%14%103%22%58%78%-104%19%-66%-87%68%-125%-126%-21%116%64%-3%-111%91%91%36%-93%-27%-3%-115%95%73%-12%84%11%29%93%0%39%60%29%-12%-115%42%-117%-2%-59%82%7%125%-26%-103%-80%-48%65%57%69%-116%54%-54%13%45%-108%-7%-105%-62%119%29%-12%39%19%-43%90%-3%-63%-104%6%15%-47%-42%65%69%-60%91%127%-51%55%74%116%-81%-73%-57%-72%-114%-114%-15%-103%64%29%77%52%55%-48%5%-51%-53%120%104%20%85%-93%51%67%-24%-73%36%-70%50%-124%-94%-108%111%104%8%-19%-93%-11%103%-25%18%-60%-67%-113%106%-120%-70%33%116%-107%68%-49%13%-95%51%-12%-4%-20%77%-91%70%-5%-24%96%100%-33%-4%68%126%-118%58%112%83%51%-7%-87%-108%75%114%-49%84%2%13%-48%113%-53%77%-91%-87%-22%-28%20%77%-107%-7%86%81%-24%14%-95%78%94%43%70%15%-107%42%-66%23%35%21%-97%-76%85%121%-41%63%93%69%-93%20%29%-100%107%19%-88%92%70%27%-87%-9%83%-99%-119%11%19%-99%9%113%-123%81%70%121%-50%-23%-10%120%-110%-6%108%-96%-37%35%6%-87%-66%20%81%-3%-80%58%104%-82%-124%-62%69%-7%14%90%-6%15%-128%-119%-14%110%-27%-95%65%44%-85%112%82%-70%43%41%46%-45%-55%-31%38%-65%-80%-30%118%122%-85%41%116%-97%-77%-107%-20%-12%74%-119%-59%-1%-80%-34%-53%-95%57%93%126%-69%94%-90%123%46%-35%-41%-57%112%-98%23%35%-23%29%51%-13%69%98%106%91%75%-41%-35%109%-65%92%-9%74%19%21%-115%92%-11%24%15%-70%40%-25%43%-113%-89%-115%-118%119%-14%123%-44%-87%62%42%122%29%2%13%11%-96%-5%13%-85%-82%-68%-118%-95%34%82%78%-42%46%-122%10%113%-93%-8%103%-29%-94%-88%-22%11%111%113%84%-59%-106%64%-9%-73%108%-59%-54%-36%-75%-91%-48%125%-12%-22%97%-38%13%74%-94%-5%8%118%45%27%-61%81%121%-12%16%-2%-70%-46%-16%-38%97%24%-57%113%24%-74%-9%71%-31%31%12%-33%-99%51%8%-119%86%-81%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%45%-25%121%64%-90%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2ypIMDrSEeGKkdk54CX6PQ" source="image_papyrus">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2ypvQDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UMxHEDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjProvideInterface"/>
-            </eAnnotations>
-          </icon>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtrfw1DlEd6cwecVIgl9nw" name="UseInterface">
-          <icon xmi:type="uml:Image" xmi:id="_FzdNoDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%84%0%0%0%101%8%3%0%0%0%-28%-109%52%-5%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-52%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%82%82%82%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%24%24%24%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-33%61%-9%-93%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%41%73%68%65%84%104%-127%-83%-39%125%91%-38%48%16%0%-16%-29%101%12%-76%32%32%69%17%-95%88%-107%23%-69%45%-43%90%-83%5%117%-32%-9%-1%78%-125%103%-37%67%47%109%115%-105%54%-9%119%-8%61%41%73%-109%-69%43%-120%-14%17%92%86%-105%86%56%-116%15%49%12%-83%-42%26%74%-126%-35%-54%106%8%82%84%74%-95%-125%-58%-117%12%30%98%84%28%125%-84%-74%-99%44%18%-96%87%20%125%-84%127%100%-117%0%83%81%12%85%-112%0%-61%98%-24%-83%-126%4%120%42%-126%-66%61%-87%72%-128%7%125%-44%-97%79%-43%38%-52%-75%-47%-2%25%65%2%-72%-70%-24%104%67%-102%-80%-43%68%107%57%59%19%69%-92%-121%46%25%36%-128%-81%-123%54%115%-99%-15%-85%-41%-88%110%15%81%-83%-51%-123%6%-22%63%100%-125%-45%-50%-3%-91%52%-108%-113%-98%100%-110%-81%-75%94%122%40%27%-99%103%-111%-42%58%115%44%23%-67%-31%-109%108%116%-108%-34%75%-101%93%-18%104%30%-38%77%-17%-7%102%-112%63%-100%-121%-2%72%-19%-95%47%-43%112%22%122%39%-101%118%-92%28%-49%65%-93%-119%100%-122%-118%71%-25%-94%-14%-61%119%8%-109%-125%110%37%-13%-52%-89%126%65%-93%-66%116%-81%15%-87%121%114%-48%26%54%63%-6%-28%47%104%-44%-57%91%-44%-71%-94%77%26%-67%-59%19%-99%51%76%26%-75%-15%102%34%23%-119%-125%86%-16%-61%-65%113%76%18%-75%16%-38%98%-103%20%-38%67%-89%-45%-17%-82%17%20%47%-45%61%-49%-92%-48%48%105%-114%-103%19%37%-48%1%-102%104%-109%105%18%-88%-117%-48%-127%25%-44%67%123%-108%107%18%104%-100%68%-17%-52%-96%17%122%-6%-116%11%-66%8%58%75%-102%54%-37%84%-93%40%-127%96%-66%77%36%-118%-18%-111%-118%33%-12%60%-119%50%14%103%22%58%78%-104%19%-66%-87%68%-125%-126%-21%116%64%-3%-111%91%91%36%-93%-27%-3%-115%95%73%-12%84%11%29%93%0%39%60%29%-12%-115%42%-117%-2%-59%82%7%125%-26%-103%-80%-48%65%57%69%-116%54%-54%13%45%-108%-7%-105%-62%119%29%-12%39%19%-43%90%-3%-63%-104%6%15%-47%-42%65%69%-60%91%127%-51%55%74%116%-81%-73%-57%-72%-114%-114%-15%-103%64%29%77%52%55%-48%5%-51%-53%120%104%20%85%-93%51%67%-24%-73%36%-70%50%-124%-94%-108%111%104%8%-19%-93%-11%103%-25%18%-60%-67%-113%106%-120%-70%33%116%-107%68%-49%13%-95%51%-12%-4%-20%77%-91%70%-5%-24%96%100%-33%-4%68%126%-118%58%112%83%51%-7%-87%-108%75%114%-49%84%2%13%-48%113%-53%77%-91%-87%-22%-28%20%77%-107%-7%86%81%-24%14%-95%78%94%43%70%15%-107%42%-66%23%35%21%-97%-76%85%121%-41%63%93%69%-93%20%29%-100%107%19%-88%92%70%27%-87%-9%83%-99%-119%11%19%-99%9%113%-123%81%70%121%-50%-23%-10%120%-110%-6%108%-96%-37%35%6%-87%-66%20%81%-3%-80%58%104%-82%-124%-62%69%-7%14%90%-6%15%-128%-119%-14%110%-27%-95%65%44%-85%112%82%-70%43%41%46%-45%-55%-31%38%-65%-80%-30%118%122%-85%41%116%-97%-77%-107%-20%-12%74%-119%-59%-1%-80%-34%-53%-95%57%93%126%-69%94%-90%123%46%-35%-41%-57%112%-98%23%35%-23%29%51%-13%69%98%106%91%75%-41%-35%109%-65%92%-9%74%19%21%-115%92%-11%24%15%-70%40%-25%43%-113%-89%-115%-118%119%-14%123%-44%-87%62%42%122%29%2%13%11%-96%-5%13%-85%-82%-68%-118%-95%34%82%78%-42%46%-122%10%113%-93%-8%103%-29%-94%-88%-22%11%111%113%84%-59%-106%64%-9%-73%108%-59%-54%-36%-75%-91%-48%125%-12%-22%97%-38%13%74%-94%-5%8%118%45%27%-61%81%121%-12%16%-2%-70%-46%-16%-38%97%24%-57%113%24%-74%-9%71%-31%31%12%-33%-99%51%8%-119%86%-81%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%45%-25%121%64%-90%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z5Ar0DrWEeGMCcwsbpLuFA" source="image_papyrus">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z5BS4DrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BoRRIDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconUseInterface"/>
-            </eAnnotations>
-          </icon>
-          <icon xmi:type="uml:Image" xmi:id="_Yy8SMDl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%119%0%0%0%92%8%3%0%0%0%99%-116%-38%77%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%120%120%120%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-71%82%-104%50%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%4%-59%73%68%65%84%104%-127%-59%-102%109%91%-30%58%16%-122%11%-118%40%-88%108%-83%2%-53%-117%93%123%4%-75%-20%110%53%-83%69%-91%-108%30%20%-1%-1%79%58%-107%-77%72%38%77%-109%73%-126%-41%62%95%-55%-52%77%94%-102%-52%76%98%-111%29%104%-2%-74%26%-115%-22%-29%81%-27%-83%31%35%77%44%51%98%-68%58%60%-19%120%22%-91%-27%-76%57%-70%-8%90%-18%-62%127%6%-56%-83%58%-65%-34%-61%47%-30%94%28%-76%-7%-52%63%122%109%-4%-5%5%-36%-59%73%73%79%105%-75%43%59%-26%14%78%-28%-48%-75%-70%-29%-78%-31%-42%-32%94%96%-87%107%-14%96%71%-36%-80%-18%42%96%115%5%-50%46%-72%-117%-82%26%53%-41%-16%-38%-100%-69%127%-91%-116%-51%-43%-116%-52%-72%-15%-67%14%53%87%123%102%-62%117%94%52%-79%-106%-27%-78%-53%75%-127%-101%-88%79%45%5%102%-66%101%60%119%-66%44%117%58%124%-71%15%38%-66%-1%59%-104%-106%-73%-15%-58%122%-36%-92%-60%101%-89%89%-95%63%-108%120%-32%79%75%-42%94%85%-121%-21%100%60%87%-39%36%-31%-76%-75%111%-98%-72%61%-2%-95%-50%-115%121%115%43%-40%127%23%15%-100%-3%-37%-19%41%115%91%69%47%-35%-107%-48%34%-31%-20%-90%-53%-19%-116%-32%-72%-11%-30%127%-81%75%14%88%66%86%-33%11%86%45%53%-18%-96%48%104%47%-123%-115%-128%-93%-8%119%1%92%87%-31%-38%25%107%-34%-112%118%-10%127%-115%-39%51%-60%-21%43%112%27%-84%113%13%71%-51%-43%103%-65%-66%78%-120%-26%-10%-104%81%-10%-86%114%-101%79%37%-20%88%-43%-48%-36%103%3%44%33%51%-90%-57%-18%5%-110%59%102%-2%-16%88%106%1%-107%48%115%28%32%-71%41%52%-13%21%-79%-124%92%-62%121%-14%18%20%-73%2%-79%-33%-112%43%-103%-42%29%116%-47%68%113%97%-108%-4%-54%13%-106%36%10%-65%1%31%87%14%-126%-5%6%-1%-21%72%3%-101%-81%45%120%66%77%16%-36%0%88%60%106%97%-39%-111%-50%-28%-36%8%44%70%-113%119%-22%97%20%-62%-59%121%41%-27%94%-125%-10%-57%-102%88%-10%99%12%-92%92%120%-2%45%-76%-71%33%-40%61%-36%80%-62%13%-63%48%-73%-124%109%-59%58%0%29%-24%75%-72%125%-48%-102%23%-9%99%-27%-128%-51%-29%78%-62%5%-21%-48%45%70%-3%10%2%51%54%-107%112%31%-103%-43%96%-96%17%-19%-22%42%18%115%95%-23%-58%122%123%-58%70%51%-72%66%-123%92%27%-76%-59%-124%54%2%-127%-120%-76%-14%-121%27%-49%120%-86%-46%77%51%51%44%-36%-7%110%63%-72%-47%-92%-115%-88%86%-24%-18%-111%27%-127%47%-23%-34%66%-89%-46%13%67%46%56%80%-97%44%18%103%40%-84%-75%111%-56%-99%-45%-50%-50%45%-46%-60%97%13%-105%51%-77%-96%83%-117%12%-111%92%113%90%34%87%8%-71%9%18%107%-67%25%114%9%-19%-52%-77%46%-1%10%-41%-75%-20%50%14%43%65%-47%15%-91%-104%118%-106%-49%47%-74%106%-79%-21%117%85%45%3%49%58%48%-28%-10%104%103%-7%-9%75%30%112%-36%95%-122%-36%127%104%103%-45%-100%27%-6%-120%93%50%-1%-117%-122%92%-97%118%-42%92%-97%11%73%-19%-8%-119%39%80%39%27%26%114%65%-35%-95%38%60%7%35%-48%-31%-98%-88%-87%92%96%127%122%23%-97%-5%32%-20%-59%103%-37%60%-127%101%-107%-17%86%-62%-58%-57%116%91%-109%112%-110%-112%91%56%103%98%-18%30%-35%-40%-45%-55%-55%62%5%-14%-69%19%9%23%-100%93%70%3%-67%0%-98%-10%100%-7%2%8%-13%59%6%92%88%-101%-103%-53%-72%48%29%-44%-33%-94%29%-112%-119%102%-46%-4%8%-90%-65%-25%-38%92%-80%105%124%36%-64%-78%-4%55%3%6%-17%-102%88%7%6%23%115%57%-9%16%24%100%-102%-87%10%-100%-82%103%34%-25%-62%21%-67%46%17%-88%-117%-119%45%-10%17%92%-72%-83%90%94%-55%-11%-105%80%76%125%115%25%97%-72%-16%-61%-77%-78%51%117%46%83%-119%94%111%3%-14%-70%-39%41%-76%106%41%23%-80%-104%-14%-43%-48%-58%113%7%-48%76%57%29%29%49%-10%119%4%-57%37%108%-11%-6%72%9%91%101%-126%-118%52%-62%114%-49%-40%-56%30%91%-11%-26%97%55%-31%63%-90%-18%-67%-49%-104%90%15%-24%-49%-72%112%49%-15%64%-16%92%-90%-66%-104%-85%-115%43%-96%21%-17%49%95%55%79%29%80%-9%26%78%-31%-82%-52%-67%65%-104%-11%82%-42%108%-101%100%-31%-18%113%126%20%35%-50%-87%-84%-53%118%-77%104%-12%-13%-13%87%-28%-67%-107%95%112%97%121%13%-47%-13%-112%-88%-58%-71%79%-100%110%23%36%-10%126%48%40%122%-79%-68%-96%-84%112%-24%-44%121%-73%-104%93%123%-37%2%-53%13%-7%-113%24%-38%7%-59%42%-113%125%125%-54%77%4%50%58%62%67%-33%-61%-58%-36%59%-50%92%105%112%115%-71%-15%24%-9%-85%71%101%-49%88%-106%96%65%-32%-17%-99%-29%105%-119%-61%-11%-112%-89%-23%75%-102%-118%94%88%64%-84%-54%61%123%-120%76%-32%-72%-22%50%-117%80%-23%61%-61%-111%54%-10%-23%-116%113%-91%-10%126%-93%112%-49%-120%84%113%71%87%124%55%50%19%63%126%-30%107%-56%-119%127%85%-33%-55%68%13%84%-78%76%-21%-111%87%80%85%127%-113%52%127%-106%-93%40%45%-7%85%122%-99%-9%87%123%-27%-81%52%88%93%29%-39%124%31%90%-17%-66%-94%-101%-30%-43%61%-105%-38%40%77%33%53%-33%-71%-123%99%-7%104%103%126%73%95%13%-72%-71%-110%-119%-88%-45%110%32%-82%-17%25%-67%-97%-20%-33%-74%-72%31%-12%-7%-31%74%22%9%25%-66%-37%36%97%127%-4%-13%-76%-67%-119%-4%-68%116%-38%-84%-83%4%-61%-69%51%-18%-89%102%-77%25%-10%-115%-22%-121%-2%3%52%51%-49%67%-105%-19%90%17%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%5%-46%-52%-24%92%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0rGQEDrWEeGMCcwsbpLuFA" source="image_papyrus">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0rHeMDrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_C7NfsDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjUseInterface"/>
-            </eAnnotations>
-          </icon>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Stereotype" xmi:id="__nMrwLqNEd-SedGzMDDkww" name="AMIpoll">
-          <icon xmi:type="uml:Image" xmi:id="_JXZ1gDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%84%0%0%0%101%8%3%0%0%0%-28%-109%52%-5%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-52%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%82%82%82%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%24%24%24%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-33%61%-9%-93%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%41%73%68%65%84%104%-127%-83%-39%125%91%-38%48%16%0%-16%-29%101%12%-76%32%32%69%17%-95%88%-107%23%-69%45%-43%90%-83%5%117%-32%-9%-1%78%-125%103%-37%67%47%109%115%-105%54%-9%119%-8%61%41%73%-109%-69%43%-120%-14%17%92%86%-105%86%56%-116%15%49%12%-83%-42%26%74%-126%-35%-54%106%8%82%84%74%-95%-125%-58%-117%12%30%98%84%28%125%-84%-74%-99%44%18%-96%87%20%125%-84%127%100%-117%0%83%81%12%85%-112%0%-61%98%-24%-83%-126%4%120%42%-126%-66%61%-87%72%-128%7%125%-44%-97%79%-43%38%-52%-75%-47%-2%25%65%2%-72%-70%-24%104%67%-102%-80%-43%68%107%57%59%19%69%-92%-121%46%25%36%-128%-81%-123%54%115%-99%-15%-85%-41%-88%110%15%81%-83%-51%-123%6%-22%63%100%-125%-45%-50%-3%-91%52%-108%-113%-98%100%-110%-81%-75%94%122%40%27%-99%103%-111%-42%58%115%44%23%-67%-31%-109%108%116%-108%-34%75%-101%93%-18%104%30%-38%77%-17%-7%102%-112%63%-100%-121%-2%72%-19%-95%47%-43%112%22%122%39%-101%118%-92%28%-49%65%-93%-119%100%-122%-118%71%-25%-94%-14%-61%119%8%-109%-125%110%37%-13%-52%-89%126%65%-93%-66%116%-81%15%-87%121%114%-48%26%54%63%-6%-28%47%104%-44%-57%91%-44%-71%-94%77%26%-67%-59%19%-99%51%76%26%-75%-15%102%34%23%-119%-125%86%-16%-61%-65%113%76%18%-75%16%-38%98%-103%20%-38%67%-89%-45%-17%-82%17%20%47%-45%61%-49%-92%-48%48%105%-114%-103%19%37%-48%1%-102%104%-109%105%18%-88%-117%-48%-127%25%-44%67%123%-108%107%18%104%-100%68%-17%-52%-96%17%122%-6%-116%11%-66%8%58%75%-102%54%-37%84%-93%40%-127%96%-66%77%36%-118%-18%-111%-118%33%-12%60%-119%50%14%103%22%58%78%-104%19%-66%-87%68%-125%-126%-21%116%64%-3%-111%91%91%36%-93%-27%-3%-115%95%73%-12%84%11%29%93%0%39%60%29%-12%-115%42%-117%-2%-59%82%7%125%-26%-103%-80%-48%65%57%69%-116%54%-54%13%45%-108%-7%-105%-62%119%29%-12%39%19%-43%90%-3%-63%-104%6%15%-47%-42%65%69%-60%91%127%-51%55%74%116%-81%-73%-57%-72%-114%-114%-15%-103%64%29%77%52%55%-48%5%-51%-53%120%104%20%85%-93%51%67%-24%-73%36%-70%50%-124%-94%-108%111%104%8%-19%-93%-11%103%-25%18%-60%-67%-113%106%-120%-70%33%116%-107%68%-49%13%-95%51%-12%-4%-20%77%-91%70%-5%-24%96%100%-33%-4%68%126%-118%58%112%83%51%-7%-87%-108%75%114%-49%84%2%13%-48%113%-53%77%-91%-87%-22%-28%20%77%-107%-7%86%81%-24%14%-95%78%94%43%70%15%-107%42%-66%23%35%21%-97%-76%85%121%-41%63%93%69%-93%20%29%-100%107%19%-88%92%70%27%-87%-9%83%-99%-119%11%19%-99%9%113%-123%81%70%121%-50%-23%-10%120%-110%-6%108%-96%-37%35%6%-87%-66%20%81%-3%-80%58%104%-82%-124%-62%69%-7%14%90%-6%15%-128%-119%-14%110%-27%-95%65%44%-85%112%82%-70%43%41%46%-45%-55%-31%38%-65%-80%-30%118%122%-85%41%116%-97%-77%-107%-20%-12%74%-119%-59%-1%-80%-34%-53%-95%57%93%126%-69%94%-90%123%46%-35%-41%-57%112%-98%23%35%-23%29%51%-13%69%98%106%91%75%-41%-35%109%-65%92%-9%74%19%21%-115%92%-11%24%15%-70%40%-25%43%-113%-89%-115%-118%119%-14%123%-44%-87%62%42%122%29%2%13%11%-96%-5%13%-85%-82%-68%-118%-95%34%82%78%-42%46%-122%10%113%-93%-8%103%-29%-94%-88%-22%11%111%113%84%-59%-106%64%-9%-73%108%-59%-54%-36%-75%-91%-48%125%-12%-22%97%-38%13%74%-94%-5%8%118%45%27%-61%81%121%-12%16%-2%-70%-46%-16%-38%97%24%-57%113%24%-74%-9%71%-31%31%12%-33%-99%51%8%-119%86%-81%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%45%-25%121%64%-90%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3DWg4DrWEeGMCcwsbpLuFA" source="image_papyrus">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3DXH8DrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9f8J0DrWEeGMCcwsbpLuFA" key="image_name_key" value="IconAMIPoll"/>
-            </eAnnotations>
-          </icon>
-          <icon xmi:type="uml:Image" xmi:id="_3-hIoDrWEeGMCcwsbpLuFA" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%119%0%0%0%92%8%3%0%0%0%99%-116%-38%77%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%120%120%120%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-71%82%-104%50%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%4%-59%73%68%65%84%104%-127%-59%-102%109%91%-30%58%16%-122%11%-118%40%-88%108%-83%2%-53%-117%93%123%4%-75%-20%110%53%-83%69%-91%-108%30%20%-1%-1%79%58%-107%-77%72%38%77%-109%73%-126%-41%62%95%-55%-52%77%94%-102%-52%76%98%-111%29%104%-2%-74%26%-115%-22%-29%81%-27%-83%31%35%77%44%51%98%-68%58%60%-19%120%22%-91%-27%-76%57%-70%-8%90%-18%-62%127%6%-56%-83%58%-65%-34%-61%47%-30%94%28%-76%-7%-52%63%122%109%-4%-5%5%-36%-59%73%73%79%105%-75%43%59%-26%14%78%-28%-48%-75%-70%-29%-78%-31%-42%-32%94%96%-87%107%-14%96%71%-36%-80%-18%42%96%115%5%-50%46%-72%-117%-82%26%53%-41%-16%-38%-100%-69%127%-91%-116%-51%-43%-116%-52%-72%-15%-67%14%53%87%123%102%-62%117%94%52%-79%-106%-27%-78%-53%75%-127%-101%-88%79%45%5%102%-66%101%60%119%-66%44%117%58%124%-71%15%38%-66%-1%59%-104%-106%-73%-15%-58%122%-36%-92%-60%101%-89%89%-95%63%-108%120%-32%79%75%-42%94%85%-121%-21%100%60%87%-39%36%-31%-76%-75%111%-98%-72%61%-2%-95%-50%-115%121%115%43%-40%127%23%15%-100%-3%-37%-19%41%115%91%69%47%-35%-107%-48%34%-31%-20%-90%-53%-19%-116%-32%-72%-11%-30%127%-81%75%14%88%66%86%-33%11%86%45%53%-18%-96%48%104%47%-123%-115%-128%-93%-8%119%1%92%87%-31%-38%25%107%-34%-112%118%-10%127%-115%-39%51%-60%-21%43%112%27%-84%113%13%71%-51%-43%103%-65%-66%78%-120%-26%-10%-104%81%-10%-86%114%-101%79%37%-20%88%-43%-48%-36%103%3%44%33%51%-90%-57%-18%5%-110%59%102%-2%-16%88%106%1%-107%48%115%28%32%-71%41%52%-13%21%-79%-124%92%-62%121%-14%18%20%-73%2%-79%-33%-112%43%-103%-42%29%116%-47%68%113%97%-108%-4%-54%13%-106%36%10%-65%1%31%87%14%-126%-5%6%-1%-21%72%3%-101%-81%45%120%66%77%16%-36%0%88%60%106%97%-39%-111%-50%-28%-36%8%44%70%-113%119%-22%97%20%-62%-59%121%41%-27%94%-125%-10%-57%-102%88%-10%99%12%-92%92%120%-2%45%-76%-71%33%-40%61%-36%80%-62%13%-63%48%-73%-124%109%-59%58%0%29%-24%75%-72%125%-48%-102%23%-9%99%-27%-128%-51%-29%78%-62%5%-21%-48%45%70%-3%10%2%51%54%-107%112%31%-103%-43%96%-96%17%-19%-22%42%18%115%95%-23%-58%122%123%-58%70%51%-72%66%-123%92%27%-76%-59%-124%54%2%-127%-120%-76%-14%-121%27%-49%120%-86%-46%77%51%51%44%-36%-7%110%63%-72%-47%-92%-115%-88%86%-24%-18%-111%27%-127%47%-23%-34%66%-89%-46%13%67%46%56%80%-97%44%18%103%40%-84%-75%111%-56%-99%-45%-50%-50%45%-46%-60%97%13%-105%51%-77%-96%83%-117%12%-111%92%113%90%34%87%8%-71%9%18%107%-67%25%114%9%-19%-52%-77%46%-1%10%-41%-75%-20%50%14%43%65%-47%15%-91%-104%118%-106%-49%47%-74%106%-79%-21%117%85%45%3%49%58%48%-28%-10%104%103%-7%-9%75%30%112%-36%95%-122%-36%127%104%103%-45%-100%27%-6%-120%93%50%-1%-117%-122%92%-97%118%-42%92%-97%11%73%-19%-8%-119%39%80%39%27%26%114%65%-35%-95%38%60%7%35%-48%-31%-98%-88%-87%92%96%127%122%23%-97%-5%32%-20%-59%103%-37%60%-127%101%-107%-17%86%-62%-58%-57%116%91%-109%112%-110%-112%91%56%103%98%-18%30%-35%-40%-45%-55%-55%62%5%-14%-69%19%9%23%-100%93%70%3%-67%0%-98%-10%100%-7%2%8%-13%59%6%92%88%-101%-103%-53%-72%48%29%-44%-33%-94%29%-112%-119%102%-46%-4%8%-90%-65%-25%-38%92%-80%105%124%36%-64%-78%-4%55%3%6%-17%-102%88%7%6%23%115%57%-9%16%24%100%-102%-87%10%-100%-82%103%34%-25%-62%21%-67%46%17%-88%-117%-119%45%-10%17%92%-72%-83%90%94%-55%-11%-105%80%76%125%115%25%97%-72%-16%-61%-77%-78%51%117%46%83%-119%94%111%3%-14%-70%-39%41%-76%106%41%23%-80%-104%-14%-43%-48%-58%113%7%-48%76%57%29%29%49%-10%119%4%-57%37%108%-11%-6%72%9%91%101%-126%-118%52%-62%114%-49%-40%-56%30%91%-11%-26%97%55%-31%63%-90%-18%-67%-49%-104%90%15%-24%-49%-72%112%49%-15%64%-16%92%-90%-66%-104%-85%-115%43%-96%21%-17%49%95%55%79%29%80%-9%26%78%-31%-82%-52%-67%65%-104%-11%82%-42%108%-101%100%-31%-18%113%126%20%35%-50%-87%-84%-53%118%-77%104%-12%-13%-13%87%-28%-67%-107%95%112%97%121%13%-47%-13%-112%-88%-58%-71%79%-100%110%23%36%-10%126%48%40%122%-79%-68%-96%-84%112%-24%-44%121%-73%-104%93%123%-37%2%-53%13%-7%-113%24%-38%7%-59%42%-113%125%125%-54%77%4%50%58%62%67%-33%-61%-58%-36%59%-50%92%105%112%115%-71%-15%24%-9%-85%71%101%-49%88%-106%96%65%-32%-17%-99%-29%105%-119%-61%-11%-112%-89%-23%75%-102%-118%94%88%64%-84%-54%61%123%-120%76%-32%-72%-22%50%-117%80%-23%61%-61%-111%54%-10%-23%-116%113%-91%-10%126%-93%112%-49%-120%84%113%71%87%124%55%50%19%63%126%-30%107%-56%-119%127%85%-33%-55%68%13%84%-78%76%-21%-111%87%80%85%127%-113%52%127%-106%-93%40%45%-7%85%122%-99%-9%87%123%-27%-81%52%88%93%29%-39%124%31%90%-17%-66%-94%-101%-30%-43%61%-105%-38%40%77%33%53%-33%-71%-123%99%-7%104%103%126%73%95%13%-72%-71%-110%-119%-88%-45%110%32%-82%-17%25%-67%-97%-20%-33%-74%-72%31%-12%-7%-31%74%22%9%25%-66%-37%36%97%127%-4%-13%-76%-67%-119%-4%-68%116%-38%-84%-83%4%-61%-69%51%-18%-89%102%-77%25%-10%-115%-22%-121%-2%3%52%51%-49%67%-105%-19%90%17%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%5%-46%-52%-24%92%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_54LY8DrWEeGMCcwsbpLuFA" source="image_papyrus">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_54MnEDrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ACEvYDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjAMIPoll"/>
-            </eAnnotations>
-          </icon>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Stereotype" xmi:id="_AQZZwLqOEd-SedGzMDDkww" name="AMIcallback">
-          <icon xmi:type="uml:Image" xmi:id="_KoY8QDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%72%0%0%0%104%8%3%0%0%0%101%-97%70%67%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%103%103%103%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%-34%-34%-34%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-51%-46%-59%107%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%-13%73%68%65%84%88%-123%-75%-39%109%67%-86%48%20%0%-32%-39%53%75%-67%105%26%-23%-51%74%52%73%45%-13%-86%13%-13%37%-55%-105%-44%-1%-1%-109%-82%-70%13%6%-116%-77%-93%113%-49%-73%-28%-12%48%-74%113%-40%-128%80%116%12%55%-39%-4%116%78%-56%-14%-13%-6%-9%-13%40%120%-108%32%21%-69%121%85%39%82%52%-14%109%-65%-123%-124%-102%-9%36%20%-85%-92%125%44%84%-67%13%51%-5%-72%-33%30%7%117%-44%-52%62%-78%110%-93%-12%-48%-80%31%-19%16%82%40%98%-95%-30%-89%-12%111%-26%52%-105%-51%-68%79%-66%-91%-97%-26%51%28%100%23%-68%-50%-51%-82%-59%-123%84%47%-67%-50%-65%27%-95%-96%-116%-56%-81%-65%-7%-122%-37%62%119%-101%-107%-73%17%-48%-117%-37%23%70%-24%-102%-35%-66%-21%-22%33%-93%-63%115%51%-74%-30%104%-57%-30%71%23%90%72%-100%-76%-93%62%-36%-30%-121%-57%58%-56%-31%-89%-20%71%37%116%-71%-76%-47%64%57%-106%118%59%-116%-52%-56%-77%-116%50%12%-35%-16%6%-43%-12%109%126%0%-95%54%75%-54%65%-115%-50%-120%-127%-125%-96%-100%56%-101%-66%-43%101%8%26%-78%-79%-81%64%14%-91%31%-20%108%14%0%85%-7%20%-126%-95%36%-53%106%6%-96%-46%-52%-117%95%-18%-48%66%-15%-59%-78%82%62%40%41%-33%-42%34%28%24%-78%89%86%90%-122%54%10%-122%-112%80%-103%15%4%59%-7%64%-122%6%74%72%-29%-48%-54%33%107%34%-25%77%-108%-112%-22%118%-107%99%-50%38%-101%30%-102%105%32%-106%-107%-43%67%-64%13%-78%15%-125%101%117%-62%80%-91%-59%-29%-110%-91%-92%96%40%-63%-78%90%97%104%18%56%-41%68%-15%-33%82%-16%17%122%4%32%58%61%-4%109%-35%64%-114%-51%70%-1%-101%66%16%127%48%-66%65%16%-81%16%61%16%90%-80%-92%70%-88%-18%123%49%92%-79%-100%45%8%-15%-71%-74%59%93%100%-16%70%-101%67%24%58%-29%51%-96%29%-27%60%89%-18%-56%-126%16%-17%110%98%85%-43%-114%99%-78%-29%-53%-95%14%-86%-15%38%-103%79%42%103%-79%-108%90%12%67%-18%-125%-51%82%76%-53%103%-79%-124%27%-37%122%104%84%22%119%-54%-57%34%112%89%110%-83%88%30%70%85%3%-47%-46%74%-28%-109%-63%-38%43%4%-43%-65%-30%113%77%-22%-20%12%58%-120%62%74%107%80%115%-48%105%-83%-41%-83%-117%-98%-89%19%43%65%113%-112%-41%-91%-54%112%-121%65%15%81%67%93%94%14%81%113%-85%21%2%-94%118%-38%-118%112%-6%94%65%-57%64%-14%16%-55%-31%27%72%28%-76%-21%-87%92%-35%-81%52%-14%-2%-46%-119%-123%-10%91%-111%94%69%40%-53%65%104%51%-126%-121%14%81%122%-36%38%-86%-54%-57%-63%-111%80%116%-60%9%57%-25%111%44%-106%63%-125%-38%-127%73%114%42%84%12%12%-21%-55%80%45%56%-51%78%-123%30%-30%-126%-24%-8%4%-56%72%-68%-20%6%-89%37%-105%114%66%111%-6%-26%81%-112%-109%-54%-117%-62%50%-10%65%94%96%-26%81%45%39%13%-78%-68%-75%56%14%58%43%-5%26%-33%61%17%26%-11%2%-35%-103%60%13%-86%-122%106%110%-30%36%40%21%46%-109%-2%81%67%66%41%9%88%-26%95%55%-50%-20%107%45%-41%36%44%-44%116%21%43%-89%92%9%32%-95%-124%123%93%-3%63%-22%22%-29%-96%-110%-104%-77%-26%-103%-102%-63%66%124%-57%73%-54%-91%40%7%7%-119%5%87%5%88%4%98%-96%-30%-73%-34%65%65%124%-28%-83%47%-64%65%65%108%-37%2%47%-109%49%16%-33%-58%-107%-31%109%18%2%-30%-101%-19%103%-48%65%64%35%54%23%87%-102%125%-101%30%-30%-101%-19%46%-123%67%15%-99%51%72%-77%71%70%64%108%105%100%106%28%5%52%-99%-7%-29%-18%-16%-21%-57%-15%-112%58%-46%113%65%-16%108%-4%95%-48%117%92%-48%107%92%-48%-80%16%13%-127%-81%-75%-126%-48%-18%-2%-68%-32%-117%-73%-105%-106%27%-20%21%-76%-26%117%20%-26%-19%113%-102%53%-87%-88%73%-45%67%-4%85%-61%86%-109%-90%-121%28%6%93%-1%24%18%5%82%-13%-42%6%1%-15%89%-95%-71%73%16%-112%-63%42%-101%-75%0%-77%48%31%15%-82%88%-109%-32%-94%-115%-127%120%-115%-124%-117%36%-22%-69%-56%59%-105%-96%119%82%40%-56%48%-11%18%-18%-109%79%91%-36%114%-23%-56%126%66%126%59%18%-53%17%82%-114%26%59%36%52%114%-117%94%-93%-89%94%2%96%63%-117%21%-35%-3%44%33%-123%-74%-30%21%55%22%-94%-122%36%17%82%-97%78%38%19%-33%-73%9%52%68%-115%80%-39%-13%125%-100%-64%67%-69%103%110%-61%15%-7%-54%-17%49%16%117%62%99%-126%-88%-99%24%-57%3%-19%98%-47%-81%-57%3%-19%-30%-95%-35%43%-49%119%113%46%-1%-8%15%83%120%-125%-89%63%57%-45%-36%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%32%-103%-56%60%27%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
-          <icon xmi:type="uml:Image" xmi:id="_WTUY0ENnEeGoAtSeIK7WLg" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%72%0%0%0%104%8%3%0%0%0%101%-97%70%67%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%103%103%103%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%-34%-34%-34%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-51%-46%-59%107%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%-13%73%68%65%84%88%-123%-75%-39%109%67%-86%48%20%0%-32%-39%53%75%-67%105%26%-23%-51%74%52%73%45%-13%-86%13%-13%37%-55%-105%-44%-1%-1%-109%-82%-70%13%6%-116%-77%-93%113%-49%-73%-28%-12%48%-74%113%-40%-128%80%116%12%55%-39%-4%116%78%-56%-14%-13%-6%-9%-13%40%120%-108%32%21%-69%121%85%39%82%52%-14%109%-65%-123%-124%-102%-9%36%20%-85%-92%125%44%84%-67%13%51%-5%-72%-33%30%7%117%-44%-52%62%-78%110%-93%-12%-48%-80%31%-19%16%82%40%98%-95%-30%-89%-12%111%-26%52%-105%-51%-68%79%-66%-91%-97%-26%51%28%100%23%-68%-50%-51%-82%-59%-123%84%47%-67%-50%-65%27%-95%-96%-116%-56%-81%-65%-7%-122%-37%62%119%-101%-107%-73%17%-48%-117%-37%23%70%-24%-102%-35%-66%-21%-22%33%-93%-63%115%51%-74%-30%104%-57%-30%71%23%90%72%-100%-76%-93%62%-36%-30%-121%-57%58%-56%-31%-89%-20%71%37%116%-71%-76%-47%64%57%-106%118%59%-116%-52%-56%-77%-116%50%12%-35%-16%6%-43%-12%109%126%0%-95%54%75%-54%65%-115%-50%-120%-127%-125%-96%-100%56%-101%-66%-43%101%8%26%-78%-79%-81%64%14%-91%31%-20%108%14%0%85%-7%20%-126%-95%36%-53%106%6%-96%-46%-52%-117%95%-18%-48%66%-15%-59%-78%82%62%40%41%-33%-42%34%28%24%-78%89%86%90%-122%54%10%-122%-112%80%-103%15%4%59%-7%64%-122%6%74%72%-29%-48%-54%33%107%34%-25%77%-108%-112%-22%118%-107%99%-50%38%-101%30%-102%105%32%-106%-107%-43%67%-64%13%-78%15%-125%101%117%-62%80%-91%-59%-29%-110%-91%-92%96%40%-63%-78%90%97%104%18%56%-41%68%-15%-33%82%-16%17%122%4%32%58%61%-4%109%-35%64%-114%-51%70%-1%-101%66%16%127%48%-66%65%16%-81%16%61%16%90%-80%-92%70%-88%-18%123%49%92%-79%-100%45%8%-15%-71%-74%59%93%100%-16%70%-101%67%24%58%-29%51%-96%29%-27%60%89%-18%-56%-126%16%-17%110%98%85%-43%-114%99%-78%-29%-53%-95%14%-86%-15%38%-103%79%42%103%-79%-108%90%12%67%-18%-125%-51%82%76%-53%103%-79%-124%27%-37%122%104%84%22%119%-54%-57%34%112%89%110%-83%88%30%70%85%3%-47%-46%74%-28%-109%-63%-38%43%4%-43%-65%-30%113%77%-22%-20%12%58%-120%62%74%107%80%115%-48%105%-83%-41%-83%-117%-98%-89%19%43%65%113%-112%-41%-91%-54%112%-121%65%15%81%67%93%94%14%81%113%-85%21%2%-94%118%-38%-118%112%-6%94%65%-57%64%-14%16%-55%-31%27%72%28%-76%-21%-87%92%-35%-81%52%-14%-2%-46%-119%-123%-10%91%-111%94%69%40%-53%65%104%51%-126%-121%14%81%122%-36%38%-86%-54%-57%-63%-111%80%116%-60%9%57%-25%111%44%-106%63%-125%-38%-127%73%114%42%84%12%12%-21%-55%80%45%56%-51%78%-123%30%-30%-126%-24%-8%4%-56%72%-68%-20%6%-89%37%-105%114%66%111%-6%-26%81%-112%-109%-54%-117%-62%50%-10%65%94%96%-26%81%45%39%13%-78%-68%-75%56%14%58%43%-5%26%-33%61%17%26%-11%2%-35%-103%60%13%-86%-122%106%110%-30%36%40%21%46%-109%-2%81%67%66%41%9%88%-26%95%55%-50%-20%107%45%-41%36%44%-44%116%21%43%-89%92%9%32%-95%-124%123%93%-3%63%-22%22%-29%-96%-110%-104%-77%-26%-103%-102%-63%66%124%-57%73%-54%-91%40%7%7%-119%5%87%5%88%4%98%-96%-30%-73%-34%65%65%124%-28%-83%47%-64%65%65%108%-37%2%47%-109%49%16%-33%-58%-107%-31%109%18%2%-30%-101%-19%103%-48%65%64%35%54%23%87%-102%125%-101%30%-30%-101%-19%46%-123%67%15%-99%51%72%-77%71%70%64%108%105%100%106%28%5%52%-99%-7%-29%-18%-16%-21%-57%-15%-112%58%-46%113%65%-16%108%-4%95%-48%117%92%-48%107%92%-48%-80%16%13%-127%-81%-75%-126%-48%-18%-2%-68%-32%-117%-73%-105%-106%27%-20%21%-76%-26%117%20%-26%-19%113%-102%53%-87%-88%73%-45%67%-4%85%-61%86%-109%-90%-121%28%6%93%-1%24%18%5%82%-13%-42%6%1%-15%89%-95%-71%73%16%-112%-63%42%-101%-75%0%-77%48%31%15%-82%88%-109%-32%-94%-115%-127%120%-115%-124%-117%36%-22%-69%-56%59%-105%-96%119%82%40%-56%48%-11%18%-18%-109%79%91%-36%114%-23%-56%126%66%126%59%18%-53%17%82%-114%26%59%36%52%114%-117%94%-93%-89%94%2%96%63%-117%21%-35%-3%44%33%-123%-74%-30%21%55%22%-94%-122%36%17%82%-97%78%38%19%-33%-73%9%52%68%-115%80%-39%-13%125%-100%-64%67%-69%103%110%-61%15%-7%-54%-17%49%16%117%62%99%-126%-88%-99%24%-57%3%-19%98%-47%-81%-57%3%-19%-30%-95%-35%43%-49%119%113%46%-1%-8%15%83%120%-125%-89%63%57%-45%-36%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%32%-103%-56%60%27%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Interface" xmi:id="_d9RssDMYEeWoDfId-zdVpA" name="I" templateParameter="_QqFYUDMYEeWoDfId-zdVpA"/>
-        <packagedElement xmi:type="uml:Usage" xmi:id="_BXPOYDPeEeWoDfId-zdVpA" client="_Wtrfw1DlEd6cwecVIgl9nw" supplier="_HPLkIDMYEeWoDfId-zdVpA"/>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_HmnpEJsrEd61Eo3nmu3JhQ" name="StdPorts">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_Yq-O8Nt2Ed6nqsBVkgJEEA" annotatedElement="_-WNegNtxEd6nqsBVkgJEEA">
-        <body>Is called during component activation &amp; deactivation. The two functions may not block i.e. return control to the caller after &quot;a very short&quot; period</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_OcN78Nt2Ed6nqsBVkgJEEA" annotatedElement="_N6fa4JsrEd61Eo3nmu3JhQ">
-        <body>Is called during startup. Expected to block. Only one component instance per node may define it.</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Class" xmi:id="_N6fa4JsrEd61Eo3nmu3JhQ" name="Cstart" isAbstract="true">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_OfiosJsrEd61Eo3nmu3JhQ" name="start" aggregation="composite">
-          <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3cU3wCS-Ed-A_I32T0fkaA" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3cXUACS-Ed-A_I32T0fkaA" value="1"/>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_zDDlYMRcEeWq5unKf5DK_A" name="Crun" isAbstract="true">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_2elREMRcEeWq5unKf5DK_A" name="run" aggregation="composite">
-          <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
-        </ownedAttribute>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_xtlE8ARAEd--t-uhRn9OBA" name="ContainerServices">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_hGEOAMT8Ed-zx4a_r4xAYw" annotatedElement="_SiY_AP-EEd6628OhKk_dpg">
-        <body>A thread service supporting the LifeCycle port. Once started, it calls the activate operation (via the required port rLC) of a connected component in a new thread of a specific priority (a configuration attribute). This C++ implementation is based on the POSIX pthread library. It will further assume that the execution is done with root privileges, since these are required to set the thread priority. The thread properties assume round-robin (SCHED_RR) scheduling.
-</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_EuvHYCXREeGX6PuSE-DJlQ" annotatedElement="_5J9coCXQEeGX6PuSE-DJlQ">
-        <body> Interceptor variant of thread (inherits all, only difference to Thread superclass: tagged as connector)</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Class" xmi:id="_SiY_AP-EEd6628OhKk_dpg" name="Thread">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_lCtoICnOEeGxrprK9wB9iA" annotatedElement="_rVfYoMGJEd-Mveea1W_olA">
-          <body>Priority of the thread. The interpretation of the value is OS specific. In case of POSIX; priorities are only taken into account for threads with a FIFO and round-robin scheduliung policy.</body>
-        </ownedComment>
-        <generalization xmi:type="uml:Generalization" xmi:id="_6bsEkARAEd--t-uhRn9OBA" general="_-WNegNtxEd6nqsBVkgJEEA"/>
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_ZjdOAP-EEd6628OhKk_dpg" name="rRun" type="_FSgPwMUKEeWfEYAFL-UFuw" aggregation="composite"/>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_rVfYoMGJEd-Mveea1W_olA" name="priority" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_e6XsEFjmEeKaM_PspnG53g" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_e6ckkFjmEeKaM_PspnG53g" value="1"/>
-        </ownedAttribute>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_lrFSQDz9Ed-v9PxuTj6Elw" name="derived realization of ILifeCycle" client="_SiY_AP-EEd6628OhKk_dpg">
-          <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-          <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-        </interfaceRealization>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_MWW4MAQyEd--t-uhRn9OBA" name="staticAct" specification="_yv198P-EEd6628OhKk_dpg">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_FSlvUMUKEeWfEYAFL-UFuw" name="arg">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FSmWYMUKEeWfEYAFL-UFuw" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FSmWYcUKEeWfEYAFL-UFuw" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_FSoLkcUKEeWfEYAFL-UFuw" name="ret" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FSoyoMUKEeWfEYAFL-UFuw" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FSoyocUKEeWfEYAFL-UFuw" value="1"/>
-          </ownedParameter>
-          <language>C/C++</language>
-          <body>((Thread*) arg)->rRun->run();
-return NULL;
-</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_oP6UcED4Ed-_DOja_sRgWA" name="activate" specification="_JmxyMD16Ed-Bk-AHd6yyoA">
-          <language>C/C++</language>
-          <body>// create thread
-pthread_t pt;
-pthread_create (&amp;pt, NULL, staticAct, (void *) this);
-
-// set priority of thread
-struct sched_param schedParam;
-schedParam.sched_priority = priority;
-pthread_setschedparam (pt, SCHED_RR, &amp;schedParam);
-// TODO: check return code (in particular, SCHED_RR only works for root)
-</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_-9Gu0H2KEeWV7cfiwPN21w" name="configuration_complete" specification="_TBScwCxyEeOMQpc6Y-MAJw">
-          <language>C/C++</language>
-          <body></body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Bxe68H2LEeWV7cfiwPN21w" name="deactivate" specification="_JqB6gD16Ed-Bk-AHd6yyoA">
-          <language>C/C++</language>
-          <body></body>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_yv198P-EEd6628OhKk_dpg" name="staticAct" isStatic="true" method="_MWW4MAQyEd--t-uhRn9OBA">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_1TXqoP-EEd6628OhKk_dpg" name="arg">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3MCccP-EEd6628OhKk_dpg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3MDDgP-EEd6628OhKk_dpg" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_BywjgP-FEd6628OhKk_dpg" name="ret" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_JmxyMD16Ed-Bk-AHd6yyoA" name="activate" method="_oP6UcED4Ed-_DOja_sRgWA"/>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_JqB6gD16Ed-Bk-AHd6yyoA" name="deactivate" method="_Bxe68H2LEeWV7cfiwPN21w"/>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_TBScwCxyEeOMQpc6Y-MAJw" name="configuration_complete" method="_-9Gu0H2KEeWV7cfiwPN21w"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Dependency" xmi:id="_wCkVcNYGEd-CgJIavLpOxQ" name="ImplRequirement" client="_SiY_AP-EEd6628OhKk_dpg" supplier="_ea234NYGEd-CgJIavLpOxQ"/>
-      <packagedElement xmi:type="uml:Class" xmi:id="_WkkjoPNUEeCovO8AYZymZQ" name="CallEvent_">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_YKtbAPNUEeCovO8AYZymZQ" name="operationID" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aDHHEPNUEeCovO8AYZymZQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aDIVMPNUEeCovO8AYZymZQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_aDKxcPNUEeCovO8AYZymZQ">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_gQGNwPNUEeCovO8AYZymZQ" name="kind" visibility="public" type="_jQjHAPNUEeCovO8AYZymZQ">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_imLUUPNUEeCovO8AYZymZQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_imL7YPNUEeCovO8AYZymZQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_imuG4PNUEeCovO8AYZymZQ">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_-_HCMBI0EeGU49ezpRnvLg" name="portID">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-_LToBI0EeGU49ezpRnvLg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-_L6sBI0EeGU49ezpRnvLg" value="1"/>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_qzHgkPNUEeCovO8AYZymZQ" name="params" visibility="public" type="_OU5asFaNEeKxltxu9uR4dg">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sMOBgPNUEeCovO8AYZymZQ"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sMPPoPNUEeCovO8AYZymZQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_sMRE0PNUEeCovO8AYZymZQ">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_JRmo0PNAEeCovO8AYZymZQ" name="EventPool">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_MzO8gPNAEeCovO8AYZymZQ" name="control" visibility="public" type="_omxU4PNAEeCovO8AYZymZQ" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_N-OI8PNAEeCovO8AYZymZQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_N-PXEPNAEeCovO8AYZymZQ" value="1"/>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_k-OpoPN8EeCovO8AYZymZQ" name="events" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mr7hkPN8EeCovO8AYZymZQ" value="20"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mr-k4PN8EeCovO8AYZymZQ" value="20"/>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="__a1A0PQXEeCovO8AYZymZQ" name="m_size" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_A1N7MPQYEeCovO8AYZymZQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_A1OiQPQYEeCovO8AYZymZQ" value="1"/>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_KnS5QPQYEeCovO8AYZymZQ" name="m_cond" visibility="public">
-          <type xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_QWlVgPRTEeCUGrV0Hl4JwQ"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KyZ9EPQYEeCovO8AYZymZQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KyakIPQYEeCovO8AYZymZQ" value="1"/>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_Ig_MUCSlEeG6GJ4vU06VYQ" name="ID_TIMEOUT" isStatic="true">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IjAlkCSlEeG6GJ4vU06VYQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IjCawCSlEeG6GJ4vU06VYQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_SjUM4CSlEeG6GJ4vU06VYQ" name="" value="-1"/>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_aY-AcNhrEeSAk4H5GXhpNA" name="readIndex" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aY-AcdhrEeSAk4H5GXhpNA" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aY-ActhrEeSAk4H5GXhpNA" value="1"/>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_dllGYNhrEeSAk4H5GXhpNA" name="writeIndex" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dllGYdhrEeSAk4H5GXhpNA" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dlltcNhrEeSAk4H5GXhpNA" value="1"/>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_YHC5wNhuEeSqPLTzapTtmQ" name="POOL_SIZE" isStatic="true">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YHC5wdhuEeSqPLTzapTtmQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YHC5wthuEeSqPLTzapTtmQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_YHC5w9huEeSqPLTzapTtmQ" name="" value="20"/>
-        </ownedAttribute>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_mI0xEPQXEeCovO8AYZymZQ" name="derived realization of IPoolControl" client="_JRmo0PNAEeCovO8AYZymZQ" supplier="_omxU4PNAEeCovO8AYZymZQ" contract="_omxU4PNAEeCovO8AYZymZQ"/>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_2HjeoPQXEeCovO8AYZymZQ" name="writeEvent" specification="_f1HmEPQREeCovO8AYZymZQ0">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_y_tvwH2KEeWV7cfiwPN21w" name="event" type="_WkkjoPNUEeCovO8AYZymZQ">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_y_uW0H2KEeWV7cfiwPN21w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_y_uW0X2KEeWV7cfiwPN21w" value="1"/>
-          </ownedParameter>
-          <language>C/C++</language>
-          <body>if (m_size &lt; POOL_SIZE) {
-	events[writeIndex] = event;
-	writeIndex = (writeIndex + 1) % POOL_SIZE;
-	m_size++;
-	if (m_size == 1) {
-		// was 0 before, notify waiting clients
-		m_cond.signal();
-	}
-}
-
-</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_5Sw2YPQXEeCovO8AYZymZQ" name="size" specification="_FBMo4PQXEeCovO8AYZymZQ0">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_y_u94H2KEeWV7cfiwPN21w" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_y_vk8H2KEeWV7cfiwPN21w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_y_vk8X2KEeWV7cfiwPN21w" value="1"/>
-          </ownedParameter>
-          <language>C/C++</language>
-          <body>return m_size;</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_9xRCAPQXEeCovO8AYZymZQ" name="readEvent" specification="_tK0poPQWEeCovO8AYZymZQ0">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_y_wMAH2KEeWV7cfiwPN21w" name="timeout">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_y_wMAX2KEeWV7cfiwPN21w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_y_wzEH2KEeWV7cfiwPN21w" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_y_wzEX2KEeWV7cfiwPN21w" type="_WkkjoPNUEeCovO8AYZymZQ" direction="return">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_y_xaIH2KEeWV7cfiwPN21w" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_y_xaIX2KEeWV7cfiwPN21w" value="1"/>
-          </ownedParameter>
-          <language>C/C++</language>
-          <body>if (m_size == 0) {
-	// no element is in pool. Wait until it is placed inside
-	// TODO: potential race condition
-	OS_AL::Time::TimeVal wakeup = OS_AL::Time::TimeVal::current();
-	wakeup += timeout;
-	int retCode = m_cond.waitUpto (wakeup);
-	if (retCode == ETIMEDOUT) {
-		CallEvent_ event;
-		event.operationID = ID_TIMEOUT;
-		return event;
-	}
-}
-int current = readIndex;
-readIndex = (readIndex+1) % POOL_SIZE;
-m_size--;
-return events[current];</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_JoG14PRUEeCKVJwdD4MMsg" name="EventPool" specification="_lrF08PRTEeCUGrV0Hl4JwQ">
-          <language>C/C++</language>
-          <body>m_cond.lock();
-readIndex = 0;
-writeIndex = 0;
-m_size = 0;</body>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_tK0poPQWEeCovO8AYZymZQ0" name="readEvent" method="_9xRCAPQXEeCovO8AYZymZQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_HUTnoCVyEeGaL60JjVj19Q" name="timeout">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUWq8CVyEeGaL60JjVj19Q" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUXSACVyEeGaL60JjVj19Q" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_HUZHMCVyEeGaL60JjVj19Q" type="_WkkjoPNUEeCovO8AYZymZQ" direction="return">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUbjcCVyEeGaL60JjVj19Q" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUcxkCVyEeGaL60JjVj19Q" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_FBMo4PQXEeCovO8AYZymZQ0" name="size" method="_5Sw2YPQXEeCovO8AYZymZQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mKtAYPQXEeCovO8AYZymZQ" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mKvcoPQXEeCovO8AYZymZQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mKwqwPQXEeCovO8AYZymZQ" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_f1HmEPQREeCovO8AYZymZQ0" name="writeEvent" method="_2HjeoPQXEeCovO8AYZymZQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_HRdvACVyEeGaL60JjVj19Q" name="event" type="_WkkjoPNUEeCovO8AYZymZQ">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUNhACVyEeGaL60JjVj19Q" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUOvICVyEeGaL60JjVj19Q" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_lrF08PRTEeCUGrV0Hl4JwQ" name="EventPool" method="_JoG14PRUEeCKVJwdD4MMsg"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Interface" xmi:id="_elkpwPQREeCovO8AYZymZQ" name="IWriteEvent">
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_f1HmEPQREeCovO8AYZymZQ" name="writeEvent" visibility="public" isAbstract="true">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_wAdzUPQREeCovO8AYZymZQ">
-            <body>&lt;&lt;TextualRepresentation>>public abstract writeEvent (in event:BasicCalls::ContainerServices::Event) ;</body>
-          </ownedComment>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="__4qMgCUQEeGXBt65HZzY7g" name="event" type="_WkkjoPNUEeCovO8AYZymZQ">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__4raoCUQEeGXBt65HZzY7g" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__4sowCUQEeGXBt65HZzY7g" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Enumeration" xmi:id="_jQjHAPNUEeCovO8AYZymZQ" name="EventKind">
-        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_jv4uYPNUEeCovO8AYZymZQ" name="CallEvent"/>
-        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_kuDm0PNUEeCovO8AYZymZQ" name="SignalEvent"/>
-        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_ljD8MPNUEeCovO8AYZymZQ" name="TimeEvent"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Interface" xmi:id="_omxU4PNAEeCovO8AYZymZQ" name="IPoolControl">
-        <generalization xmi:type="uml:Generalization" xmi:id="_feaHgPQXEeCovO8AYZymZQ" general="_elkpwPQREeCovO8AYZymZQ"/>
-        <generalization xmi:type="uml:Generalization" xmi:id="_GwxT0CUREeGXBt65HZzY7g" general="_DY2VwCUREeGXBt65HZzY7g"/>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_FBMo4PQXEeCovO8AYZymZQ" name="size" visibility="public" isAbstract="true">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_NaRMoPQXEeCovO8AYZymZQ">
-            <body>&lt;&lt;TextualRepresentation>>public abstract size () : BasicCalls::Long ;</body>
-          </ownedComment>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_RlkvcPQXEeCovO8AYZymZQ" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rll9kPQXEeCovO8AYZymZQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RlmkoPQXEeCovO8AYZymZQ" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Interface" xmi:id="_DY2VwCUREeGXBt65HZzY7g" name="IReadEvent">
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_tK0poPQWEeCovO8AYZymZQ" name="readEvent" visibility="public" isAbstract="true">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_xPdjwPQWEeCovO8AYZymZQ">
-            <body>&lt;&lt;TextualRepresentation>>public abstract readEvent(in timeout : BasicCalls::Long) : BasicCalls::ContainerServices::Event ;</body>
-          </ownedComment>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_PnwykPRREeCUGrV0Hl4JwQ" name="timeout">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PofyYPRREeCUGrV0Hl4JwQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Pow4IPRREeCUGrV0Hl4JwQ" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_Po7QMPRREeCUGrV0Hl4JwQ" type="_WkkjoPNUEeCovO8AYZymZQ" direction="return">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PpWG8PRREeCUGrV0Hl4JwQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ppl-kPRREeCUGrV0Hl4JwQ" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_5J9coCXQEeGX6PuSE-DJlQ" name="ThreadInterceptor">
-        <generalization xmi:type="uml:Generalization" xmi:id="_9thucCXQEeGX6PuSE-DJlQ" general="_SiY_AP-EEd6628OhKk_dpg"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_9V8OQCjYEeGFbebITJYb9g" name="PeriodicTimer">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_zLeSkCnOEeGxrprK9wB9iA" annotatedElement="_tmNeoCjbEeGFbebITJYb9g">
-          <body>The period length of the perdioci timer in ticks. Currently, a tick corresponds to 1 ms (simulation time in the underlying OS abstraction layer). It is planned to support VSL expressions, i.e. a value/unit pair.</body>
-        </ownedComment>
-        <generalization xmi:type="uml:Generalization" xmi:id="_jPxb8MTiEeWfEYAFL-UFuw" general="_zDDlYMRcEeWq5unKf5DK_A"/>
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_ATRiECjZEeGFbebITJYb9g" name="tick" visibility="public" type="_pMJ60MTiEeWfEYAFL-UFuw" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_E3y2ICjZEeGFbebITJYb9g" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_E30EQCjZEeGFbebITJYb9g" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_E33HkCjZEeGFbebITJYb9g">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_tmNeoCjbEeGFbebITJYb9g" name="periodLength" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tmmgMCjbEeGFbebITJYb9g" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tmnHQCjbEeGFbebITJYb9g" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_w262ACnOEeGxrprK9wB9iA">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_pMOMQMTiEeWfEYAFL-UFuw" name="derived realization of IRunnable" client="_9V8OQCjYEeGFbebITJYb9g">
-          <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
-          <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
-        </interfaceRealization>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_rmAHEMTiEeWfEYAFL-UFuw" name="run" specification="_pMrfQMTiEeWfEYAFL-UFuw">
-          <language>C/C++</language>
-          <body>OS_AL::Time::Timer timer;
-OS_AL::Time::TimeVal time = OS_AL::Time::TimeVal::current();
-OS_AL::Time::TimeVal period(periodLength);
-for (;;) {
-	tick->tick();
-	time += period;
-	timer.wakeUp(time);
-}</body>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_pMrfQMTiEeWfEYAFL-UFuw" name="run" method="_rmAHEMTiEeWfEYAFL-UFuw"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_-X6zMCjZEeGFbebITJYb9g" name="PeriodicTimerWithThread">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_ARs_UCjaEeGFbebITJYb9g" name="timer" visibility="public" type="_9V8OQCjYEeGFbebITJYb9g" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_k_FtQCjaEeGFbebITJYb9g" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_k_G7YCjaEeGFbebITJYb9g" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_k_J-sCjaEeGFbebITJYb9g">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_RMqEkCjaEeGFbebITJYb9g" name="thread" visibility="public" type="_SiY_AP-EEd6628OhKk_dpg" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_j8bWYCjaEeGFbebITJYb9g" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_j8ckgCjaEeGFbebITJYb9g" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_j8eZsCjaEeGFbebITJYb9g">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_3NSGwCkAEeGDDbdzqSb4UA" name="tick" visibility="public" aggregation="composite">
-          <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_30IrYCkAEeGDDbdzqSb4UA" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_30LusCkAEeGDDbdzqSb4UA" value="1"/>
-        </ownedAttribute>
-        <ownedConnector xmi:type="uml:Connector" xmi:id="_iDCL0CjaEeGFbebITJYb9g" name="Connector1">
-          <end xmi:type="uml:ConnectorEnd" xmi:id="_iDCy4CjaEeGFbebITJYb9g" partWithPort="_RMqEkCjaEeGFbebITJYb9g" role="_ZjdOAP-EEd6628OhKk_dpg">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iDCy4ijaEeGFbebITJYb9g" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iDCy4SjaEeGFbebITJYb9g" value="1"/>
-          </end>
-          <end xmi:type="uml:ConnectorEnd" xmi:id="_iDCy4yjaEeGFbebITJYb9g" partWithPort="_ARs_UCjaEeGFbebITJYb9g" role="__SLXgNtxEd6nqsBVkgJEEA">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iDCy5SjaEeGFbebITJYb9g" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iDCy5CjaEeGFbebITJYb9g" value="1"/>
-          </end>
-        </ownedConnector>
-        <ownedConnector xmi:type="uml:Connector" xmi:id="_84IJsCkAEeGDDbdzqSb4UA" name="Connector2">
-          <end xmi:type="uml:ConnectorEnd" xmi:id="_84JX0CkAEeGDDbdzqSb4UA" partWithPort="_ARs_UCjaEeGFbebITJYb9g" role="_ATRiECjZEeGFbebITJYb9g">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_84JX0ikAEeGDDbdzqSb4UA" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_84JX0SkAEeGDDbdzqSb4UA" value="1"/>
-          </end>
-          <end xmi:type="uml:ConnectorEnd" xmi:id="_84L0ECkAEeGDDbdzqSb4UA" role="_3NSGwCkAEeGDDbdzqSb4UA">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_84L0EikAEeGDDbdzqSb4UA" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_84L0ESkAEeGDDbdzqSb4UA" value="1"/>
-          </end>
-        </ownedConnector>
-        <ownedConnector xmi:type="uml:Connector" xmi:id="_kMZT4MTwEeWfEYAFL-UFuw" name="Connector3">
-          <end xmi:type="uml:ConnectorEnd" xmi:id="_kMZ68MTwEeWfEYAFL-UFuw" partWithPort="_ARs_UCjaEeGFbebITJYb9g" role="_2elREMRcEeWq5unKf5DK_A"/>
-          <end xmi:type="uml:ConnectorEnd" xmi:id="_kMZ68cTwEeWfEYAFL-UFuw" partWithPort="_RMqEkCjaEeGFbebITJYb9g" role="_ZjdOAP-EEd6628OhKk_dpg"/>
-        </ownedConnector>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Dependency" xmi:id="_SXkHQCo0EeGxrprK9wB9iA" name="Dependency1" client="_9V8OQCjYEeGFbebITJYb9g">
-        <supplier xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_ETakYDj8Edy0Rd6V_tf1-Q"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:DataType" xmi:id="_OU5asFaNEeKxltxu9uR4dg" name="ParamValues">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_RW82cFaNEeKxltxu9uR4dg" name="values" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_IYEXcB-VEd6nGq8wpI2tjg"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TAmU0FaNEeKxltxu9uR4dg" value="200"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TAqmQFaNEeKxltxu9uR4dg" value="200"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_TCDGUFaNEeKxltxu9uR4dg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:DataType" xmi:id="_Y8dPQFaNEeKxltxu9uR4dg" name="QoS">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_fYeQcFaNEeKxltxu9uR4dg" name="deadline" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gFUvYFaNEeKxltxu9uR4dg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gFYZwFaNEeKxltxu9uR4dg" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_gFfHcFaNEeKxltxu9uR4dg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_oUVYMFaNEeKxltxu9uR4dg" name="period" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rUQF8FaNEeKxltxu9uR4dg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rUSiMFaNEeKxltxu9uR4dg" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_rW6_cFaNEeKxltxu9uR4dg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_xXGZMFaNEeKxltxu9uR4dg" name="readyTime" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yjbCYFaNEeKxltxu9uR4dg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yjcQgFaNEeKxltxu9uR4dg" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_yjeswFaNEeKxltxu9uR4dg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_-WNegNtxEd6nqsBVkgJEEA" name="LifeCycle" isAbstract="true">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="__SLXgNtxEd6nqsBVkgJEEA" name="lc" aggregation="composite">
-          <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_57__MCS-Ed-A_I32T0fkaA" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_58tJ0CS-Ed-A_I32T0fkaA" value="1"/>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Dependency" xmi:id="_xsB0QL4KEeWvxpnDGpErAg" client="_JRmo0PNAEeCovO8AYZymZQ">
-        <supplier xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_FuKEEDj8Edy0Rd6V_tf1-Q"/>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_y4qB4ARJEd--t-uhRn9OBA" name="containerRules">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_q-kFUMTJEd-cLazKlAeYsQ" annotatedElement="_14WtMARJEd--t-uhRn9OBA">
-        <body>This rule adds an interceptor for the lifecycle (lc) port. It will use the Thread implementation that executes the activate method in a new thread of a given priority (property of the interceptor implementation)</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_H0IrsDbgEeGdqp2YT1LwWw" annotatedElement="_1sCBICjZEeGFbebITJYb9g">
-        <body>Adds a periodic timer to the container</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Class" xmi:id="_14WtMARJEd--t-uhRn9OBA" name="runStartThread">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_mvN04PTWEeCn1-FCrfecFg" name="start" visibility="public" type="_5J9coCXQEeGX6PuSE-DJlQ" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nPVfYPTWEeCn1-FCrfecFg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nPXUkPTWEeCn1-FCrfecFg" value="1"/>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="__4GvgPQTEeCovO8AYZymZQ" name="AddEventPool"/>
-      <packagedElement xmi:type="uml:Class" xmi:id="_1sCBICjZEeGFbebITJYb9g" name="PeriodicTimerRule">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_6yVMkCjZEeGFbebITJYb9g" name="timer" visibility="public" type="_9V8OQCjYEeGFbebITJYb9g">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_54aFgCjaEeGFbebITJYb9g" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_54bToCjaEeGFbebITJYb9g" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_54eW8CjaEeGFbebITJYb9g">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_wSPIcF0NEd-12d_h0i1xhQ" name="deployment">
-      <packagedElement xmi:type="uml:Package" xmi:id="_dKFEcCp9EeG1Y7BvjQ0T-w" name="operatingSystems">
-        <packagedElement xmi:type="uml:Class" xmi:id="_17yx8F0NEd-12d_h0i1xhQ" name="vxWorks"/>
-        <packagedElement xmi:type="uml:Class" xmi:id="_zVs5cF0NEd-12d_h0i1xhQ" name="Linux"/>
-        <packagedElement xmi:type="uml:Class" xmi:id="_4RuHgF0NEd-12d_h0i1xhQ" name="ose/ck"/>
-        <packagedElement xmi:type="uml:Class" xmi:id="__1uEcF0NEd-12d_h0i1xhQ" name="OSEK"/>
-        <packagedElement xmi:type="uml:Class" xmi:id="_onKy0Cp9EeG1Y7BvjQ0T-w" name="Cygwin"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_f2AfMCp9EeG1Y7BvjQ0T-w" name="architectures">
-        <packagedElement xmi:type="uml:Class" xmi:id="_PFcW8F0OEd-12d_h0i1xhQ" name="GenericPowerPC"/>
-        <packagedElement xmi:type="uml:Class" xmi:id="_CxQBcF0OEd-12d_h0i1xhQ" name="StandardPC"/>
-        <packagedElement xmi:type="uml:Class" xmi:id="_KjufQF0OEd-12d_h0i1xhQ" name="GenericARM7"/>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_uFRRUH7dEd-FNNgSS03RxQ" name="configOptions">
-      <packagedElement xmi:type="uml:Class" xmi:id="_29YhgH7dEd-FNNgSS03RxQ" name="Distribution">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_INNDgH7eEd-FNNgSS03RxQ">
-          <body>Use for distributed applications</body>
-        </ownedComment>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_3myD0H7dEd-FNNgSS03RxQ" name="Debug">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_9u2OQH7dEd-FNNgSS03RxQ">
-          <body>Use for debugging in general</body>
-        </ownedComment>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_7JeHcH7dEd-FNNgSS03RxQ" name="Trace">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_MzHesH7eEd-FNNgSS03RxQ">
-          <body>Use for tracing.</body>
-        </ownedComment>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_I19MANYGEd-CgJIavLpOxQ" name="pthread">
-      <packagedElement xmi:type="uml:Class" xmi:id="_ea234NYGEd-CgJIavLpOxQ" name="pthread_t"/>
-      <packagedElement xmi:type="uml:Class" xmi:id="_-vYZoCa0EeazPcQ6-9hBeQ" name="pthread_cond_t"/>
-      <packagedElement xmi:type="uml:Class" xmi:id="__niwsCa0EeazPcQ6-9hBeQ" name="pthread_mutex_t"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_m7SIwOUYEd-P08Bciq_LqQ" name="perClass">
-      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_rNm5kOUYEd-P08Bciq_LqQ" parameter="_wfwIoOUYEd-P08Bciq_LqQ">
-        <ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_wfwIoOUYEd-P08Bciq_LqQ" parameteredElement="_6uRBMOuqEeCTfOY57pgE3w">
-          <ownedParameteredElement xmi:type="uml:Class" xmi:id="_6uRBMOuqEeCTfOY57pgE3w" name="T" templateParameter="_wfwIoOUYEd-P08Bciq_LqQ"/>
-        </ownedParameter>
-      </ownedTemplateSignature>
-      <packagedElement xmi:type="uml:Enumeration" xmi:id="_QQPDUCQeEeGj_4swHBbKwg" name="PortIDs">
-        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_QQPDUSQeEeGj_4swHBbKwg" name="PORTID_[name/]"/>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_RPCMoOxIEd-2rr_yAeKkjQ" name="methodCall_comp">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_q1w5MK8qEeCXIcykFPsB8Q" annotatedElement="_RPCMoOxIEd-2rr_yAeKkjQ">
-        <body>Elements in this package depend not only on the Interface I (which is a non-owned template parameter taken from the methodCall signature), but also on a class parameter T, which is bound to the component within a container binding.
-Be aware that the number of instantiated template packages will be considerably larger compared to a dependency of the interface only</body>
-      </ownedComment>
-      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_ewC6kOxIEd-2rr_yAeKkjQ" parameter="_WzWVUPfBEd2TbIfwytOyPA _QBCTAOxJEd-2rr_yAeKkjQ">
-        <ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_QBCTAOxJEd-2rr_yAeKkjQ" parameteredElement="_zILRsPPlEd-BP4i7K5Y1eA">
-          <ownedParameteredElement xmi:type="uml:Class" xmi:id="_zILRsPPlEd-BP4i7K5Y1eA" name="T" templateParameter="_QBCTAOxJEd-2rr_yAeKkjQ"/>
-        </ownedParameter>
-      </ownedTemplateSignature>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="__lTvkPN0EeCovO8AYZymZQ" name="methodCall_size">
-      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_EfH-MPN1EeCovO8AYZymZQ" parameter="_WzWVUPfBEd2TbIfwytOyPA _TbLb4PN3EeCovO8AYZymZQ">
-        <ownedParameter xmi:type="uml:TemplateParameter" xmi:id="_TbLb4PN3EeCovO8AYZymZQ" parameteredElement="_VGE3cPN3EeCovO8AYZymZQ">
-          <ownedParameteredElement xmi:type="uml:LiteralInteger" xmi:id="_VGE3cPN3EeCovO8AYZymZQ" name="size" templateParameter="_TbLb4PN3EeCovO8AYZymZQ"/>
-        </ownedParameter>
-      </ownedTemplateSignature>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_gEZXADY7EeKvFqG4YPX3sg" name="methodCall_port">
-      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_kCZdoDY7EeKvFqG4YPX3sg" parameter="_WzWVUPfBEd2TbIfwytOyPA _udDzwDY9EeKvFqG4YPX3sg">
-        <ownedParameter xmi:type="uml:ConnectableElementTemplateParameter" xmi:id="_udDzwDY9EeKvFqG4YPX3sg" parameteredElement="_9GMAUDY9EeKvFqG4YPX3sg">
-          <ownedParameteredElement xmi:type="uml:Port" xmi:id="_9GMAUDY9EeKvFqG4YPX3sg" name="P" templateParameter="_udDzwDY9EeKvFqG4YPX3sg"/>
-        </ownedParameter>
-      </ownedTemplateSignature>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_q56toNzEEeKPWMO32vUmzw" name="languages">
-      <packagedElement xmi:type="uml:Class" xmi:id="_tZgVgNzEEeKPWMO32vUmzw" name="C++"/>
-      <packagedElement xmi:type="uml:Class" xmi:id="_w2nVkNzEEeKPWMO32vUmzw" name="C"/>
-      <packagedElement xmi:type="uml:Class" xmi:id="_0rU9UNzEEeKPWMO32vUmzw" name="Java"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_tkiC4HI3EeOCrdvV8oxOKA" name="bindingHelpers">
-      <packagedElement xmi:type="uml:Class" xmi:id="_z2tyoHI3EeOCrdvV8oxOKA" name="LoopOperations"/>
-      <packagedElement xmi:type="uml:Class" xmi:id="_4H-ZoHkgEeOCpqruXGWNPw" name="BindOperation"/>
-      <packagedElement xmi:type="uml:Class" xmi:id="_g8oe8LsMEeO0n5elMxN1LQ" name="BindCppIncludeToFirstActual"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_B_a2UKLvEeSBiP8ZTcBQrQ" name="OOtransformations">
-      <packagedElement xmi:type="uml:Class" xmi:id="_mgbVIKLvEeSBiP8ZTcBQrQ" name="StaticCpp"/>
-      <packagedElement xmi:type="uml:Class" xmi:id="_nRnhgKLvEeSBiP8ZTcBQrQ" name="DynamicCpp"/>
-      <packagedElement xmi:type="uml:Class" xmi:id="_pu1x4KLvEeSBiP8ZTcBQrQ" name="StaticJava"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_QOy9MDUKEeWa95xDrmW0sg" name="derivedTypes">
-      <packagedElement xmi:type="uml:Package" xmi:id="_QO5q4DUKEeWa95xDrmW0sg" name="core">
-        <packagedElement xmi:type="uml:Package" xmi:id="_QO6R8DUKEeWa95xDrmW0sg" name="methodCall">
-          <packagedElement xmi:type="uml:Class" xmi:id="_QO65ADUKEeWa95xDrmW0sg" name="Use_I"/>
-          <packagedElement xmi:type="uml:Usage" xmi:id="_QS9rgDUKEeWa95xDrmW0sg" client="_QO65ADUKEeWa95xDrmW0sg" supplier="_ZzlzMPfBEd2TbIfwytOyPA"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_utWisH2KEeWV7cfiwPN21w" name="sysinterfaces">
-        <packagedElement xmi:type="uml:Class" xmi:id="_utaNEH2KEeWV7cfiwPN21w" name="Use_ILifeCycle"/>
-        <packagedElement xmi:type="uml:Usage" xmi:id="_uthh0H2KEeWV7cfiwPN21w" client="_utaNEH2KEeWV7cfiwPN21w">
-          <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_pMJ60MTiEeWfEYAFL-UFuw" name="Use_ITick"/>
-        <packagedElement xmi:type="uml:Usage" xmi:id="_pMNlMMTiEeWfEYAFL-UFuw" client="_pMJ60MTiEeWfEYAFL-UFuw">
-          <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_FSgPwMUKEeWfEYAFL-UFuw" name="Use_IRunnable"/>
-        <packagedElement xmi:type="uml:Usage" xmi:id="_FSj6IMUKEeWfEYAFL-UFuw" client="_FSgPwMUKEeWfEYAFL-UFuw">
-          <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
-        </packagedElement>
-      </packagedElement>
-    </packagedElement>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ugrx4AHIEd6pm-KfUZMnnQ">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ugztsAHIEd6pm-KfUZMnnQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_u03PkFRxEd6GqrP6fkWBoQ">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u1sWAFRxEd6GqrP6fkWBoQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_0x8woBn3EeONpa5JgejICQ">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_01dXoBn3EeONpa5JgejICQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//SRM/SW_Concurrency"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_A_vtYBJeEdy3Td9UhuLFPg"/>
-    </profileApplication>
-  </uml:Model>
-  <FCM:Port xmi:id="_u1uLMFRxEd6GqrP6fkWBoQ" base_Port="_P4xVsNtuEd2eM5kqcby5ZA" kind="_9Fif4FRxEd6GqrP6fkWBoQ" type="_ZzlzMPfBEd2TbIfwytOyPA"/>
-  <FCM:Port xmi:id="_u1uLMVRxEd6GqrP6fkWBoQ" base_Port="_Qk0jYNtuEd2eM5kqcby5ZA" kind="_wySlkFRxEd6GqrP6fkWBoQ" type="_ZzlzMPfBEd2TbIfwytOyPA"/>
-  <FCM:Port xmi:id="_u1uLM1RxEd6GqrP6fkWBoQ" base_Port="_rSCxUAytEd6it_RkGhz_AA" kind="_9Fif4FRxEd6GqrP6fkWBoQ">
-    <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_7TuzoCUUEd6YR-YzyVnLng"/>
-  </FCM:Port>
-  <FCM:Port xmi:id="_u1uyQFRxEd6GqrP6fkWBoQ" base_Port="_r5Va0AytEd6it_RkGhz_AA" kind="_wySlkFRxEd6GqrP6fkWBoQ">
-    <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_7TuzoCUUEd6YR-YzyVnLng"/>
-  </FCM:Port>
-  <FCM:PortKind xmi:id="_wySlkFRxEd6GqrP6fkWBoQ" base_Class="_Wtq4sFDlEd6cwecVIgl9nw"/>
-  <FCM:PortKind xmi:id="_x5mL4FRxEd6GqrP6fkWBoQ" base_Class="_Wtq4sVDlEd6cwecVIgl9nw"/>
-  <FCM:PortKind xmi:id="_9Fif4FRxEd6GqrP6fkWBoQ" base_Class="_Wtrfw1DlEd6cwecVIgl9nw"/>
-  <FCM:PortKind xmi:id="_pE6GUFR1Ed6GqrP6fkWBoQ" base_Class="_Wtq4slDlEd6cwecVIgl9nw"/>
-  <FCM:PortKind xmi:id="_qOK0cFR1Ed6GqrP6fkWBoQ" base_Class="_WtrfwlDlEd6cwecVIgl9nw"/>
-  <FCM:InteractionComponent xmi:id="_s8OWIFR1Ed6GqrP6fkWBoQ" base_Class="_KxQBELuXEd2TTr3gJIvazw"/>
-  <FCM:InteractionComponent xmi:id="_vEYVcFR1Ed6GqrP6fkWBoQ" base_Class="_Zx2ZUA1jEd6tvthBDl600Q"/>
-  <FCM:InteractionComponent xmi:id="_wT-8IFR1Ed6GqrP6fkWBoQ" base_Class="_jOU60A1jEd6tvthBDl600Q"/>
-  <standard:ModelLibrary xmi:id="_CQiMQFtQEd6p9KQoJ8hRoA" base_Package="_O6TiIDLUEd26WNosUASSSw"/>
-  <C_Cpp:Include xmi:id="_sJry0JsqEd61Eo3nmu3JhQ" body="BootLoader bootloader;&#xA;&#xA;int main (int argc, char* argv[])&#xA;{&#xA;    bootloader.init ();&#xA;    return 0;&#xA;}&#xA;" base_class="_1RehUAGpEd6eR-dxi5su4Q"/>
-  <FCM:Port xmi:id="_OfjPwJsrEd61Eo3nmu3JhQ" base_Port="_OfiosJsrEd61Eo3nmu3JhQ" kind="_wySlkFRxEd6GqrP6fkWBoQ">
-    <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
-  </FCM:Port>
-  <FCM:Port xmi:id="__SL-kNtxEd6nqsBVkgJEEA" base_Port="__SLXgNtxEd6nqsBVkgJEEA" kind="_wySlkFRxEd6GqrP6fkWBoQ">
-    <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:Port>
-  <FCM:Port xmi:id="_Zjd1EP-EEd6628OhKk_dpg" base_Port="_ZjdOAP-EEd6628OhKk_dpg" kind="_9Fif4FRxEd6GqrP6fkWBoQ">
-    <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
-  </FCM:Port>
-  <C_Cpp:Ptr xmi:id="_Aw8hMP-FEd6628OhKk_dpg" base_parameter="_1TXqoP-EEd6628OhKk_dpg"/>
-  <C_Cpp:Ptr xmi:id="_NjCToP-FEd6628OhKk_dpg" base_parameter="_BywjgP-FEd6628OhKk_dpg"/>
-  <FCM:InteractionComponent xmi:id="_5hzVkARIEd--t-uhRn9OBA" base_Class="_cxVEsK-iEd6DndT7kDY1-A"/>
-  <FCM:ContainerRule xmi:id="_3Jq5MARLEd-OidZzGKCpzg" base_Class="_14WtMARJEd--t-uhRn9OBA" portSet="__SL-kNtxEd6nqsBVkgJEEA" interceptor="_u9ykQARIEd--t-uhRn9OBA" interceptorImpl="_u9ykQARIEd--t-uhRn9OBA"/>
-  <C_Cpp:Include xmi:id="_Q7TVYBJcEd-QgZm_R1AKbA" body="#include &lt;pthread.h>" base_class="_SiY_AP-EEd6628OhKk_dpg"/>
-  <FCM:InteractionComponent xmi:id="_efp4QClzEd-eoo60eNyGlg" base_Class="_Whe8EClYEd-eoo60eNyGlg"/>
-  <FCM:Port xmi:id="_N0to8Cu4Ed-uZPFNCty7PQ" base_Port="_N0tB4Cu4Ed-uZPFNCty7PQ" kind="_9Fif4FRxEd6GqrP6fkWBoQ" type="_fxfe8Cu1Ed-uZPFNCty7PQ"/>
-  <standard:Create xmi:id="_WFy8ECu9Ed-uZPFNCty7PQ" base_BehavioralFeature="_JM4I4Cu9Ed-uZPFNCty7PQ"/>
-  <C_Cpp:Ptr xmi:id="_G6PMUCvHEd-uZPFNCty7PQ" base_parameter="_Dn-xYCvHEd-uZPFNCty7PQ"/>
-  <C_Cpp:Ptr xmi:id="_NPp2QCvHEd-uZPFNCty7PQ" base_parameter="_IdnDkCvHEd-uZPFNCty7PQ"/>
-  <C_Cpp:Const xmi:id="_dtZbECvHEd-uZPFNCty7PQ" base_property="_Xq00oCvHEd-uZPFNCty7PQ"/>
-  <FCM:Template xmi:id="_iOmWwDNZEd-0bO2vHbUkEA" base_Element="_KOvHsPiREd2UhpY2Y3WUyg" helper="_nLe_sHJDEeOMF7YEvnQt5g" kind="LoopOperations" templateParam="_ZzlzMPfBEd2TbIfwytOyPA"/>
-  <FCM:Template xmi:id="_qcrLcDNZEd-0bO2vHbUkEA" base_Element="__y0hwJ08Ed6l5bTPBsl00Q" helper="_nLe_sHJDEeOMF7YEvnQt5g" kind="LoopOperations" formalParam="_ZzlzMPfBEd2TbIfwytOyPA" templateParam="_ZzlzMPfBEd2TbIfwytOyPA"/>
-  <FCM:DerivedElement xmi:id="_JqAFUD16Ed-Bk-AHd6yyoA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_JqEWwD16Ed-Bk-AHd6yyoA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_RTu-gED2Ed-_DOja_sRgWA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_RUIAEED2Ed-_DOja_sRgWA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <C_Cpp:Ptr xmi:id="_5048MED6Ed-_DOja_sRgWA" base_property="_2fcqYED6Ed-_DOja_sRgWA"/>
-  <FCM:DerivedElement xmi:id="_xsrykEJFEd-Ps4Bfh0j9LQ" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_xs0VcEJFEd-Ps4Bfh0j9LQ" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_qBaUMFJEEd-OfYmxqPWG5g" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_qBeloFJEEd-OfYmxqPWG5g" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_t--FUF0NEd-12d_h0i1xhQ" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_t_EzAF0NEd-12d_h0i1xhQ" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:OperatingSystem xmi:id="_1eULwF0NEd-12d_h0i1xhQ" base_Class="_zVs5cF0NEd-12d_h0i1xhQ"/>
-  <FCM:OperatingSystem xmi:id="_3MI_gF0NEd-12d_h0i1xhQ" base_Class="_17yx8F0NEd-12d_h0i1xhQ"/>
-  <FCM:OperatingSystem xmi:id="_8h8mkF0NEd-12d_h0i1xhQ" base_Class="_4RuHgF0NEd-12d_h0i1xhQ"/>
-  <FCM:OperatingSystem xmi:id="_BL7pcF0OEd-12d_h0i1xhQ" base_Class="__1uEcF0NEd-12d_h0i1xhQ"/>
-  <FCM:TargetArchitecture xmi:id="_FYOqwF0OEd-12d_h0i1xhQ" base_Class="_CxQBcF0OEd-12d_h0i1xhQ"/>
-  <FCM:TargetArchitecture xmi:id="_W5gJIF0OEd-12d_h0i1xhQ" base_Class="_KjufQF0OEd-12d_h0i1xhQ"/>
-  <FCM:TargetArchitecture xmi:id="_YHIZ4F0OEd-12d_h0i1xhQ" base_Class="_PFcW8F0OEd-12d_h0i1xhQ"/>
-  <FCM:DerivedElement xmi:id="_FWe6IG4sEd-0rs2VEGIwsA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_FWlAwG4sEd-0rs2VEGIwsA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_9Kl8IG4-Ed-J1L578xi-WA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_9K4QAG4-Ed-J1L578xi-WA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_Si_2kG5fEd-5CZIeuHpHAg" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_SjXqAG5fEd-5CZIeuHpHAg" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:ConfigOption xmi:id="_tA2KcH7eEd-FNNgSS03RxQ" base_Class="_3myD0H7dEd-FNNgSS03RxQ"/>
-  <FCM:ConfigOption xmi:id="_t2ziEH7eEd-FNNgSS03RxQ" base_Class="_29YhgH7dEd-FNNgSS03RxQ"/>
-  <FCM:ConfigOption xmi:id="_u6LqoH7eEd-FNNgSS03RxQ" base_Class="_7JeHcH7dEd-FNNgSS03RxQ"/>
-  <FCM:Template xmi:id="_3IqLUKE1Ed-r8p-5QgO3cg" base_Element="_pXzxjkJ1Ed-Ps4Bfh0j9LQ" helper="_nLe_sHJDEeOMF7YEvnQt5g" kind="LoopOperations"/>
-  <FCM:Template xmi:id="_9u11IKE1Ed-r8p-5QgO3cg" base_Element="_2bwsEClzEd-eoo60eNyGlg" helper="_nLe_sHJDEeOMF7YEvnQt5g" kind="LoopOperations"/>
-  <FCM:PortKind xmi:id="_H5-aQLqOEd-SedGzMDDkww" base_Class="_AQZZwLqOEd-SedGzMDDkww"/>
-  <FCM:PortKind xmi:id="_KtgR0LqOEd-SedGzMDDkww" base_Class="__nMrwLqNEd-SedGzMDDkww"/>
-  <FCM:ConfigurationProperty xmi:id="_s0fGMMGJEd-Mveea1W_olA" base_Property="_rVfYoMGJEd-Mveea1W_olA"/>
-  <FCM:InteractionComponent xmi:id="_8BUh8NdwEd-ZnqCk2P2ZKg" base_Class="_3itBkNdwEd-ZnqCk2P2ZKg"/>
-  <FCM:Template xmi:id="_CTIeQNdxEd-ZnqCk2P2ZKg" base_Element="_3itBoddwEd-ZnqCk2P2ZKg" helper="_nLe_sHJDEeOMF7YEvnQt5g" kind="LoopOperations"/>
-  <C_Cpp:Typedef xmi:id="_68Aa4No9Ed-wvpj-p-V_QQ" definition="!xtend CppParameterStorage" base_primitivetype="_xOqL0No9Ed-wvpj-p-V_QQ"/>
-  <FCM:InteractionComponent xmi:id="_xaHRQDJKEeCAhMtIsY9HwA" base_Class="_pXzKcEJ1Ed-Ps4Bfh0j9LQ"/>
-  <FCM:Port xmi:id="_MzPjkPNAEeCovO8AYZymZQ" base_Port="_MzO8gPNAEeCovO8AYZymZQ" kind="_wySlkFRxEd6GqrP6fkWBoQ" type="_omxU4PNAEeCovO8AYZymZQ"/>
-  <FCM:Template xmi:id="_c_dkcPNJEeCovO8AYZymZQ" base_Element="_aGt1sPNJEeCovO8AYZymZQ" kind="LoopOperations"/>
-  <FCM:ImplementationProperties xmi:id="_WIe68PQMEeCovO8AYZymZQ" base_Class="__uJRYPNGEeCovO8AYZymZQ"/>
-  <FCM:ContainerRule xmi:id="_F1wZsPQUEeCovO8AYZymZQ" base_Class="__4GvgPQTEeCovO8AYZymZQ" extensionKind="Aggregation" extension="_WhKAAPQUEeCovO8AYZymZQ"/>
-  <FCM:DerivedElement xmi:id="_mKpWAPQXEeCovO8AYZymZQ" base_Element="_tK0poPQWEeCovO8AYZymZQ0" source="_tK0poPQWEeCovO8AYZymZQ"/>
-  <FCM:DerivedElement xmi:id="_mK0VIPQXEeCovO8AYZymZQ" base_Element="_FBMo4PQXEeCovO8AYZymZQ0" source="_FBMo4PQXEeCovO8AYZymZQ"/>
-  <FCM:DerivedElement xmi:id="_mK7C0PQXEeCovO8AYZymZQ" base_Element="_f1HmEPQREeCovO8AYZymZQ0" source="_f1HmEPQREeCovO8AYZymZQ"/>
-  <standard:Create xmi:id="_o4VNAPRTEeCUGrV0Hl4JwQ" base_BehavioralFeature="_lrF08PRTEeCUGrV0Hl4JwQ"/>
-  <FCM:InterceptionRule xmi:id="_qlcF8AJzEeG0Lb1KYG16fA" interceptionSet="__SLXgNtxEd6nqsBVkgJEEA" base_Property="_mvN04PTWEeCn1-FCrfecFg" portSet="__SL-kNtxEd6nqsBVkgJEEA"/>
-  <FCM:Template xmi:id="_QUZxoCQeEeGj_4swHBbKwg" base_Element="_QQPDUSQeEeGj_4swHBbKwg" kind="LoopPorts"/>
-  <C_Cpp:Const xmi:id="_MGjk0CSlEeG6GJ4vU06VYQ" base_property="_Ig_MUCSlEeG6GJ4vU06VYQ"/>
-  <C_Cpp:Include xmi:id="_Yx49gCaeEeG4fZdVXNtoOQ" body="#include &lt;errno.h>" base_class="_JRmo0PNAEeCovO8AYZymZQ"/>
-  <FCM:InteractionComponent xmi:id="_OXit8CfwEeG6iME5Q8XPKw" base_Class="_5J9coCXQEeGX6PuSE-DJlQ"/>
-  <FCM:Port xmi:id="_ATRiESjZEeGFbebITJYb9g" base_Port="_ATRiECjZEeGFbebITJYb9g" kind="_9Fif4FRxEd6GqrP6fkWBoQ">
-    <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
-  </FCM:Port>
-  <FCM:ContainerRule xmi:id="_MS45QCjaEeGFbebITJYb9g" base_Class="_1sCBICjZEeGFbebITJYb9g"/>
-  <FCM:ConfigurationProperty xmi:id="_zVumMCjbEeGFbebITJYb9g" base_Property="_tmNeoCjbEeGFbebITJYb9g"/>
-  <FCM:Port xmi:id="_3NSGwSkAEeGDDbdzqSb4UA" base_Port="_3NSGwCkAEeGDDbdzqSb4UA" kind="_9Fif4FRxEd6GqrP6fkWBoQ">
-    <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
-  </FCM:Port>
-  <FCM:OperatingSystem xmi:id="_r4nVcCp9EeG1Y7BvjQ0T-w" base_Class="_onKy0Cp9EeG1Y7BvjQ0T-w"/>
-  <FCM:Port xmi:id="_-nlmgENqEeGoAtSeIK7WLg" base_Port="_-nk_cENqEeGoAtSeIK7WLg" kind="_qOK0cFR1Ed6GqrP6fkWBoQ" type="_WkkjoPNUEeCovO8AYZymZQ"/>
-  <FCM:Port xmi:id="_9gJEAENvEeGoAtSeIK7WLg" base_Port="_9gIc8ENvEeGoAtSeIK7WLg" kind="_pE6GUFR1Ed6GqrP6fkWBoQ" type="_WkkjoPNUEeCovO8AYZymZQ"/>
-  <FCM:Port xmi:id="_MhIhgENxEeGoAtSeIK7WLg" base_Port="_MhH6cENxEeGoAtSeIK7WLg" kind="_pE6GUFR1Ed6GqrP6fkWBoQ" type="_WkkjoPNUEeCovO8AYZymZQ"/>
-  <FCM:Port xmi:id="_Zd6hAENxEeGoAtSeIK7WLg" base_Port="_Zd558ENxEeGoAtSeIK7WLg" kind="_qOK0cFR1Ed6GqrP6fkWBoQ" type="_WkkjoPNUEeCovO8AYZymZQ"/>
-  <FCM:Port xmi:id="_i6QeoEN8EeGfhclnRyNzoA" base_Port="_i5SOQEN8EeGfhclnRyNzoA" kind="_qOK0cFR1Ed6GqrP6fkWBoQ" type="_WkkjoPNUEeCovO8AYZymZQ"/>
-  <FCM:Port xmi:id="_0KaqgF7pEeGEmrrwB1vhPg" base_Port="_0KY1UF7pEeGEmrrwB1vhPg" kind="_wySlkFRxEd6GqrP6fkWBoQ" type="_ZzlzMPfBEd2TbIfwytOyPA"/>
-  <FCM:Template xmi:id="_GNBM8F7tEeGEmrrwB1vhPg" base_Element="_ChD4kF7tEeGEmrrwB1vhPg" helper="_nLe_sHJDEeOMF7YEvnQt5g" kind="LoopOperations"/>
-  <FCM:InteractionComponent xmi:id="_UBcmIF7tEeGEmrrwB1vhPg" base_Class="_Mo2kwF7pEeGEmrrwB1vhPg"/>
-  <FCM:InteractionComponent xmi:id="_Z3Zs4F7tEeGEmrrwB1vhPg" base_Class="_TLShkF7qEeGEmrrwB1vhPg"/>
-  <FCM:PortKind xmi:id="_SrCqQC8qEeKx7OxAiA06uw" base_Class="_GjnlcC8qEeKx7OxAiA06uw"/>
-  <C_Cpp:ExternLibrary xmi:id="_xVwkUNqCEeKrRY-H1kHnNA" base_package="_I19MANYGEd-CgJIavLpOxQ">
-    <libs>pthread</libs>
-    <libs>rt</libs>
-    <includes>pthread.h</includes>
-  </C_Cpp:ExternLibrary>
-  <FCM:ProgLanguage xmi:id="_5WrSINzEEeKPWMO32vUmzw" base_Class="_tZgVgNzEEeKPWMO32vUmzw"/>
-  <FCM:ProgLanguage xmi:id="_74ZoANzEEeKPWMO32vUmzw" base_Class="_w2nVkNzEEeKPWMO32vUmzw"/>
-  <FCM:ProgLanguage xmi:id="_9OaYsNzEEeKPWMO32vUmzw" base_Class="_0rU9UNzEEeKPWMO32vUmzw"/>
-  <SW_Concurrency:SwSchedulableResource xmi:id="_42YPYBn3EeONpa5JgejICQ" base_Classifier="_SiY_AP-EEd6628OhKk_dpg" priorityElements="_rVfYoMGJEd-Mveea1W_olA"/>
-  <C_Cpp:NoCodeGen xmi:id="_ilpvUBqnEeOfW_TxE-lJDw" base_element="_q56toNzEEeKPWMO32vUmzw"/>
-  <FCM:DerivedElement xmi:id="_TJO30CxyEeOMQpc6Y-MAJw" base_Element="_TBScwCxyEeOMQpc6Y-MAJw">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_ns4qsClUEeO4bs_nkcnKOg"/>
-  </FCM:DerivedElement>
-  <FCM:BindingHelper xmi:id="_nLe_sHJDEeOMF7YEvnQt5g" base_Class="_z2tyoHI3EeOCrdvV8oxOKA"/>
-  <FCM:BindingHelper xmi:id="_7qhTUHkgEeOCpqruXGWNPw" base_Class="_4H-ZoHkgEeOCpqruXGWNPw"/>
-  <FCM:BindingHelper xmi:id="_mFUQALsMEeO0n5elMxN1LQ" base_Class="_g8oe8LsMEeO0n5elMxN1LQ"/>
-  <FCM:CompToOOmapping xmi:id="_45ldwKLvEeSBiP8ZTcBQrQ" base_Class="_pu1x4KLvEeSBiP8ZTcBQrQ"/>
-  <FCM:CompToOOmapping xmi:id="_5zQ3wKLvEeSBiP8ZTcBQrQ" base_Class="_mgbVIKLvEeSBiP8ZTcBQrQ"/>
-  <FCM:CompToOOmapping xmi:id="_66vdMKLvEeSBiP8ZTcBQrQ" base_Class="_nRnhgKLvEeSBiP8ZTcBQrQ"/>
-  <C_Cpp:Const xmi:id="_YKw8INhuEeSqPLTzapTtmQ" base_property="_YHC5wNhuEeSqPLTzapTtmQ"/>
-  <FCM:DerivedElement xmi:id="_QS4L8DUKEeWa95xDrmW0sg" base_Element="_QO65ADUKEeWa95xDrmW0sg" source="_ZzlzMPfBEd2TbIfwytOyPA"/>
-  <FCM:DerivedElement xmi:id="_utfFkH2KEeWV7cfiwPN21w" base_Element="_utaNEH2KEeWV7cfiwPN21w">
-    <source xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_oJglwH2LEeWV7cfiwPN21w" base_Element="_oJcUUH2LEeWV7cfiwPN21w">
-    <source xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_7TuzoCUUEd6YR-YzyVnLng"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_AsyHQH2MEeWV7cfiwPN21w" base_Element="_AsqygH2MEeWV7cfiwPN21w" source="_ZzlzMPfBEd2TbIfwytOyPA"/>
-  <C_Cpp:NoCodeGen xmi:id="_thmuAL-FEeWzCKjiZE_bAw" base_element="_tkiC4HI3EeOCrdvV8oxOKA"/>
-  <FCM:DerivedElement xmi:id="_pMMXEMTiEeWfEYAFL-UFuw" base_Element="_pMJ60MTiEeWfEYAFL-UFuw">
-    <source xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_pMuikMTiEeWfEYAFL-UFuw" base_Element="_pMrfQMTiEeWfEYAFL-UFuw">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_FSjTEMUKEeWfEYAFL-UFuw" base_Element="_FSgPwMUKEeWfEYAFL-UFuw">
-    <source xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <C_Cpp:Ptr xmi:id="_FSoLkMUKEeWfEYAFL-UFuw" base_parameter="_FSlvUMUKEeWfEYAFL-UFuw"/>
-  <C_Cpp:Ptr xmi:id="_FSqn0MUKEeWfEYAFL-UFuw" base_parameter="_FSoLkcUKEeWfEYAFL-UFuw"/>
-  <FCM:DerivedElement xmi:id="_LO_PUMp7EeWZ7LDc4RWI6w" base_Element="_LO4hoMp7EeWZ7LDc4RWI6w" source="_fxfe8Cu1Ed-uZPFNCty7PQ"/>
-  <C_Cpp:Ptr xmi:id="_LPF9AMp7EeWZ7LDc4RWI6w" base_parameter="_LPCSoMp7EeWZ7LDc4RWI6w"/>
-  <C_Cpp:Ptr xmi:id="_LPK1gMp7EeWZ7LDc4RWI6w" base_parameter="_LPGkEMp7EeWZ7LDc4RWI6w"/>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/corec.di b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/corec.di
deleted file mode 100644
index b319be2..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/corec.di
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi" xmlns:history="http://www.eclipse.org/papyrus/0.7.0/controlmode">
-  <di:SashWindowsMngr xmi:id="_pKTSkNYFEd-CgJIavLpOxQ">
-    <pageList xmi:id="_pKTSkdYFEd-CgJIavLpOxQ">
-      <availablePage xmi:id="_pKTSktYFEd-CgJIavLpOxQ">
-        <emfPageIdentifier href="corec.notation#_FYAkIG4sEd-0rs2VEGIwsA"/>
-      </availablePage>
-      <availablePage xmi:id="_A6ULItYGEd-CgJIavLpOxQ">
-        <emfPageIdentifier href="corec.notation#_A6ULINYGEd-CgJIavLpOxQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corec.notation#_glyeMK8qEeCXIcykFPsB8Q"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corec.notation#_DtdykK8rEeCXIcykFPsB8Q"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corec.notation#_PIvc4LabEeCj_-LEBuGpmA"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corec.notation#_0IaT8LnYEeCxXoyQxQ47PQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corec.notation#_SstwYPEnEeCIafpoJVk7CQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corec.notation#_eblvwPM_EeCovO8AYZymZQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corec.notation#_hyLz8PNGEeCovO8AYZymZQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corec.notation#_cVCGYPNUEeCovO8AYZymZQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corec.notation#_g6Yg0CnOEeGxrprK9wB9iA"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corec.notation#_OhgzgD8AEeGJ6KSvhYhYuQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corec.notation#_DfG8kF7qEeGEmrrwB1vhPg"/>
-      </availablePage>
-    </pageList>
-    <sashModel xmi:id="_pKTSk9YFEd-CgJIavLpOxQ" currentSelection="_pKTSldYFEd-CgJIavLpOxQ">
-      <windows xmi:id="_pKTSlNYFEd-CgJIavLpOxQ">
-        <children xsi:type="di:TabFolder" xmi:id="_pKTSldYFEd-CgJIavLpOxQ">
-          <children>
-            <emfPageIdentifier href="corec.notation#_glyeMK8qEeCXIcykFPsB8Q"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corec.notation#_DtdykK8rEeCXIcykFPsB8Q"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corec.notation#_PIvc4LabEeCj_-LEBuGpmA"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corec.notation#_0IaT8LnYEeCxXoyQxQ47PQ"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corec.notation#_SstwYPEnEeCIafpoJVk7CQ"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corec.notation#_g6Yg0CnOEeGxrprK9wB9iA"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corec.notation#_OhgzgD8AEeGJ6KSvhYhYuQ"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corec.notation#_cVCGYPNUEeCovO8AYZymZQ"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corec.notation#_hyLz8PNGEeCovO8AYZymZQ"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corec.notation#_DfG8kF7qEeGEmrrwB1vhPg"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corec.notation#_FYAkIG4sEd-0rs2VEGIwsA"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corec.notation#_eblvwPM_EeCovO8AYZymZQ"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corec.notation#_A6ULINYGEd-CgJIavLpOxQ"/>
-          </children>
-        </children>
-      </windows>
-    </sashModel>
-  </di:SashWindowsMngr>
-  <history:ControledResource xmi:id="_pKT5oNYFEd-CgJIavLpOxQ"/>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/corec.notation b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/corec.notation
deleted file mode 100644
index ce60a48..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/corec.notation
+++ /dev/null
@@ -1,3896 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML">
-  <notation:Diagram xmi:id="_FYAkIG4sEd-0rs2VEGIwsA" type="CompositeStructure" name="Composite Async &amp; sync call hierarchy" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_FYAkIW4sEd-0rs2VEGIwsA" type="2073" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_FYAkIm4sEd-0rs2VEGIwsA" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_FYAkI24sEd-0rs2VEGIwsA" type="7073">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYAkJG4sEd-0rs2VEGIwsA"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_FYAkJW4sEd-0rs2VEGIwsA" type="3069" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AEHTkDrTEeGKkdk54CX6PQ" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8kEM4DrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8kEz8DrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8kEz8TrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8kEz8jrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8kEz8zrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FYAkJm4sEd-0rs2VEGIwsA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__EG7cF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Uh8jQFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FYAkJ24sEd-0rs2VEGIwsA" x="-56"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FYBLMG4sEd-0rs2VEGIwsA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FYBLMW4sEd-0rs2VEGIwsA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLMm4sEd-0rs2VEGIwsA" x="110" y="45"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_mIpj8Ns8Ed2eM5kqcby5ZA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLM24sEd-0rs2VEGIwsA" x="225" y="90" width="120" height="84"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_FYBLNG4sEd-0rs2VEGIwsA" type="2073" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_FYBLNW4sEd-0rs2VEGIwsA" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_FYBLNm4sEd-0rs2VEGIwsA" type="7073">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLN24sEd-0rs2VEGIwsA"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_FYBLOG4sEd-0rs2VEGIwsA" type="3069" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4qWbQDrTEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48kMoDrTEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48kMoTrTEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48kMojrTEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48kMozrTEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48kMpDrTEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FYBLOW4sEd-0rs2VEGIwsA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__2FK8F7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VHb18FbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FYBLOm4sEd-0rs2VEGIwsA" x="25" y="1"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FYBLO24sEd-0rs2VEGIwsA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FYBLPG4sEd-0rs2VEGIwsA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLPW4sEd-0rs2VEGIwsA" x="-10" y="44"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_j29X4NttEd2eM5kqcby5ZA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLPm4sEd-0rs2VEGIwsA" x="420" y="90" width="121" height="79"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_cTlm4G5fEd-5CZIeuHpHAg" type="2073" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cTm1AG5fEd-5CZIeuHpHAg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cTm1AW5fEd-5CZIeuHpHAg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cTm1Am5fEd-5CZIeuHpHAg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cTm1A25fEd-5CZIeuHpHAg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cTm1BG5fEd-5CZIeuHpHAg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cTm1BW5fEd-5CZIeuHpHAg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_cTm1Bm5fEd-5CZIeuHpHAg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_cTm1B25fEd-5CZIeuHpHAg" type="7073">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cTm1CG5fEd-5CZIeuHpHAg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_cnOc0DrVEeGMCcwsbpLuFA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnQ5EDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnQ5ETrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnQ5EjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnQ5EzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnQ5FDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnRgIDrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2J1UYDrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2ZuKgDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2ZuxkDrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2ZuxkTrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2ZuxkjrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2ZuxkzrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_cnRgITrVEeGMCcwsbpLuFA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sbFK0F7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XaUekFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_cnRgIjrVEeGMCcwsbpLuFA" x="19"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_cnSHMDrVEeGMCcwsbpLuFA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_cnSHMTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cnOc0TrVEeGMCcwsbpLuFA" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_cnSuQDrVEeGMCcwsbpLuFA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnSuQjrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnSuQzrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnSuRDrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnSuRTrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnTVUDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnTVUTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yOmN4DrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yixHEDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yixuIDrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yixuITrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yixuIjrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yixuIzrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_cnTVUjrVEeGMCcwsbpLuFA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3vXigF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W6BN4FbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_cnTVUzrVEeGMCcwsbpLuFA" x="-25"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_cnTVVDrVEeGMCcwsbpLuFA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_cnTVVTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cnSuQTrVEeGMCcwsbpLuFA" x="106" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_KxQBELuXEd2TTr3gJIvazw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cTmN8G5fEd-5CZIeuHpHAg" x="225" y="270" width="116" height="76"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_nkmBEG5fEd-5CZIeuHpHAg" type="2073" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nkmoIG5fEd-5CZIeuHpHAg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nknPMG5fEd-5CZIeuHpHAg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nknPMW5fEd-5CZIeuHpHAg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nknPMm5fEd-5CZIeuHpHAg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nknPM25fEd-5CZIeuHpHAg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nknPNG5fEd-5CZIeuHpHAg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_nknPNW5fEd-5CZIeuHpHAg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_nknPNm5fEd-5CZIeuHpHAg" type="7073">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nknPN25fEd-5CZIeuHpHAg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_hZRPgDrVEeGMCcwsbpLuFA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZR2kDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZR2kTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZR2kjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZR2kzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZR2lDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZR2lTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3C2AADrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3cOJUDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3cOJUTrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3cOJUjrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3cOJUzrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3cOJVDrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_hZR2ljrVEeGMCcwsbpLuFA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_s2NAkF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_whZf8F7qEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_hZR2lzrVEeGMCcwsbpLuFA" x="19"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_hZR2mDrVEeGMCcwsbpLuFA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_hZSdoDrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hZRPgTrVEeGMCcwsbpLuFA" x="-10" y="33"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_hZSdoTrVEeGMCcwsbpLuFA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZTEsDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZTEsTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZTEsjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZTEszrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZTEtDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZTEtTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4TtK8DrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4okAoDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4okAoTrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4okAojrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4okAozrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4oknsDrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_hZTEtjrVEeGMCcwsbpLuFA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_24F8QF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2_b6YF7qEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_hZTEtzrVEeGMCcwsbpLuFA" x="-30"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_hZTEuDrVEeGMCcwsbpLuFA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_hZTrwDrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hZSdojrVEeGMCcwsbpLuFA" x="111" y="33"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_Whe8EClYEd-eoo60eNyGlg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nkmBEW5fEd-5CZIeuHpHAg" x="225" y="390" width="121" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_HJAqEG5gEd-5CZIeuHpHAg" type="2073" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HJBRIG5gEd-5CZIeuHpHAg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HJBRIW5gEd-5CZIeuHpHAg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HJBRIm5gEd-5CZIeuHpHAg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HJBRI25gEd-5CZIeuHpHAg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HJB4MG5gEd-5CZIeuHpHAg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HJB4MW5gEd-5CZIeuHpHAg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_HJB4Mm5gEd-5CZIeuHpHAg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_HJB4M25gEd-5CZIeuHpHAg" type="7073">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HJB4NG5gEd-5CZIeuHpHAg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_iOXEcDrVEeGMCcwsbpLuFA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOXrgDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOXrgTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOXrgjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOXrgzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOXrhDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOXrhTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5dF04DrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_56NOsDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_56NOsTrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_56NOsjrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_56N1wDrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_56N1wTrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_iOXrhjrVEeGMCcwsbpLuFA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BXMYYF7rEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VrqkYFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_iOXrhzrVEeGMCcwsbpLuFA" x="25"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_iOXriDrVEeGMCcwsbpLuFA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_iOXriTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iOXEcTrVEeGMCcwsbpLuFA" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_iOYSkDrVEeGMCcwsbpLuFA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOYSkjrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOY5oDrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOY5oTrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOY5ojrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOY5ozrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOY5pDrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6tcCcDrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7BnisDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7BoJwDrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7BoJwTrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7BoJwjrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7BoJwzrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_iOY5pTrVEeGMCcwsbpLuFA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tskA0F7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WOFU8FbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_iOY5pjrVEeGMCcwsbpLuFA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_iOY5pzrVEeGMCcwsbpLuFA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_iOY5qDrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iOYSkTrVEeGMCcwsbpLuFA" x="111" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_Zx2ZUA1jEd6tvthBDl600Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HJAqEW5gEd-5CZIeuHpHAg" x="420" y="270" width="121" height="76"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_H_CTIG5gEd-5CZIeuHpHAg" type="2073" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H_C6MG5gEd-5CZIeuHpHAg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H_C6MW5gEd-5CZIeuHpHAg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H_C6Mm5gEd-5CZIeuHpHAg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H_C6M25gEd-5CZIeuHpHAg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H_C6NG5gEd-5CZIeuHpHAg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H_C6NW5gEd-5CZIeuHpHAg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_H_C6Nm5gEd-5CZIeuHpHAg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_H_C6N25gEd-5CZIeuHpHAg" type="7073">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H_C6OG5gEd-5CZIeuHpHAg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_kf30EDrVEeGMCcwsbpLuFA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf4bIDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf4bITrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf4bIjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf4bIzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf4bJDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf4bJTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o5tiIDrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pQdOMDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pQdOMTrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pQdOMjrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pQd1QDrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pQd1QTrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_kf4bJjrVEeGMCcwsbpLuFA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EmPuUF7rEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GfK-0F7rEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kf4bJzrVEeGMCcwsbpLuFA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_kf4bKDrVEeGMCcwsbpLuFA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kf4bKTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kf30ETrVEeGMCcwsbpLuFA" x="-10" y="33"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_kf5CMDrVEeGMCcwsbpLuFA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf5pQDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf5pQTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf5pQjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf5pQzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf5pRDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf5pRTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_noqJ8DrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oBjyIDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oBjyITrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oBjyIjrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oBkZMDrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oBkZMTrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_kf5pRjrVEeGMCcwsbpLuFA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tXAAgF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EFa5MF7rEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kf5pRzrVEeGMCcwsbpLuFA" x="25"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_kf5pSDrVEeGMCcwsbpLuFA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kf5pSTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kf5CMTrVEeGMCcwsbpLuFA" x="111" y="33"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_jOU60A1jEd6tvthBDl600Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H_CTIW5gEd-5CZIeuHpHAg" x="420" y="390" width="121" height="70"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="__rQAQDrVEeGMCcwsbpLuFA" type="2109" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__rQnUDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__rQnUTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__rQnUjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__rQnUzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__rQnVDrVEeGMCcwsbpLuFA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__rQnVTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="__rQnVjrVEeGMCcwsbpLuFA" type="5192"/>
-      <element xmi:type="uml:Comment" href="corec.uml#__oxUADrVEeGMCcwsbpLuFA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__rQAQTrVEeGMCcwsbpLuFA" x="596" y="102" width="242"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_2oWskF7pEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2oX6sF7pEeGEmrrwB1vhPg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2oX6sV7pEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2oX6sl7pEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2oX6s17pEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2oX6tF7pEeGEmrrwB1vhPg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2oX6tV7pEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_2oYhwF7pEeGEmrrwB1vhPg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_2oYhwV7pEeGEmrrwB1vhPg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_2oYhwl7pEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2oYhw17pEeGEmrrwB1vhPg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_5wCPMF7pEeGEmrrwB1vhPg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5wC2QF7pEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5wC2QV7pEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5wC2Ql7pEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5wC2Q17pEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5wC2RF7pEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5wC2RV7pEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8uIYAF7pEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9B96AF7pEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9B96AV7pEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9B96Al7pEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9B96A17pEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9B96BF7pEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_5wC2Rl7pEeGEmrrwB1vhPg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-VsWQF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZVGwQFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_5wC2R17pEeGEmrrwB1vhPg" x="-99"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_5wC2SF7pEeGEmrrwB1vhPg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_5wC2SV7pEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5wCPMV7pEeGEmrrwB1vhPg" x="108" y="45"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_0KYOQF7pEeGEmrrwB1vhPg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2oWskV7pEeGEmrrwB1vhPg" x="36" y="90" width="118" height="82"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_TLmDkF7qEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TLmqoF7qEeGEmrrwB1vhPg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TLmqoV7qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TLmqol7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TLmqo17qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TLmqpF7qEeGEmrrwB1vhPg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TLmqpV7qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_TLnRsF7qEeGEmrrwB1vhPg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_TLnRsV7qEeGEmrrwB1vhPg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_TLnRsl7qEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TLnRs17qEeGEmrrwB1vhPg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_ewlwwF7qEeGEmrrwB1vhPg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewmX0F7qEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewmX0V7qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewmX0l7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewmX017qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewmX1F7qEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewmX1V7qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nfCuoF7qEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_n3u7cF7qEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_n3u7cV7qEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_n3u7cl7qEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_n3u7c17qEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_n3u7dF7qEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ewmX1l7qEeGEmrrwB1vhPg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_08xfEF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1Gzk0F7qEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ewmX117qEeGEmrrwB1vhPg" x="-63"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ewmX2F7qEeGEmrrwB1vhPg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ewmX2V7qEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ewlwwV7qEeGEmrrwB1vhPg" x="106" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_ewm-4F7qEeGEmrrwB1vhPg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewm-4l7qEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewm-417qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewm-5F7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewm-5V7qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewm-5l7qEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewm-517qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lHhdoF7qEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lvZV8F7qEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lvZV8V7qEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lvZV8l7qEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lvZV817qEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lvZV9F7qEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ewnl8F7qEeGEmrrwB1vhPg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_x3Ij0F7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YVUHMFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ewnl8V7qEeGEmrrwB1vhPg" x="17"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ewnl8l7qEeGEmrrwB1vhPg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ewnl817qEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ewm-4V7qEeGEmrrwB1vhPg" x="-10" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_TLShkF7qEeGEmrrwB1vhPg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TLmDkV7qEeGEmrrwB1vhPg" x="38" y="270" width="116" height="73"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_FYBLP24sEd-0rs2VEGIwsA"/>
-    <element xmi:type="uml:Package" href="corec.uml#_mMCK8PiPEd2UhpY2Y3WUyg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_dNEMkG5fEd-5CZIeuHpHAg" type="4015" source="_cTlm4G5fEd-5CZIeuHpHAg" target="_FYAkIW4sEd-0rs2VEGIwsA" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_dNFasG5fEd-5CZIeuHpHAg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_dNGo0G5fEd-5CZIeuHpHAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_dNEMkW5fEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_1H2JwDBEEd6V16eboHV1gw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dNEMkm5fEd-5CZIeuHpHAg" points="[-8, -20, 58, 145]$[-50, -123, 16, 42]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_drspUG5fEd-5CZIeuHpHAg" type="4015" source="_cTlm4G5fEd-5CZIeuHpHAg" target="_FYBLNG4sEd-0rs2VEGIwsA" routing="Rectilinear" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_drtQYG5fEd-5CZIeuHpHAg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_drtQYW5fEd-5CZIeuHpHAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_drspUW5fEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_0KzSsDBEEd6V16eboHV1gw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_drspUm5fEd-5CZIeuHpHAg" points="[41, -38, -136, 105]$[41, -92, -136, 51]$[172, -92, -5, 51]$[172, -139, -5, 4]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jflTgG5fEd-5CZIeuHpHAg" id="(0.3305785123966942,0.9493670886075949)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_pOq9QG5fEd-5CZIeuHpHAg" type="4015" source="_nkmBEG5fEd-5CZIeuHpHAg" target="_cTlm4G5fEd-5CZIeuHpHAg" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qQj4EG5fEd-5CZIeuHpHAg" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qQj4EW5fEd-5CZIeuHpHAg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qQj4Em5fEd-5CZIeuHpHAg" key="StereotypeList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qQj4E25fEd-5CZIeuHpHAg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qQj4FG5fEd-5CZIeuHpHAg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qQj4FW5fEd-5CZIeuHpHAg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_pOrkUG5fEd-5CZIeuHpHAg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_pOrkUW5fEd-5CZIeuHpHAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_pOq9QW5fEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_lYOSkClzEd-eoo60eNyGlg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pOq9Qm5fEd-5CZIeuHpHAg" points="[1, -40, 0, 83]$[0, -85, -1, 38]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_IsGNcG5gEd-5CZIeuHpHAg" type="4015" source="_H_CTIG5gEd-5CZIeuHpHAg" target="_HJAqEG5gEd-5CZIeuHpHAg" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_IsPXYG5gEd-5CZIeuHpHAg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_IsPXYW5gEd-5CZIeuHpHAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_IsGNcW5gEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_lm4GkA1jEd6tvthBDl600Q"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IsGNcm5gEd-5CZIeuHpHAg" points="[-4, -20, 17, 90]$[-18, -90, 3, 20]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_KGqG8G5gEd-5CZIeuHpHAg" type="4015" source="_HJAqEG5gEd-5CZIeuHpHAg" target="_FYAkIW4sEd-0rs2VEGIwsA" routing="Rectilinear" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_KGrVEG5gEd-5CZIeuHpHAg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KGrVEW5gEd-5CZIeuHpHAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_KGqG8W5gEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_T1zr4DBFEd6V16eboHV1gw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KGqG8m5gEd-5CZIeuHpHAg" points="[-31, -18, 261, 147]$[-232, -132, 60, 33]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Kc5csG5gEd-5CZIeuHpHAg" type="4015" source="_HJAqEG5gEd-5CZIeuHpHAg" target="_FYBLNG4sEd-0rs2VEGIwsA" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Kc6DwG5gEd-5CZIeuHpHAg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Kc6DwW5gEd-5CZIeuHpHAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Kc5csW5gEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_STdvYDBFEd6V16eboHV1gw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Kc5csm5gEd-5CZIeuHpHAg" points="[-12, -23, 74, 146]$[-66, -129, 20, 40]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_DjnY8DrWEeGMCcwsbpLuFA" type="4002" source="__rQAQDrVEeGMCcwsbpLuFA" target="_FYBLNG4sEd-0rs2VEGIwsA" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_DjoAADrWEeGMCcwsbpLuFA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DjoAATrWEeGMCcwsbpLuFA" points="[-19, 1, 78, 0]$[-74, 3, 23, 2]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DjzmMDrWEeGMCcwsbpLuFA" id="(0.11801242236024845,0.5)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DjzmMTrWEeGMCcwsbpLuFA" id="(0.8099173553719008,0.5443037974683544)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_WhiEoF7qEeGEmrrwB1vhPg" type="4015" source="_TLmDkF7qEeGEmrrwB1vhPg" target="_2oWskF7pEeGEmrrwB1vhPg" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_WhirsF7qEeGEmrrwB1vhPg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_WhirsV7qEeGEmrrwB1vhPg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_WhiEoV7qEeGEmrrwB1vhPg" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_WhUpQF7qEeGEmrrwB1vhPg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WhiEol7qEeGEmrrwB1vhPg" points="[1, -4, 0, 109]$[-3, -107, -4, 6]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wh9icF7qEeGEmrrwB1vhPg" id="(0.3673469387755102,0.06779661016949153)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wh9icV7qEeGEmrrwB1vhPg" id="(0.3305084745762712,0.926829268292683)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_XgiDgF7qEeGEmrrwB1vhPg" type="4015" source="_TLmDkF7qEeGEmrrwB1vhPg" target="_FYBLNG4sEd-0rs2VEGIwsA" routing="Rectilinear" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_XgiqkF7qEeGEmrrwB1vhPg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_XgiqkV7qEeGEmrrwB1vhPg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_XgiDgV7qEeGEmrrwB1vhPg" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_XgUoIF7qEeGEmrrwB1vhPg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XgiDgl7qEeGEmrrwB1vhPg" points="[17, -6, -338, 114]$[349, -112, -6, 8]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xg9hUF7qEeGEmrrwB1vhPg" id="(0.6632653061224489,0.1016949152542373)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xg9hUV7qEeGEmrrwB1vhPg" id="(0.3140495867768595,0.8987341772151899)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_A6ULINYGEd-CgJIavLpOxQ" type="PapyrusUMLClassDiagram" name="Class: ContainerServices" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_ByS8ANYGEd-CgJIavLpOxQ" type="2008" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByUKINYGEd-CgJIavLpOxQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ByUKIdYGEd-CgJIavLpOxQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByUKItYGEd-CgJIavLpOxQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ByUKI9YGEd-CgJIavLpOxQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByUKJNYGEd-CgJIavLpOxQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ByUxMNYGEd-CgJIavLpOxQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GTjzUCXVEeGX6PuSE-DJlQ" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4nx5IM0zEeGV96JAv8cWdw" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4nx5Ic0zEeGV96JAv8cWdw" key="StereotypeList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4nx5Is0zEeGV96JAv8cWdw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4nx5I80zEeGV96JAv8cWdw" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4nx5JM0zEeGV96JAv8cWdw" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ByUxMdYGEd-CgJIavLpOxQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_ByUxMtYGEd-CgJIavLpOxQ" type="7017">
-        <children xmi:type="notation:Shape" xmi:id="_5X2YACVqEeGXBt65HZzY7g" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_oG9wEFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tfIHkFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Port" href="corec.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_5X2YASVqEeGXBt65HZzY7g"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_60xB8CVqEeGXBt65HZzY7g" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qGsMIFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qRYZMFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="corec.uml#_rVfYoMGJEd-Mveea1W_olA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_60xB8SVqEeGXBt65HZzY7g"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_r31CwCXREeGX6PuSE-DJlQ" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rmOsQFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rxObUFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Port" href="corec.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_r31CwSXREeGX6PuSE-DJlQ"/>
-        </children>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_ByUxM9YGEd-CgJIavLpOxQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_ByUxNNYGEd-CgJIavLpOxQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByUxNdYGEd-CgJIavLpOxQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_ByUxNtYGEd-CgJIavLpOxQ" type="7018">
-        <children xmi:type="notation:Shape" xmi:id="_s9ecMCXREeGX6PuSE-DJlQ" type="3013" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:Operation" href="corec.uml#_yv198P-EEd6628OhKk_dpg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_s9ecMSXREeGX6PuSE-DJlQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_s9fDQCXREeGX6PuSE-DJlQ" type="3013" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:Operation" href="corec.uml#_JmxyMD16Ed-Bk-AHd6yyoA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_s9fDQSXREeGX6PuSE-DJlQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_s9fqUCXREeGX6PuSE-DJlQ" type="3013" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:Operation" href="corec.uml#_JqB6gD16Ed-Bk-AHd6yyoA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_s9fqUSXREeGX6PuSE-DJlQ"/>
-        </children>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_ByUxN9YGEd-CgJIavLpOxQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_ByUxONYGEd-CgJIavLpOxQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByUxOdYGEd-CgJIavLpOxQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_ByUxOtYGEd-CgJIavLpOxQ" visible="false" type="7019">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_ByUxO9YGEd-CgJIavLpOxQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_ByUxPNYGEd-CgJIavLpOxQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByUxPdYGEd-CgJIavLpOxQ"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_SiY_AP-EEd6628OhKk_dpg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByS8AdYGEd-CgJIavLpOxQ" x="99" y="108" width="190" height="145"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_D0xKENYGEd-CgJIavLpOxQ" type="2008" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D0xxINYGEd-CgJIavLpOxQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D0xxIdYGEd-CgJIavLpOxQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D0xxItYGEd-CgJIavLpOxQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D0xxI9YGEd-CgJIavLpOxQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D0xxJNYGEd-CgJIavLpOxQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D0xxJdYGEd-CgJIavLpOxQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_D0xxJtYGEd-CgJIavLpOxQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_D0xxJ9YGEd-CgJIavLpOxQ" type="7017">
-        <children xmi:type="notation:Shape" xmi:id="_OSicECXVEeGX6PuSE-DJlQ" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l2kawFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v7LTQFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Port" href="corec.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_OSicESXVEeGX6PuSE-DJlQ"/>
-        </children>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_D0xxKNYGEd-CgJIavLpOxQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_D0xxKdYGEd-CgJIavLpOxQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xxKtYGEd-CgJIavLpOxQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_D0xxK9YGEd-CgJIavLpOxQ" visible="false" type="7018">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_D0xxLNYGEd-CgJIavLpOxQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_D0xxLdYGEd-CgJIavLpOxQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xxLtYGEd-CgJIavLpOxQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_D0xxL9YGEd-CgJIavLpOxQ" visible="false" type="7019">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_D0xxMNYGEd-CgJIavLpOxQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_D0xxMdYGEd-CgJIavLpOxQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xxMtYGEd-CgJIavLpOxQ"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xKEdYGEd-CgJIavLpOxQ" x="99" y="9" width="193" height="55"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_EhiDELaaEeCj_-LEBuGpmA" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EhiqILaaEeCj_-LEBuGpmA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EhiqIbaaEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EhjRMLaaEeCj_-LEBuGpmA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EhjRMbaaEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EhjRMraaEeCj_-LEBuGpmA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EhjRM7aaEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_EhjRNLaaEeCj_-LEBuGpmA" type="5038"/>
-      <element xmi:type="uml:Comment" href="corec.uml#_hGEOAMT8Ed-zx4a_r4xAYw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EhiDEbaaEeCj_-LEBuGpmA" x="325" y="13" width="343" height="100"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_elme8PQREeCovO8AYZymZQ" type="2004" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_elnGAPQREeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_elnGAfQREeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_elntEPQREeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_elntEfQREeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_elntEvQREeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_elntE_QREeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_elntFPQREeCovO8AYZymZQ" type="5011"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_elntFfQREeCovO8AYZymZQ" visible="false" type="7006">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_elntFvQREeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_elntF_QREeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_elntGPQREeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elntGfQREeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_elntGvQREeCovO8AYZymZQ" type="7007">
-        <children xmi:type="notation:Shape" xmi:id="_f1SlMPQREeCovO8AYZymZQ" type="3007" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rsca8FjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rvvmkFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="corec.uml#_f1HmEPQREeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_f1SlMfQREeCovO8AYZymZQ"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_elntG_QREeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_elntHPQREeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_elntHfQREeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elntHvQREeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_eloUIPQREeCovO8AYZymZQ" visible="false" type="7008">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_eloUIfQREeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_eloUIvQREeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_eloUI_QREeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eloUJPQREeCovO8AYZymZQ"/>
-      </children>
-      <element xmi:type="uml:Interface" href="corec.uml#_elkpwPQREeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elme8fQREeCovO8AYZymZQ" x="459" y="201" width="208" height="82"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_S9Kp8PQWEeCovO8AYZymZQ" type="2004" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S9LRAPQWEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S9LRAfQWEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S9LRAvQWEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S9LRA_QWEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S9LRBPQWEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S9LRBfQWEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_S9LRBvQWEeCovO8AYZymZQ" type="5011"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_S9LRB_QWEeCovO8AYZymZQ" visible="false" type="7006">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_S9LRCPQWEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_S9LRCfQWEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_S9LRCvQWEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9LRC_QWEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_S9L4EPQWEeCovO8AYZymZQ" type="7007">
-        <children xmi:type="notation:Shape" xmi:id="_tK13wPQWEeCovO8AYZymZQ" type="3007" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uQYXUFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uT-d4FjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="corec.uml#_tK0poPQWEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_tK13wfQWEeCovO8AYZymZQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_FBOeEPQXEeCovO8AYZymZQ" type="3007" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:Operation" href="corec.uml#_FBMo4PQXEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FBOeEfQXEeCovO8AYZymZQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_SaK_4CUREeGXBt65HZzY7g" type="3007" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uQZlcFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uT_E8FjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="corec.uml#_f1HmEPQREeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_SaK_4SUREeGXBt65HZzY7g"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_S9L4EfQWEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_S9L4EvQWEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_S9L4E_QWEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9L4FPQWEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_S9L4FfQWEeCovO8AYZymZQ" visible="false" type="7008">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_S9L4FvQWEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_S9L4F_QWEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_S9L4GPQWEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9L4GfQWEeCovO8AYZymZQ"/>
-      </children>
-      <element xmi:type="uml:Interface" href="corec.uml#_omxU4PNAEeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9Kp8fQWEeCovO8AYZymZQ" x="459" y="324" width="451" height="91"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_DZTowCUREeGXBt65HZzY7g" type="2004" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DZUP0SUREeGXBt65HZzY7g" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DZUP0iUREeGXBt65HZzY7g" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DZU24CUREeGXBt65HZzY7g" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DZU24SUREeGXBt65HZzY7g" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DZU24iUREeGXBt65HZzY7g" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DZU24yUREeGXBt65HZzY7g" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_DZU25CUREeGXBt65HZzY7g" type="5011"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_DZU25SUREeGXBt65HZzY7g" visible="false" type="7006">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_DZU25iUREeGXBt65HZzY7g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_DZU25yUREeGXBt65HZzY7g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_DZU26CUREeGXBt65HZzY7g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZU26SUREeGXBt65HZzY7g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_DZU26iUREeGXBt65HZzY7g" type="7007">
-        <children xmi:type="notation:Shape" xmi:id="_Et42ECUREeGXBt65HZzY7g" type="3007" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rsdCAVjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rvw0sFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="corec.uml#_tK0poPQWEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_Et42ESUREeGXBt65HZzY7g" x="58" y="3"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_DZU26yUREeGXBt65HZzY7g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_DZU27CUREeGXBt65HZzY7g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_DZU27SUREeGXBt65HZzY7g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZU27iUREeGXBt65HZzY7g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_DZU27yUREeGXBt65HZzY7g" visible="false" type="7008">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_DZU28CUREeGXBt65HZzY7g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_DZU28SUREeGXBt65HZzY7g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_DZU28iUREeGXBt65HZzY7g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZU28yUREeGXBt65HZzY7g"/>
-      </children>
-      <element xmi:type="uml:Interface" href="corec.uml#_DY2VwCUREeGXBt65HZzY7g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZUP0CUREeGXBt65HZzY7g" x="702" y="201" width="208" height="79"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_5MArECXQEeGX6PuSE-DJlQ" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5MBSICXQEeGX6PuSE-DJlQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5MBSISXQEeGX6PuSE-DJlQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5MBSIiXQEeGX6PuSE-DJlQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5MB5MCXQEeGX6PuSE-DJlQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5MB5MSXQEeGX6PuSE-DJlQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5MB5MiXQEeGX6PuSE-DJlQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_5MB5MyXQEeGX6PuSE-DJlQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_5MB5NCXQEeGX6PuSE-DJlQ" visible="false" type="7017">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_5MB5NSXQEeGX6PuSE-DJlQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_5MB5NiXQEeGX6PuSE-DJlQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_5MB5NyXQEeGX6PuSE-DJlQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MB5OCXQEeGX6PuSE-DJlQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_5MCgQCXQEeGX6PuSE-DJlQ" visible="false" type="7018">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_5MCgQSXQEeGX6PuSE-DJlQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_5MCgQiXQEeGX6PuSE-DJlQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_5MCgQyXQEeGX6PuSE-DJlQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MCgRCXQEeGX6PuSE-DJlQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_5MCgRSXQEeGX6PuSE-DJlQ" visible="false" type="7019">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_5MCgRiXQEeGX6PuSE-DJlQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_5MCgRyXQEeGX6PuSE-DJlQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_5MCgSCXQEeGX6PuSE-DJlQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MCgSSXQEeGX6PuSE-DJlQ"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_5J9coCXQEeGX6PuSE-DJlQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MArESXQEeGX6PuSE-DJlQ" x="99" y="297" width="190" height="55"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_E3A5oCXREeGX6PuSE-DJlQ" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E3BgsCXREeGX6PuSE-DJlQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E3CHwCXREeGX6PuSE-DJlQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E3CHwSXREeGX6PuSE-DJlQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E3CHwiXREeGX6PuSE-DJlQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E3CHwyXREeGX6PuSE-DJlQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E3CHxCXREeGX6PuSE-DJlQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_E3CHxSXREeGX6PuSE-DJlQ" type="5038"/>
-      <element xmi:type="uml:Comment" href="corec.uml#_EuvHYCXREeGX6PuSE-DJlQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E3A5oSXREeGX6PuSE-DJlQ" x="81" y="378" width="235"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_OX-j4FaNEeKxltxu9uR4dg" type="2010" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OYQ3wFaNEeKxltxu9uR4dg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OYQ3wVaNEeKxltxu9uR4dg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OYQ3wlaNEeKxltxu9uR4dg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OYRe0FaNEeKxltxu9uR4dg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OYRe0VaNEeKxltxu9uR4dg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OYRe0laNEeKxltxu9uR4dg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OYRe01aNEeKxltxu9uR4dg" type="5035"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_OYRe1FaNEeKxltxu9uR4dg" type="7020">
-        <children xmi:type="notation:Shape" xmi:id="_RXTbwFaNEeKxltxu9uR4dg" type="3018" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_waMsEFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_waNTIFaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="60"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="corec.uml#_RW82cFaNEeKxltxu9uR4dg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_RXTbwVaNEeKxltxu9uR4dg"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_OYRe1VaNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_OYRe1laNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_OYRe11aNEeKxltxu9uR4dg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OYRe2FaNEeKxltxu9uR4dg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_OYRe2VaNEeKxltxu9uR4dg" visible="false" type="7021">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_OYRe2laNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_OYRe21aNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_OYRe3FaNEeKxltxu9uR4dg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OYRe3VaNEeKxltxu9uR4dg"/>
-      </children>
-      <element xmi:type="uml:DataType" href="corec.uml#_OU5asFaNEeKxltxu9uR4dg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OX-j4VaNEeKxltxu9uR4dg" x="702" y="9" width="208" height="64"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Y9_gUFaNEeKxltxu9uR4dg" type="2010" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y9_gUlaNEeKxltxu9uR4dg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y-AHYFaNEeKxltxu9uR4dg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y-AHYVaNEeKxltxu9uR4dg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y-AHYlaNEeKxltxu9uR4dg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y-AHY1aNEeKxltxu9uR4dg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y-AHZFaNEeKxltxu9uR4dg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Y-AHZVaNEeKxltxu9uR4dg" type="5035"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Y-AHZlaNEeKxltxu9uR4dg" type="7020">
-        <children xmi:type="notation:Shape" xmi:id="_fYzAkFaNEeKxltxu9uR4dg" type="3018" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t76EsFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uWGGUFaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="corec.uml#_fYeQcFaNEeKxltxu9uR4dg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_fYzAkVaNEeKxltxu9uR4dg"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_oUoTIFaNEeKxltxu9uR4dg" type="3018" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vVH6YFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vY61QFaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="corec.uml#_oUVYMFaNEeKxltxu9uR4dg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_oUoTIVaNEeKxltxu9uR4dg"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_xXc-gFaNEeKxltxu9uR4dg" type="3018" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1PtpgFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1fyF0FaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="corec.uml#_xXGZMFaNEeKxltxu9uR4dg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_xXc-gVaNEeKxltxu9uR4dg"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Y-AHZ1aNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_Y-AHaFaNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_Y-AHaVaNEeKxltxu9uR4dg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y-AHalaNEeKxltxu9uR4dg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Y-AHa1aNEeKxltxu9uR4dg" visible="false" type="7021">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Y-AHbFaNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_Y-AHbVaNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_Y-AHblaNEeKxltxu9uR4dg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y-AHb1aNEeKxltxu9uR4dg"/>
-      </children>
-      <element xmi:type="uml:DataType" href="corec.uml#_Y8dPQFaNEeKxltxu9uR4dg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y9_gUVaNEeKxltxu9uR4dg" x="702" y="90" width="208" height="91"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_A6ULIdYGEd-CgJIavLpOxQ"/>
-    <element xmi:type="uml:Package" href="corec.uml#_xtlE8ARAEd--t-uhRn9OBA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_D1HvYNYGEd-CgJIavLpOxQ" type="4002" source="_ByS8ANYGEd-CgJIavLpOxQ" target="_D0xKENYGEd-CgJIavLpOxQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_D1IWcNYGEd-CgJIavLpOxQ" type="6007">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_D1IWcdYGEd-CgJIavLpOxQ" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_D1HvYdYGEd-CgJIavLpOxQ" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_6bsEkARAEd--t-uhRn9OBA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D1HvYtYGEd-CgJIavLpOxQ" points="[-77, -75, 118, 115]$[-195, -190, 0, 0]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_KuwaULaaEeCj_-LEBuGpmA" type="4013" source="_EhiDELaaEeCj_-LEBuGpmA" target="_ByS8ANYGEd-CgJIavLpOxQ" routing="Rectilinear" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_KuwaUbaaEeCj_-LEBuGpmA" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KuwaUraaEeCj_-LEBuGpmA" points="[19, 44, 130, -8]$[19, 58, 130, 6]$[-95, 58, 16, 6]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KvJb4LaaEeCj_-LEBuGpmA" id="(0.017988552739165987,0.6333333333333333)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KvJb4baaEeCj_-LEBuGpmA" id="(0.917098445595855,0.2)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_ffcCQPQXEeCovO8AYZymZQ" type="4002" source="_S9Kp8PQWEeCovO8AYZymZQ" target="_elme8PQREeCovO8AYZymZQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_ffdQYPQXEeCovO8AYZymZQ" type="6007">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_ffdQYfQXEeCovO8AYZymZQ" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_ffcCQfQXEeCovO8AYZymZQ" fontName="Sans Serif"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_feaHgPQXEeCovO8AYZymZQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ffcCQvQXEeCovO8AYZymZQ" points="[-109, 14, 100, -14]$[-162, 10, 47, -18]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ffeegPQXEeCovO8AYZymZQ" id="(0.21507760532150777,0.12087912087912088)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ffeegfQXEeCovO8AYZymZQ" id="(0.507537688442211,0.95)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_GxXJsCUREeGXBt65HZzY7g" type="4002" source="_S9Kp8PQWEeCovO8AYZymZQ" target="_DZTowCUREeGXBt65HZzY7g" routing="Rectilinear" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_GxXwwCUREeGXBt65HZzY7g" type="6007">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_GxXwwSUREeGXBt65HZzY7g" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_GxXJsSUREeGXBt65HZzY7g" fontName="Sans Serif"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_GwxT0CUREeGXBt65HZzY7g"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GxXJsiUREeGXBt65HZzY7g" points="[21, -3, 1, 53]$[21, -25, 1, 31]$[17, -25, -3, 31]$[17, -47, -3, 9]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GzJSYCUREeGXBt65HZzY7g" id="(0.7228381374722838,0.03296703296703297)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GzJSYSUREeGXBt65HZzY7g" id="(0.5144230769230769,0.9620253164556962)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9vKGICXQEeGX6PuSE-DJlQ" type="4002" source="_5MArECXQEeGX6PuSE-DJlQ" target="_ByS8ANYGEd-CgJIavLpOxQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_9vKtMCXQEeGX6PuSE-DJlQ" type="6007">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9vLUQCXQEeGX6PuSE-DJlQ" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_9vKGISXQEeGX6PuSE-DJlQ" fontName="Sans Serif"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_9thucCXQEeGX6PuSE-DJlQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9vKGIiXQEeGX6PuSE-DJlQ" points="[6, -10, 0, 41]$[8, -36, 2, 15]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9wimMCXQEeGX6PuSE-DJlQ" id="(0.5210526315789473,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9wimMSXQEeGX6PuSE-DJlQ" id="(0.5077720207253886,0.98)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_jDnbICXREeGX6PuSE-DJlQ" type="4013" source="_E3A5oCXREeGX6PuSE-DJlQ" target="_5MArECXQEeGX6PuSE-DJlQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_jDnbISXREeGX6PuSE-DJlQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jDnbIiXREeGX6PuSE-DJlQ" points="[-18, 13, 101, -76]$[-107, 85, 12, -4]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jFAiQCXREeGX6PuSE-DJlQ" id="(0.4595744680851064,0.2)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jFBJUCXREeGX6PuSE-DJlQ" id="(0.49473684210526314,0.8536585365853658)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_glyeMK8qEeCXIcykFPsB8Q" type="PapyrusUMLClassDiagram" name="Pkg. Template: methodCall_comp" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_iLyysK8qEeCXIcykFPsB8Q" type="2007" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iL0A0K8qEeCXIcykFPsB8Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iL0n4K8qEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iL0n4a8qEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iL0n4q8qEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iL1O8K8qEeCXIcykFPsB8Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iL1O8a8qEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_iL1O8q8qEeCXIcykFPsB8Q" type="5026"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_iL1O868qEeCXIcykFPsB8Q" type="7016">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iL1O9K8qEeCXIcykFPsB8Q"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_jkrRMK8qEeCXIcykFPsB8Q" type="3033" fontName="Sans Serif" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jkr4QK8qEeCXIcykFPsB8Q" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jkr4Qa8qEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jkr4Qq8qEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jkr4Q68qEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jkr4RK8qEeCXIcykFPsB8Q" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jkr4Ra8qEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_jksfUK8qEeCXIcykFPsB8Q" type="7038">
-          <children xmi:type="notation:Shape" xmi:id="_kvgFkK8qEeCXIcykFPsB8Q" type="3031" fontName="Sans Serif" lineColor="0">
-            <element xmi:type="uml:ClassifierTemplateParameter" href="corec.uml#_QBCTAOxJEd-2rr_yAeKkjQ"/>
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_kvgFka8qEeCXIcykFPsB8Q" x="22" y="8"/>
-          </children>
-          <styles xmi:type="notation:SortingStyle" xmi:id="_jksfUa8qEeCXIcykFPsB8Q"/>
-          <styles xmi:type="notation:FilteringStyle" xmi:id="_jksfUq8qEeCXIcykFPsB8Q"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jksfU68qEeCXIcykFPsB8Q"/>
-        </children>
-        <element xmi:type="uml:TemplateSignature" href="corec.uml#_ewC6kOxIEd-2rr_yAeKkjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jkrRMa8qEeCXIcykFPsB8Q" x="30" y="8"/>
-      </children>
-      <element xmi:type="uml:Package" href="corec.uml#_RPCMoOxIEd-2rr_yAeKkjQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iLyysa8qEeCXIcykFPsB8Q" x="90" y="243"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_q3ohcK8qEeCXIcykFPsB8Q" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q3pIgK8qEeCXIcykFPsB8Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q3pvkK8qEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q3pvka8qEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q3pvkq8qEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q3pvk68qEeCXIcykFPsB8Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q3pvlK8qEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_q3pvla8qEeCXIcykFPsB8Q" type="5038"/>
-      <element xmi:type="uml:Comment" href="corec.uml#_q1w5MK8qEeCXIcykFPsB8Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q3ohca8qEeCXIcykFPsB8Q" x="261" y="108" width="253"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_glyeMa8qEeCXIcykFPsB8Q"/>
-    <element xmi:type="uml:Package" href="corec.uml#_RPCMoOxIEd-2rr_yAeKkjQ"/>
-    <edges xmi:type="notation:Connector" xmi:id="_xP-jkK8qEeCXIcykFPsB8Q" type="4013" source="_q3ohcK8qEeCXIcykFPsB8Q" target="_iLyysK8qEeCXIcykFPsB8Q" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_xP-jka8qEeCXIcykFPsB8Q" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xP-jkq8qEeCXIcykFPsB8Q" points="[-40, 30, 181, -116]$[-121, 140, 100, -6]"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_DtdykK8rEeCXIcykFPsB8Q" type="PapyrusUMLClassDiagram" name="Pkg. Template: methodCall" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_NLTmAK8rEeCXIcykFPsB8Q" type="2007" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NLUNEK8rEeCXIcykFPsB8Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NLUNEa8rEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NLUNEq8rEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NLUNE68rEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NLUNFK8rEeCXIcykFPsB8Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NLUNFa8rEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_NLUNFq8rEeCXIcykFPsB8Q" type="5026"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_NLUNF68rEeCXIcykFPsB8Q" type="7016">
-        <children xmi:type="notation:Shape" xmi:id="_TmKUIK8sEeCXIcykFPsB8Q" type="3009" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TmK7MK8sEeCXIcykFPsB8Q" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TmK7Ma8sEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TmK7Mq8sEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TmLiQK8sEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TmLiQa8sEeCXIcykFPsB8Q" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TmLiQq8sEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_TmLiQ68sEeCXIcykFPsB8Q" type="5017"/>
-          <children xmi:type="notation:DecorationNode" xmi:id="_TmLiRK8sEeCXIcykFPsB8Q" type="7010">
-            <children xmi:type="notation:Shape" xmi:id="_V93yYK8sEeCXIcykFPsB8Q" type="3010" fontName="Sans Serif" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V95AgK8sEeCXIcykFPsB8Q" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V95Aga8sEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V95Agq8sEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V95Ag68sEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V95AhK8sEeCXIcykFPsB8Q" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V95Aha8sEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_V95Ahq8sEeCXIcykFPsB8Q" type="5014"/>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_V95nkK8sEeCXIcykFPsB8Q" visible="false" type="7011">
-                <styles xmi:type="notation:SortingStyle" xmi:id="_V95nka8sEeCXIcykFPsB8Q"/>
-                <styles xmi:type="notation:FilteringStyle" xmi:id="_V95nkq8sEeCXIcykFPsB8Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V95nk68sEeCXIcykFPsB8Q"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_V95nlK8sEeCXIcykFPsB8Q" visible="false" type="7012">
-                <styles xmi:type="notation:SortingStyle" xmi:id="_V95nla8sEeCXIcykFPsB8Q"/>
-                <styles xmi:type="notation:FilteringStyle" xmi:id="_V95nlq8sEeCXIcykFPsB8Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V95nl68sEeCXIcykFPsB8Q"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_V95nmK8sEeCXIcykFPsB8Q" visible="false" type="7013">
-                <styles xmi:type="notation:SortingStyle" xmi:id="_V95nma8sEeCXIcykFPsB8Q"/>
-                <styles xmi:type="notation:FilteringStyle" xmi:id="_V95nmq8sEeCXIcykFPsB8Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V95nm68sEeCXIcykFPsB8Q"/>
-              </children>
-              <element xmi:type="uml:Class" href="corec.uml#_KxQBELuXEd2TTr3gJIvazw"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V94ZcK8sEeCXIcykFPsB8Q" x="16" y="10" height="43"/>
-            </children>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TmLiRa8sEeCXIcykFPsB8Q"/>
-          </children>
-          <element xmi:type="uml:Package" href="corec.uml#_ZISNcIQzEd2_fLv04swWfw"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TmKUIa8sEeCXIcykFPsB8Q" x="13" y="28" width="190"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_UgOIoK8sEeCXIcykFPsB8Q" type="3009" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UgOvsK8sEeCXIcykFPsB8Q" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UgOvsa8sEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UgOvsq8sEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UgOvs68sEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UgOvtK8sEeCXIcykFPsB8Q" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UgOvta8sEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_UgOvtq8sEeCXIcykFPsB8Q" type="5017"/>
-          <children xmi:type="notation:DecorationNode" xmi:id="_UgOvt68sEeCXIcykFPsB8Q" type="7010">
-            <children xmi:type="notation:Shape" xmi:id="_bgjX0K8sEeCXIcykFPsB8Q" type="3010" fontName="Sans Serif" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bgj-4K8sEeCXIcykFPsB8Q" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bgj-4a8sEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bgj-4q8sEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bgj-468sEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bgkl8K8sEeCXIcykFPsB8Q" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bgkl8a8sEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_bgkl8q8sEeCXIcykFPsB8Q" type="5014"/>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_bgkl868sEeCXIcykFPsB8Q" visible="false" type="7011">
-                <styles xmi:type="notation:SortingStyle" xmi:id="_bgkl9K8sEeCXIcykFPsB8Q"/>
-                <styles xmi:type="notation:FilteringStyle" xmi:id="_bgkl9a8sEeCXIcykFPsB8Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgkl9q8sEeCXIcykFPsB8Q"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_bgkl968sEeCXIcykFPsB8Q" visible="false" type="7012">
-                <styles xmi:type="notation:SortingStyle" xmi:id="_bgkl-K8sEeCXIcykFPsB8Q"/>
-                <styles xmi:type="notation:FilteringStyle" xmi:id="_bgkl-a8sEeCXIcykFPsB8Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgkl-q8sEeCXIcykFPsB8Q"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_bgkl-68sEeCXIcykFPsB8Q" visible="false" type="7013">
-                <styles xmi:type="notation:SortingStyle" xmi:id="_bgkl_K8sEeCXIcykFPsB8Q"/>
-                <styles xmi:type="notation:FilteringStyle" xmi:id="_bgkl_a8sEeCXIcykFPsB8Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgkl_q8sEeCXIcykFPsB8Q"/>
-              </children>
-              <element xmi:type="uml:Class" href="corec.uml#_Zx2ZUA1jEd6tvthBDl600Q"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgjX0a8sEeCXIcykFPsB8Q" x="15" y="7" height="51"/>
-            </children>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UgOvuK8sEeCXIcykFPsB8Q" x="48" y="4" width="200" height="80"/>
-          </children>
-          <element xmi:type="uml:Package" href="corec.uml#_RjvvcA1jEd6tvthBDl600Q"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UgOIoa8sEeCXIcykFPsB8Q" x="229" y="28" width="190"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NLUNGK8rEeCXIcykFPsB8Q"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_q9rCkK8rEeCXIcykFPsB8Q" type="3033" fontName="Sans Serif" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q9rpoK8rEeCXIcykFPsB8Q" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q9sQsK8rEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q9sQsa8rEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q9sQsq8rEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q9sQs68rEeCXIcykFPsB8Q" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q9sQtK8rEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_q9sQta8rEeCXIcykFPsB8Q" type="7038">
-          <children xmi:type="notation:Shape" xmi:id="_ryntkK8rEeCXIcykFPsB8Q" type="3031" fontName="Sans Serif" lineColor="0">
-            <element xmi:type="uml:ClassifierTemplateParameter" href="corec.uml#_WzWVUPfBEd2TbIfwytOyPA"/>
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_ryntka8rEeCXIcykFPsB8Q" x="15" y="10"/>
-          </children>
-          <styles xmi:type="notation:SortingStyle" xmi:id="_q9sQtq8rEeCXIcykFPsB8Q"/>
-          <styles xmi:type="notation:FilteringStyle" xmi:id="_q9sQt68rEeCXIcykFPsB8Q"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q9sQuK8rEeCXIcykFPsB8Q"/>
-        </children>
-        <element xmi:type="uml:TemplateSignature" href="corec.uml#_V0b2APfBEd2TbIfwytOyPA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q9rCka8rEeCXIcykFPsB8Q" x="40" y="10"/>
-      </children>
-      <element xmi:type="uml:Package" href="corec.uml#_mMCK8PiPEd2UhpY2Y3WUyg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NLTmAa8rEeCXIcykFPsB8Q" x="90" y="108" width="451" height="181"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Wi948K8rEeCXIcykFPsB8Q" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wi948q8rEeCXIcykFPsB8Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wi-gAK8rEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wi-gAa8rEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wi-gAq8rEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wi-gA68rEeCXIcykFPsB8Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wi-gBK8rEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Wi-gBa8rEeCXIcykFPsB8Q" type="5038"/>
-      <element xmi:type="uml:Comment" href="corec.uml#_WiuBUK8rEeCXIcykFPsB8Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wi948a8rEeCXIcykFPsB8Q" x="594" y="180" width="253"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_Dtdyka8rEeCXIcykFPsB8Q"/>
-    <element xmi:type="uml:Package" href="corec.uml#_mMCK8PiPEd2UhpY2Y3WUyg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_Xu0BAK8rEeCXIcykFPsB8Q" type="4013" source="_Wi948K8rEeCXIcykFPsB8Q" target="_NLTmAK8rEeCXIcykFPsB8Q" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_Xu0BAa8rEeCXIcykFPsB8Q" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xu0BAq8rEeCXIcykFPsB8Q" points="[-50, 10, 224, -38]$[-174, 51, 100, 3]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tBbDAK8rEeCXIcykFPsB8Q" id="(0.755,0.72)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_PIvc4LabEeCj_-LEBuGpmA" type="CompositeStructure" name="StdPorts" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_PlQZwLabEeCj_-LEBuGpmA" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PlRA0LabEeCj_-LEBuGpmA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PlRA0babEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PlRn4LabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PlRn4babEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PlRn4rabEeCj_-LEBuGpmA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PlRn47abEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_PlSO8LabEeCj_-LEBuGpmA" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_PlSO8babEeCj_-LEBuGpmA" type="7073">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PlSO8rabEeCj_-LEBuGpmA"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_UfT48LabEeCj_-LEBuGpmA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UfUgALabEeCj_-LEBuGpmA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UfUgAbabEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UfUgArabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UfUgA7abEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UfVHELabEeCj_-LEBuGpmA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UfVHEbabEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8J5rUDrTEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8gAeMDrTEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8gAeMTrTEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8gAeMjrTEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8gAeMzrTEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8gAeNDrTEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_UfVHErabEeCj_-LEBuGpmA" type="5125">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_UfVHE7abEeCj_-LEBuGpmA" x="-116" y="-4"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_UfVHFLabEeCj_-LEBuGpmA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_UfVHFbabEeCj_-LEBuGpmA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UfT48babEeCj_-LEBuGpmA" x="-10" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PlQZwbabEeCj_-LEBuGpmA" x="144" y="72" width="163" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_QHPsgLabEeCj_-LEBuGpmA" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QHQTkLabEeCj_-LEBuGpmA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QHQTkbabEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QHQ6oLabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QHQ6obabEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QHQ6orabEeCj_-LEBuGpmA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QHQ6o7abEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_QHQ6pLabEeCj_-LEBuGpmA" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_QHRhsLabEeCj_-LEBuGpmA" type="7073">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QHRhsbabEeCj_-LEBuGpmA"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_atcPILabEeCj_-LEBuGpmA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_atc2MLabEeCj_-LEBuGpmA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_atc2MbabEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_atc2MrabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_atc2M7abEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_atc2NLabEeCj_-LEBuGpmA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_atc2NbabEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9T6nYDrTEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9l5IMDrTEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9l5vQDrTEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9l5vQTrTEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9l5vQjrTEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9l6WUDrTEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_atc2NrabEeCj_-LEBuGpmA" type="5125">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_atc2N7abEeCj_-LEBuGpmA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_atddQLabEeCj_-LEBuGpmA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_atddQbabEeCj_-LEBuGpmA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_atcPIbabEeCj_-LEBuGpmA" x="-10" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QHPsgbabEeCj_-LEBuGpmA" x="144" y="180" width="163" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_SOUtwLabEeCj_-LEBuGpmA" type="2109" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SOVU0LabEeCj_-LEBuGpmA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SOVU0babEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SOV74LabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SOV74babEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SOV74rabEeCj_-LEBuGpmA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SOV747abEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_SOV75LabEeCj_-LEBuGpmA" type="5192"/>
-      <element xmi:type="uml:Comment" href="corec.uml#_OcN78Nt2Ed6nqsBVkgJEEA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SOUtwbabEeCj_-LEBuGpmA" x="378" y="72" width="235"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_PIvc4babEeCj_-LEBuGpmA"/>
-    <element xmi:type="uml:Package" href="corec.uml#_HmnpEJsrEd61Eo3nmu3JhQ"/>
-    <edges xmi:type="notation:Connector" xmi:id="_SOtIQLabEeCj_-LEBuGpmA" type="4002" source="_SOUtwLabEeCj_-LEBuGpmA" target="_PlQZwLabEeCj_-LEBuGpmA" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_SOtvULabEeCj_-LEBuGpmA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SOtvUbabEeCj_-LEBuGpmA" points="[0, 0, -129, -109]$[108, 90, -21, -19]"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_0IaT8LnYEeCxXoyQxQ47PQ" type="PapyrusUMLClassDiagram" name="PortKinds" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_09vZcLnYEeCxXoyQxQ47PQ" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_09wAgLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_09wAgbnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_09wAgrnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_09wAg7nYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_09wAhLnYEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_09wAhbnYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fi4z8DrUEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RtrcIELzEeGoAtSeIK7WLg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RtrcIULzEeGoAtSeIK7WLg" key="StereotypeList" value="FCM::PortKind"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RtrcIkLzEeGoAtSeIK7WLg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RtrcI0LzEeGoAtSeIK7WLg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RtrcJELzEeGoAtSeIK7WLg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_09wAhrnYEeCxXoyQxQ47PQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_09wAh7nYEeCxXoyQxQ47PQ" visible="false" type="7017">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_09wnkLnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_09wnkbnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_09wnkrnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_09wnk7nYEeCxXoyQxQ47PQ" visible="false" type="7018">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_09wnlLnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_09wnlbnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_09wnlrnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_09wnl7nYEeCxXoyQxQ47PQ" visible="false" type="7019">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_09wnmLnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_09wnmbnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_09wnmrnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="corec.uml#_Wtq4sFDlEd6cwecVIgl9nw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_09vZcbnYEeCxXoyQxQ47PQ" x="54" y="28" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_0-EJkLnYEeCxXoyQxQ47PQ" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-EwoLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-EwobnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-EwornYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-Ewo7nYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-EwpLnYEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-EwpbnYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_agfdADrZEeGgAdAmWw4pyQ" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TPVcIELzEeGoAtSeIK7WLg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TPWDMELzEeGoAtSeIK7WLg" key="StereotypeList" value="FCM::PortKind"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TPWDMULzEeGoAtSeIK7WLg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TPWDMkLzEeGoAtSeIK7WLg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TPWDM0LzEeGoAtSeIK7WLg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0-EwprnYEeCxXoyQxQ47PQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-Ewp7nYEeCxXoyQxQ47PQ" visible="false" type="7017">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-EwqLnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-EwqbnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-EwqrnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-Ewq7nYEeCxXoyQxQ47PQ" visible="false" type="7018">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-EwrLnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-EwrbnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-EwrrnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-FXsLnYEeCxXoyQxQ47PQ" visible="false" type="7019">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-FXsbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-FXsrnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-FXs7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="corec.uml#_Wtq4sVDlEd6cwecVIgl9nw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-EJkbnYEeCxXoyQxQ47PQ" x="54" y="351" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_0-XrkLnYEeCxXoyQxQ47PQ" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-XrkrnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-Xrk7nYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-XrlLnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-YSoLnYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-YSobnYEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-YSornYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XkzH8DrZEeGgAdAmWw4pyQ" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_14Z-YELyEeGoAtSeIK7WLg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_14Z-YULyEeGoAtSeIK7WLg" key="StereotypeList" value="FCM::PortKind"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_14Z-YkLyEeGoAtSeIK7WLg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_14Z-Y0LyEeGoAtSeIK7WLg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_14Z-ZELyEeGoAtSeIK7WLg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0-YSo7nYEeCxXoyQxQ47PQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-YSpLnYEeCxXoyQxQ47PQ" visible="false" type="7017">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-YSpbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-YSprnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-YSp7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-YSqLnYEeCxXoyQxQ47PQ" visible="false" type="7018">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-YSqbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-YSqrnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-YSq7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-YSrLnYEeCxXoyQxQ47PQ" visible="false" type="7019">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-YSrbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-YSrrnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-YSr7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="corec.uml#_Wtq4slDlEd6cwecVIgl9nw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-XrkbnYEeCxXoyQxQ47PQ" x="54" y="297" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_0-rNkLnYEeCxXoyQxQ47PQ" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-r0oLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-r0obnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-sbsLnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-sbsbnYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vy3QQDrZEeGgAdAmWw4pyQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vy3QQTrZEeGgAdAmWw4pyQ" key="QualifiedNameDepth" value="2"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WQzJcDrZEeGgAdAmWw4pyQ" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3ew4MELyEeGoAtSeIK7WLg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3ew4MULyEeGoAtSeIK7WLg" key="StereotypeList" value="FCM::PortKind"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3ew4MkLyEeGoAtSeIK7WLg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3exfQELyEeGoAtSeIK7WLg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3exfQULyEeGoAtSeIK7WLg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0-sbtLnYEeCxXoyQxQ47PQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-sbtbnYEeCxXoyQxQ47PQ" visible="false" type="7017">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-sbtrnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-sbt7nYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-sbuLnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-sbubnYEeCxXoyQxQ47PQ" visible="false" type="7018">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-sburnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-sbu7nYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-sbvLnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-sbvbnYEeCxXoyQxQ47PQ" visible="false" type="7019">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-sbvrnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-sbv7nYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-sbwLnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="corec.uml#_WtrfwlDlEd6cwecVIgl9nw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-rNkbnYEeCxXoyQxQ47PQ" x="54" y="243" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_0-9hcLnYEeCxXoyQxQ47PQ" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-9hcrnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-9hc7nYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0--IgLnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0--IgbnYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0--IgrnYEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0--Ig7nYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qp1g8DrZEeGgAdAmWw4pyQ" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RBtG8ELzEeGoAtSeIK7WLg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RBtuAELzEeGoAtSeIK7WLg" key="StereotypeList" value="FCM::PortKind"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RBtuAULzEeGoAtSeIK7WLg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RBtuAkLzEeGoAtSeIK7WLg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RBtuA0LzEeGoAtSeIK7WLg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0--IhLnYEeCxXoyQxQ47PQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0--IhbnYEeCxXoyQxQ47PQ" visible="false" type="7017">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0--IhrnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0--Ih7nYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0--IiLnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0--IibnYEeCxXoyQxQ47PQ" visible="false" type="7018">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0--IirnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0--Ii7nYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0--IjLnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0--IjbnYEeCxXoyQxQ47PQ" visible="false" type="7019">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0--IjrnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0--Ij7nYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0--IkLnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="corec.uml#_Wtrfw1DlEd6cwecVIgl9nw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-9hcbnYEeCxXoyQxQ47PQ" x="54" y="81" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_0_OnMLnYEeCxXoyQxQ47PQ" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_POQLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_POQbnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_POQrnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_POQ7nYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_PORLnYEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_PORbnYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SXn4cDrZEeGgAdAmWw4pyQ" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Nq_p0ELzEeGoAtSeIK7WLg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Nq_p0ULzEeGoAtSeIK7WLg" key="StereotypeList" value="FCM::PortKind"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Nq_p0kLzEeGoAtSeIK7WLg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NrAQ4ELzEeGoAtSeIK7WLg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NrAQ4ULzEeGoAtSeIK7WLg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0_PORrnYEeCxXoyQxQ47PQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0_POR7nYEeCxXoyQxQ47PQ" visible="false" type="7017">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0_POSLnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0_POSbnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_POSrnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0_P1ULnYEeCxXoyQxQ47PQ" visible="false" type="7018">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0_P1UbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0_P1UrnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_P1U7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0_P1VLnYEeCxXoyQxQ47PQ" visible="false" type="7019">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0_P1VbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0_P1VrnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_P1V7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="corec.uml#__nMrwLqNEd-SedGzMDDkww"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_OnMbnYEeCxXoyQxQ47PQ" x="54" y="135" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_0_j-YLnYEeCxXoyQxQ47PQ" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_klcLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_klcbnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_lMgLnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_lMgbnYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_lMgrnYEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_lMg7nYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Uc_pgDrZEeGgAdAmWw4pyQ" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TA9QMENnEeGoAtSeIK7WLg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TA9QMUNnEeGoAtSeIK7WLg" key="StereotypeList" value="FCM::PortKind"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TA9QMkNnEeGoAtSeIK7WLg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TA9QM0NnEeGoAtSeIK7WLg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TA93QENnEeGoAtSeIK7WLg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0_lMhLnYEeCxXoyQxQ47PQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0_lMhbnYEeCxXoyQxQ47PQ" visible="false" type="7017">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0_lMhrnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0_lMh7nYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_lMiLnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0_lzkLnYEeCxXoyQxQ47PQ" visible="false" type="7018">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0_lzkbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0_lzkrnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_lzk7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0_lzlLnYEeCxXoyQxQ47PQ" visible="false" type="7019">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0_lzlbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0_lzlrnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_lzl7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="corec.uml#_AQZZwLqOEd-SedGzMDDkww"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_j-YbnYEeCxXoyQxQ47PQ" x="54" y="189" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Fw1jMLnZEeCxXoyQxQ47PQ" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fw3YYLnZEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fw3YYbnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fw3YYrnZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fw3YY7nZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fw3YZLnZEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fw3YZbnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Fw3YZrnZEeCxXoyQxQ47PQ" type="5038"/>
-      <element xmi:type="uml:Comment" href="corec.uml#_FryEELnZEeCxXoyQxQ47PQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Fw1jMbnZEeCxXoyQxQ47PQ" x="252" y="24" width="469" height="40"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_K19p8LnZEeCxXoyQxQ47PQ" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K1-RALnZEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K1-RAbnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K1-RArnZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K1-4ELnZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K1-4EbnZEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K1-4ErnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_K1-4E7nZEeCxXoyQxQ47PQ" type="5038"/>
-      <element xmi:type="uml:Comment" href="corec.uml#_K17NsLnZEeCxXoyQxQ47PQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_K19p8bnZEeCxXoyQxQ47PQ" x="252" y="83" width="469" height="35"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Px1uELnZEeCxXoyQxQ47PQ" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Px2VILnZEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Px2VIbnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Px2VIrnZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Px28MLnZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Px28MbnZEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Px28MrnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Px28M7nZEeCxXoyQxQ47PQ" type="5038"/>
-      <element xmi:type="uml:Comment" href="corec.uml#_PxzR0LnZEeCxXoyQxQ47PQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Px1uEbnZEeCxXoyQxQ47PQ" x="252" y="136" width="469" height="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_l4_LYLnZEeCxXoyQxQ47PQ" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l4_LYbnZEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l4_LYrnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l4_LY7nZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l4_LZLnZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l4_LZbnZEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l4_LZrnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_l4_LZ7nZEeCxXoyQxQ47PQ" type="5038"/>
-      <element xmi:type="uml:Comment" href="corec.uml#_l49WMLnZEeCxXoyQxQ47PQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l4_LaLnZEeCxXoyQxQ47PQ" x="252" y="189" width="469" height="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_2dxzYLnZEeCxXoyQxQ47PQ" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2dyacLnZEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2dyacbnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2dyacrnZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2dyac7nZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2dyadLnZEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2dyadbnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_2dzBgLnZEeCxXoyQxQ47PQ" type="5038"/>
-      <element xmi:type="uml:Comment" href="corec.uml#_2dvXILnZEeCxXoyQxQ47PQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2dxzYbnZEeCxXoyQxQ47PQ" x="253" y="297" width="468" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_FMviMLnaEeCxXoyQxQ47PQ" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FMviMbnaEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FMviMrnaEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FMviM7naEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FMviNLnaEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FMviNbnaEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FMviNrnaEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_FMviN7naEeCxXoyQxQ47PQ" type="5038"/>
-      <element xmi:type="uml:Comment" href="corec.uml#_FMuUELnaEeCxXoyQxQ47PQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FMviOLnaEeCxXoyQxQ47PQ" x="252" y="243" width="468" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Ggu5oLnaEeCxXoyQxQ47PQ" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ggu5obnaEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ggu5ornaEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ggu5o7naEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ggu5pLnaEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ggu5pbnaEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ggu5prnaEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Ggu5p7naEeCxXoyQxQ47PQ" type="5038"/>
-      <element xmi:type="uml:Comment" href="corec.uml#_GgtrgLnaEeCxXoyQxQ47PQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ggu5qLnaEeCxXoyQxQ47PQ" x="252" y="351" width="468" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_-bqrQDiyEeGiupyIkgMHVw" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-bsgcDiyEeGiupyIkgMHVw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-bsgcTiyEeGiupyIkgMHVw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-bsgcjiyEeGiupyIkgMHVw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-bsgcziyEeGiupyIkgMHVw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-bsgdDiyEeGiupyIkgMHVw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-bsgdTiyEeGiupyIkgMHVw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_-btHgDiyEeGiupyIkgMHVw" type="5038"/>
-      <element xmi:type="uml:Comment" href="corec.uml#_-UGDoDiyEeGiupyIkgMHVw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-bqrQTiyEeGiupyIkgMHVw" x="18" y="459" width="595" height="28"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_GkKYAC8qEeKx7OxAiA06uw" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GkM0QC8qEeKx7OxAiA06uw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GkM0QS8qEeKx7OxAiA06uw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GkNbUC8qEeKx7OxAiA06uw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GkNbUS8qEeKx7OxAiA06uw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GkNbUi8qEeKx7OxAiA06uw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GkNbUy8qEeKx7OxAiA06uw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_St0RcC8qEeKx7OxAiA06uw" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__1wMYEMLEeKGIL695HkFYQ" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__1wMYUMLEeKGIL695HkFYQ" key="StereotypeList" value="FCM::PortKind"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__1wMYkMLEeKGIL695HkFYQ" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__1wMY0MLEeKGIL695HkFYQ" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__1wMZEMLEeKGIL695HkFYQ" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_GkNbVC8qEeKx7OxAiA06uw" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_GkOCYC8qEeKx7OxAiA06uw" visible="false" type="7017">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_GkOCYS8qEeKx7OxAiA06uw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_GkOCYi8qEeKx7OxAiA06uw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_GkOCYy8qEeKx7OxAiA06uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkOCZC8qEeKx7OxAiA06uw"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_GkOCZS8qEeKx7OxAiA06uw" visible="false" type="7018">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_GkOCZi8qEeKx7OxAiA06uw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_GkOCZy8qEeKx7OxAiA06uw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_GkOCaC8qEeKx7OxAiA06uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkOCaS8qEeKx7OxAiA06uw"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_GkOCai8qEeKx7OxAiA06uw" visible="false" type="7019">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_GkOCay8qEeKx7OxAiA06uw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_GkOCbC8qEeKx7OxAiA06uw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_GkOCbS8qEeKx7OxAiA06uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkOCbi8qEeKx7OxAiA06uw"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="corec.uml#_GjnlcC8qEeKx7OxAiA06uw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkK_EC8qEeKx7OxAiA06uw" x="54" y="405" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_CQkpAEMMEeKGIL695HkFYQ" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CQoTYEMMEeKGIL695HkFYQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CQo6cEMMEeKGIL695HkFYQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CQo6cUMMEeKGIL695HkFYQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CQo6ckMMEeKGIL695HkFYQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CQo6c0MMEeKGIL695HkFYQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CQphgEMMEeKGIL695HkFYQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_CQphgUMMEeKGIL695HkFYQ" type="5038"/>
-      <element xmi:type="uml:Comment" href="corec.uml#_COvdAEMMEeKGIL695HkFYQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CQkpAUMMEeKGIL695HkFYQ" x="252" y="405" width="469" height="37"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_0IaT8bnYEeCxXoyQxQ47PQ"/>
-    <element xmi:type="uml:Package" href="corec.uml#_QwvnQFDlEd6cwecVIgl9nw"/>
-    <edges xmi:type="notation:Connector" xmi:id="_jEPL0LnZEeCxXoyQxQ47PQ" type="4013" source="_Fw1jMLnZEeCxXoyQxQ47PQ" target="_09vZcLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_jEPy4LnZEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jEPy4bnZEeCxXoyQxQ47PQ" points="[-4, 1, 86, 0]$[-87, 0, 3, -1]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jES2MLnZEeCxXoyQxQ47PQ" id="(0.012084592145015106,0.525)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jES2MbnZEeCxXoyQxQ47PQ" id="(0.9724770642201835,0.4864864864864865)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_ju3dMLnZEeCxXoyQxQ47PQ" type="4013" source="_K19p8LnZEeCxXoyQxQ47PQ" target="_0-9hcLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_ju3dMbnZEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ju3dMrnZEeCxXoyQxQ47PQ" points="[-5, 0, 137, 2]$[-87, 0, 55, 2]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ju7uoLnZEeCxXoyQxQ47PQ" id="(0.015060240963855422,0.5142857142857142)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_kSsjALnZEeCxXoyQxQ47PQ" type="4013" source="_Px1uELnZEeCxXoyQxQ47PQ" target="_0_OnMLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_kSsjAbnZEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kSsjArnZEeCxXoyQxQ47PQ" points="[-13, 6, 136, 5]$[-94, 6, 55, 5]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kSyCkLnZEeCxXoyQxQ47PQ" id="(0.03903903903903904,0.42105263157894735)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_pgZ-ALnZEeCxXoyQxQ47PQ" type="4013" source="_l4_LYLnZEeCxXoyQxQ47PQ" target="_0_j-YLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_pgZ-AbnZEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pgZ-ArnZEeCxXoyQxQ47PQ" points="[-4, 2, 106, 0]$[-93, 1, 17, -1]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pge2gLnZEeCxXoyQxQ47PQ" id="(0.012012012012012012,0.39473684210526316)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pge2gbnZEeCxXoyQxQ47PQ" id="(0.8440366972477065,0.4594594594594595)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_MhrIYLnaEeCxXoyQxQ47PQ" type="4013" source="_2dxzYLnZEeCxXoyQxQ47PQ" target="_0-XrkLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_MhrIYbnaEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MhrIYrnaEeCxXoyQxQ47PQ" points="[-9, -1, 113, 0]$[-99, -1, 23, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MhuywLnaEeCxXoyQxQ47PQ" id="(0.00641025641025641,0.5405405405405406)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MhuywbnaEeCxXoyQxQ47PQ" id="(0.963302752293578,0.5135135135135135)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_NJn5MLnaEeCxXoyQxQ47PQ" type="4013" source="_FMviMLnaEeCxXoyQxQ47PQ" target="_0-rNkLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_NJn5MbnaEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NJn5MrnaEeCxXoyQxQ47PQ" points="[-20, -1, 144, 5]$[-109, -1, 55, 5]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NJq8gLnaEeCxXoyQxQ47PQ" id="(0.042735042735042736,0.47058823529411764)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_NplLoLnaEeCxXoyQxQ47PQ" type="4013" source="_Ggu5oLnaEeCxXoyQxQ47PQ" target="_0-EJkLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_NplLobnaEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NplLornaEeCxXoyQxQ47PQ" points="[-7, -6, 106, 0]$[-96, -7, 17, -1]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NppdELnaEeCxXoyQxQ47PQ" id="(0.014957264957264958,0.45098039215686275)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NppdEbnaEeCxXoyQxQ47PQ" id="(0.8440366972477065,0.4594594594594595)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_McYVsEMMEeKGIL695HkFYQ" type="4013" source="_CQkpAEMMEeKGIL695HkFYQ" target="_GkKYAC8qEeKx7OxAiA06uw" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_McYVsUMMEeKGIL695HkFYQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_McYVskMMEeKGIL695HkFYQ" points="[-3, 0, 115, 0]$[-92, 0, 26, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mcj74EMMEeKGIL695HkFYQ" id="(0.006396588486140725,0.35714285714285715)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mcj74UMMEeKGIL695HkFYQ" id="(0.7614678899082569,0.5135135135135135)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_SstwYPEnEeCIafpoJVk7CQ" type="CompositeStructure" name="ContainerRules" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_V3-LcPEnEeCIafpoJVk7CQ" type="2073" fontName="Arial" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4AnsPEnEeCIafpoJVk7CQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4AnsfEnEeCIafpoJVk7CQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4AnsvEnEeCIafpoJVk7CQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4Ans_EnEeCIafpoJVk7CQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4BOwPEnEeCIafpoJVk7CQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4BOwfEnEeCIafpoJVk7CQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HPEWAPQUEeCovO8AYZymZQ" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPEWAfQUEeCovO8AYZymZQ" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPE9EPQUEeCovO8AYZymZQ" key="StereotypeList" value="FCM::ContainerRule"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPE9EfQUEeCovO8AYZymZQ" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPE9EvQUEeCovO8AYZymZQ" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPE9E_QUEeCovO8AYZymZQ" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_V4BOwvEnEeCIafpoJVk7CQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_V4BOw_EnEeCIafpoJVk7CQ" type="7073">
-        <children xmi:type="notation:Shape" xmi:id="_mxqE4PTWEeCn1-FCrfecFg" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mxrTAPTWEeCn1-FCrfecFg" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mxr6EPTWEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mxr6EfTWEeCn1-FCrfecFg" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mxr6EvTWEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mxr6E_TWEeCn1-FCrfecFg" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mxr6FPTWEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qmq1AAJzEeG0Lb1KYG16fA" source="Stereotype_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcEAJzEeG0Lb1KYG16fA" key="StereotypeWithQualifiedNameList" value=""/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcEQJzEeG0Lb1KYG16fA" key="StereotypeList" value="FCM::InterceptionRule"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcEgJzEeG0Lb1KYG16fA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcEwJzEeG0Lb1KYG16fA" key="PropStereoDisplay" value=""/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcFAJzEeG0Lb1KYG16fA" key="StereotypePropertyLocation" value="Compartment"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_mxr6FfTWEeCn1-FCrfecFg" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RtvSsFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RzCCYFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_mxshIPTWEeCn1-FCrfecFg" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_mxshIfTWEeCn1-FCrfecFg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mxshIvTWEeCn1-FCrfecFg"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_y3lU4PTWEeCn1-FCrfecFg" type="3069" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3mjAPTWEeCn1-FCrfecFg" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3nKEPTWEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3nKEfTWEeCn1-FCrfecFg" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3nKEvTWEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3nKE_TWEeCn1-FCrfecFg" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3nKFPTWEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WiNb0DrUEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XNgbkDrUEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XNgbkTrUEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XNhCoDrUEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XNhCoTrUEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XNhCojrUEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_y3nKFfTWEeCn1-FCrfecFg" type="5125">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QlkJsFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QplHAFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_y3nxIPTWEeCn1-FCrfecFg" x="-90" y="38"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_y3nxIfTWEeCn1-FCrfecFg" type="6029">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_y3nxIvTWEeCn1-FCrfecFg" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="corec.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y3lU4fTWEeCn1-FCrfecFg" x="189" y="7"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_y3oYMPTWEeCn1-FCrfecFg" type="3069" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3pmUPTWEeCn1-FCrfecFg" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3pmUfTWEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3pmUvTWEeCn1-FCrfecFg" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3pmU_TWEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3pmVPTWEeCn1-FCrfecFg" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3qNYPTWEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VXcR0DrUEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vt_woDrUEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vt_woTrUEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vt_wojrUEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VuAXsDrUEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VuAXsTrUEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_y3qNYfTWEeCn1-FCrfecFg" type="5125">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QEIQkFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QK0HYFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_y3qNYvTWEeCn1-FCrfecFg" x="-17" y="-34"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_y3qNY_TWEeCn1-FCrfecFg" type="6029">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_y3qNZPTWEeCn1-FCrfecFg" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="corec.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y3o_QPTWEeCn1-FCrfecFg" x="-10" y="7"/>
-          </children>
-          <element xmi:type="uml:Property" href="corec.uml#_mvN04PTWEeCn1-FCrfecFg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mxqE4fTWEeCn1-FCrfecFg" x="31" y="31" width="199" height="37"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_V4BOxPEnEeCIafpoJVk7CQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V4BOxfEnEeCIafpoJVk7CQ"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_14WtMARJEd--t-uhRn9OBA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V3-LcfEnEeCIafpoJVk7CQ" x="72" y="36" width="262" height="145"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_W2m98PEnEeCIafpoJVk7CQ" type="2109" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W2nlAPEnEeCIafpoJVk7CQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W2nlAfEnEeCIafpoJVk7CQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W2nlAvEnEeCIafpoJVk7CQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W2nlA_EnEeCIafpoJVk7CQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W2nlBPEnEeCIafpoJVk7CQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W2nlBfEnEeCIafpoJVk7CQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_W2oMEPEnEeCIafpoJVk7CQ" type="5192"/>
-      <element xmi:type="uml:Comment" href="corec.uml#_q-kFUMTJEd-cLazKlAeYsQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W2m98fEnEeCIafpoJVk7CQ" x="378" y="54" width="429"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_HDAUACjaEeGFbebITJYb9g" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HDA7ECjaEeGFbebITJYb9g" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HDA7ESjaEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HDA7EijaEeGFbebITJYb9g" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HDA7EyjaEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HDA7FCjaEeGFbebITJYb9g" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HDA7FSjaEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MUh4ACjaEeGFbebITJYb9g" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4ASjaEeGFbebITJYb9g" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4AijaEeGFbebITJYb9g" key="StereotypeList" value="FCM::ContainerRule"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4AyjaEeGFbebITJYb9g" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4BCjaEeGFbebITJYb9g" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4BSjaEeGFbebITJYb9g" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_HDA7FijaEeGFbebITJYb9g" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_HDA7FyjaEeGFbebITJYb9g" type="7073">
-        <children xmi:type="notation:Shape" xmi:id="_JWCGkCjaEeGFbebITJYb9g" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JWCtoCjaEeGFbebITJYb9g" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JWCtoSjaEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JWCtoijaEeGFbebITJYb9g" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JWCtoyjaEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JWCtpCjaEeGFbebITJYb9g" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JWCtpSjaEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_JWCtpijaEeGFbebITJYb9g" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PdThIFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PlvrcFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JWCtpyjaEeGFbebITJYb9g" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_JWCtqCjaEeGFbebITJYb9g"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JWCtqSjaEeGFbebITJYb9g"/>
-          </children>
-          <element xmi:type="uml:Property" href="corec.uml#_6yVMkCjZEeGFbebITJYb9g"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JWCGkSjaEeGFbebITJYb9g" x="10" y="10" width="156"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_HDA7GCjaEeGFbebITJYb9g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HDA7GSjaEeGFbebITJYb9g"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_1sCBICjZEeGFbebITJYb9g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HDAUASjaEeGFbebITJYb9g" x="72" y="252" width="261" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_H0i7YDbgEeGdqp2YT1LwWw" type="2109" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H0jicDbgEeGdqp2YT1LwWw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H0jicTbgEeGdqp2YT1LwWw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H0jicjbgEeGdqp2YT1LwWw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H0jiczbgEeGdqp2YT1LwWw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H0jidDbgEeGdqp2YT1LwWw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H0jidTbgEeGdqp2YT1LwWw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_H0jidjbgEeGdqp2YT1LwWw" type="5192"/>
-      <element xmi:type="uml:Comment" href="corec.uml#_H0IrsDbgEeGdqp2YT1LwWw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H0i7YTbgEeGdqp2YT1LwWw" x="378" y="261" width="217"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_SstwYfEnEeCIafpoJVk7CQ"/>
-    <element xmi:type="uml:Package" href="corec.uml#_y4qB4ARJEd--t-uhRn9OBA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_YjbFEPEnEeCIafpoJVk7CQ" type="4002" source="_W2m98PEnEeCIafpoJVk7CQ" target="_V3-LcPEnEeCIafpoJVk7CQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_YjbFEfEnEeCIafpoJVk7CQ" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YjbFEvEnEeCIafpoJVk7CQ" points="[-11, -4, 128, 36]$[-126, -42, 13, -2]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YjcTMPEnEeCIafpoJVk7CQ" id="(0.01,0.38333333333333336)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YjcTMfEnEeCIafpoJVk7CQ" id="(0.8602150537634409,0.45)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_NK3f0DbgEeGdqp2YT1LwWw" type="4002" source="_H0i7YDbgEeGdqp2YT1LwWw" target="_HDAUACjaEeGFbebITJYb9g" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_NK3f0TbgEeGdqp2YT1LwWw" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NK3f0jbgEeGdqp2YT1LwWw" points="[-18, 3, 77, 0]$[-63, 2, 32, -1]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NLz7ADbgEeGdqp2YT1LwWw" id="(0.08294930875576037,0.6)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NL0iEDbgEeGdqp2YT1LwWw" id="(0.8773946360153256,0.4752475247524752)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_eblvwPM_EeCovO8AYZymZQ" type="CompositeStructure" name="Composite: ContainerServices " measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_JRsvcPNAEeCovO8AYZymZQ" type="2073" fontName="" fontHeight="10" fillColor="8047085" transparency="50" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JRtWgPNAEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JRtWgfNAEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JRtWgvNAEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JRtWg_NAEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JRtWhPNAEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JRtWhfNAEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_JRtWhvNAEeCovO8AYZymZQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JRtWh_NAEeCovO8AYZymZQ" type="7073">
-        <children xmi:type="notation:Shape" xmi:id="_k-Qe0PN8EeCovO8AYZymZQ" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_k-RF4PN8EeCovO8AYZymZQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k-RF4fN8EeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_k-RF4vN8EeCovO8AYZymZQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k-RF4_N8EeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_k-RF5PN8EeCovO8AYZymZQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k-RF5fN8EeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_k-RF5vN8EeCovO8AYZymZQ" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iWRp4FaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ivBhEFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="60"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_k-Rs8PN8EeCovO8AYZymZQ" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_k-Rs8fN8EeCovO8AYZymZQ" showTitle="true"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_k-Rs8vN8EeCovO8AYZymZQ"/>
-          </children>
-          <element xmi:type="uml:Property" href="corec.uml#_k-OpoPN8EeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_k-Qe0fN8EeCovO8AYZymZQ" x="24" y="41" width="165" height="23"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="__a22APQXEeCovO8AYZymZQ" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__a3dEPQXEeCovO8AYZymZQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__a4EIPQXEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__a4EIfQXEeCovO8AYZymZQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__a4EIvQXEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__a4EI_QXEeCovO8AYZymZQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__a4EJPQXEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="__a4EJfQXEeCovO8AYZymZQ" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fzb5sFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gCiFoFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="__a4EJvQXEeCovO8AYZymZQ" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="__a4EJ_QXEeCovO8AYZymZQ" showTitle="true"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="__a4EKPQXEeCovO8AYZymZQ"/>
-          </children>
-          <element xmi:type="uml:Property" href="corec.uml#__a1A0PQXEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="__a22AfQXEeCovO8AYZymZQ" x="24" y="5" width="165" height="23"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_KnUHYPQYEeCovO8AYZymZQ" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KnUHYvQYEeCovO8AYZymZQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KnUHY_QYEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KnUucPQYEeCovO8AYZymZQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KnUucfQYEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KnUucvQYEeCovO8AYZymZQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KnUuc_QYEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_KnUudPQYEeCovO8AYZymZQ" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hLhG8FaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hSXV0FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_KnUudfQYEeCovO8AYZymZQ" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_KnUudvQYEeCovO8AYZymZQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnUud_QYEeCovO8AYZymZQ"/>
-          </children>
-          <element xmi:type="uml:Property" href="corec.uml#_KnS5QPQYEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnUHYfQYEeCovO8AYZymZQ" x="24" y="83" width="165" height="23"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_JRtWiPNAEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JRtWifNAEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_M0b2YPNAEeCovO8AYZymZQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M0cdcPNAEeCovO8AYZymZQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0cdcfNAEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M0cdcvNAEeCovO8AYZymZQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0cdc_NAEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M0dEgPNAEeCovO8AYZymZQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0dEgfNAEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZohFcDrUEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aMU9IDrUEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aMVkMDrUEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aMVkMTrUEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aMVkMjrUEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aMVkMzrUEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_M0dEgvNAEeCovO8AYZymZQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dBgkoFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dM7xgFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_M0dEg_NAEeCovO8AYZymZQ" x="-134" y="-15"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_M0dEhPNAEeCovO8AYZymZQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_M0dEhfNAEeCovO8AYZymZQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M0b2YfNAEeCovO8AYZymZQ" x="-10" y="60" width="20" height="20"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JRsvcfNAEeCovO8AYZymZQ" x="171" y="32" width="212" height="159"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9dH0UCjYEeGFbebITJYb9g" type="2073" fontName="" fontHeight="10" fillColor="8047085" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9dIbYCjYEeGFbebITJYb9g" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9dIbYSjYEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9dIbYijYEeGFbebITJYb9g" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9dIbYyjYEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9dIbZCjYEeGFbebITJYb9g" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9dIbZSjYEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lTZl0CjZEeGFbebITJYb9g" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4p4K4M0zEeGV96JAv8cWdw" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4p4x8M0zEeGV96JAv8cWdw" key="StereotypeList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4p4x8c0zEeGV96JAv8cWdw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4p4x8s0zEeGV96JAv8cWdw" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4p4x880zEeGV96JAv8cWdw" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9dJCcCjYEeGFbebITJYb9g" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_9dJCcSjYEeGFbebITJYb9g" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_9dJCcijYEeGFbebITJYb9g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9dJCcyjYEeGFbebITJYb9g"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_AVlPMCjZEeGFbebITJYb9g" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AVl2QCjZEeGFbebITJYb9g" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AVl2QSjZEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AVl2QijZEeGFbebITJYb9g" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AVl2QyjZEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AVl2RCjZEeGFbebITJYb9g" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AVmdUCjZEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FBYM4DrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FX-H8DrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FX-H8TrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FX-H8jrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FX-vADrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FX-vATrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_AVmdUSjZEeGFbebITJYb9g" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WOqX0FaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WaM5cFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_AVmdUijZEeGFbebITJYb9g" x="-72"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_AVmdUyjZEeGFbebITJYb9g" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_AVmdVCjZEeGFbebITJYb9g" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_ATRiECjZEeGFbebITJYb9g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AVlPMSjZEeGFbebITJYb9g" x="207" y="45" width="20" height="20"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_f8HYECjZEeGFbebITJYb9g" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_f8H_ICjZEeGFbebITJYb9g" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_f8H_ISjZEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_f8H_IijZEeGFbebITJYb9g" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_f8H_IyjZEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_f8H_JCjZEeGFbebITJYb9g" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_f8H_JSjZEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GBY4YDrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GY2WIDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GY29MDrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GY29MTrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GY29MjrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GY3kQDrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_f8H_JijZEeGFbebITJYb9g" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W__uIFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XHxKEFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_f8H_JyjZEeGFbebITJYb9g" x="25"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_f8ImMCjZEeGFbebITJYb9g" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_f8ImMSjZEeGFbebITJYb9g" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f8HYESjZEeGFbebITJYb9g" x="-10" y="45"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_9V8OQCjYEeGFbebITJYb9g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9dH0USjYEeGFbebITJYb9g" x="171" y="302" width="217" height="92"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_WoQnECjZEeGFbebITJYb9g" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WoROICjZEeGFbebITJYb9g" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WoROISjZEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WoROIijZEeGFbebITJYb9g" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WoROIyjZEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WoROJCjZEeGFbebITJYb9g" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WoROJSjZEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_WoROJijZEeGFbebITJYb9g" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_WoROJyjZEeGFbebITJYb9g" visible="false" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_WoROKCjZEeGFbebITJYb9g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WoROKSjZEeGFbebITJYb9g"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WoQnESjZEeGFbebITJYb9g" x="171" y="250" width="217" height="26"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_qz8ykCkAEeGDDbdzqSb4UA" type="2073" fontName="" fontHeight="10" fillColor="8047085" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ykSkAEeGDDbdzqSb4UA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ykikAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ykykAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ylCkAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ylSkAEeGDDbdzqSb4UA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ylikAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ylykAEeGDDbdzqSb4UA" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4rLycM0zEeGV96JAv8cWdw" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4rLycc0zEeGV96JAv8cWdw" key="StereotypeList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4rLycs0zEeGV96JAv8cWdw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4rLyc80zEeGV96JAv8cWdw" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4rLydM0zEeGV96JAv8cWdw" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_qz8ynSkAEeGDDbdzqSb4UA" type="5156">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ynikAEeGDDbdzqSb4UA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ynykAEeGDDbdzqSb4UA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yoCkAEeGDDbdzqSb4UA" key="StereotypeList" value="FCM::ComponentImpl"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yoSkAEeGDDbdzqSb4UA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yoikAEeGDDbdzqSb4UA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yoykAEeGDDbdzqSb4UA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_qz8ypCkAEeGDDbdzqSb4UA" type="7073">
-        <children xmi:type="notation:Shape" xmi:id="_qz8ypSkAEeGDDbdzqSb4UA" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ypikAEeGDDbdzqSb4UA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ypykAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yqCkAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yqSkAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yqikAEeGDDbdzqSb4UA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yqykAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_qz8yrCkAEeGDDbdzqSb4UA" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vo5_YFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vv278FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_qz8yrSkAEeGDDbdzqSb4UA" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_qz8yrikAEeGDDbdzqSb4UA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8yrykAEeGDDbdzqSb4UA"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_qz8ysCkAEeGDDbdzqSb4UA" type="3069" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ysSkAEeGDDbdzqSb4UA" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ysikAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ysykAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ytCkAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ytSkAEeGDDbdzqSb4UA" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ytikAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_B-viUDrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CVcyIDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CVcyITrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CVcyIjrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CVdZMDrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CVdZMTrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_qz8ytykAEeGDDbdzqSb4UA" type="5125">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yuCkAEeGDDbdzqSb4UA" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bFaEUFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="12"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_qz8yuikAEeGDDbdzqSb4UA" x="-36" y="-8"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_qz8yuykAEeGDDbdzqSb4UA" type="6029">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_qz8yvCkAEeGDDbdzqSb4UA" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="corec.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8yvSkAEeGDDbdzqSb4UA" x="63" y="-10"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_4ksloCkAEeGDDbdzqSb4UA" type="3069" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4kwQACkAEeGDDbdzqSb4UA" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4kwQASkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4kwQAikAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4kwQAykAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4kwQBCkAEeGDDbdzqSb4UA" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4kwQBSkAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DJ1ccDrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Da9osDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Da9osTrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Da9osjrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Da9oszrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Da9otDrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_4kwQBikAEeGDDbdzqSb4UA" visible="false" type="5125">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AP6k4CkBEeGDDbdzqSb4UA" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AP7L8CkBEeGDDbdzqSb4UA" key="CustomAppearance_MaskValue" value="46"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_4kwQBykAEeGDDbdzqSb4UA" x="18" y="-18"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_4kw3ECkAEeGDDbdzqSb4UA" type="6029">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_4kw3ESkAEeGDDbdzqSb4UA" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="corec.uml#_ATRiECjZEeGFbebITJYb9g"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ksloSkAEeGDDbdzqSb4UA" x="153" y="16"/>
-          </children>
-          <element xmi:type="uml:Property" href="corec.uml#_ARs_UCjaEeGFbebITJYb9g"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8yvikAEeGDDbdzqSb4UA" x="22" y="103" width="163" height="51"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_qz8yvykAEeGDDbdzqSb4UA" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ywCkAEeGDDbdzqSb4UA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ywSkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ywikAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ywykAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yxCkAEeGDDbdzqSb4UA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yxSkAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_qz8yxikAEeGDDbdzqSb4UA" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UO2cMFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UlpLkFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_qz8yxykAEeGDDbdzqSb4UA" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_qz8yyCkAEeGDDbdzqSb4UA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8yySkAEeGDDbdzqSb4UA"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_qz8yyikAEeGDDbdzqSb4UA" type="3069" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yyykAEeGDDbdzqSb4UA" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yzCkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yzSkAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yzikAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yzykAEeGDDbdzqSb4UA" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8y0CkAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_A92GADrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BOcGwDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BOcGwTrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BOcGwjrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BOcGwzrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BOcGxDrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_qz8y0SkAEeGDDbdzqSb4UA" type="5125">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8y0ikAEeGDDbdzqSb4UA" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cTAf4FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="12"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_qz8y1CkAEeGDDbdzqSb4UA" x="27" y="18"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_qz8y1SkAEeGDDbdzqSb4UA" type="6029">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_qz8y1ikAEeGDDbdzqSb4UA" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="corec.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y1ykAEeGDDbdzqSb4UA" x="63" y="42"/>
-          </children>
-          <element xmi:type="uml:Property" href="corec.uml#_RMqEkCjaEeGFbebITJYb9g"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y2CkAEeGDDbdzqSb4UA" x="22" y="7" width="163" height="52"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_qz8y2SkAEeGDDbdzqSb4UA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y2ikAEeGDDbdzqSb4UA"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_3PyBICkAEeGDDbdzqSb4UA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3PyoMCkAEeGDDbdzqSb4UA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3PyoMSkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3PzPQCkAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3PzPQSkAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3PzPQikAEeGDDbdzqSb4UA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3PzPQykAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EFQi4DrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EWD_ADrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EWD_ATrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EWD_AjrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EWD_AzrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EWD_BDrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_3PzPRCkAEeGDDbdzqSb4UA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aE63sFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aMll8FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_3PzPRSkAEeGDDbdzqSb4UA" x="-81" y="-9"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_3PzPRikAEeGDDbdzqSb4UA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_3PzPRykAEeGDDbdzqSb4UA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_3NSGwCkAEeGDDbdzqSb4UA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3PyBISkAEeGDDbdzqSb4UA" x="288" y="144" width="20" height="20"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_-X6zMCjZEeGFbebITJYb9g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y2ykAEeGDDbdzqSb4UA" x="455" y="39" width="298" height="199"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_ebmW0PM_EeCovO8AYZymZQ"/>
-    <element xmi:type="uml:Package" href="corec.uml#_xtlE8ARAEd--t-uhRn9OBA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_Y7Vc8CjZEeGFbebITJYb9g" type="4015" source="_9dH0UCjYEeGFbebITJYb9g" target="_WoQnECjZEeGFbebITJYb9g" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Y7WrECjZEeGFbebITJYb9g" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Y7WrESjZEeGFbebITJYb9g" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Y7Vc8SjZEeGFbebITJYb9g" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_Y6lPACjZEeGFbebITJYb9g"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Y7Vc8ijZEeGFbebITJYb9g" points="[4, -11, 7, 30]$[4, -63, 7, -22]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y-dpcCjZEeGFbebITJYb9g" id="(0.50625,0.11956521739130435)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_1VKukCkAEeGDDbdzqSb4UA" type="4013" source="_qz8yyikAEeGDDbdzqSb4UA" target="_qz8ysCkAEeGDDbdzqSb4UA" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_1VL8sCkAEeGDDbdzqSb4UA" type="6025">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_1VL8sSkAEeGDDbdzqSb4UA" y="60"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_1VL8sikAEeGDDbdzqSb4UA" visible="false" type="6050">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_1VMjwCkAEeGDDbdzqSb4UA" y="-20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_1VMjwSkAEeGDDbdzqSb4UA" visible="false" type="6051">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_1VMjwikAEeGDDbdzqSb4UA" y="20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_1VMjwykAEeGDDbdzqSb4UA" visible="false" type="6052">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_1VMjxCkAEeGDDbdzqSb4UA" y="20"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_1VKukSkAEeGDDbdzqSb4UA" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Connector" href="corec.uml#_iDCL0CjaEeGFbebITJYb9g"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1VKukikAEeGDDbdzqSb4UA" points="[0, 10, 0, -34]$[0, 34, 0, -10]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_85CvsCkAEeGDDbdzqSb4UA" type="4013" source="_4ksloCkAEeGDDbdzqSb4UA" target="_3PyBICkAEeGDDbdzqSb4UA" routing="Rectilinear" closestDistance="true" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_85D90CkAEeGDDbdzqSb4UA" type="6025">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D90SkAEeGDDbdzqSb4UA" y="60"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_85D90ikAEeGDDbdzqSb4UA" visible="false" type="6050">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D90ykAEeGDDbdzqSb4UA" y="-20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_85D91CkAEeGDDbdzqSb4UA" visible="false" type="6051">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D91SkAEeGDDbdzqSb4UA" y="20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_85D91ikAEeGDDbdzqSb4UA" visible="false" type="6052">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D91ykAEeGDDbdzqSb4UA" y="20"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_85CvsSkAEeGDDbdzqSb4UA" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Connector" href="corec.uml#_84IJsCkAEeGDDbdzqSb4UA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_85CvsikAEeGDDbdzqSb4UA" points="[10, 4, -220, 14]$[71, 4, -159, 14]$[71, -10, -159, 0]$[227, -10, -3, 0]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_864iwCkAEeGDDbdzqSb4UA" id="(0.15,0.45)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_hyLz8PNGEeCovO8AYZymZQ" type="CompositeStructure" name="composite: Marshalling" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_iVJ-IPNGEeCovO8AYZymZQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVJ-IvNGEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVKlMPNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVKlMfNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVKlMvNGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVKlM_NGEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVKlNPNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_iVKlNfNGEeCovO8AYZymZQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_iVKlNvNGEeCovO8AYZymZQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_iVKlN_NGEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iVKlOPNGEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_ZjCy0PNHEeCovO8AYZymZQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZjDZ4PNHEeCovO8AYZymZQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZjDZ4fNHEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZjDZ4vNHEeCovO8AYZymZQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZjDZ4_NHEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZjDZ5PNHEeCovO8AYZymZQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZjDZ5fNHEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N6_48DrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OOwicDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OOwicTrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OOwicjrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OOwiczrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OOwidDrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ZjEA8PNHEeCovO8AYZymZQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cZt34EN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cfyMwE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZjEA8fNHEeCovO8AYZymZQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ZjEA8vNHEeCovO8AYZymZQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZjEA8_NHEeCovO8AYZymZQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_rSCxUAytEd6it_RkGhz_AA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZjCy0fNHEeCovO8AYZymZQ" x="117" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_iVa2wEN9EeGfhclnRyNzoA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVbd0EN9EeGfhclnRyNzoA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVbd0UN9EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVbd0kN9EeGfhclnRyNzoA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVbd00N9EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVbd1EN9EeGfhclnRyNzoA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVbd1UN9EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jaKRQEN9EeGfhclnRyNzoA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jtyX4EN9EeGfhclnRyNzoA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jtyX4UN9EeGfhclnRyNzoA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jtyX4kN9EeGfhclnRyNzoA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jty-8EN9EeGfhclnRyNzoA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jty-8UN9EeGfhclnRyNzoA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_iVbd1kN9EeGfhclnRyNzoA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YRiFEEN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZxVCcE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_iVbd10N9EeGfhclnRyNzoA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_iVcE4EN9EeGfhclnRyNzoA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_iVcE4UN9EeGfhclnRyNzoA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_MhH6cENxEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iVa2wUN9EeGfhclnRyNzoA" x="-10" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_b_yh4AzyEd6it_RkGhz_AA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iVJ-IfNGEeCovO8AYZymZQ" x="90" y="279" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_kENg8PNGEeCovO8AYZymZQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEOIAPNGEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEOIAfNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEOIAvNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEOIA_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEOIBPNGEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEOIBfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_kEOvEPNGEeCovO8AYZymZQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kEOvEfNGEeCovO8AYZymZQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kEOvEvNGEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kEOvE_NGEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_qJrqYPNGEeCovO8AYZymZQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qJsRcPNGEeCovO8AYZymZQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qJsRcfNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qJsRcvNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qJsRc_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qJsRdPNGEeCovO8AYZymZQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qJsRdfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JbRlUDrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JrZE8DrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JrZE8TrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JrZsADrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JrZsATrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JrZsAjrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qJsRdvNGEeCovO8AYZymZQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ezv2kFjoEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FAR2sFjoEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qJsRd_NGEeCovO8AYZymZQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qJsRePNGEeCovO8AYZymZQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qJsRefNGEeCovO8AYZymZQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qJrqYfNGEeCovO8AYZymZQ" x="-10" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_j29X4NttEd2eM5kqcby5ZA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kENg8fNGEeCovO8AYZymZQ" x="90" y="36" width="316" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_mqiqAPNGEeCovO8AYZymZQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mqjREPNGEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mqjREfNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mqjREvNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mqjRE_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mqj4IPNGEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mqj4IfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mqj4IvNGEeCovO8AYZymZQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_mqj4I_NGEeCovO8AYZymZQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_mqj4JPNGEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mqj4JfNGEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_bc1mAPNHEeCovO8AYZymZQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bc2NEPNHEeCovO8AYZymZQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bc2NEfNHEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bc2NEvNHEeCovO8AYZymZQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bc2NE_NHEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bc2NFPNHEeCovO8AYZymZQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bc2NFfNHEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O-5l8DrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PVN0MDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PVObQDrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PVObQTrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PVObQjrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PVObQzrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_bc2NFvNHEeCovO8AYZymZQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y0v8UEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aYUJ8E4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_bc2NF_NHEeCovO8AYZymZQ" x="19"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_bc2NGPNHEeCovO8AYZymZQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_bc2NGfNHEeCovO8AYZymZQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_r5Va0AytEd6it_RkGhz_AA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bc1mAfNHEeCovO8AYZymZQ" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_cQDbAEN9EeGfhclnRyNzoA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cQECEEN9EeGfhclnRyNzoA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cQECEUN9EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cQECEkN9EeGfhclnRyNzoA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cQECE0N9EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cQECFEN9EeGfhclnRyNzoA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cQECFUN9EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gnyQQEN9EeGfhclnRyNzoA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g-aAgEN9EeGfhclnRyNzoA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g-aAgUN9EeGfhclnRyNzoA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g-aAgkN9EeGfhclnRyNzoA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g-aAg0N9EeGfhclnRyNzoA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g-aAhEN9EeGfhclnRyNzoA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_cQECFkN9EeGfhclnRyNzoA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XwXHIEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a51ioE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_cQECF0N9EeGfhclnRyNzoA" x="27"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_cQECGEN9EeGfhclnRyNzoA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_cQECGUN9EeGfhclnRyNzoA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_Zd558ENxEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cQDbAUN9EeGfhclnRyNzoA" x="117" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_fmF6MAzyEd6it_RkGhz_AA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mqiqAfNGEeCovO8AYZymZQ" x="396" y="279" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_o1VGkPNGEeCovO8AYZymZQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o1VtoPNGEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o1VtofNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o1VtovNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o1Vto_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o1WUsPNGEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o1WUsfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_o1WUsvNGEeCovO8AYZymZQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_o1WUs_NGEeCovO8AYZymZQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_o1WUtPNGEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o1WUtfNGEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_qpQiUPNGEeCovO8AYZymZQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qpRJYPNGEeCovO8AYZymZQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qpRJYfNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qpRJYvNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qpRJY_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qpRwcPNGEeCovO8AYZymZQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qpRwcfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RHYVYDrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RapPoDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RapPoTrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Rap2sDrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Rap2sTrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Rap2sjrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qpRwcvNGEeCovO8AYZymZQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_h3CcMEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lv9-sE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qpRwc_NGEeCovO8AYZymZQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qpRwdPNGEeCovO8AYZymZQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qpRwdfNGEeCovO8AYZymZQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qpQiUfNGEeCovO8AYZymZQ" x="117" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_mIpj8Ns8Ed2eM5kqcby5ZA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o1VGkfNGEeCovO8AYZymZQ" x="468" y="36" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="__uLGkPNGEeCovO8AYZymZQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__uLtoPNGEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__uLtofNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__uLtovNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__uLto_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__uMUsPNGEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__uMUsfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="__uMUsvNGEeCovO8AYZymZQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="__uMUs_NGEeCovO8AYZymZQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="__uMUtPNGEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__uMUtfNGEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_KNC08PQSEeCovO8AYZymZQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KNDcAPQSEeCovO8AYZymZQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KNDcAfQSEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KNDcAvQSEeCovO8AYZymZQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KNDcA_QSEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KNDcBPQSEeCovO8AYZymZQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KNDcBfQSEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MhV-YDrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0TWoDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0T9sDrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0T9sTrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0T9sjrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0T9szrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_KNDcBvQSEeCovO8AYZymZQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_e8v1UEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b_sXcE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_KNDcB_QSEeCovO8AYZymZQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_KNEDEPQSEeCovO8AYZymZQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_KNEDEfQSEeCovO8AYZymZQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_rSCxUAytEd6it_RkGhz_AA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KNC08fQSEeCovO8AYZymZQ" x="117" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_vzOfsEN9EeGfhclnRyNzoA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vzPGwEN9EeGfhclnRyNzoA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vzPGwUN9EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vzPGwkN9EeGfhclnRyNzoA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vzPGw0N9EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vzPGxEN9EeGfhclnRyNzoA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vzPGxUN9EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xAI-wEN9EeGfhclnRyNzoA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xXqt8EN9EeGfhclnRyNzoA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xXqt8UN9EeGfhclnRyNzoA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xXqt8kN9EeGfhclnRyNzoA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xXqt80N9EeGfhclnRyNzoA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xXrVAEN9EeGfhclnRyNzoA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_vzPGxkN9EeGfhclnRyNzoA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b0q0oEN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bcLasE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_vzPGx0N9EeGfhclnRyNzoA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_vzPGyEN9EeGfhclnRyNzoA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_vzPGyUN9EeGfhclnRyNzoA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_MhH6cENxEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vzOfsUN9EeGfhclnRyNzoA" x="-10" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#__uJRYPNGEeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__uLGkfNGEeCovO8AYZymZQ" x="90" y="405" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_u_QmwENqEeGoAtSeIK7WLg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u_RN0ENqEeGoAtSeIK7WLg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u_RN0UNqEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u_RN0kNqEeGoAtSeIK7WLg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u_RN00NqEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u_RN1ENqEeGoAtSeIK7WLg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u_RN1UNqEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_u_RN1kNqEeGoAtSeIK7WLg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_u_R04ENqEeGoAtSeIK7WLg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_u_R04UNqEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u_R04kNqEeGoAtSeIK7WLg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_7XPQEENqEeGoAtSeIK7WLg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7XP3IENqEeGoAtSeIK7WLg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7XP3IUNqEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7XP3IkNqEeGoAtSeIK7WLg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7XP3I0NqEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7XP3JENqEeGoAtSeIK7WLg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7XP3JUNqEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8posEENqEeGoAtSeIK7WLg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9AyAwENqEeGoAtSeIK7WLg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9AyAwUNqEeGoAtSeIK7WLg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9Ayn0ENqEeGoAtSeIK7WLg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9Ayn0UNqEeGoAtSeIK7WLg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9Ayn0kNqEeGoAtSeIK7WLg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_7XP3JkNqEeGoAtSeIK7WLg" visible="false" type="5125">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_7XQeMENqEeGoAtSeIK7WLg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_7XQeMUNqEeGoAtSeIK7WLg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_7XQeMkNqEeGoAtSeIK7WLg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7XPQEUNqEeGoAtSeIK7WLg" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_-nzo8ENqEeGoAtSeIK7WLg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-n0QAENqEeGoAtSeIK7WLg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-n0QAUNqEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-n0QAkNqEeGoAtSeIK7WLg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-n0QA0NqEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-n0QBENqEeGoAtSeIK7WLg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-n0QBUNqEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aJho0EN8EeGfhclnRyNzoA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bHDoEEN8EeGfhclnRyNzoA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bHDoEUN8EeGfhclnRyNzoA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bHDoEkN8EeGfhclnRyNzoA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bHDoE0N8EeGfhclnRyNzoA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bHDoFEN8EeGfhclnRyNzoA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_-n0QBkNqEeGoAtSeIK7WLg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WEWb0EN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_smS9UE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_-n0QB0NqEeGoAtSeIK7WLg" x="-99"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_-n0QCENqEeGoAtSeIK7WLg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_-n0QCUNqEeGoAtSeIK7WLg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_-nk_cENqEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-nzo8UNqEeGoAtSeIK7WLg" x="117" y="36" width="20" height="20"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_u7MmIENqEeGoAtSeIK7WLg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u_QmwUNqEeGoAtSeIK7WLg" x="90" y="144" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_1xcsQENqEeGoAtSeIK7WLg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1xdTUENqEeGoAtSeIK7WLg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1xdTUUNqEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1xdTUkNqEeGoAtSeIK7WLg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1xdTU0NqEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1xdTVENqEeGoAtSeIK7WLg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1xdTVUNqEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_1xdTVkNqEeGoAtSeIK7WLg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_1xdTV0NqEeGoAtSeIK7WLg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_1xdTWENqEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1xdTWUNqEeGoAtSeIK7WLg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_zeMyEEN8EeGfhclnRyNzoA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeOAMEN8EeGfhclnRyNzoA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeOAMUN8EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeOAMkN8EeGfhclnRyNzoA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeOAM0N8EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeOANEN8EeGfhclnRyNzoA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeOANUN8EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4rAYsEN9EeGfhclnRyNzoA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48lQ4EN9EeGfhclnRyNzoA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48lQ4UN9EeGfhclnRyNzoA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48lQ4kN9EeGfhclnRyNzoA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48lQ40N9EeGfhclnRyNzoA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48l38EN9EeGfhclnRyNzoA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_zeOANkN8EeGfhclnRyNzoA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a_mN0EN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mTaC8E4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_zeOAN0N8EeGfhclnRyNzoA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_zeOAOEN8EeGfhclnRyNzoA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_zeOAOUN8EeGfhclnRyNzoA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_9gIc8ENvEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zeNZIEN8EeGfhclnRyNzoA" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_zePOUEN8EeGfhclnRyNzoA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeP1YEN8EeGfhclnRyNzoA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeP1YUN8EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeP1YkN8EeGfhclnRyNzoA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeP1Y0N8EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeP1ZEN8EeGfhclnRyNzoA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeP1ZUN8EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5ijEsEN9EeGfhclnRyNzoA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5zBwsEN9EeGfhclnRyNzoA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5zCXwEN9EeGfhclnRyNzoA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5zCXwUN9EeGfhclnRyNzoA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5zCXwkN9EeGfhclnRyNzoA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5zCXw0N9EeGfhclnRyNzoA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_zeP1ZkN8EeGfhclnRyNzoA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_e8wcYEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dPSXEE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_zeP1Z0N8EeGfhclnRyNzoA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_zeP1aEN8EeGfhclnRyNzoA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_zeP1aUN8EeGfhclnRyNzoA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zePOUUN8EeGfhclnRyNzoA" x="117" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_1xGG8ENqEeGoAtSeIK7WLg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1xcsQUNqEeGoAtSeIK7WLg" x="468" y="144" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_H7kTUENrEeGoAtSeIK7WLg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H7k6YENrEeGoAtSeIK7WLg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H7k6YUNrEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H7k6YkNrEeGoAtSeIK7WLg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H7k6Y0NrEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H7k6ZENrEeGoAtSeIK7WLg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H7k6ZUNrEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_H7k6ZkNrEeGoAtSeIK7WLg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_H7k6Z0NrEeGoAtSeIK7WLg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_H7k6aENrEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H7k6aUNrEeGoAtSeIK7WLg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_LIMnYENrEeGoAtSeIK7WLg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LINOcENrEeGoAtSeIK7WLg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LINOcUNrEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LINOckNrEeGoAtSeIK7WLg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LINOc0NrEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LINOdENrEeGoAtSeIK7WLg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LINOdUNrEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MNeNYENrEeGoAtSeIK7WLg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MkeYIENrEeGoAtSeIK7WLg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Mke_MENrEeGoAtSeIK7WLg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Mke_MUNrEeGoAtSeIK7WLg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Mke_MkNrEeGoAtSeIK7WLg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Mke_M0NrEeGoAtSeIK7WLg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_LINOdkNrEeGoAtSeIK7WLg" visible="false" type="5125">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_LINOd0NrEeGoAtSeIK7WLg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_LINOeENrEeGoAtSeIK7WLg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_LINOeUNrEeGoAtSeIK7WLg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LIMnYUNrEeGoAtSeIK7WLg" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_i742UEN8EeGfhclnRyNzoA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i76EcEN8EeGfhclnRyNzoA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i76rgEN8EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i76rgUN8EeGfhclnRyNzoA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i76rgkN8EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i76rg0N8EeGfhclnRyNzoA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i76rhEN8EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_keq3sEN8EeGfhclnRyNzoA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k2gI4EN8EeGfhclnRyNzoA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k2gI4UN8EeGfhclnRyNzoA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k2gI4kN8EeGfhclnRyNzoA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k2gI40N8EeGfhclnRyNzoA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k2gI5EN8EeGfhclnRyNzoA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_i76rhUN8EeGfhclnRyNzoA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UeOLgEN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eFDhcE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_i76rhkN8EeGfhclnRyNzoA" x="-99"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_i77SkEN8EeGfhclnRyNzoA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_i77SkUN8EeGfhclnRyNzoA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_i5SOQEN8EeGfhclnRyNzoA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_i75dYEN8EeGfhclnRyNzoA" x="117" y="36" width="20" height="20"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_H7IOcENrEeGoAtSeIK7WLg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H7kTUUNrEeGoAtSeIK7WLg" x="279" y="144" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_pmSKYEN_EeGfhclnRyNzoA" type="2109" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pmSxcEN_EeGfhclnRyNzoA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pmSxcUN_EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pmSxckN_EeGfhclnRyNzoA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pmSxc0N_EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pmSxdEN_EeGfhclnRyNzoA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pmSxdUN_EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_pmSxdkN_EeGfhclnRyNzoA" type="5192"/>
-      <element xmi:type="uml:Comment" href="corec.uml#_pk4cMEN_EeGfhclnRyNzoA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pmSKYUN_EeGfhclnRyNzoA" x="351" y="390" width="391" height="79"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_hyMbAPNGEeCovO8AYZymZQ"/>
-    <element xmi:type="uml:Package" href="corec.uml#_gKMTIAytEd6it_RkGhz_AA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_khmAgPNGEeCovO8AYZymZQ" type="4015" source="_u_QmwENqEeGoAtSeIK7WLg" target="_kENg8PNGEeCovO8AYZymZQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_khmnkPNGEeCovO8AYZymZQ" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_khmnkfNGEeCovO8AYZymZQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_khmAgfNGEeCovO8AYZymZQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_K088oF_rEd6RvK-1A151zQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_khmAgvNGEeCovO8AYZymZQ" points="[17, -30, -23, 39]$[23, -39, -17, 30]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4ud3AENqEeGoAtSeIK7WLg" id="(0.49606299212598426,0.0273972602739726)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OtJFEEN8EeGfhclnRyNzoA" id="(0.20569620253164558,0.958904109589041)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_sH_KIPNGEeCovO8AYZymZQ" type="4015" source="_1xcsQENqEeGoAtSeIK7WLg" target="_o1VGkPNGEeCovO8AYZymZQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_sH_xMPNGEeCovO8AYZymZQ" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_sIAYQPNGEeCovO8AYZymZQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_sH_KIfNGEeCovO8AYZymZQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_M09FgF_rEd6RvK-1A151zQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sH_KIvNGEeCovO8AYZymZQ" points="[-8, -30, 0, 77]$[0, -77, 8, 30]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5r5voENqEeGoAtSeIK7WLg" id="(0.4881889763779528,0.0958904109589041)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_EWU9cPNHEeCovO8AYZymZQ" type="4015" source="__uLGkPNGEeCovO8AYZymZQ" target="_iVJ-IPNGEeCovO8AYZymZQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_EWWLkPNHEeCovO8AYZymZQ" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_EWWLkfNHEeCovO8AYZymZQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_EWU9cfNHEeCovO8AYZymZQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_EWShMPNHEeCovO8AYZymZQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EWU9cvNHEeCovO8AYZymZQ" points="[2, -8, -13, 52]$[20, -42, 5, 18]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EWWyoPNHEeCovO8AYZymZQ" id="(0.4881889763779528,0.1095890410958904)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EWWyofNHEeCovO8AYZymZQ" id="(0.5196850393700787,0.9178082191780822)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_KH4Z4ENrEeGoAtSeIK7WLg" type="4015" source="_H7kTUENrEeGoAtSeIK7WLg" target="_kENg8PNGEeCovO8AYZymZQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_KH5A8ENrEeGoAtSeIK7WLg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KH5oAENrEeGoAtSeIK7WLg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_KH4Z4UNrEeGoAtSeIK7WLg" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_KHmGAENrEeGoAtSeIK7WLg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KH4Z4kNrEeGoAtSeIK7WLg" points="[-4, -5, 94, 153]$[-95, -150, 3, 8]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KIePwENrEeGoAtSeIK7WLg" id="(0.5229357798165137,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KIePwUNrEeGoAtSeIK7WLg" id="(0.8142857142857143,0.9452054794520548)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_cVCGYPNUEeCovO8AYZymZQ" type="PapyrusUMLClassDiagram" name="Class: Marshalling" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_jQk8MPNUEeCovO8AYZymZQ" type="2006" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQljQPNUEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQljQfNUEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQljQvNUEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQljQ_NUEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQljRPNUEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQljRfNUEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_jQmKUPNUEeCovO8AYZymZQ" type="5023"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_jQmKUfNUEeCovO8AYZymZQ" type="7015">
-        <children xmi:type="notation:Shape" xmi:id="_jv7KoPNUEeCovO8AYZymZQ" type="3017" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:EnumerationLiteral" href="corec.uml#_jv4uYPNUEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_jv7KofNUEeCovO8AYZymZQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_kuE08PNUEeCovO8AYZymZQ" type="3017" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:EnumerationLiteral" href="corec.uml#_kuDm0PNUEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kuE08fNUEeCovO8AYZymZQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_ljFxYPNUEeCovO8AYZymZQ" type="3017" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:EnumerationLiteral" href="corec.uml#_ljD8MPNUEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ljFxYfNUEeCovO8AYZymZQ"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_jQmKUvNUEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_jQmKU_NUEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_jQmKVPNUEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jQmKVfNUEeCovO8AYZymZQ"/>
-      </children>
-      <element xmi:type="uml:Enumeration" href="corec.uml#_jQjHAPNUEeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jQk8MfNUEeCovO8AYZymZQ" x="387" y="83"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_SPPn0FjnEeKaM_PspnG53g" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SPRdAFjnEeKaM_PspnG53g" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SPSEEFjnEeKaM_PspnG53g" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SPSEEVjnEeKaM_PspnG53g" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SPSEEljnEeKaM_PspnG53g" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SPSEE1jnEeKaM_PspnG53g" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SPSEFFjnEeKaM_PspnG53g" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_SPSEFVjnEeKaM_PspnG53g" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_SPSrIFjnEeKaM_PspnG53g" type="7017">
-        <children xmi:type="notation:Shape" xmi:id="_USG3cFjnEeKaM_PspnG53g" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d1EbcFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eOY6YFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="corec.uml#_YKtbAPNUEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_USG3cVjnEeKaM_PspnG53g"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_USHegFjnEeKaM_PspnG53g" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d1FCgFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eOaIgFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="corec.uml#_gQGNwPNUEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_USHegVjnEeKaM_PspnG53g"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_USIFkFjnEeKaM_PspnG53g" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d1FCgljnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eOavkFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="corec.uml#_-_HCMBI0EeGU49ezpRnvLg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_USIFkVjnEeKaM_PspnG53g"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_USIsoFjnEeKaM_PspnG53g" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ffmDkFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ffmDkVjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="60"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="corec.uml#_qzHgkPNUEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_USIsoVjnEeKaM_PspnG53g"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_SPSrIVjnEeKaM_PspnG53g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_SPSrIljnEeKaM_PspnG53g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_SPSrI1jnEeKaM_PspnG53g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SPSrJFjnEeKaM_PspnG53g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_SPSrJVjnEeKaM_PspnG53g" visible="false" type="7018">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_SPSrJljnEeKaM_PspnG53g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_SPSrJ1jnEeKaM_PspnG53g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_SPSrKFjnEeKaM_PspnG53g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SPSrKVjnEeKaM_PspnG53g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_SPSrKljnEeKaM_PspnG53g" visible="false" type="7019">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_SPSrK1jnEeKaM_PspnG53g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_SPSrLFjnEeKaM_PspnG53g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_SPSrLVjnEeKaM_PspnG53g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SPSrLljnEeKaM_PspnG53g"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_WkkjoPNUEeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SPPn0VjnEeKaM_PspnG53g" x="130" y="78"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_cVCGYfNUEeCovO8AYZymZQ"/>
-    <element xmi:type="uml:Package" href="corec.uml#_gKMTIAytEd6it_RkGhz_AA"/>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_g6Yg0CnOEeGxrprK9wB9iA" type="CompositeStructure" name="Service configuration" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_hvsYMCnOEeGxrprK9wB9iA" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hvs_QCnOEeGxrprK9wB9iA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hvtmUCnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hvtmUSnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hvtmUinOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hvtmUynOEeGxrprK9wB9iA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hvtmVCnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_hvtmVSnOEeGxrprK9wB9iA" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hvuNYCnOEeGxrprK9wB9iA" type="7073">
-        <children xmi:type="notation:Shape" xmi:id="_j5-ecCnOEeGxrprK9wB9iA" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_j5_FgCnOEeGxrprK9wB9iA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_j5_FgSnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_j5_FginOEeGxrprK9wB9iA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_j5_FgynOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_j5_FhCnOEeGxrprK9wB9iA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_j5_FhSnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_j5_FhinOEeGxrprK9wB9iA" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eASCYFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eBKMIFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_j5_skCnOEeGxrprK9wB9iA" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_j5_skSnOEeGxrprK9wB9iA" showTitle="true"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_j5_skinOEeGxrprK9wB9iA"/>
-          </children>
-          <element xmi:type="uml:Property" href="corec.uml#_rVfYoMGJEd-Mveea1W_olA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_j5-ecSnOEeGxrprK9wB9iA" x="10" y="10" width="131"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_lEz54CnOEeGxrprK9wB9iA" type="3097" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lEz54inOEeGxrprK9wB9iA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lE0g8CnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lE0g8SnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lE0g8inOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lE0g8ynOEeGxrprK9wB9iA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lE0g9CnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_lE0g9SnOEeGxrprK9wB9iA" type="5150"/>
-          <element xmi:type="uml:Comment" href="corec.uml#_lCtoICnOEeGxrprK9wB9iA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEz54SnOEeGxrprK9wB9iA" x="221" y="10" width="271" height="64"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hvuNYSnOEeGxrprK9wB9iA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hvuNYinOEeGxrprK9wB9iA"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_SiY_AP-EEd6628OhKk_dpg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hvsYMSnOEeGxrprK9wB9iA" x="62" y="64" width="524" height="135"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_t6v_0CnOEeGxrprK9wB9iA" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6wm4CnOEeGxrprK9wB9iA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6wm4SnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6wm4inOEeGxrprK9wB9iA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6wm4ynOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6xN8CnOEeGxrprK9wB9iA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6xN8SnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_t6xN8inOEeGxrprK9wB9iA" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_t6xN8ynOEeGxrprK9wB9iA" type="7073">
-        <children xmi:type="notation:Shape" xmi:id="_vBLcYCnOEeGxrprK9wB9iA" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBMDcCnOEeGxrprK9wB9iA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vBMqgCnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBMqgSnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vBNRkCnOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBNRkSnOEeGxrprK9wB9iA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vBNRkinOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_vBNRkynOEeGxrprK9wB9iA" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_chkosFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_co8cAFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_vBNRlCnOEeGxrprK9wB9iA" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_vBNRlSnOEeGxrprK9wB9iA" showTitle="true"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vBNRlinOEeGxrprK9wB9iA"/>
-          </children>
-          <element xmi:type="uml:Property" href="corec.uml#_tmNeoCjbEeGFbebITJYb9g"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vBLcYSnOEeGxrprK9wB9iA" x="10" y="10" width="173"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_zNMJ0CnOEeGxrprK9wB9iA" type="3097" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zNMw4SnOEeGxrprK9wB9iA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zNMw4inOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zNNX8CnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zNNX8SnOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zNNX8inOEeGxrprK9wB9iA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zNNX8ynOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_zNNX9CnOEeGxrprK9wB9iA" type="5150"/>
-          <element xmi:type="uml:Comment" href="corec.uml#_zLeSkCnOEeGxrprK9wB9iA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zNMw4CnOEeGxrprK9wB9iA" x="219" y="15" width="270"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_t6xN9CnOEeGxrprK9wB9iA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t6xN9SnOEeGxrprK9wB9iA"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_9V8OQCjYEeGFbebITJYb9g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t6v_0SnOEeGxrprK9wB9iA" x="65" y="245" width="521" height="161"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_RANSwCo0EeGxrprK9wB9iA" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RAN50Co0EeGxrprK9wB9iA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RAN50So0EeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RAN50io0EeGxrprK9wB9iA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RAN50yo0EeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RAN51Co0EeGxrprK9wB9iA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RAN51So0EeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_RAN51io0EeGxrprK9wB9iA" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_RAN51yo0EeGxrprK9wB9iA" visible="false" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_RAN52Co0EeGxrprK9wB9iA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RAN52So0EeGxrprK9wB9iA"/>
-      </children>
-      <element xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_ETakYDj8Edy0Rd6V_tf1-Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RANSwSo0EeGxrprK9wB9iA" x="652" y="261" width="60" height="55"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_g6Yg0SnOEeGxrprK9wB9iA"/>
-    <element xmi:type="uml:Package" href="corec.uml#_xtlE8ARAEd--t-uhRn9OBA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_mp1-ACnOEeGxrprK9wB9iA" type="4002" source="_lEz54CnOEeGxrprK9wB9iA" target="_j5-ecCnOEeGxrprK9wB9iA" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_mp1-ASnOEeGxrprK9wB9iA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mp1-AinOEeGxrprK9wB9iA" points="[-50, -4, 105, 6]$[-136, -16, 19, -6]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mthkICnOEeGxrprK9wB9iA" id="(0.8137254901960784,0.3559322033898305)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_0Tj8ACnOEeGxrprK9wB9iA" type="4002" source="_zNMJ0CnOEeGxrprK9wB9iA" target="_vBLcYCnOEeGxrprK9wB9iA" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_0Tj8ASnOEeGxrprK9wB9iA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0Tj8AinOEeGxrprK9wB9iA" points="[-20, -6, 63, 16]$[-56, -25, 27, -3]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0V4QMCnOEeGxrprK9wB9iA" id="(0.2,0.5166666666666667)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0V4QMSnOEeGxrprK9wB9iA" id="(0.8439306358381503,0.35)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_SZ63sCo0EeGxrprK9wB9iA" type="4010" source="_t6v_0CnOEeGxrprK9wB9iA" target="_RANSwCo0EeGxrprK9wB9iA" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_SZ7ewCo0EeGxrprK9wB9iA" visible="false" type="6009">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_SZ7ewSo0EeGxrprK9wB9iA" y="60"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_SZ7ewio0EeGxrprK9wB9iA" type="6023">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_SZ7ewyo0EeGxrprK9wB9iA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_SZ63sSo0EeGxrprK9wB9iA" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Dependency" href="corec.uml#_SXkHQCo0EeGxrprK9wB9iA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SZ63sio0EeGxrprK9wB9iA" points="[19, -6, -74, 0]$[85, -6, -8, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sd71ACo0EeGxrprK9wB9iA" id="(0.963531669865643,0.32298136645962733)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sd71ASo0EeGxrprK9wB9iA" id="(0.16666666666666666,0.5084745762711864)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_OhgzgD8AEeGJ6KSvhYhYuQ" type="CompositeStructure" name="CallActivation" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_SgFh4D8AEeGJ6KSvhYhYuQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SgGI8D8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SgGI8T8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SgGI8j8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SgGI8z8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SgGI9D8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SgGI9T8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_SgGI9j8AEeGJ6KSvhYhYuQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_SgGI9z8AEeGJ6KSvhYhYuQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_SgGI-D8AEeGJ6KSvhYhYuQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SgGI-T8AEeGJ6KSvhYhYuQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_dcQ7kD8AEeGJ6KSvhYhYuQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcSJsD8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcSJsT8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcSJsj8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcSJsz8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcSJtD8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcSJtT8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ocoRsD8AEeGJ6KSvhYhYuQ" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o2fjMD8AEeGJ6KSvhYhYuQ" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o2fjMT8AEeGJ6KSvhYhYuQ" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o2fjMj8AEeGJ6KSvhYhYuQ" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o2fjMz8AEeGJ6KSvhYhYuQ" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o2fjND8AEeGJ6KSvhYhYuQ" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_dcSJtj8AEeGJ6KSvhYhYuQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kA0sEFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nFWNAFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_dcSwwD8AEeGJ6KSvhYhYuQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_dcSwwT8AEeGJ6KSvhYhYuQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_dcSwwj8AEeGJ6KSvhYhYuQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dcRioD8AEeGJ6KSvhYhYuQ" x="-10" y="23"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_dcSwwz8AEeGJ6KSvhYhYuQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcTX0D8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcTX0T8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcTX0j8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcTX0z8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcTX1D8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcTX1T8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m_hagD8AEeGJ6KSvhYhYuQ" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ndPRQD8AEeGJ6KSvhYhYuQ" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ndP4UD8AEeGJ6KSvhYhYuQ" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ndP4UT8AEeGJ6KSvhYhYuQ" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ndP4Uj8AEeGJ6KSvhYhYuQ" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ndP4Uz8AEeGJ6KSvhYhYuQ" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_dcTX1j8AEeGJ6KSvhYhYuQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kq-cUFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nqWXgFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_dcTX1z8AEeGJ6KSvhYhYuQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_dcTX2D8AEeGJ6KSvhYhYuQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_dcTX2T8AEeGJ6KSvhYhYuQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dcSwxD8AEeGJ6KSvhYhYuQ" x="360" y="23"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_e6Y_EChYEd-eoo60eNyGlg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SgFh4T8AEeGJ6KSvhYhYuQ" x="117" y="99" width="370"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_S-NoUD8AEeGJ6KSvhYhYuQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S-OPYD8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S-OPYT8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S-OPYj8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S-OPYz8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S-OPZD8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S-OPZT8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_S-O2cD8AEeGJ6KSvhYhYuQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_S-O2cT8AEeGJ6KSvhYhYuQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_S-O2cj8AEeGJ6KSvhYhYuQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S-O2cz8AEeGJ6KSvhYhYuQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_1JUC4D8EEeGJ6KSvhYhYuQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JUp8D8EEeGJ6KSvhYhYuQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JUp8T8EEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JUp8j8EEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JUp8z8EEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JVRAD8EEeGJ6KSvhYhYuQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JVRAT8EEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7SckUD8EEeGJ6KSvhYhYuQ" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1E6gcD_HEeGFNeu-9sDdyA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1E6gcT_HEeGFNeu-9sDdyA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1E6gcj_HEeGFNeu-9sDdyA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1E6gcz_HEeGFNeu-9sDdyA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1E7HgD_HEeGFNeu-9sDdyA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_1JVRAj8EEeGJ6KSvhYhYuQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l3gg4FbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mBsXoFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JVRAz8EEeGJ6KSvhYhYuQ" x="27" y="18"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_1JVRBD8EEeGJ6KSvhYhYuQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JVRBT8EEeGJ6KSvhYhYuQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_N0tB4Cu4Ed-uZPFNCty7PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1JUC4T8EEeGJ6KSvhYhYuQ" x="45" y="63"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_1JVRBj8EEeGJ6KSvhYhYuQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JV4ED8EEeGJ6KSvhYhYuQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JV4ET8EEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JV4Ej8EEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JV4Ez8EEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JV4FD8EEeGJ6KSvhYhYuQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JV4FT8EEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wvweED_HEeGFNeu-9sDdyA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xWu-gD_HEeGFNeu-9sDdyA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xWu-gT_HEeGFNeu-9sDdyA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xWu-gj_HEeGFNeu-9sDdyA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xWu-gz_HEeGFNeu-9sDdyA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xWu-hD_HEeGFNeu-9sDdyA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_1JV4Fj8EEeGJ6KSvhYhYuQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lQgyUFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lXdH0FbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JV4Fz8EEeGJ6KSvhYhYuQ" x="27" y="27"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_1JWfID8EEeGJ6KSvhYhYuQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JWfIT8EEeGJ6KSvhYhYuQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1JVRBz8EEeGJ6KSvhYhYuQ" x="99" y="27"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_1JWfIj8EEeGJ6KSvhYhYuQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JXGMD8EEeGJ6KSvhYhYuQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JXGMT8EEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JXGMj8EEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JXGMz8EEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JXtQD8EEeGJ6KSvhYhYuQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JXtQT8EEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uBA_4D_HEeGFNeu-9sDdyA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2z-qUD_HEeGFNeu-9sDdyA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2z-qUT_HEeGFNeu-9sDdyA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2z-qUj_HEeGFNeu-9sDdyA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2z_RYD_HEeGFNeu-9sDdyA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2z_RYT_HEeGFNeu-9sDdyA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_1JXtQj8EEeGJ6KSvhYhYuQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jaFcMFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mifXkFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JXtQz8EEeGJ6KSvhYhYuQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_1JXtRD8EEeGJ6KSvhYhYuQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JXtRT8EEeGJ6KSvhYhYuQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1JWfIz8EEeGJ6KSvhYhYuQ" x="-10" y="27"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_qgzokChYEd-eoo60eNyGlg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S-NoUT8AEeGJ6KSvhYhYuQ" x="117" y="189" width="109" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_TeWg8D8AEeGJ6KSvhYhYuQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TeWg8j8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TeXIAD8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TeXIAT8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TeXIAj8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TeXIAz8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TeXIBD8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_TeXIBT8AEeGJ6KSvhYhYuQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_TeXIBj8AEeGJ6KSvhYhYuQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_TeXIBz8AEeGJ6KSvhYhYuQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TeXICD8AEeGJ6KSvhYhYuQ"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_2wMyEChiEd-eoo60eNyGlg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TeWg8T8AEeGJ6KSvhYhYuQ" x="252" y="189"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_T7ZpUD8AEeGJ6KSvhYhYuQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T7aQYD8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_T7aQYT8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T7aQYj8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_T7aQYz8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T7aQZD8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_T7aQZT8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_T7aQZj8AEeGJ6KSvhYhYuQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_T7aQZz8AEeGJ6KSvhYhYuQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_T7aQaD8AEeGJ6KSvhYhYuQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T7aQaT8AEeGJ6KSvhYhYuQ"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_6rmQoChiEd-eoo60eNyGlg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T7ZpUT8AEeGJ6KSvhYhYuQ" x="387" y="189" width="95"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_gXAOYD8AEeGJ6KSvhYhYuQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gXA1cD8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gXA1cT8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gXA1cj8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gXA1cz8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gXA1dD8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gXA1dT8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_gXA1dj8AEeGJ6KSvhYhYuQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_gXBcgD8AEeGJ6KSvhYhYuQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_gXBcgT8AEeGJ6KSvhYhYuQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gXBcgj8AEeGJ6KSvhYhYuQ"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_KxQBELuXEd2TTr3gJIvazw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gXAOYT8AEeGJ6KSvhYhYuQ" x="117" y="18" width="370"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_aCZK0D8CEeGJ6KSvhYhYuQ" type="2109" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aCZx4D8CEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aCZx4T8CEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aCZx4j8CEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aCZx4z8CEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aCZx5D8CEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aCZx5T8CEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_aCZx5j8CEeGJ6KSvhYhYuQ" type="5192"/>
-      <element xmi:type="uml:Comment" href="corec.uml#_aAH58D8CEeGJ6KSvhYhYuQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aCZK0T8CEeGJ6KSvhYhYuQ" x="72" y="297" width="336" height="91"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_jQ_BUD8CEeGJ6KSvhYhYuQ" type="2067" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQ_BUj8CEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQ_BUz8CEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQ_oYD8CEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQ_oYT8CEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQ_oYj8CEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQ_oYz8CEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_jQ_oZD8CEeGJ6KSvhYhYuQ" type="5119"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_jQ_oZT8CEeGJ6KSvhYhYuQ" type="7048">
-        <children xmi:type="notation:Shape" xmi:id="_XhHrcD8DEeGJ6KSvhYhYuQ" type="3066" fontName="" fontHeight="10" lineColor="0">
-          <element xmi:type="uml:EnumerationLiteral" href="corec.uml#_mzqd4D8CEeGJ6KSvhYhYuQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_XhHrcT8DEeGJ6KSvhYhYuQ" x="63"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_XhjwUD8DEeGJ6KSvhYhYuQ" type="3066" fontName="" fontHeight="10" lineColor="0">
-          <element xmi:type="uml:EnumerationLiteral" href="corec.uml#_qdIe8D8CEeGJ6KSvhYhYuQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_XhjwUT8DEeGJ6KSvhYhYuQ" x="63"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_XiAcQD8DEeGJ6KSvhYhYuQ" type="3066" fontName="" fontHeight="10" lineColor="0">
-          <element xmi:type="uml:EnumerationLiteral" href="corec.uml#_rOMvgD8CEeGJ6KSvhYhYuQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_XiAcQT8DEeGJ6KSvhYhYuQ" x="63"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_jQ_oZj8CEeGJ6KSvhYhYuQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_jQ_oZz8CEeGJ6KSvhYhYuQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_jQ_oaD8CEeGJ6KSvhYhYuQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jQ_oaT8CEeGJ6KSvhYhYuQ"/>
-      </children>
-      <element xmi:type="uml:Enumeration" href="corec.uml#_hcwDkD8CEeGJ6KSvhYhYuQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jQ_BUT8CEeGJ6KSvhYhYuQ" x="441" y="261" width="164"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_OhgzgT8AEeGJ6KSvhYhYuQ"/>
-    <element xmi:type="uml:Package" href="corec.uml#_aQ7goChYEd-eoo60eNyGlg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_WFrvkD8AEeGJ6KSvhYhYuQ" type="4015" source="_S-NoUD8AEeGJ6KSvhYhYuQ" target="_SgFh4D8AEeGJ6KSvhYhYuQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_WFtkwD8AEeGJ6KSvhYhYuQ" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_WFuL0D8AEeGJ6KSvhYhYuQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_WFrvkT8AEeGJ6KSvhYhYuQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_sW6OkChYEd-eoo60eNyGlg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WFrvkj8AEeGJ6KSvhYhYuQ" points="[-8, -29, 27, 101]$[-27, -100, 8, 30]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tiKoID8AEeGJ6KSvhYhYuQ" id="(0.15135135135135136,0.8813559322033898)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_XN1DYD8AEeGJ6KSvhYhYuQ" type="4015" source="_TeWg8D8AEeGJ6KSvhYhYuQ" target="_SgFh4D8AEeGJ6KSvhYhYuQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_XN1qcD8AEeGJ6KSvhYhYuQ" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_XN1qcT8AEeGJ6KSvhYhYuQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_XN1DYT8AEeGJ6KSvhYhYuQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_5AKpkChiEd-eoo60eNyGlg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XN1DYj8AEeGJ6KSvhYhYuQ" points="[-7, -29, 37, 186]$[-38, -185, 6, 30]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_YLQU8D8AEeGJ6KSvhYhYuQ" type="4015" source="_T7ZpUD8AEeGJ6KSvhYhYuQ" target="_SgFh4D8AEeGJ6KSvhYhYuQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_YLQ8AD8AEeGJ6KSvhYhYuQ" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_YLQ8AT8AEeGJ6KSvhYhYuQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_YLQU8T8AEeGJ6KSvhYhYuQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_892AEChiEd-eoo60eNyGlg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YLQU8j8AEeGJ6KSvhYhYuQ" points="[-2, -29, 15, 281]$[-16, -280, 1, 30]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vL-ekD8AEeGJ6KSvhYhYuQ" id="(0.8729729729729729,0.8983050847457628)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_gXiZ4D8AEeGJ6KSvhYhYuQ" type="4015" source="_SgFh4D8AEeGJ6KSvhYhYuQ" target="_gXAOYD8AEeGJ6KSvhYhYuQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_gXjA8D8AEeGJ6KSvhYhYuQ" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_gXjA8T8AEeGJ6KSvhYhYuQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_gXiZ4T8AEeGJ6KSvhYhYuQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_oJX3IChYEd-eoo60eNyGlg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gXiZ4j8AEeGJ6KSvhYhYuQ" points="[-103, -29, 202, 58]$[-305, -87, 0, 0]"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_DfG8kF7qEeGEmrrwB1vhPg" type="CompositeStructure" name="CompositeDiagram CallMultiplier" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_EYv6UF7qEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EYwhYF7qEeGEmrrwB1vhPg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EYwhYV7qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EYwhYl7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EYwhY17qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EYwhZF7qEeGEmrrwB1vhPg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EYwhZV7qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_c85eMF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c86FQF7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c86FQV7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c86FQl7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c9de4F7tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c9de4V7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_EYwhZl7qEeGEmrrwB1vhPg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_EYwhZ17qEeGEmrrwB1vhPg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_EYwhaF7qEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EYwhaV7qEeGEmrrwB1vhPg"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_KxQBELuXEd2TTr3gJIvazw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EYv6UV7qEeGEmrrwB1vhPg" x="135" y="72" width="154" height="64"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_FWtXYF7qEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FWtXYl7qEeGEmrrwB1vhPg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FWtXY17qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FWt-cF7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FWt-cV7qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FWt-cl7qEeGEmrrwB1vhPg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FWt-c17qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XrOJMF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwQF7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwQV7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwQl7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwQ17tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwRF7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_FWt-dF7qEeGEmrrwB1vhPg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_FWt-dV7qEeGEmrrwB1vhPg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_FWt-dl7qEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FWt-d17qEeGEmrrwB1vhPg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_udKFYF7sEeGEmrrwB1vhPg" type="3069" fontName="Arial" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udKFYl7sEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udKFY17sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udKscF7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udKscV7sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udKscl7sEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udKsc17sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_66tLMF7sEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-FcF7sEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-FcV7sEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-Fcl7sEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-Fc17sEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-FdF7sEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_udKsdF7sEeGEmrrwB1vhPg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fcEHcFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PQ7DkFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_udKsdV7sEeGEmrrwB1vhPg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_udKsdl7sEeGEmrrwB1vhPg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_udKsd17sEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_udKFYV7sEeGEmrrwB1vhPg" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_udLTgF7sEeGEmrrwB1vhPg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udLTgl7sEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udLTg17sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udLThF7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udLThV7sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udL6kF7sEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udL6kV7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3KisQF7sEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gixcF7sEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gjYgF7sEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gjYgV7sEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gjYgl7sEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gjYg17sEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_udL6kl7sEeGEmrrwB1vhPg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_f-9ZIFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_f-9ZIVbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="30"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_udL6k17sEeGEmrrwB1vhPg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_udL6lF7sEeGEmrrwB1vhPg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_udL6lV7sEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_udLTgV7sEeGEmrrwB1vhPg" x="144" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_Whe8EClYEd-eoo60eNyGlg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FWtXYV7qEeGEmrrwB1vhPg" x="135" y="198" width="154" height="64"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_b3o7wF7sEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b3pi0F7sEeGEmrrwB1vhPg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b3pi0V7sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b3pi0l7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b3pi017sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b3pi1F7sEeGEmrrwB1vhPg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b3pi1V7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bkoqwF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqwV7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqwl7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqw17tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqxF7tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqxV7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_b3pi1l7sEeGEmrrwB1vhPg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_b3pi117sEeGEmrrwB1vhPg" type="7073">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z3t18F7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udAF7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udAV7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udAl7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udA17tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udBF7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_b3pi2F7sEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b3pi2V7sEeGEmrrwB1vhPg"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_TLShkF7qEeGEmrrwB1vhPg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b3o7wV7sEeGEmrrwB1vhPg" x="423" y="71" width="154" height="65"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_ck0K0F7sEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ck0x4F7sEeGEmrrwB1vhPg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ck0x4V7sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ck0x4l7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ck0x417sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ck0x5F7sEeGEmrrwB1vhPg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ck0x5V7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UBwvMF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBwvMV7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBxWQF7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBxWQV7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBxWQl7tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBxWQ17tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ck0x5l7sEeGEmrrwB1vhPg" type="5156">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VCInEF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgMF7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgMV7tEeGEmrrwB1vhPg" key="StereotypeList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgMl7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgM17tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgNF7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_ck0x517sEeGEmrrwB1vhPg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_ck0x6F7sEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ck0x6V7sEeGEmrrwB1vhPg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_qrnGYF7sEeGEmrrwB1vhPg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qrntcF7sEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qrntcV7sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qrntcl7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qrntc17sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qroUgF7sEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qroUgV7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zr6CMF7sEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HjcYF7sEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HjcYV7sEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HkDcF7sEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HkDcV7sEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HkDcl7sEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qroUgl7sEeGEmrrwB1vhPg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ds_9kFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QJj7wFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="60"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qroUg17sEeGEmrrwB1vhPg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qroUhF7sEeGEmrrwB1vhPg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qroUhV7sEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qrnGYV7sEeGEmrrwB1vhPg" x="147" y="38"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_qroUhl7sEeGEmrrwB1vhPg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qro7kF7sEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qro7kV7sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qro7kl7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qro7k17sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qro7lF7sEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qro7lV7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1PKksF7sEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpAF7sEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpAV7sEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpAl7sEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpA17sEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpBF7sEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qro7ll7sEeGEmrrwB1vhPg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dHyXsFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PvAGsFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qro7l17sEeGEmrrwB1vhPg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qro7mF7sEeGEmrrwB1vhPg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qro7mV7sEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corec.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qroUh17sEeGEmrrwB1vhPg" x="-10" y="38"/>
-      </children>
-      <element xmi:type="uml:Class" href="corec.uml#_Mo2kwF7pEeGEmrrwB1vhPg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ck0K0V7sEeGEmrrwB1vhPg" x="420" y="196" width="157" height="66"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_DfG8kV7qEeGEmrrwB1vhPg"/>
-    <element xmi:type="uml:Package" href="corec.uml#_ZISNcIQzEd2_fLv04swWfw"/>
-    <edges xmi:type="notation:Connector" xmi:id="_GsuIEF7qEeGEmrrwB1vhPg" type="4015" source="_FWtXYF7qEeGEmrrwB1vhPg" target="_EYv6UF7qEeGEmrrwB1vhPg" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_GsvWMF7qEeGEmrrwB1vhPg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_GsvWMV7qEeGEmrrwB1vhPg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_GsuIEV7qEeGEmrrwB1vhPg" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_lYOSkClzEd-eoo60eNyGlg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GsuIEl7qEeGEmrrwB1vhPg" points="[-4, -29, 13, 99]$[-13, -98, 4, 30]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_eJ55UF7sEeGEmrrwB1vhPg" type="4015" source="_ck0K0F7sEeGEmrrwB1vhPg" target="_b3o7wF7sEeGEmrrwB1vhPg" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_eJ6gYF7sEeGEmrrwB1vhPg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_eJ6gYV7sEeGEmrrwB1vhPg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_eJ55UV7sEeGEmrrwB1vhPg" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corec.uml#_eJqowF7sEeGEmrrwB1vhPg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eJ55Ul7sEeGEmrrwB1vhPg" points="[-9, -10, -7, 96]$[-9, -76, -7, 30]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eKfIIF7sEeGEmrrwB1vhPg" id="(0.504424778761062,0.1694915254237288)"/>
-    </edges>
-  </notation:Diagram>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/corec.uml b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/corec.uml
deleted file mode 100644
index 7b800fb..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/corec.uml
+++ /dev/null
@@ -1,1507 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:l2="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML">
-  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="core" viewpoint="">
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
-      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_clzbsC3xEd6OqY3qskOtLQ">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/sysinterfaces.uml#_RodVAAweEd6it_RkGhz_AA"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_hWGaIF9CEd6vU6EJjexEKQ">
-      <importedPackage xmi:type="uml:Model" href="pathmap://PDML_IDL/corba.uml#_DtQEwDLdEd2_U4efLnjQIw"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_K9IBUP-FEd6628OhKk_dpg">
-      <importedPackage xmi:type="uml:Model" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_DV8nkBv8EduZN5aJJITI5w"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_mXnzUPQdEeCIC-7tA9lfzA">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/osal.uml#_ROTQYC-OEdySSa8YESkO2w"/>
-    </packageImport>
-    <packagedElement xmi:type="uml:Package" xmi:id="_TFq8cOy6Ed2UrumbR9YAVg" name="composites">
-      <packagedElement xmi:type="uml:Class" xmi:id="_WK3LwOy6Ed2UrumbR9YAVg" name="Composite">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_IiLnAMFjEd-Mveea1W_olA">
-          <body>currently unused, not sure whether really needed</body>
-        </ownedComment>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_2JtG8Oy6Ed2UrumbR9YAVg" name="b:createConnections" visibility="package" specification="_wlXUoOy6Ed2UrumbR9YAVg">
-          <language>C/C++</language>
-          <body>[template (clazz: Class)]
-/* --- create internal connections --- */
-[for (connector : Connector | clazz.getOwnedConnectors())]%>
-	[comment call createConnection (this = connector instance) define in utils /]
-	// connector [connector.name/]
-	[createConnection(connector)/]
-[/for]
-[/template]</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_D83p8Oy9Ed2UrumbR9YAVg" name="b:setup" specification="_BTEWIOy9Ed2UrumbR9YAVg">
-          <language>C/C++</language>
-          <body>[template (clazz: Class)]
-// createParts
-// assign implementations fixed at component design time
-[for (Property part | clazz.part)]
-	[if (type.isImplementation)]
-	[part.name/] = &amp;m_[part.name/]_impl;
-	[/if]
-[/for]
-	
-// assign implementation fixed at deployment time
-[for (Property part | clazz.part)]
-	[if (type.isImplementation)]
-m_[part.name/] = [part.name/]
-	[/if]
-[/for]
-[/template]</body>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_wlXUoOy6Ed2UrumbR9YAVg" name="createConnections" method="_2JtG8Oy6Ed2UrumbR9YAVg"/>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_BTEWIOy9Ed2UrumbR9YAVg" name="setup" method="_D83p8Oy9Ed2UrumbR9YAVg"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_1RehUAGpEd6eR-dxi5su4Q" name="BootLoader">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_JMwYwMGJEd-Mveea1W_olA">
-          <body>A template for the bootloader generation.</body>
-        </ownedComment>
-        <ownedComment xmi:type="uml:Comment" xmi:id="_JM4UkMGJEd-Mveea1W_olA">
-          <body>This C++ implementation of the template contains principally the definition of the 
-&quot;main&quot; function and the declaration of the bootloader instance</body>
-        </ownedComment>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_AFnZUAGqEd6eR-dxi5su4Q" name="b:createInstances" specification="_3kwykAGpEd6eR-dxi5su4Q">
-          <language>C/C++</language>
-          <body>&lt;%createInstances%></body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_IbrFUAGqEd6eR-dxi5su4Q" name="b:main" specification="_6pkAUAGpEd6eR-dxi5su4Q"/>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_3kwykAGpEd6eR-dxi5su4Q" name="createInstances" method="_AFnZUAGqEd6eR-dxi5su4Q"/>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_6pkAUAGpEd6eR-dxi5su4Q" name="main" isStatic="true" method="_IbrFUAGqEd6eR-dxi5su4Q"/>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_mMCK8PiPEd2UhpY2Y3WUyg" name="methodCall">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_WiuBUK8rEeCXIcykFPsB8Q" annotatedElement="_mMCK8PiPEd2UhpY2Y3WUyg">
-        <body>Main package template for all call based connectors. The formal parameter is the interface I (which is bound to the actual interface used in a call).
-This package is virtually extended by other model libraries who import it.</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="__oxUADrVEeGMCcwsbpLuFA" annotatedElement="_j29X4NttEd2eM5kqcby5ZA">
-        <body>Inheritance hierarchy for (A)SyncCall component types. Separate types for required (rconn) and provided (fconn) ports enable re-use via inheritance ain multiple places (e.g. for AMI ports that use an unmodified provided port and different variants of a required port).
-Note that ports on connector side are conjugated</body>
-      </ownedComment>
-      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_V0b2APfBEd2TbIfwytOyPA" parameter="_WzWVUPfBEd2TbIfwytOyPA">
-        <ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_WzWVUPfBEd2TbIfwytOyPA" parameteredElement="_ZzlzMPfBEd2TbIfwytOyPA">
-          <ownedParameteredElement xmi:type="uml:Interface" xmi:id="_ZzlzMPfBEd2TbIfwytOyPA" name="I" templateParameter="_WzWVUPfBEd2TbIfwytOyPA"/>
-        </ownedParameter>
-      </ownedTemplateSignature>
-      <packagedElement xmi:type="uml:Package" xmi:id="_ZISNcIQzEd2_fLv04swWfw" name="AsyncCall">
-        <packagedElement xmi:type="uml:Class" xmi:id="_KxQBELuXEd2TTr3gJIvazw" name="AsyncCall" isAbstract="true">
-          <generalization xmi:type="uml:Generalization" xmi:id="_0KzSsDBEEd6V16eboHV1gw" general="_j29X4NttEd2eM5kqcby5ZA"/>
-          <generalization xmi:type="uml:Generalization" xmi:id="_1H2JwDBEEd6V16eboHV1gw" general="_mIpj8Ns8Ed2eM5kqcby5ZA"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_Whe8EClYEd-eoo60eNyGlg" clientDependency="_nBpugClzEd-eoo60eNyGlg" name="AsyncCall_impl">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_sp9YYG5fEd-5CZIeuHpHAg">
-            <body>Description: A simple implementation of asynchronous calls. It will execution requests by means of a single dispatcher thread</body>
-          </ownedComment>
-          <ownedComment xmi:type="uml:Comment" xmi:id="_HMz-ADJKEeCAhMtIsY9HwA">
-            <body>Simple asynchronous call implementation: returns immediately and executes request in new thread</body>
-          </ownedComment>
-          <ownedComment xmi:type="uml:Comment" xmi:id="_bustsDJKEeCAhMtIsY9HwA">
-            <body>Uses buffer and ASN marshalling.
-TODO: configurable buffer size, use data structure (CppParameterStorage)</body>
-          </ownedComment>
-          <generalization xmi:type="uml:Generalization" xmi:id="_lYOSkClzEd-eoo60eNyGlg" general="_KxQBELuXEd2TTr3gJIvazw"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_1XeLIED5Ed-_DOja_sRgWA" name="buffer" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8wC7MED5Ed-_DOja_sRgWA" value="500"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8wLeEED5Ed-_DOja_sRgWA" value="500"/>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_2fcqYED6Ed-_DOja_sRgWA" name="pBuffer" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-          </ownedAttribute>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_nBpugClzEd-eoo60eNyGlg" name="derived realization of I" client="_Whe8EClYEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_WhfjIilYEd-eoo60eNyGlg" name="[name/]" specification="_2bwsEClzEd-eoo60eNyGlg">
-            <language>C/C++</language>
-            <body>[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool/]
-[import org::eclipse::papyrus::qompass::designer::core::acceleo::utils_cpp/]
-
-[template public op(operation : Operation)]
-// TODO: need suitable constant dimensioning
-pBuffer = &amp;buffer['['/]500[']'/];  // grows backwards
-int operationID = ID_[operation.name/];
-	
-// now marshall in and inout parameters via ASN.1
-[for (parameter : Parameter | operation.parametersInInout())]
-{
-	[parameter.type.cppType()/] varName_ASN = [parameter.name/];
-	BEncAsnContent (&amp;pBuffer, &amp;varName_ASN);
-}
-[/for]
-BEncAsnContent (&amp;pBuffer, &amp;operationID);
-
-pthread_t pt;
-pthread_create (&amp;pt, NULL, staticDispatch, (void *) this);
-// TODO: add semaphore which assures that subsequent calls to [operation.name/] are not executed before dispatch
-// has removed the parameters from the pBuffer stack (pBuffer can be corrupted).
-[/template]</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_WhfjIylYEd-eoo60eNyGlg" name="static[name/]" specification="_WhfjJSlYEd-eoo60eNyGlg">
-            <language>C/C++</language>
-            <body>((AsyncCall_impl *) arg)->dispatch ();
-return NULL;
-</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_nV2DcED5Ed-_DOja_sRgWA" name="dispatch" specification="_G6LzAD3QEd-Bk-AHd6yyoA">
-            <language>C/C++</language>
-            <body>[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool/]
-[import org::eclipse::papyrus::qompass::designer::core::acceleo::utils_cpp/]
-
-[template public dispatch(clazz : Class)]
-int operationID;
-BDecAsnContent (&amp;pBuffer, operationID);
-switch (operationID)
-{
-[for (operation : Operation | clazz.ownedOperation)]
-  case ID_[operation.name/]
-	{
-	[for (parameter : Parameter | operation.parametersInInout()->reverse())]
-		[parameter.type.cppType()/] [parameter.name/]
-		{
-			[parameter.type.cppType()/] varName_ASN; 
-			BDecAsnContent (&amp;pBuffer, &amp;varName_ASN);
-			[parameter.name/] = varName_ASN;
-		}
-	[/for]
-		// delegate call to executor
-		rconn->[operation.cppCall()/];
-		break;
-	}
-[/for]
-}
-[/template]</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_WhfjJSlYEd-eoo60eNyGlg" name="staticDispatch" isStatic="true" method="_WhfjIylYEd-eoo60eNyGlg">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_WhfjJilYEd-eoo60eNyGlg" name="arg">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WhfjKClYEd-eoo60eNyGlg" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WhfjJylYEd-eoo60eNyGlg" value="1"/>
-              <defaultValue xmi:type="uml:LiteralString" xmi:id="_WhfjKSlYEd-eoo60eNyGlg">
-                <value xsi:nil="true"/>
-              </defaultValue>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_WhfjKilYEd-eoo60eNyGlg" name="ret" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            </ownedParameter>
-          </ownedOperation>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_2bwsEClzEd-eoo60eNyGlg" name="[name/]" method="_WhfjIilYEd-eoo60eNyGlg"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_G6LzAD3QEd-Bk-AHd6yyoA" name="dispatch" method="_nV2DcED5Ed-_DOja_sRgWA"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_pXzKcEJ1Ed-Ps4Bfh0j9LQ" clientDependency="_pXzxh0J1Ed-Ps4Bfh0j9LQ" name="AsyncCallPool_impl">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_spsPMDJKEeCAhMtIsY9HwA">
-            <body>(untested) implementation of an asynchronous invocation that uses a thread pool for
-spawning new requests</body>
-          </ownedComment>
-          <generalization xmi:type="uml:Generalization" xmi:id="_pXzKcUJ1Ed-Ps4Bfh0j9LQ" general="_KxQBELuXEd2TTr3gJIvazw"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_pXzxgEJ1Ed-Ps4Bfh0j9LQ" name="buffer" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pXzxgkJ1Ed-Ps4Bfh0j9LQ" value="500"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pXzxgUJ1Ed-Ps4Bfh0j9LQ" value="500"/>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_pXzxg0J1Ed-Ps4Bfh0j9LQ" name="pBuffer" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-          </ownedAttribute>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_pXzxh0J1Ed-Ps4Bfh0j9LQ" name="derived realization of I" client="_pXzKcEJ1Ed-Ps4Bfh0j9LQ" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_pXzxhEJ1Ed-Ps4Bfh0j9LQ" name="[name/]" specification="_pXzxjkJ1Ed-Ps4Bfh0j9LQ">
-            <language>C/C++</language>
-            <body>[template marshall(operation: Operation)]
-// TODO: need suitable constant dimensioning
-pBuffer = &amp;buffer[500];  // grows backwards
-int operationID = ID_[operation.name/];
-	
-// now marshall in and inout parameters via ASN.1
-for (parameter : Parameter | parametersInInout(operation)]
-{
-	[cppType(parameter.type)/] varName_ASN = [parameter.name/];
-	BEncAsnContent (&amp;pBuffer, &amp;varName_ASN);
-}
-[/for]
-BEncAsnContent (&amp;pBuffer, &amp;operationID);
-
-// find associated thread and signal its semaphore
-// pass &quot;this&quot; to access buffer
-// pthread_t pt;
-// pthread_create (&amp;pt, NULL, staticDispatch, (void *) this);
-// TODO: add semaphore which assures that 2 snd calls to [operation.name/] is not done before dispatch
-// is executed
-[/template]
-</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_pXzxhUJ1Ed-Ps4Bfh0j9LQ" name="static[name/]" specification="_pXzxiEJ1Ed-Ps4Bfh0j9LQ">
-            <language>C/C++</language>
-            <body>((AsyncCall_impl *) arg)->dispatch ();
-return NULL;
-</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_pXzxhkJ1Ed-Ps4Bfh0j9LQ" name="dispatch" specification="_pXzxj0J1Ed-Ps4Bfh0j9LQ">
-            <language>C/C++</language>
-            <body>[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool/]
-[import org::eclipse::papyrus::qompass::designer::core::acceleo::utils_cpp/]
-
-[template public dispatch(clazz : Class)]
-int operationID;
-BDecAsnContent (&amp;pBuffer, operationID);
-switch (operationID)
-{
-[for (operation : Operation | clazz.ownedOperation)]
-  case ID_[operation.name/]
-	{
-	[for (parameter : Parameter | operation.parametersInInout()->reverse())]
-		[parameter.type.cppType()/] [parameter.name/]
-		{
-			[cppType(parameter.type)/] varName_ASN; 
-			BDecAsnContent (&amp;pBuffer, &amp;varName_ASN);
-			[parameter.name/] = varName_ASN;
-		}
-	[/for]
-		// delegate call to executor
-		[if (not (type = null))] [operation.type.cppType()/] ret = [/if]rconn->[operation.cppCall()/];
-	[for (parameter : Parameter | operation.parametersOutInout())]
-		{
-			[parameter.type.cppType()/] varName_ASN = [parameter.name/];
-			BEncAsnContent (&amp;pBuffer, &amp;varName_ASN);
-		}
-	[/for]
-		resultsReady = 1;
-		break;
-	}
-[/for]
-}
-[/template]
-</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_pXzxiEJ1Ed-Ps4Bfh0j9LQ" name="staticDispatch" isStatic="true" method="_pXzxhUJ1Ed-Ps4Bfh0j9LQ">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_pXzxiUJ1Ed-Ps4Bfh0j9LQ" name="arg">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pXzxi0J1Ed-Ps4Bfh0j9LQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pXzxikJ1Ed-Ps4Bfh0j9LQ" value="1"/>
-              <defaultValue xmi:type="uml:LiteralString" xmi:id="_pXzxjEJ1Ed-Ps4Bfh0j9LQ">
-                <value xsi:nil="true"/>
-              </defaultValue>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_pXzxjUJ1Ed-Ps4Bfh0j9LQ" name="ret" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            </ownedParameter>
-          </ownedOperation>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_pXzxjkJ1Ed-Ps4Bfh0j9LQ" name="[name/]" method="_pXzxhEJ1Ed-Ps4Bfh0j9LQ"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_pXzxj0J1Ed-Ps4Bfh0j9LQ" name="dispatch" method="_pXzxhkJ1Ed-Ps4Bfh0j9LQ"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_3itBkNdwEd-ZnqCk2P2ZKg" clientDependency="_3itBmtdwEd-ZnqCk2P2ZKg" name="AMIPollCall_impl">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_3itBkddwEd-ZnqCk2P2ZKg">
-            <body>Description: A simple implementation of asynchronous calls. It will execution requests by means of a single dispatcher thread</body>
-          </ownedComment>
-          <ownedComment xmi:type="uml:Comment" xmi:id="_lEC3ADJLEeCAhMtIsY9HwA">
-            <body>Polling variant of corbas asynchronous messaging (AMI), enables asynchronous calls while reading
-return values (also called deferred synchronous):
-Instead of specified return values, functions return a poller object which may be queried for
-the result.
-TODO: complete, move into model of Qompass AMI plugin</body>
-          </ownedComment>
-          <generalization xmi:type="uml:Generalization" xmi:id="_3itBktdwEd-ZnqCk2P2ZKg" general="_KxQBELuXEd2TTr3gJIvazw"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_3itBk9dwEd-ZnqCk2P2ZKg" name="buffer" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3itBlddwEd-ZnqCk2P2ZKg" value="500"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3itBlNdwEd-ZnqCk2P2ZKg" value="500"/>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_3itBltdwEd-ZnqCk2P2ZKg" name="pBuffer" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-          </ownedAttribute>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_3itBmtdwEd-ZnqCk2P2ZKg" name="derived realization of I" client="_3itBkNdwEd-ZnqCk2P2ZKg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_3itBl9dwEd-ZnqCk2P2ZKg" name="[name/]" specification="_3itBoddwEd-ZnqCk2P2ZKg">
-            <language>C/C++</language>
-            <body>[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool/]
-[import org::eclipse::papyrus::qompass::designer::core::acceleo::utils_cpp/]
-
-[template public marshall(operation : Operation)]
-[if (operation.name.oclAsType(String).endsWith('Poll'))]
-[comment polling function/]
-if (!resultArrived) {
-	// wait for result, condition will be fired upon arrival
-	TimeVal timeVal = TimeVal::current () + timeout;
-	m_cond.waitUpto (timeout);
-}
-	[for (parameter : Parameter | operation.parametersInInout()->reverse())]
-		[parameter.type.cppType()/] [parameter.name/];
-		{
-			[parameter.type.cppType()/] varName_ASN; 
-			BDecAsnContent (&amp;pBuffer, &amp;varName_ASN);
-			[parameter.name/] = varName_ASN;
-		}
-	[/for]
-}
-[if (not (type = null))]return retValue;[/if]
-[else]
-// TODO: need suitable constant dimensioning
-pBuffer = &amp;buffer['['/]500[']'/];  // grows backwards
-int operationID = ID_[operation.name/];
-	
-// now marshall in and inout parameters via ASN.1
-[for (parameter : Parameter | operation.parametersInInout())]
-	[parameter.type.cppType()/] [parameter.name/];
-	{
-		[parameter.type.cppType()/] varName_ASN = [parameter.name/];
-		BEncAsnContent (&amp;pBuffer, &amp;varName_ASN);
-	}
-[/for]
-BEncAsnContent (&amp;pBuffer, &amp;operationID);
-
-pthread_t pt;
-pthread_create (&amp;pt, NULL, staticDispatch, (void *) this);
-// TODO: add semaphore which assures that subsequent calls to [operation.name/] are not executed before dispatch
-// has removed the parameters from the pBuffer stack (pBuffer can be corrupted).
-// even worse: buffer will be deallocated even without a 2nd call!
-[/if]
-[/template]</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_3itBmNdwEd-ZnqCk2P2ZKg" name="static[name/]" specification="_3itBm9dwEd-ZnqCk2P2ZKg">
-            <language>C/C++</language>
-            <body>((AsyncCall_impl *) arg)->dispatch ();
-return NULL;
-</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_3itBmddwEd-ZnqCk2P2ZKg" name="dispatch" specification="_3itBotdwEd-ZnqCk2P2ZKg">
-            <language>C/C++</language>
-            <body>[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool/]
-[import org::eclipse::papyrus::qompass::designer::core::acceleo::utils_cpp/]
-
-[template public dispatch(clazz : Class)]
-int operationID;
-BDecAsnContent (&amp;pBuffer, operationID);
-switch (operationID)
-{
-[for (operation : Operation | clazz.ownedOperation)]
-  case ID_[operation.name/]
-	{
-	[for (parameter : Parameter | operation.parametersInInout()->reverse())]
-		[parameter.type.cppType()/] [parameter.name/]
-		{
-			[cppType(parameter.type)/] varName_ASN; 
-			BDecAsnContent (&amp;pBuffer, &amp;varName_ASN);
-			[parameter.name/] = varName_ASN;
-		}
-	[/for]
-		// delegate call to executor
-		[if (not (type = null))] [operation.type.cppType()/] ret = [/if]rconn->[operation.cppCall()/];
-	[for (parameter : Parameter | operation.parametersOutInout())]
-		{
-			[parameter.type.cppType()/] varName_ASN = [parameter.name/];
-			BEncAsnContent (&amp;pBuffer, &amp;varName_ASN);
-		}
-	[/for]
-		resultsReady = 1;
-		break;
-	}
-[/for]
-}
-[/template]
-</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_3itBm9dwEd-ZnqCk2P2ZKg" name="staticDispatch" isStatic="true" method="_3itBmNdwEd-ZnqCk2P2ZKg">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_3itBnNdwEd-ZnqCk2P2ZKg" name="arg">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3itBntdwEd-ZnqCk2P2ZKg" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3itBnddwEd-ZnqCk2P2ZKg" value="1"/>
-              <defaultValue xmi:type="uml:LiteralString" xmi:id="_3itBn9dwEd-ZnqCk2P2ZKg">
-                <value xsi:nil="true"/>
-              </defaultValue>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_3itBoNdwEd-ZnqCk2P2ZKg" name="ret" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            </ownedParameter>
-          </ownedOperation>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_3itBoddwEd-ZnqCk2P2ZKg" name="[name/]" method="_3itBl9dwEd-ZnqCk2P2ZKg"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_3itBotdwEd-ZnqCk2P2ZKg" name="dispatch" method="_3itBmddwEd-ZnqCk2P2ZKg"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_Mo2kwF7pEeGEmrrwB1vhPg" clientDependency="_8e_ocF7sEeGEmrrwB1vhPg" name="CallMultiplier_impl">
-          <generalization xmi:type="uml:Generalization" xmi:id="_eJqowF7sEeGEmrrwB1vhPg" general="_TLShkF7qEeGEmrrwB1vhPg"/>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_8e_ocF7sEeGEmrrwB1vhPg" name="derived realization of I" client="_Mo2kwF7pEeGEmrrwB1vhPg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DmUQcF7tEeGEmrrwB1vhPg" name="operation1" specification="_ChD4kF7tEeGEmrrwB1vhPg">
-            <language>C/C++</language>
-            <body>[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool/]
-[import org::eclipse::papyrus::qompass::designer::core::acceleo::utils_cpp/]
-
-[template public multiply(operation : Operation)]
-for (int i=0; i&lt;9; i++) {
-	if (rconn['['/]i[']'/] != 0) {
-		rconn['['/]i[']'/]->[operation.cppCall()/];
-	}
-}
-[/template]</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_ChD4kF7tEeGEmrrwB1vhPg" name="[name/]" method="_DmUQcF7tEeGEmrrwB1vhPg"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_TLShkF7qEeGEmrrwB1vhPg" name="AsyncCallM" isAbstract="true">
-          <generalization xmi:type="uml:Generalization" xmi:id="_WhUpQF7qEeGEmrrwB1vhPg" general="_0KYOQF7pEeGEmrrwB1vhPg"/>
-          <generalization xmi:type="uml:Generalization" xmi:id="_XgUoIF7qEeGEmrrwB1vhPg" general="_j29X4NttEd2eM5kqcby5ZA"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Enumeration" xmi:id="_2oxDIPiPEd2UhpY2Y3WUyg" name="OperationIDs">
-        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_KOvHsPiREd2UhpY2Y3WUyg" name="ID_[name/]"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_j29X4NttEd2eM5kqcby5ZA" name="OPC_useI" isAbstract="true">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_P4xVsNtuEd2eM5kqcby5ZA" name="fconn" type="_ZzlzMPfBEd2TbIfwytOyPA" aggregation="composite" isConjugated="true"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_mIpj8Ns8Ed2eM5kqcby5ZA" name="OPC_provideI" isAbstract="true">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_Qk0jYNtuEd2eM5kqcby5ZA" name="rconn" visibility="public" type="_ZzlzMPfBEd2TbIfwytOyPA" aggregation="composite" isConjugated="true">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rftH8ENwEeGoAtSeIK7WLg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rfxZYENwEeGoAtSeIK7WLg" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_rf3gAENwEeGoAtSeIK7WLg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_gKMTIAytEd6it_RkGhz_AA" name="marshalling">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_9gpvcENxEeGoAtSeIK7WLg">
-          <body>Needs completion:
-good(?) write buffer event?
-Call operations of buffer component?
-[could have done in an identical way for EventPool]</body>
-        </ownedComment>
-        <ownedComment xmi:type="uml:Comment" xmi:id="_pk4cMEN_EeGfhclnRyNzoA">
-          <body>Marshalling is done at two levels:
-(1) In case of a shared address space, only a callEvent is created. It can be passed between threads within a process.
-(2) For remote communication, marshalling into a buffer is done.</body>
-        </ownedComment>
-        <packagedElement xmi:type="uml:Class" xmi:id="_b_yh4AzyEd6it_RkGhz_AA" name="Marshall" isAbstract="true">
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_rSCxUAytEd6it_RkGhz_AA" name="disp" visibility="public" aggregation="composite">
-            <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_7TuzoCUUEd6YR-YzyVnLng"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HZg9YPQSEeCovO8AYZymZQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HaX5APQSEeCovO8AYZymZQ" value="1"/>
-            <defaultValue xmi:type="uml:LiteralString" xmi:id="_Hfsd4PQSEeCovO8AYZymZQ">
-              <value xsi:nil="true"/>
-            </defaultValue>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_MhH6cENxEeGoAtSeIK7WLg" name="in" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QR4PQENxEeGoAtSeIK7WLg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QR5dYENxEeGoAtSeIK7WLg" value="1"/>
-          </ownedAttribute>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_fmF6MAzyEd6it_RkGhz_AA" name="Unmarshall" isAbstract="true">
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_r5Va0AytEd6it_RkGhz_AA" name="disp" visibility="public" aggregation="composite">
-            <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_7TuzoCUUEd6YR-YzyVnLng"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WNWcQEN-EeGfhclnRyNzoA" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WNY4gEN-EeGfhclnRyNzoA" value="1"/>
-            <defaultValue xmi:type="uml:LiteralString" xmi:id="_WNe_IEN-EeGfhclnRyNzoA">
-              <value xsi:nil="true"/>
-            </defaultValue>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_Zd558ENxEeGoAtSeIK7WLg" name="out" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aPDDAENxEeGoAtSeIK7WLg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aPERIENxEeGoAtSeIK7WLg" value="1"/>
-          </ownedAttribute>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_fPpr0K-jEd6DndT7kDY1-A" name="b:dispatch">
-            <specification xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#__aGzICUUEd6YR-YzyVnLng"/>
-          </ownedBehavior>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="__uJRYPNGEeCovO8AYZymZQ" name="StructBased">
-          <generalization xmi:type="uml:Generalization" xmi:id="_EWShMPNHEeCovO8AYZymZQ" general="_b_yh4AzyEd6it_RkGhz_AA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_qRJc8PNJEeCovO8AYZymZQ" name="[name/]" specification="_aGt1sPNJEeCovO8AYZymZQ">
-            <language>C/C++</language>
-            <body>[template marshallStruct(operation : Operation)]
-struct ParamData {
-[for (parameter : Parameter | parametersInInout(operation))]
-	int [cppType(name)/];
-[/for]
-};
-Event event;
-event.ID = [operation.name/];
-event.kind = CallEvent;
-ParamData * data = &amp;event.params; 
-[for (parameter : Parameter | parametersInInout(operation))]
-	data->[parameter.name/] = [parameter.name/];
-[/for]
-out->dispatch(event);</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_aGt1sPNJEeCovO8AYZymZQ" name="[name/]" method="_qRJc8PNJEeCovO8AYZymZQ"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_u7MmIENqEeGoAtSeIK7WLg" name="ToCallEvent">
-          <generalization xmi:type="uml:Generalization" xmi:id="_K088oF_rEd6RvK-1A151zQ" general="_j29X4NttEd2eM5kqcby5ZA"/>
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_-nk_cENqEeGoAtSeIK7WLg" name="out" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AdVAIENrEeGoAtSeIK7WLg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AdW1UENrEeGoAtSeIK7WLg" value="1"/>
-            <defaultValue xmi:type="uml:LiteralString" xmi:id="_Adf_QENrEeGoAtSeIK7WLg">
-              <value xsi:nil="true"/>
-            </defaultValue>
-          </ownedAttribute>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_1xGG8ENqEeGoAtSeIK7WLg" name="FromCallEventWP">
-          <generalization xmi:type="uml:Generalization" xmi:id="_M09FgF_rEd6RvK-1A151zQ" general="_mIpj8Ns8Ed2eM5kqcby5ZA"/>
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_9gIc8ENvEeGoAtSeIK7WLg" name="in" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9uDkMENvEeGoAtSeIK7WLg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9uEyUENvEeGoAtSeIK7WLg" value="1"/>
-          </ownedAttribute>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_H7IOcENrEeGoAtSeIK7WLg" name="ToCallEventWP">
-          <generalization xmi:type="uml:Generalization" xmi:id="_KHmGAENrEeGoAtSeIK7WLg" general="_j29X4NttEd2eM5kqcby5ZA"/>
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_i5SOQEN8EeGfhclnRyNzoA" name="out" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jRB_4EN8EeGfhclnRyNzoA" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jRtVUEN8EeGfhclnRyNzoA" value="1"/>
-          </ownedAttribute>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_RjvvcA1jEd6tvthBDl600Q" name="SyncCall">
-        <packagedElement xmi:type="uml:Class" xmi:id="_Zx2ZUA1jEd6tvthBDl600Q" name="SyncCall" isAbstract="true">
-          <generalization xmi:type="uml:Generalization" xmi:id="_STdvYDBFEd6V16eboHV1gw" general="_j29X4NttEd2eM5kqcby5ZA"/>
-          <generalization xmi:type="uml:Generalization" xmi:id="_T1zr4DBFEd6V16eboHV1gw" general="_mIpj8Ns8Ed2eM5kqcby5ZA"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_jOU60A1jEd6tvthBDl600Q" clientDependency="_1tfFAJyCEd6WR4pSVO_UYw" name="DirectCall_impl">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_MgKU8G5gEd-5CZIeuHpHAg">
-            <body>Description: This connector is a kind of dummy connector, since it only passes incoming requests to its caller port</body>
-          </ownedComment>
-          <ownedComment xmi:type="uml:Comment" xmi:id="_0fC3UDJJEeCAhMtIsY9HwA">
-            <body>Minimal connector implementation that does nothing (but passing requests)</body>
-          </ownedComment>
-          <ownedComment xmi:type="uml:Comment" xmi:id="_0fOdgDJJEeCAhMtIsY9HwA">
-            <body></body>
-          </ownedComment>
-          <generalization xmi:type="uml:Generalization" xmi:id="_lm4GkA1jEd6tvthBDl600Q" general="_Zx2ZUA1jEd6tvthBDl600Q"/>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_1tfFAJyCEd6WR4pSVO_UYw" name="derived realization of I" client="_jOU60A1jEd6tvthBDl600Q" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_GSdesJ09Ed6l5bTPBsl00Q" name="[name/]" specification="__y0hwJ08Ed6l5bTPBsl00Q">
-            <language>C/C++</language>
-            <body>[import org::eclipse::papyrus::qompass::designer::core::acceleo::utils_cpp/]
-
-[template public methodCall(operation : Operation)]
-// put pre-interceptors here
-[comment type is a derived property containing the operations return type/]
-[if not (operation.type = null)]return [/if]rconn->[operation.cppCall()/];
-// put post-interceptors here
-[/template]</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="__y0hwJ08Ed6l5bTPBsl00Q" name="[name/]" method="_GSdesJ09Ed6l5bTPBsl00Q"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_UAIU0K-iEd6DndT7kDY1-A" name="AdaptiveContainerServices">
-        <packagedElement xmi:type="uml:Class" xmi:id="_cxVEsK-iEd6DndT7kDY1-A" clientDependency="_v-oAAK-iEd6DndT7kDY1-A" name="SampleInterceptor">
-          <generalization xmi:type="uml:Generalization" xmi:id="_lrS8oAQxEd--t-uhRn9OBA" general="_Zx2ZUA1jEd6tvthBDl600Q"/>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_v-oAAK-iEd6DndT7kDY1-A" name="derived realization of I" client="_cxVEsK-iEd6DndT7kDY1-A" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_GTvA0K-jEd6DndT7kDY1-A" name="[name/]" specification="_16jy8K-iEd6DndT7kDY1-A">
-            <language>C/C++</language>
-            <body>cout &lt;&lt; &quot;this is a sample pre-call interception&quot; &lt;&lt; endl;
-rconn->&lt;%cppCall%>;
-cout &lt;&lt; &quot;this is a sample post-call interception&quot; &lt;&lt; endl;</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_16jy8K-iEd6DndT7kDY1-A" name="[name/]" method="_GTvA0K-jEd6DndT7kDY1-A"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_aQ7goChYEd-eoo60eNyGlg" name="CallActivation">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_aAH58D8CEeGJ6KSvhYhYuQ">
-          <body>A set of Leader followers is instantiated. Each has its own thread and a semaphore. The LF instance waits on its semaphore. When selectLeader is called, a follower is signaled (semaphore is posted) and will become leader. The leader waits for a resource (e.g. a socket) and becomes executor.
-</body>
-        </ownedComment>
-        <packagedElement xmi:type="uml:Class" xmi:id="_e6Y_EChYEd-eoo60eNyGlg" name="Activator">
-          <generalization xmi:type="uml:Generalization" xmi:id="_oJX3IChYEd-eoo60eNyGlg" general="_KxQBELuXEd2TTr3gJIvazw"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_qgzokChYEd-eoo60eNyGlg" clientDependency="_cWjrYCsAEd-uZPFNCty7PQ" name="LeaderFollower">
-          <generalization xmi:type="uml:Generalization" xmi:id="_sW6OkChYEd-eoo60eNyGlg" general="_e6Y_EChYEd-eoo60eNyGlg"/>
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_N0tB4Cu4Ed-uZPFNCty7PQ" name="listener" type="_fxfe8Cu1Ed-uZPFNCty7PQ" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UxKdsCu4Ed-uZPFNCty7PQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_UxM58Cu4Ed-uZPFNCty7PQ" value="1"/>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="__fLb4Cu5Ed-uZPFNCty7PQ" name="state" type="_F3CIECu1Ed-uZPFNCty7PQ" isUnique="false" aggregation="composite"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_M4VG8Cu9Ed-uZPFNCty7PQ" name="m_sema" type="_fxfe8Cu1Ed-uZPFNCty7PQ" isUnique="false" aggregation="composite"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_rmwGoCu-Ed-uZPFNCty7PQ" name="m_sr" isStatic="true" type="_qgzokChYEd-eoo60eNyGlg" isUnique="false" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zYwqYCu-Ed-uZPFNCty7PQ" value="20"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zY4mMCu-Ed-uZPFNCty7PQ" value="20"/>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_xukAICvDEd-uZPFNCty7PQ" name="m_tID" type="_5KatsCvDEd-uZPFNCty7PQ" isUnique="false" aggregation="composite"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_Xq00oCvHEd-uZPFNCty7PQ" name="POOL_SIZE" isStatic="true" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_ZmFncCvHEd-uZPFNCty7PQ" value="20"/>
-          </ownedAttribute>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_cWjrYCsAEd-uZPFNCty7PQ" name="derived realization of I" client="_qgzokChYEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_D8z3ECu1Ed-uZPFNCty7PQ" name="run" specification="_2FN1ICu0Ed-uZPFNCty7PQ">
-            <language>C/C++</language>
-            <body>for (;;) {
-	// wait to be become active
-	m_state = FOLLOWER;
-	sem_wait (&amp;m_sema);
-	m_state = LEADER;
-	listener->select();     // no loop, single select
-	selectLeader ();
-	m_state = EXECUTOR;
-	listener->exec();
-}
-
-</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_wXEiYCu7Ed-uZPFNCty7PQ" name="selectLeader" specification="_eHX3wCu7Ed-uZPFNCty7PQ">
-            <language>C/C++</language>
-            <body>// select a new leader from the followers
-for (int i = currentIndex+1, j=0; j&lt;POOL_SIZE; i++, j++)
-{
-	if (i == POOL_SIZE) {
-		i = 0;
-	}
-	if (sr[i].state == FOLLOWER) {
-		sem_post (&amp;sr[i].m_sema);
-		break;
-	}
-}</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_4M1S0Cu9Ed-uZPFNCty7PQ" name="LeaderFollower" specification="_JM4I4Cu9Ed-uZPFNCty7PQ">
-            <language>C/C++</language>
-            <body>sem_init (&amp;m_sema, 0, 0);
-m_state = FOLLOWER;</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_OyEk4Cu_Ed-uZPFNCty7PQ" name="init" specification="_6cImgCu-Ed-uZPFNCty7PQ">
-            <language>C/C++</language>
-            <body>for (int i=0; i&lt;POOL_SIZE; i++) {
-	pthread_create (&amp;m_sr.m_tID, 0, runStatic, &amp;m_sr[i]);
-}</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_AGUogCvHEd-uZPFNCty7PQ" name="runStatic" specification="_z-laoCvGEd-uZPFNCty7PQ">
-            <language>C/C++</language>
-            <body>((LeaderFollower *) arg)->run();</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_2FN1ICu0Ed-uZPFNCty7PQ" name="run" method="_D8z3ECu1Ed-uZPFNCty7PQ"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_eHX3wCu7Ed-uZPFNCty7PQ" name="selectLeader" method="_wXEiYCu7Ed-uZPFNCty7PQ"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_JM4I4Cu9Ed-uZPFNCty7PQ" name="LeaderFollower" method="_4M1S0Cu9Ed-uZPFNCty7PQ"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_6cImgCu-Ed-uZPFNCty7PQ" name="init" isStatic="true" method="_OyEk4Cu_Ed-uZPFNCty7PQ"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_z-laoCvGEd-uZPFNCty7PQ" name="runStatic" method="_AGUogCvHEd-uZPFNCty7PQ">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_Dn-xYCvHEd-uZPFNCty7PQ" name="arg">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_IdnDkCvHEd-uZPFNCty7PQ" name="ret" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            </ownedParameter>
-          </ownedOperation>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_2wMyEChiEd-eoo60eNyGlg" clientDependency="_BhfKYChjEd-eoo60eNyGlg" name="SimpleActivation">
-          <generalization xmi:type="uml:Generalization" xmi:id="_5AKpkChiEd-eoo60eNyGlg" general="_e6Y_EChYEd-eoo60eNyGlg"/>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_BhfKYChjEd-eoo60eNyGlg" name="derived realization of I" client="_2wMyEChiEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_6rmQoChiEd-eoo60eNyGlg" clientDependency="_cWkScCsAEd-uZPFNCty7PQ" name="Thread Pool">
-          <generalization xmi:type="uml:Generalization" xmi:id="_892AEChiEd-eoo60eNyGlg" general="_e6Y_EChYEd-eoo60eNyGlg"/>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_cWkScCsAEd-uZPFNCty7PQ" name="derived realization of I" client="_6rmQoChiEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_BY-fwCnxEd-eoo60eNyGlg" name="sem_t">
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_CQ_F0CnxEd-eoo60eNyGlg" name="lf" type="_qgzokChYEd-eoo60eNyGlg" isUnique="false" aggregation="composite"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_PpWOECnxEd-eoo60eNyGlg" name="listener" isUnique="false" aggregation="composite"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Enumeration" xmi:id="_F3CIECu1Ed-uZPFNCty7PQ" name="LFState">
-          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_QSQJwCu1Ed-uZPFNCty7PQ" name="EXECUTOR"/>
-          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_R5B6UCu1Ed-uZPFNCty7PQ" name="FOLLOWER"/>
-          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_SxRJ4Cu1Ed-uZPFNCty7PQ" name="LEADER"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Interface" xmi:id="_fxfe8Cu1Ed-uZPFNCty7PQ" name="IListener">
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_eN6hcCu3Ed-uZPFNCty7PQ" name="exec" isAbstract="true"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_hY4ooCu3Ed-uZPFNCty7PQ" name="select" isAbstract="true"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_5KatsCvDEd-uZPFNCty7PQ" name="pthread_t"/>
-        <packagedElement xmi:type="uml:Enumeration" xmi:id="_hcwDkD8CEeGJ6KSvhYhYuQ" name="LeaderFollowerState">
-          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_mzqd4D8CEeGJ6KSvhYhYuQ" name="LEADER"/>
-          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_qdIe8D8CEeGJ6KSvhYhYuQ" name="FOLLOWER"/>
-          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_rOMvgD8CEeGJ6KSvhYhYuQ" name="EXECUTOR"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_xOqL0No9Ed-wvpj-p-V_QQ" name="CppParameterStorage"/>
-      <packagedElement xmi:type="uml:Class" xmi:id="_0KYOQF7pEeGEmrrwB1vhPg" name="OPC_provideMultI" isAbstract="true">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_0KY1UF7pEeGEmrrwB1vhPg" name="rconn" visibility="public" type="_ZzlzMPfBEd2TbIfwytOyPA" aggregation="composite" isConjugated="true">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0KY1Ul7pEeGEmrrwB1vhPg"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_0KY1UV7pEeGEmrrwB1vhPg" value="10"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_0KY1U17pEeGEmrrwB1vhPg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_QwvnQFDlEd6cwecVIgl9nw" name="PortKinds">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_FryEELnZEeCxXoyQxQ47PQ" annotatedElement="_Wtq4sFDlEd6cwecVIgl9nw">
-        <body>Simple provision of typing interface as provided interface</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_K17NsLnZEeCxXoyQxQ47PQ" annotatedElement="_Wtrfw1DlEd6cwecVIgl9nw">
-        <body>Simple provision of typing interface as required interface</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_PxzR0LnZEeCxXoyQxQ47PQ" annotatedElement="__nMrwLqNEd-SedGzMDDkww">
-        <body>corba asynchronous messaging (AMI): Provision of poller variant of typing interface. Allows client to continue without waiting for the result</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_l49WMLnZEeCxXoyQxQ47PQ" annotatedElement="__nMrwLqNEd-SedGzMDDkww _AQZZwLqOEd-SedGzMDDkww">
-        <body>corba asynchronous messaging (AMI): Provision of callback variant of typing interface. Allows client Allows client to continue without waiting for the result</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_2dvXILnZEeCxXoyQxQ47PQ" annotatedElement="_Wtq4slDlEd6cwecVIgl9nw">
-        <body>Data Flow oriented communication: consume passively: provided push operation is called </body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_Ch2pQLnaEeCxXoyQxQ47PQ">
-        <body>Data Flow oriented communication: produce data via pushing these (calling the required operation) </body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_DsnzQLnaEeCxXoyQxQ47PQ">
-        <body>Data Flow oriented communication: produce data via pushing these (calling the required operation) </body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_FMuUELnaEeCxXoyQxQ47PQ" annotatedElement="_WtrfwlDlEd6cwecVIgl9nw">
-        <body>Data Flow oriented communication: produce data via pushing these (calling the required operation) </body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_GgtrgLnaEeCxXoyQxQ47PQ" annotatedElement="_Wtq4sVDlEd6cwecVIgl9nw">
-        <body>Data Flow oriented communication: consumer data actively by calling the required poll operation </body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_-UGDoDiyEeGiupyIkgMHVw">
-        <body>In order to support icons, all port kinds are stereotypes, but for Qompass they are classes stereotyped as &quot;PortKind&quot;</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_COvdAEMMEeKGIL695HkFYQ" annotatedElement="_GjnlcC8qEeKx7OxAiA06uw">
-        <body> A bidirectional flow port combining a push-producer and a pull consumer</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtq4sFDlEd6cwecVIgl9nw" name="ProvideInterface">
-        <icon xmi:type="uml:Image" xmi:id="__3j28DixEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%119%0%0%0%92%8%3%0%0%0%99%-116%-38%77%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%120%120%120%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-71%82%-104%50%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%4%-59%73%68%65%84%104%-127%-59%-102%109%91%-30%58%16%-122%11%-118%40%-88%108%-83%2%-53%-117%93%123%4%-75%-20%110%53%-83%69%-91%-108%30%20%-1%-1%79%58%-107%-77%72%38%77%-109%73%-126%-41%62%95%-55%-52%77%94%-102%-52%76%98%-111%29%104%-2%-74%26%-115%-22%-29%81%-27%-83%31%35%77%44%51%98%-68%58%60%-19%120%22%-91%-27%-76%57%-70%-8%90%-18%-62%127%6%-56%-83%58%-65%-34%-61%47%-30%94%28%-76%-7%-52%63%122%109%-4%-5%5%-36%-59%73%73%79%105%-75%43%59%-26%14%78%-28%-48%-75%-70%-29%-78%-31%-42%-32%94%96%-87%107%-14%96%71%-36%-80%-18%42%96%115%5%-50%46%-72%-117%-82%26%53%-41%-16%-38%-100%-69%127%-91%-116%-51%-43%-116%-52%-72%-15%-67%14%53%87%123%102%-62%117%94%52%-79%-106%-27%-78%-53%75%-127%-101%-88%79%45%5%102%-66%101%60%119%-66%44%117%58%124%-71%15%38%-66%-1%59%-104%-106%-73%-15%-58%122%-36%-92%-60%101%-89%89%-95%63%-108%120%-32%79%75%-42%94%85%-121%-21%100%60%87%-39%36%-31%-76%-75%111%-98%-72%61%-2%-95%-50%-115%121%115%43%-40%127%23%15%-100%-3%-37%-19%41%115%91%69%47%-35%-107%-48%34%-31%-20%-90%-53%-19%-116%-32%-72%-11%-30%127%-81%75%14%88%66%86%-33%11%86%45%53%-18%-96%48%104%47%-123%-115%-128%-93%-8%119%1%92%87%-31%-38%25%107%-34%-112%118%-10%127%-115%-39%51%-60%-21%43%112%27%-84%113%13%71%-51%-43%103%-65%-66%78%-120%-26%-10%-104%81%-10%-86%114%-101%79%37%-20%88%-43%-48%-36%103%3%44%33%51%-90%-57%-18%5%-110%59%102%-2%-16%88%106%1%-107%48%115%28%32%-71%41%52%-13%21%-79%-124%92%-62%121%-14%18%20%-73%2%-79%-33%-112%43%-103%-42%29%116%-47%68%113%97%-108%-4%-54%13%-106%36%10%-65%1%31%87%14%-126%-5%6%-1%-21%72%3%-101%-81%45%120%66%77%16%-36%0%88%60%106%97%-39%-111%-50%-28%-36%8%44%70%-113%119%-22%97%20%-62%-59%121%41%-27%94%-125%-10%-57%-102%88%-10%99%12%-92%92%120%-2%45%-76%-71%33%-40%61%-36%80%-62%13%-63%48%-73%-124%109%-59%58%0%29%-24%75%-72%125%-48%-102%23%-9%99%-27%-128%-51%-29%78%-62%5%-21%-48%45%70%-3%10%2%51%54%-107%112%31%-103%-43%96%-96%17%-19%-22%42%18%115%95%-23%-58%122%123%-58%70%51%-72%66%-123%92%27%-76%-59%-124%54%2%-127%-120%-76%-14%-121%27%-49%120%-86%-46%77%51%51%44%-36%-7%110%63%-72%-47%-92%-115%-88%86%-24%-18%-111%27%-127%47%-23%-34%66%-89%-46%13%67%46%56%80%-97%44%18%103%40%-84%-75%111%-56%-99%-45%-50%-50%45%-46%-60%97%13%-105%51%-77%-96%83%-117%12%-111%92%113%90%34%87%8%-71%9%18%107%-67%25%114%9%-19%-52%-77%46%-1%10%-41%-75%-20%50%14%43%65%-47%15%-91%-104%118%-106%-49%47%-74%106%-79%-21%117%85%45%3%49%58%48%-28%-10%104%103%-7%-9%75%30%112%-36%95%-122%-36%127%104%103%-45%-100%27%-6%-120%93%50%-1%-117%-122%92%-97%118%-42%92%-97%11%73%-19%-8%-119%39%80%39%27%26%114%65%-35%-95%38%60%7%35%-48%-31%-98%-88%-87%92%96%127%122%23%-97%-5%32%-20%-59%103%-37%60%-127%101%-107%-17%86%-62%-58%-57%116%91%-109%112%-110%-112%91%56%103%98%-18%30%-35%-40%-45%-55%-55%62%5%-14%-69%19%9%23%-100%93%70%3%-67%0%-98%-10%100%-7%2%8%-13%59%6%92%88%-101%-103%-53%-72%48%29%-44%-33%-94%29%-112%-119%102%-46%-4%8%-90%-65%-25%-38%92%-80%105%124%36%-64%-78%-4%55%3%6%-17%-102%88%7%6%23%115%57%-9%16%24%100%-102%-87%10%-100%-82%103%34%-25%-62%21%-67%46%17%-88%-117%-119%45%-10%17%92%-72%-83%90%94%-55%-11%-105%80%76%125%115%25%97%-72%-16%-61%-77%-78%51%117%46%83%-119%94%111%3%-14%-70%-39%41%-76%106%41%23%-80%-104%-14%-43%-48%-58%113%7%-48%76%57%29%29%49%-10%119%4%-57%37%108%-11%-6%72%9%91%101%-126%-118%52%-62%114%-49%-40%-56%30%91%-11%-26%97%55%-31%63%-90%-18%-67%-49%-104%90%15%-24%-49%-72%112%49%-15%64%-16%92%-90%-66%-104%-85%-115%43%-96%21%-17%49%95%55%79%29%80%-9%26%78%-31%-82%-52%-67%65%-104%-11%82%-42%108%-101%100%-31%-18%113%126%20%35%-50%-87%-84%-53%118%-77%104%-12%-13%-13%87%-28%-67%-107%95%112%97%121%13%-47%-13%-112%-88%-58%-71%79%-100%110%23%36%-10%126%48%40%122%-79%-68%-96%-84%112%-24%-44%121%-73%-104%93%123%-37%2%-53%13%-7%-113%24%-38%7%-59%42%-113%125%125%-54%77%4%50%58%62%67%-33%-61%-58%-36%59%-50%92%105%112%115%-71%-15%24%-9%-85%71%101%-49%88%-106%96%65%-32%-17%-99%-29%105%-119%-61%-11%-112%-89%-23%75%-102%-118%94%88%64%-84%-54%61%123%-120%76%-32%-72%-22%50%-117%80%-23%61%-61%-111%54%-10%-23%-116%113%-91%-10%126%-93%112%-49%-120%84%113%71%87%124%55%50%19%63%126%-30%107%-56%-119%127%85%-33%-55%68%13%84%-78%76%-21%-111%87%80%85%127%-113%52%127%-106%-93%40%45%-7%85%122%-99%-9%87%123%-27%-81%52%88%93%29%-39%124%31%90%-17%-66%-94%-101%-30%-43%61%-105%-38%40%77%33%53%-33%-71%-123%99%-7%104%103%126%73%95%13%-72%-71%-110%-119%-88%-45%110%32%-82%-17%25%-67%-97%-20%-33%-74%-72%31%-12%-7%-31%74%22%9%25%-66%-37%36%97%127%-4%-13%-76%-67%-119%-4%-68%116%-38%-84%-83%4%-61%-69%51%-18%-89%102%-77%25%-10%-115%-22%-121%-2%3%52%51%-49%67%-105%-19%90%17%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%5%-46%-52%-24%92%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_17F1IDrSEeGKkdk54CX6PQ" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_17HDQDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Sn5bADrXEeGMCcwsbpLuFA" key="image_name_key" value="IconProvideInterface"/>
-          </eAnnotations>
-        </icon>
-        <icon xmi:type="uml:Image" xmi:id="_ToC6oDl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%84%0%0%0%101%8%3%0%0%0%-28%-109%52%-5%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-52%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%82%82%82%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%24%24%24%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-33%61%-9%-93%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%41%73%68%65%84%104%-127%-83%-39%125%91%-38%48%16%0%-16%-29%101%12%-76%32%32%69%17%-95%88%-107%23%-69%45%-43%90%-83%5%117%-32%-9%-1%78%-125%103%-37%67%47%109%115%-105%54%-9%119%-8%61%41%73%-109%-69%43%-120%-14%17%92%86%-105%86%56%-116%15%49%12%-83%-42%26%74%-126%-35%-54%106%8%82%84%74%-95%-125%-58%-117%12%30%98%84%28%125%-84%-74%-99%44%18%-96%87%20%125%-84%127%100%-117%0%83%81%12%85%-112%0%-61%98%-24%-83%-126%4%120%42%-126%-66%61%-87%72%-128%7%125%-44%-97%79%-43%38%-52%-75%-47%-2%25%65%2%-72%-70%-24%104%67%-102%-80%-43%68%107%57%59%19%69%-92%-121%46%25%36%-128%-81%-123%54%115%-99%-15%-85%-41%-88%110%15%81%-83%-51%-123%6%-22%63%100%-125%-45%-50%-3%-91%52%-108%-113%-98%100%-110%-81%-75%94%122%40%27%-99%103%-111%-42%58%115%44%23%-67%-31%-109%108%116%-108%-34%75%-101%93%-18%104%30%-38%77%-17%-7%102%-112%63%-100%-121%-2%72%-19%-95%47%-43%112%22%122%39%-101%118%-92%28%-49%65%-93%-119%100%-122%-118%71%-25%-94%-14%-61%119%8%-109%-125%110%37%-13%-52%-89%126%65%-93%-66%116%-81%15%-87%121%114%-48%26%54%63%-6%-28%47%104%-44%-57%91%-44%-71%-94%77%26%-67%-59%19%-99%51%76%26%-75%-15%102%34%23%-119%-125%86%-16%-61%-65%113%76%18%-75%16%-38%98%-103%20%-38%67%-89%-45%-17%-82%17%20%47%-45%61%-49%-92%-48%48%105%-114%-103%19%37%-48%1%-102%104%-109%105%18%-88%-117%-48%-127%25%-44%67%123%-108%107%18%104%-100%68%-17%-52%-96%17%122%-6%-116%11%-66%8%58%75%-102%54%-37%84%-93%40%-127%96%-66%77%36%-118%-18%-111%-118%33%-12%60%-119%50%14%103%22%58%78%-104%19%-66%-87%68%-125%-126%-21%116%64%-3%-111%91%91%36%-93%-27%-3%-115%95%73%-12%84%11%29%93%0%39%60%29%-12%-115%42%-117%-2%-59%82%7%125%-26%-103%-80%-48%65%57%69%-116%54%-54%13%45%-108%-7%-105%-62%119%29%-12%39%19%-43%90%-3%-63%-104%6%15%-47%-42%65%69%-60%91%127%-51%55%74%116%-81%-73%-57%-72%-114%-114%-15%-103%64%29%77%52%55%-48%5%-51%-53%120%104%20%85%-93%51%67%-24%-73%36%-70%50%-124%-94%-108%111%104%8%-19%-93%-11%103%-25%18%-60%-67%-113%106%-120%-70%33%116%-107%68%-49%13%-95%51%-12%-4%-20%77%-91%70%-5%-24%96%100%-33%-4%68%126%-118%58%112%83%51%-7%-87%-108%75%114%-49%84%2%13%-48%113%-53%77%-91%-87%-22%-28%20%77%-107%-7%86%81%-24%14%-95%78%94%43%70%15%-107%42%-66%23%35%21%-97%-76%85%121%-41%63%93%69%-93%20%29%-100%107%19%-88%92%70%27%-87%-9%83%-99%-119%11%19%-99%9%113%-123%81%70%121%-50%-23%-10%120%-110%-6%108%-96%-37%35%6%-87%-66%20%81%-3%-80%58%104%-82%-124%-62%69%-7%14%90%-6%15%-128%-119%-14%110%-27%-95%65%44%-85%112%82%-70%43%41%46%-45%-55%-31%38%-65%-80%-30%118%122%-85%41%116%-97%-77%-107%-20%-12%74%-119%-59%-1%-80%-34%-53%-95%57%93%126%-69%94%-90%123%46%-35%-41%-57%112%-98%23%35%-23%29%51%-13%69%98%106%91%75%-41%-35%109%-65%92%-9%74%19%21%-115%92%-11%24%15%-70%40%-25%43%-113%-89%-115%-118%119%-14%123%-44%-87%62%42%122%29%2%13%11%-96%-5%13%-85%-82%-68%-118%-95%34%82%78%-42%46%-122%10%113%-93%-8%103%-29%-94%-88%-22%11%111%113%84%-59%-106%64%-9%-73%108%-59%-54%-36%-75%-91%-48%125%-12%-22%97%-38%13%74%-94%-5%8%118%45%27%-61%81%121%-12%16%-2%-70%-46%-16%-38%97%24%-57%113%24%-74%-9%71%-31%31%12%-33%-99%51%8%-119%86%-81%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%45%-25%121%64%-90%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2ypIMDrSEeGKkdk54CX6PQ" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2ypvQDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UMxHEDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjProvideInterface"/>
-          </eAnnotations>
-        </icon>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtq4sVDlEd6cwecVIgl9nw" name="PullConsumer">
-        <icon xmi:type="uml:Image" xmi:id="_CVWIADiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%97%0%0%0%98%8%0%0%0%0%101%-7%-30%-47%0%0%2%120%73%68%65%84%104%-127%-75%-38%-51%75%21%81%24%6%-16%-125%-106%105%25%-106%38%-107%84%-76%50%-119%-54%32%90%37%-75%-120%72%-94%69%-117%104%85%86%-46%-90%112%97%73%33%-47%-86%-123%16%33%70%17%-47%-54%-94%47%-24%3%-63%34%-56%-115%20%-35%77%4%-110%65%-123%27%11%51%37%-107%-16%-93%-85%-34%105%-26%-23%74%31%115%-18%120%103%-18%97%-50%-5%60%127%-64%-4%86%103%-26%61%-49%59%10%-99%23%-102%121%105%31%-127%122%-80%72%17%-77%-96%98%68%85%51%-127%116%-82%-87%26%-78%112%76%-35%34%11%117%106%-74%-98%45%32%121%-124%45%96%124%55%91%-64%-40%46%-74%-128%-127%-51%108%1%-3%-107%108%1%61%107%-40%2%-34%-106%-78%5%116%-111%8%95%-64%-45%34%-74%-32%-35%-90%16%-102%0%-17%106%62%89%-128%-45%66%32%50%4%56%-115%108%1%-45%39%-39%2%-110%7%-39%2%38%14%-80%5%-116%-18%96%11%24%-38%-50%22%-48%-73%-127%45%-32%-29%58%-74%-128%-41%43%-39%2%94%-107%-80%5%116%-120%17%97%2%-18%20%-78%5%-9%-70%16%17%42%-64%-67%40%-13%-94%13%23%-112%58%47%66%68%8%72%29%103%11%-104%58%-52%22%48%-79%-113%45%96%108%15%91%-64%-32%54%-74%-128%47%-101%-40%2%-34%-83%103%11%-24%89%-59%22%-16%-94%-116%45%-32%-39%82%-74%-128%-69%-59%108%1%55%11%-40%-126%123%41%54%97%40%-64%109%-54%35%11%-104%-39%-49%22%-34%-105%-109%-123%-127%-86%-104%-128%-87%-16%99%103%92%-64%80%-104%58%20%27%48%19%82%-89%-29%3%70%-126%-41%106%51%18%-104%8%-9%-84%38%39%3%-95%107%-103%13%96%32%-12%-38%125%30%114%11%-33%108%-81%43%-71%-124%113%-21%-6%44%-121%-112%-76%56%8%70%-126%115%-58%26%-120%22%-68%54%-127%-39%56%82%120%36%81%7%69%9%-35%-53%5%-128%40%-95%-73%66%2%-120%16%6%55%-118%0%-31%-62%100%-4%47%-126%-103%48%45%113%57%-119%18%-100%38%41%32%68%-16%-82%-56%21%126%-39%-123%-57%-126%-67%104%86%33%97%53%108%27%8%31%68%91%-10%44%-62%87%-39%101%-60%124%65%122%103%51%79%-104%-107%-34%59%5%-123%95%103%-123%-127%-96%64%40%-41%3%-62%-109%-59%-46%64%64%72%-84%16%7%50%5%-47%22%52%-101%48%-76%-107%0%-24%-62%-28%94%6%-96%9%-87%58%10%-32%11%-18%57%14%-32%11%55%72%-64%127%-95%-109%-10%63%-62%95%-31%13%107%103%-7%79%-24%91%75%3%-2%8%-33%41%7%65%19%126%-42%18%-127%57%-63%57%-63%4%-46%-126%-37%76%5%-46%66%7%23%80%71%85%-36%86%-57%52%-83%-86%-127%-6%-4%-68%-110%97%-11%-87%44%-93%-3%-54%-41%-78%-80%64%75%-111%-106%37%-59%126%86%111%-47%82%-85%-91%-2%84%58%109%-61%80%24%109%-65%-84%-27%-2%67%63%-49%95%-6%73%124%-42%50%19%28%-127%-94%-14%27%-2%-94%-44%59%115%-35%74%-17%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4KKUwDrSEeGKkdk54CX6PQ" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4KLi4DrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MdOBcDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconPushConsumer"/>
-          </eAnnotations>
-        </icon>
-        <icon xmi:type="uml:Image" xmi:id="_kZGdADl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%108%0%0%0%97%8%0%0%0%0%22%-109%27%-49%0%0%2%-101%73%68%65%84%104%-127%-67%-38%-51%75%84%81%24%6%-16%-25%-36%59%87%68%43%107%76%40%63%42%-84%4%-125%1%49%-86%77%-82%70%24%-120%54%-39%-57%44%18%35%-110%62%104%-91%-83%10%-108%32%-94%64%40%92%-10%-79%-120%-118%8%23%82%-101%26%-124%22%65%41%4%69%-117%-118%-124%114%17%52%65%-108%9%105%-47%-28%116%26%107%76%-13%-34%-21%-67%112%-49%-5%60%-1%-64%111%49%103%120%-97%123%-34%3%61%118%-78%37%84%118%-89%61%115%-30%-123%14%29%76%39%16%41%106%-29%72%120%44%19%-51%42%100%-61%-77%-48%-40%-11%-56%24%-102%71%-119%-104%-38%-10%-114%-121%-63%74%101%121%24%84%-37%4%15%-125%-35%17%70%51%-124%-63%62%62%21%2%-21%55%-125%-63%-23%-2%30%-116%-99%54%-124%-95%-12%124%-114%-121%-95%-20%66%-98%-121%97%-7%-75%0%-51%36%-122%-8%32%17%67%-19%61%34%-122%-75%-113%-120%24%26%-122%-119%24%-102%94%19%49%-75%-27%45%15%-125%74%-67%-25%97%-80%118%-114%-13%48%-60%14%-8%-116%0%9%12%-79%-61%-34%35%64%4%-125%-45%-27%-87%-55%96%112%-50%120%-115%0%-12%-120%96%40%-21%-101%-10%-64%14%-55%96%88%-26%49%2%-48%33%-124%33%126%-117%-120%-95%-58%53%2%4%49%-84%121%72%-60%-48%48%66%-60%-48%-8%-110%-120%-87%-83%-93%60%12%42%-103%-27%97%-80%118%124%-28%97%-80%-38%39%120%24%-20%-125%83%60%-84%-16%21%-16%-115%-121%-63%-23%-51%-15%-80%-62%8%-56%-15%48%-108%95%-3%-59%-61%-80%-30%-58%31%108%23%5%67%85%102%6%-37%-50%-63%80%-5%-128%-120%97%-3%19%34%-122%-42%28%17%-85%120%78%-60%-86%-77%60%-52%-18%-28%-3%102%-86%117%-100%-121%37%-34%-16%-114%126%-35%48%-17%79%29%-65%-85%105%88%-23%-59%60%13%-117%117%-3%-48%44%-52%-38%59%-87%105%88%-53%7%77%-61%-26%106%-79%60%-74%122%104%-82%-54%109%18%-74%42%110%-50%43%-87%-11%-78%86%-55%-39%60%13%-77%-113%-52%-65%57%-106%-59%84%-37%23%77%-61%54%-1%-65%55%17%-59%-22%-97%106%26%86%117%95%-45%-80%37%-105%53%13%115%122%126%-46%48%-69%-3%-21%66%75%12%83%-55%-49%46%75%12%-101%-87%28%44%-84%-18%-79%-121%37%-124%85%-34%-15%-78%100%-80%98%-27%-96%96%-77%-107%-61%-115%85%27%-73%-84%125%-18%67%95%-60%-52%-25%95%-27%32%96%-115%-81%-4%44%-13%-40%-86%33%95%-53%56%-74%-44%125%51%44%-122%-107%-100%91%108%-19%105%-42%-78%-113%46%-70%-84%54%106%45%-88%28%-78%88%115%-64%83%13%-109%-42%-70%-96%39%47%6%-83%-107%-103%0%-53%32%86%-18%-86%28%114%-104%-45%-21%-86%28%98%-104%-75%127%50%-48%50%-123%-87%-92%-33%82%85%0%75%-116%-123%-80%12%97%53%-31%94%-107%25%-79%-2%-34%114%-124%-64%84%116%-85%-92%63%-24%-119%-53%44%-42%20%-39%-78%-70%125%42%-121%27%-69%93%25%-77%109%43%-118%-107%14%113%-24%-117%-104%-2%52%56%48%112%-91%-49%55%-89%-114%-7%38%-99%42%100%-49%-91%-48%-106%-2%13%-127%31%98%-1%-55%30%-37%-42%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_44RX8DrSEeGKkdk54CX6PQ" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_44R_ADrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PhMv0DrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjPullConsumer"/>
-          </eAnnotations>
-        </icon>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtq4slDlEd6cwecVIgl9nw" name="PushConsumer">
-        <icon xmi:type="uml:Image" xmi:id="_Dh_hUDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%97%0%0%0%98%8%0%0%0%0%101%-7%-30%-47%0%0%2%120%73%68%65%84%104%-127%-75%-38%-51%75%21%81%24%6%-16%-125%-106%105%25%-106%38%-107%84%-76%50%-119%-54%32%90%37%-75%-120%72%-94%69%-117%104%85%86%-46%-90%112%97%73%33%-47%-86%-123%16%33%70%17%-47%-54%-94%47%-24%3%-63%34%-56%-115%20%-35%77%4%-110%65%-123%27%11%51%37%-107%-16%-93%-85%-34%105%-26%-23%74%31%115%-18%120%103%-18%97%-50%-5%60%127%-64%-4%86%103%-26%61%-49%59%10%-99%23%-102%121%105%31%-127%122%-80%72%17%-77%-96%98%68%85%51%-127%116%-82%-87%26%-78%112%76%-35%34%11%117%106%-74%-98%45%32%121%-124%45%96%124%55%91%-64%-40%46%-74%-128%-127%-51%108%1%-3%-107%108%1%61%107%-40%2%-34%-106%-78%5%116%-111%8%95%-64%-45%34%-74%-32%-35%-90%16%-102%0%-17%106%62%89%-128%-45%66%32%50%4%56%-115%108%1%-45%39%-39%2%-110%7%-39%2%38%14%-80%5%-116%-18%96%11%24%-38%-50%22%-48%-73%-127%45%-32%-29%58%-74%-128%-41%43%-39%2%94%-107%-80%5%116%-120%17%97%2%-18%20%-78%5%-9%-70%16%17%42%-64%-67%40%-13%-94%13%23%-112%58%47%66%68%8%72%29%103%11%-104%58%-52%22%48%-79%-113%45%96%108%15%91%-64%-32%54%-74%-128%47%-101%-40%2%-34%-83%103%11%-24%89%-59%22%-16%-94%-116%45%-32%-39%82%-74%-128%-69%-59%108%1%55%11%-40%-126%123%41%54%97%40%-64%109%-54%35%11%-104%-39%-49%22%-34%-105%-109%-123%-127%-86%-104%-128%-87%-16%99%103%92%-64%80%-104%58%20%27%48%19%82%-89%-29%3%70%-126%-41%106%51%18%-104%8%-9%-84%38%39%3%-95%107%-103%13%96%32%-12%-38%125%30%114%11%-33%108%-81%43%-71%-124%113%-21%-6%44%-121%-112%-76%56%8%70%-126%115%-58%26%-120%22%-68%54%-127%-39%56%82%120%36%81%7%69%9%-35%-53%5%-128%40%-95%-73%66%2%-120%16%6%55%-118%0%-31%-62%100%-4%47%-126%-103%48%45%113%57%-119%18%-100%38%41%32%68%-16%-82%-56%21%126%-39%-123%-57%-126%-67%104%86%33%97%53%108%27%8%31%68%91%-10%44%-62%87%-39%101%-60%124%65%122%103%51%79%-104%-107%-34%59%5%-123%95%103%-123%-127%-96%64%40%-41%3%-62%-109%-59%-46%64%64%72%-84%16%7%50%5%-47%22%52%-101%48%-76%-107%0%-24%-62%-28%94%6%-96%9%-87%58%10%-32%11%-18%57%14%-32%11%55%72%-64%127%-95%-109%-10%63%-62%95%-31%13%107%103%-7%79%-24%91%75%3%-2%8%-33%41%7%65%19%126%-42%18%-127%57%-63%57%-63%4%-46%-126%-37%76%5%-46%66%7%23%80%71%85%-36%86%-57%52%-83%-86%-127%-6%-4%-68%-110%97%-11%-87%44%-93%-3%-54%-41%-78%-80%64%75%-111%-106%37%-59%126%86%111%-47%82%-85%-91%-2%84%58%109%-61%80%24%109%-65%-84%-27%-2%67%63%-49%95%-6%73%124%-42%50%19%28%-127%-94%-14%27%-2%-94%-44%59%115%-35%74%-17%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7bjNADrSEeGKkdk54CX6PQ" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7bj0EDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JNOQUDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconPushConsumer"/>
-          </eAnnotations>
-        </icon>
-        <icon xmi:type="uml:Image" xmi:id="_hwLS8Dl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%108%0%0%0%97%8%0%0%0%0%22%-109%27%-49%0%0%2%-101%73%68%65%84%104%-127%-67%-38%-51%75%84%81%24%6%-16%-25%-36%59%87%68%43%107%76%40%63%42%-84%4%-125%1%49%-86%77%-82%70%24%-120%54%-39%-57%44%18%35%-110%62%104%-91%-83%10%-108%32%-94%64%40%92%-10%-79%-120%-118%8%23%82%-101%26%-124%22%65%41%4%69%-117%-118%-124%114%17%52%65%-108%9%105%-47%-28%116%26%107%76%-13%-34%-21%-67%112%-49%-5%60%-1%-64%111%49%103%120%-97%123%-34%3%61%118%-78%37%84%118%-89%61%115%-30%-123%14%29%76%39%16%41%106%-29%72%120%44%19%-51%42%100%-61%-77%-48%-40%-11%-56%24%-102%71%-119%-104%-38%-10%-114%-121%-63%74%101%121%24%84%-37%4%15%-125%-35%17%70%51%-124%-63%62%62%21%2%-21%55%-125%-63%-23%-2%30%-116%-99%54%-124%-95%-12%124%-114%-121%-95%-20%66%-98%-121%97%-7%-75%0%-51%36%-122%-8%32%17%67%-19%61%34%-122%-75%-113%-120%24%26%-122%-119%24%-102%94%19%49%-75%-27%45%15%-125%74%-67%-25%97%-80%118%-114%-13%48%-60%14%-8%-116%0%9%12%-79%-61%-34%35%64%4%-125%-45%-27%-87%-55%96%112%-50%120%-115%0%-12%-120%96%40%-21%-101%-10%-64%14%-55%96%88%-26%49%2%-48%33%-124%33%126%-117%-120%-95%-58%53%2%4%49%-84%121%72%-60%-48%48%66%-60%-48%-8%-110%-120%-87%-83%-93%60%12%42%-103%-27%97%-80%118%124%-28%97%-80%-38%39%120%24%-20%-125%83%60%-84%-16%21%-16%-115%-121%-63%-23%-51%-15%-80%-62%8%-56%-15%48%-108%95%-3%-59%-61%-80%-30%-58%31%108%23%5%67%85%102%6%-37%-50%-63%80%-5%-128%-120%97%-3%19%34%-122%-42%28%17%-85%120%78%-60%-86%-77%60%-52%-18%-28%-3%102%-86%117%-100%-121%37%-34%-16%-114%126%-35%48%-17%79%29%-65%-85%105%88%-23%-59%60%13%-117%117%-3%-48%44%-52%-38%59%-87%105%88%-53%7%77%-61%-26%106%-79%60%-74%122%104%-82%-54%109%18%-74%42%110%-50%43%-87%-11%-78%86%-55%-39%60%13%-77%-113%-52%-65%57%-106%-59%84%-37%23%77%-61%54%-1%-65%55%17%-59%-22%-97%106%26%86%117%95%-45%-80%37%-105%53%13%115%122%126%-46%48%-69%-3%-21%66%75%12%83%-55%-49%46%75%12%-101%-87%28%44%-84%-18%-79%-121%37%-124%85%-34%-15%-78%100%-80%98%-27%-96%96%-77%-107%-61%-115%85%27%-73%-84%125%-18%67%95%-60%-52%-25%95%-27%32%96%-115%-81%-4%44%-13%-40%-86%33%95%-53%56%-74%-44%125%51%44%-122%-107%-100%91%108%-19%105%-42%-78%-113%46%-70%-84%54%106%45%-88%28%-78%88%115%-64%83%13%-109%-42%-70%-96%39%47%6%-83%-107%-103%0%-53%32%86%-18%-86%28%114%-104%-45%-21%-86%28%98%-104%-75%127%50%-48%50%-123%-87%-92%-33%82%85%0%75%-116%-123%-80%12%97%53%-31%94%-107%25%-79%-2%-34%114%-124%-64%84%116%-85%-92%63%-24%-119%-53%44%-42%20%-39%-78%-70%125%42%-121%27%-69%93%25%-77%109%43%-118%-107%14%113%-24%-117%-104%-2%52%56%48%112%-91%-49%55%-89%-114%-7%38%-99%42%100%-49%-91%-48%-106%-2%13%-127%31%98%-1%-55%30%-37%-42%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8L9WQDrSEeGKkdk54CX6PQ" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8L99UDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Lb68gDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjPushConsumer"/>
-          </eAnnotations>
-        </icon>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="_WtrfwlDlEd6cwecVIgl9nw" name="PushProducer">
-        <icon xmi:type="uml:Image" xmi:id="_Eu1u8DiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%108%0%0%0%97%8%0%0%0%0%22%-109%27%-49%0%0%2%-101%73%68%65%84%104%-127%-67%-38%-51%75%84%81%24%6%-16%-25%-36%59%87%68%43%107%76%40%63%42%-84%4%-125%1%49%-86%77%-82%70%24%-120%54%-39%-57%44%18%35%-110%62%104%-91%-83%10%-108%32%-94%64%40%92%-10%-79%-120%-118%8%23%82%-101%26%-124%22%65%41%4%69%-117%-118%-124%114%17%52%65%-108%9%105%-47%-28%116%26%107%76%-13%-34%-21%-67%112%-49%-5%60%-1%-64%111%49%103%120%-97%123%-34%3%61%118%-78%37%84%118%-89%61%115%-30%-123%14%29%76%39%16%41%106%-29%72%120%44%19%-51%42%100%-61%-77%-48%-40%-11%-56%24%-102%71%-119%-104%-38%-10%-114%-121%-63%74%101%121%24%84%-37%4%15%-125%-35%17%70%51%-124%-63%62%62%21%2%-21%55%-125%-63%-23%-2%30%-116%-99%54%-124%-95%-12%124%-114%-121%-95%-20%66%-98%-121%97%-7%-75%0%-51%36%-122%-8%32%17%67%-19%61%34%-122%-75%-113%-120%24%26%-122%-119%24%-102%94%19%49%-75%-27%45%15%-125%74%-67%-25%97%-80%118%-114%-13%48%-60%14%-8%-116%0%9%12%-79%-61%-34%35%64%4%-125%-45%-27%-87%-55%96%112%-50%120%-115%0%-12%-120%96%40%-21%-101%-10%-64%14%-55%96%88%-26%49%2%-48%33%-124%33%126%-117%-120%-95%-58%53%2%4%49%-84%121%72%-60%-48%48%66%-60%-48%-8%-110%-120%-87%-83%-93%60%12%42%-103%-27%97%-80%118%124%-28%97%-80%-38%39%120%24%-20%-125%83%60%-84%-16%21%-16%-115%-121%-63%-23%-51%-15%-80%-62%8%-56%-15%48%-108%95%-3%-59%-61%-80%-30%-58%31%108%23%5%67%85%102%6%-37%-50%-63%80%-5%-128%-120%97%-3%19%34%-122%-42%28%17%-85%120%78%-60%-86%-77%60%-52%-18%-28%-3%102%-86%117%-100%-121%37%-34%-16%-114%126%-35%48%-17%79%29%-65%-85%105%88%-23%-59%60%13%-117%117%-3%-48%44%-52%-38%59%-87%105%88%-53%7%77%-61%-26%106%-79%60%-74%122%104%-82%-54%109%18%-74%42%110%-50%43%-87%-11%-78%86%-55%-39%60%13%-77%-113%-52%-65%57%-106%-59%84%-37%23%77%-61%54%-1%-65%55%17%-59%-22%-97%106%26%86%117%95%-45%-80%37%-105%53%13%115%122%126%-46%48%-69%-3%-21%66%75%12%83%-55%-49%46%75%12%-101%-87%28%44%-84%-18%-79%-121%37%-124%85%-34%-15%-78%100%-80%98%-27%-96%96%-77%-107%-61%-115%85%27%-73%-84%125%-18%67%95%-60%-52%-25%95%-27%32%96%-115%-81%-4%44%-13%-40%-86%33%95%-53%56%-74%-44%125%51%44%-122%-107%-100%91%108%-19%105%-42%-78%-113%46%-70%-84%54%106%45%-88%28%-78%88%115%-64%83%13%-109%-42%-70%-96%39%47%6%-83%-107%-103%0%-53%32%86%-18%-86%28%114%-104%-45%-21%-86%28%98%-104%-75%127%50%-48%50%-123%-87%-92%-33%82%85%0%75%-116%-123%-80%12%97%53%-31%94%-107%25%-79%-2%-34%114%-124%-64%84%116%-85%-92%63%-24%-119%-53%44%-42%20%-39%-78%-70%125%42%-121%27%-69%93%25%-77%109%43%-118%-107%14%113%-24%-117%-104%-2%52%56%48%112%-91%-49%55%-89%-114%-7%38%-99%42%100%-49%-91%-48%-106%-2%13%-127%31%98%-1%-55%30%-37%-42%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVcCADrXEeGMCcwsbpLuFA" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EVdQIDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconPushProducer"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Eg1ZsDrXEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
-          </eAnnotations>
-        </icon>
-        <icon xmi:type="uml:Image" xmi:id="_djiTYDl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%97%0%0%0%98%8%0%0%0%0%101%-7%-30%-47%0%0%2%120%73%68%65%84%104%-127%-75%-38%-51%75%21%81%24%6%-16%-125%-106%105%25%-106%38%-107%84%-76%50%-119%-54%32%90%37%-75%-120%72%-94%69%-117%104%85%86%-46%-90%112%97%73%33%-47%-86%-123%16%33%70%17%-47%-54%-94%47%-24%3%-63%34%-56%-115%20%-35%77%4%-110%65%-123%27%11%51%37%-107%-16%-93%-85%-34%105%-26%-23%74%31%115%-18%120%103%-18%97%-50%-5%60%127%-64%-4%86%103%-26%61%-49%59%10%-99%23%-102%121%105%31%-127%122%-80%72%17%-77%-96%98%68%85%51%-127%116%-82%-87%26%-78%112%76%-35%34%11%117%106%-74%-98%45%32%121%-124%45%96%124%55%91%-64%-40%46%-74%-128%-127%-51%108%1%-3%-107%108%1%61%107%-40%2%-34%-106%-78%5%116%-111%8%95%-64%-45%34%-74%-32%-35%-90%16%-102%0%-17%106%62%89%-128%-45%66%32%50%4%56%-115%108%1%-45%39%-39%2%-110%7%-39%2%38%14%-80%5%-116%-18%96%11%24%-38%-50%22%-48%-73%-127%45%-32%-29%58%-74%-128%-41%43%-39%2%94%-107%-80%5%116%-120%17%97%2%-18%20%-78%5%-9%-70%16%17%42%-64%-67%40%-13%-94%13%23%-112%58%47%66%68%8%72%29%103%11%-104%58%-52%22%48%-79%-113%45%96%108%15%91%-64%-32%54%-74%-128%47%-101%-40%2%-34%-83%103%11%-24%89%-59%22%-16%-94%-116%45%-32%-39%82%-74%-128%-69%-59%108%1%55%11%-40%-126%123%41%54%97%40%-64%109%-54%35%11%-104%-39%-49%22%-34%-105%-109%-123%-127%-86%-104%-128%-87%-16%99%103%92%-64%80%-104%58%20%27%48%19%82%-89%-29%3%70%-126%-41%106%51%18%-104%8%-9%-84%38%39%3%-95%107%-103%13%96%32%-12%-38%125%30%114%11%-33%108%-81%43%-71%-124%113%-21%-6%44%-121%-112%-76%56%8%70%-126%115%-58%26%-120%22%-68%54%-127%-39%56%82%120%36%81%7%69%9%-35%-53%5%-128%40%-95%-73%66%2%-120%16%6%55%-118%0%-31%-62%100%-4%47%-126%-103%48%45%113%57%-119%18%-100%38%41%32%68%-16%-82%-56%21%126%-39%-123%-57%-126%-67%104%86%33%97%53%108%27%8%31%68%91%-10%44%-62%87%-39%101%-60%124%65%122%103%51%79%-104%-107%-34%59%5%-123%95%103%-123%-127%-96%64%40%-41%3%-62%-109%-59%-46%64%64%72%-84%16%7%50%5%-47%22%52%-101%48%-76%-107%0%-24%-62%-28%94%6%-96%9%-87%58%10%-32%11%-18%57%14%-32%11%55%72%-64%127%-95%-109%-10%63%-62%95%-31%13%107%103%-7%79%-24%91%75%3%-2%8%-33%41%7%65%19%126%-42%18%-127%57%-63%57%-63%4%-46%-126%-37%76%5%-46%66%7%23%80%71%85%-36%86%-57%52%-83%-86%-127%-6%-4%-68%-110%97%-11%-87%44%-93%-3%-54%-41%-78%-80%64%75%-111%-106%37%-59%126%86%111%-47%82%-85%-91%-2%84%58%109%-61%80%24%109%-65%-84%-27%-2%67%63%-49%95%-6%73%124%-42%50%19%28%-127%-94%-14%27%-2%-94%-44%59%115%-35%74%-17%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GvSOQDrXEeGMCcwsbpLuFA" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GvS1UDrXEeGMCcwsbpLuFA" key="image_name_key" value="ConjIconPushProducer"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G5-bUDrXEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
-          </eAnnotations>
-        </icon>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtrfw1DlEd6cwecVIgl9nw" name="UseInterface">
-        <icon xmi:type="uml:Image" xmi:id="_FzdNoDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%84%0%0%0%101%8%3%0%0%0%-28%-109%52%-5%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-52%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%82%82%82%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%24%24%24%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-33%61%-9%-93%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%41%73%68%65%84%104%-127%-83%-39%125%91%-38%48%16%0%-16%-29%101%12%-76%32%32%69%17%-95%88%-107%23%-69%45%-43%90%-83%5%117%-32%-9%-1%78%-125%103%-37%67%47%109%115%-105%54%-9%119%-8%61%41%73%-109%-69%43%-120%-14%17%92%86%-105%86%56%-116%15%49%12%-83%-42%26%74%-126%-35%-54%106%8%82%84%74%-95%-125%-58%-117%12%30%98%84%28%125%-84%-74%-99%44%18%-96%87%20%125%-84%127%100%-117%0%83%81%12%85%-112%0%-61%98%-24%-83%-126%4%120%42%-126%-66%61%-87%72%-128%7%125%-44%-97%79%-43%38%-52%-75%-47%-2%25%65%2%-72%-70%-24%104%67%-102%-80%-43%68%107%57%59%19%69%-92%-121%46%25%36%-128%-81%-123%54%115%-99%-15%-85%-41%-88%110%15%81%-83%-51%-123%6%-22%63%100%-125%-45%-50%-3%-91%52%-108%-113%-98%100%-110%-81%-75%94%122%40%27%-99%103%-111%-42%58%115%44%23%-67%-31%-109%108%116%-108%-34%75%-101%93%-18%104%30%-38%77%-17%-7%102%-112%63%-100%-121%-2%72%-19%-95%47%-43%112%22%122%39%-101%118%-92%28%-49%65%-93%-119%100%-122%-118%71%-25%-94%-14%-61%119%8%-109%-125%110%37%-13%-52%-89%126%65%-93%-66%116%-81%15%-87%121%114%-48%26%54%63%-6%-28%47%104%-44%-57%91%-44%-71%-94%77%26%-67%-59%19%-99%51%76%26%-75%-15%102%34%23%-119%-125%86%-16%-61%-65%113%76%18%-75%16%-38%98%-103%20%-38%67%-89%-45%-17%-82%17%20%47%-45%61%-49%-92%-48%48%105%-114%-103%19%37%-48%1%-102%104%-109%105%18%-88%-117%-48%-127%25%-44%67%123%-108%107%18%104%-100%68%-17%-52%-96%17%122%-6%-116%11%-66%8%58%75%-102%54%-37%84%-93%40%-127%96%-66%77%36%-118%-18%-111%-118%33%-12%60%-119%50%14%103%22%58%78%-104%19%-66%-87%68%-125%-126%-21%116%64%-3%-111%91%91%36%-93%-27%-3%-115%95%73%-12%84%11%29%93%0%39%60%29%-12%-115%42%-117%-2%-59%82%7%125%-26%-103%-80%-48%65%57%69%-116%54%-54%13%45%-108%-7%-105%-62%119%29%-12%39%19%-43%90%-3%-63%-104%6%15%-47%-42%65%69%-60%91%127%-51%55%74%116%-81%-73%-57%-72%-114%-114%-15%-103%64%29%77%52%55%-48%5%-51%-53%120%104%20%85%-93%51%67%-24%-73%36%-70%50%-124%-94%-108%111%104%8%-19%-93%-11%103%-25%18%-60%-67%-113%106%-120%-70%33%116%-107%68%-49%13%-95%51%-12%-4%-20%77%-91%70%-5%-24%96%100%-33%-4%68%126%-118%58%112%83%51%-7%-87%-108%75%114%-49%84%2%13%-48%113%-53%77%-91%-87%-22%-28%20%77%-107%-7%86%81%-24%14%-95%78%94%43%70%15%-107%42%-66%23%35%21%-97%-76%85%121%-41%63%93%69%-93%20%29%-100%107%19%-88%92%70%27%-87%-9%83%-99%-119%11%19%-99%9%113%-123%81%70%121%-50%-23%-10%120%-110%-6%108%-96%-37%35%6%-87%-66%20%81%-3%-80%58%104%-82%-124%-62%69%-7%14%90%-6%15%-128%-119%-14%110%-27%-95%65%44%-85%112%82%-70%43%41%46%-45%-55%-31%38%-65%-80%-30%118%122%-85%41%116%-97%-77%-107%-20%-12%74%-119%-59%-1%-80%-34%-53%-95%57%93%126%-69%94%-90%123%46%-35%-41%-57%112%-98%23%35%-23%29%51%-13%69%98%106%91%75%-41%-35%109%-65%92%-9%74%19%21%-115%92%-11%24%15%-70%40%-25%43%-113%-89%-115%-118%119%-14%123%-44%-87%62%42%122%29%2%13%11%-96%-5%13%-85%-82%-68%-118%-95%34%82%78%-42%46%-122%10%113%-93%-8%103%-29%-94%-88%-22%11%111%113%84%-59%-106%64%-9%-73%108%-59%-54%-36%-75%-91%-48%125%-12%-22%97%-38%13%74%-94%-5%8%118%45%27%-61%81%121%-12%16%-2%-70%-46%-16%-38%97%24%-57%113%24%-74%-9%71%-31%31%12%-33%-99%51%8%-119%86%-81%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%45%-25%121%64%-90%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z5Ar0DrWEeGMCcwsbpLuFA" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z5BS4DrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BoRRIDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconUseInterface"/>
-          </eAnnotations>
-        </icon>
-        <icon xmi:type="uml:Image" xmi:id="_Yy8SMDl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%119%0%0%0%92%8%3%0%0%0%99%-116%-38%77%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%120%120%120%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-71%82%-104%50%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%4%-59%73%68%65%84%104%-127%-59%-102%109%91%-30%58%16%-122%11%-118%40%-88%108%-83%2%-53%-117%93%123%4%-75%-20%110%53%-83%69%-91%-108%30%20%-1%-1%79%58%-107%-77%72%38%77%-109%73%-126%-41%62%95%-55%-52%77%94%-102%-52%76%98%-111%29%104%-2%-74%26%-115%-22%-29%81%-27%-83%31%35%77%44%51%98%-68%58%60%-19%120%22%-91%-27%-76%57%-70%-8%90%-18%-62%127%6%-56%-83%58%-65%-34%-61%47%-30%94%28%-76%-7%-52%63%122%109%-4%-5%5%-36%-59%73%73%79%105%-75%43%59%-26%14%78%-28%-48%-75%-70%-29%-78%-31%-42%-32%94%96%-87%107%-14%96%71%-36%-80%-18%42%96%115%5%-50%46%-72%-117%-82%26%53%-41%-16%-38%-100%-69%127%-91%-116%-51%-43%-116%-52%-72%-15%-67%14%53%87%123%102%-62%117%94%52%-79%-106%-27%-78%-53%75%-127%-101%-88%79%45%5%102%-66%101%60%119%-66%44%117%58%124%-71%15%38%-66%-1%59%-104%-106%-73%-15%-58%122%-36%-92%-60%101%-89%89%-95%63%-108%120%-32%79%75%-42%94%85%-121%-21%100%60%87%-39%36%-31%-76%-75%111%-98%-72%61%-2%-95%-50%-115%121%115%43%-40%127%23%15%-100%-3%-37%-19%41%115%91%69%47%-35%-107%-48%34%-31%-20%-90%-53%-19%-116%-32%-72%-11%-30%127%-81%75%14%88%66%86%-33%11%86%45%53%-18%-96%48%104%47%-123%-115%-128%-93%-8%119%1%92%87%-31%-38%25%107%-34%-112%118%-10%127%-115%-39%51%-60%-21%43%112%27%-84%113%13%71%-51%-43%103%-65%-66%78%-120%-26%-10%-104%81%-10%-86%114%-101%79%37%-20%88%-43%-48%-36%103%3%44%33%51%-90%-57%-18%5%-110%59%102%-2%-16%88%106%1%-107%48%115%28%32%-71%41%52%-13%21%-79%-124%92%-62%121%-14%18%20%-73%2%-79%-33%-112%43%-103%-42%29%116%-47%68%113%97%-108%-4%-54%13%-106%36%10%-65%1%31%87%14%-126%-5%6%-1%-21%72%3%-101%-81%45%120%66%77%16%-36%0%88%60%106%97%-39%-111%-50%-28%-36%8%44%70%-113%119%-22%97%20%-62%-59%121%41%-27%94%-125%-10%-57%-102%88%-10%99%12%-92%92%120%-2%45%-76%-71%33%-40%61%-36%80%-62%13%-63%48%-73%-124%109%-59%58%0%29%-24%75%-72%125%-48%-102%23%-9%99%-27%-128%-51%-29%78%-62%5%-21%-48%45%70%-3%10%2%51%54%-107%112%31%-103%-43%96%-96%17%-19%-22%42%18%115%95%-23%-58%122%123%-58%70%51%-72%66%-123%92%27%-76%-59%-124%54%2%-127%-120%-76%-14%-121%27%-49%120%-86%-46%77%51%51%44%-36%-7%110%63%-72%-47%-92%-115%-88%86%-24%-18%-111%27%-127%47%-23%-34%66%-89%-46%13%67%46%56%80%-97%44%18%103%40%-84%-75%111%-56%-99%-45%-50%-50%45%-46%-60%97%13%-105%51%-77%-96%83%-117%12%-111%92%113%90%34%87%8%-71%9%18%107%-67%25%114%9%-19%-52%-77%46%-1%10%-41%-75%-20%50%14%43%65%-47%15%-91%-104%118%-106%-49%47%-74%106%-79%-21%117%85%45%3%49%58%48%-28%-10%104%103%-7%-9%75%30%112%-36%95%-122%-36%127%104%103%-45%-100%27%-6%-120%93%50%-1%-117%-122%92%-97%118%-42%92%-97%11%73%-19%-8%-119%39%80%39%27%26%114%65%-35%-95%38%60%7%35%-48%-31%-98%-88%-87%92%96%127%122%23%-97%-5%32%-20%-59%103%-37%60%-127%101%-107%-17%86%-62%-58%-57%116%91%-109%112%-110%-112%91%56%103%98%-18%30%-35%-40%-45%-55%-55%62%5%-14%-69%19%9%23%-100%93%70%3%-67%0%-98%-10%100%-7%2%8%-13%59%6%92%88%-101%-103%-53%-72%48%29%-44%-33%-94%29%-112%-119%102%-46%-4%8%-90%-65%-25%-38%92%-80%105%124%36%-64%-78%-4%55%3%6%-17%-102%88%7%6%23%115%57%-9%16%24%100%-102%-87%10%-100%-82%103%34%-25%-62%21%-67%46%17%-88%-117%-119%45%-10%17%92%-72%-83%90%94%-55%-11%-105%80%76%125%115%25%97%-72%-16%-61%-77%-78%51%117%46%83%-119%94%111%3%-14%-70%-39%41%-76%106%41%23%-80%-104%-14%-43%-48%-58%113%7%-48%76%57%29%29%49%-10%119%4%-57%37%108%-11%-6%72%9%91%101%-126%-118%52%-62%114%-49%-40%-56%30%91%-11%-26%97%55%-31%63%-90%-18%-67%-49%-104%90%15%-24%-49%-72%112%49%-15%64%-16%92%-90%-66%-104%-85%-115%43%-96%21%-17%49%95%55%79%29%80%-9%26%78%-31%-82%-52%-67%65%-104%-11%82%-42%108%-101%100%-31%-18%113%126%20%35%-50%-87%-84%-53%118%-77%104%-12%-13%-13%87%-28%-67%-107%95%112%97%121%13%-47%-13%-112%-88%-58%-71%79%-100%110%23%36%-10%126%48%40%122%-79%-68%-96%-84%112%-24%-44%121%-73%-104%93%123%-37%2%-53%13%-7%-113%24%-38%7%-59%42%-113%125%125%-54%77%4%50%58%62%67%-33%-61%-58%-36%59%-50%92%105%112%115%-71%-15%24%-9%-85%71%101%-49%88%-106%96%65%-32%-17%-99%-29%105%-119%-61%-11%-112%-89%-23%75%-102%-118%94%88%64%-84%-54%61%123%-120%76%-32%-72%-22%50%-117%80%-23%61%-61%-111%54%-10%-23%-116%113%-91%-10%126%-93%112%-49%-120%84%113%71%87%124%55%50%19%63%126%-30%107%-56%-119%127%85%-33%-55%68%13%84%-78%76%-21%-111%87%80%85%127%-113%52%127%-106%-93%40%45%-7%85%122%-99%-9%87%123%-27%-81%52%88%93%29%-39%124%31%90%-17%-66%-94%-101%-30%-43%61%-105%-38%40%77%33%53%-33%-71%-123%99%-7%104%103%126%73%95%13%-72%-71%-110%-119%-88%-45%110%32%-82%-17%25%-67%-97%-20%-33%-74%-72%31%-12%-7%-31%74%22%9%25%-66%-37%36%97%127%-4%-13%-76%-67%-119%-4%-68%116%-38%-84%-83%4%-61%-69%51%-18%-89%102%-77%25%-10%-115%-22%-121%-2%3%52%51%-49%67%-105%-19%90%17%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%5%-46%-52%-24%92%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0rGQEDrWEeGMCcwsbpLuFA" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0rHeMDrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_C7NfsDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjUseInterface"/>
-          </eAnnotations>
-        </icon>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="__nMrwLqNEd-SedGzMDDkww" name="AMIpoll">
-        <icon xmi:type="uml:Image" xmi:id="_JXZ1gDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%84%0%0%0%101%8%3%0%0%0%-28%-109%52%-5%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-52%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%82%82%82%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%24%24%24%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-33%61%-9%-93%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%41%73%68%65%84%104%-127%-83%-39%125%91%-38%48%16%0%-16%-29%101%12%-76%32%32%69%17%-95%88%-107%23%-69%45%-43%90%-83%5%117%-32%-9%-1%78%-125%103%-37%67%47%109%115%-105%54%-9%119%-8%61%41%73%-109%-69%43%-120%-14%17%92%86%-105%86%56%-116%15%49%12%-83%-42%26%74%-126%-35%-54%106%8%82%84%74%-95%-125%-58%-117%12%30%98%84%28%125%-84%-74%-99%44%18%-96%87%20%125%-84%127%100%-117%0%83%81%12%85%-112%0%-61%98%-24%-83%-126%4%120%42%-126%-66%61%-87%72%-128%7%125%-44%-97%79%-43%38%-52%-75%-47%-2%25%65%2%-72%-70%-24%104%67%-102%-80%-43%68%107%57%59%19%69%-92%-121%46%25%36%-128%-81%-123%54%115%-99%-15%-85%-41%-88%110%15%81%-83%-51%-123%6%-22%63%100%-125%-45%-50%-3%-91%52%-108%-113%-98%100%-110%-81%-75%94%122%40%27%-99%103%-111%-42%58%115%44%23%-67%-31%-109%108%116%-108%-34%75%-101%93%-18%104%30%-38%77%-17%-7%102%-112%63%-100%-121%-2%72%-19%-95%47%-43%112%22%122%39%-101%118%-92%28%-49%65%-93%-119%100%-122%-118%71%-25%-94%-14%-61%119%8%-109%-125%110%37%-13%-52%-89%126%65%-93%-66%116%-81%15%-87%121%114%-48%26%54%63%-6%-28%47%104%-44%-57%91%-44%-71%-94%77%26%-67%-59%19%-99%51%76%26%-75%-15%102%34%23%-119%-125%86%-16%-61%-65%113%76%18%-75%16%-38%98%-103%20%-38%67%-89%-45%-17%-82%17%20%47%-45%61%-49%-92%-48%48%105%-114%-103%19%37%-48%1%-102%104%-109%105%18%-88%-117%-48%-127%25%-44%67%123%-108%107%18%104%-100%68%-17%-52%-96%17%122%-6%-116%11%-66%8%58%75%-102%54%-37%84%-93%40%-127%96%-66%77%36%-118%-18%-111%-118%33%-12%60%-119%50%14%103%22%58%78%-104%19%-66%-87%68%-125%-126%-21%116%64%-3%-111%91%91%36%-93%-27%-3%-115%95%73%-12%84%11%29%93%0%39%60%29%-12%-115%42%-117%-2%-59%82%7%125%-26%-103%-80%-48%65%57%69%-116%54%-54%13%45%-108%-7%-105%-62%119%29%-12%39%19%-43%90%-3%-63%-104%6%15%-47%-42%65%69%-60%91%127%-51%55%74%116%-81%-73%-57%-72%-114%-114%-15%-103%64%29%77%52%55%-48%5%-51%-53%120%104%20%85%-93%51%67%-24%-73%36%-70%50%-124%-94%-108%111%104%8%-19%-93%-11%103%-25%18%-60%-67%-113%106%-120%-70%33%116%-107%68%-49%13%-95%51%-12%-4%-20%77%-91%70%-5%-24%96%100%-33%-4%68%126%-118%58%112%83%51%-7%-87%-108%75%114%-49%84%2%13%-48%113%-53%77%-91%-87%-22%-28%20%77%-107%-7%86%81%-24%14%-95%78%94%43%70%15%-107%42%-66%23%35%21%-97%-76%85%121%-41%63%93%69%-93%20%29%-100%107%19%-88%92%70%27%-87%-9%83%-99%-119%11%19%-99%9%113%-123%81%70%121%-50%-23%-10%120%-110%-6%108%-96%-37%35%6%-87%-66%20%81%-3%-80%58%104%-82%-124%-62%69%-7%14%90%-6%15%-128%-119%-14%110%-27%-95%65%44%-85%112%82%-70%43%41%46%-45%-55%-31%38%-65%-80%-30%118%122%-85%41%116%-97%-77%-107%-20%-12%74%-119%-59%-1%-80%-34%-53%-95%57%93%126%-69%94%-90%123%46%-35%-41%-57%112%-98%23%35%-23%29%51%-13%69%98%106%91%75%-41%-35%109%-65%92%-9%74%19%21%-115%92%-11%24%15%-70%40%-25%43%-113%-89%-115%-118%119%-14%123%-44%-87%62%42%122%29%2%13%11%-96%-5%13%-85%-82%-68%-118%-95%34%82%78%-42%46%-122%10%113%-93%-8%103%-29%-94%-88%-22%11%111%113%84%-59%-106%64%-9%-73%108%-59%-54%-36%-75%-91%-48%125%-12%-22%97%-38%13%74%-94%-5%8%118%45%27%-61%81%121%-12%16%-2%-70%-46%-16%-38%97%24%-57%113%24%-74%-9%71%-31%31%12%-33%-99%51%8%-119%86%-81%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%45%-25%121%64%-90%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3DWg4DrWEeGMCcwsbpLuFA" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3DXH8DrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9f8J0DrWEeGMCcwsbpLuFA" key="image_name_key" value="IconAMIPoll"/>
-          </eAnnotations>
-        </icon>
-        <icon xmi:type="uml:Image" xmi:id="_3-hIoDrWEeGMCcwsbpLuFA" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%119%0%0%0%92%8%3%0%0%0%99%-116%-38%77%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%120%120%120%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-71%82%-104%50%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%4%-59%73%68%65%84%104%-127%-59%-102%109%91%-30%58%16%-122%11%-118%40%-88%108%-83%2%-53%-117%93%123%4%-75%-20%110%53%-83%69%-91%-108%30%20%-1%-1%79%58%-107%-77%72%38%77%-109%73%-126%-41%62%95%-55%-52%77%94%-102%-52%76%98%-111%29%104%-2%-74%26%-115%-22%-29%81%-27%-83%31%35%77%44%51%98%-68%58%60%-19%120%22%-91%-27%-76%57%-70%-8%90%-18%-62%127%6%-56%-83%58%-65%-34%-61%47%-30%94%28%-76%-7%-52%63%122%109%-4%-5%5%-36%-59%73%73%79%105%-75%43%59%-26%14%78%-28%-48%-75%-70%-29%-78%-31%-42%-32%94%96%-87%107%-14%96%71%-36%-80%-18%42%96%115%5%-50%46%-72%-117%-82%26%53%-41%-16%-38%-100%-69%127%-91%-116%-51%-43%-116%-52%-72%-15%-67%14%53%87%123%102%-62%117%94%52%-79%-106%-27%-78%-53%75%-127%-101%-88%79%45%5%102%-66%101%60%119%-66%44%117%58%124%-71%15%38%-66%-1%59%-104%-106%-73%-15%-58%122%-36%-92%-60%101%-89%89%-95%63%-108%120%-32%79%75%-42%94%85%-121%-21%100%60%87%-39%36%-31%-76%-75%111%-98%-72%61%-2%-95%-50%-115%121%115%43%-40%127%23%15%-100%-3%-37%-19%41%115%91%69%47%-35%-107%-48%34%-31%-20%-90%-53%-19%-116%-32%-72%-11%-30%127%-81%75%14%88%66%86%-33%11%86%45%53%-18%-96%48%104%47%-123%-115%-128%-93%-8%119%1%92%87%-31%-38%25%107%-34%-112%118%-10%127%-115%-39%51%-60%-21%43%112%27%-84%113%13%71%-51%-43%103%-65%-66%78%-120%-26%-10%-104%81%-10%-86%114%-101%79%37%-20%88%-43%-48%-36%103%3%44%33%51%-90%-57%-18%5%-110%59%102%-2%-16%88%106%1%-107%48%115%28%32%-71%41%52%-13%21%-79%-124%92%-62%121%-14%18%20%-73%2%-79%-33%-112%43%-103%-42%29%116%-47%68%113%97%-108%-4%-54%13%-106%36%10%-65%1%31%87%14%-126%-5%6%-1%-21%72%3%-101%-81%45%120%66%77%16%-36%0%88%60%106%97%-39%-111%-50%-28%-36%8%44%70%-113%119%-22%97%20%-62%-59%121%41%-27%94%-125%-10%-57%-102%88%-10%99%12%-92%92%120%-2%45%-76%-71%33%-40%61%-36%80%-62%13%-63%48%-73%-124%109%-59%58%0%29%-24%75%-72%125%-48%-102%23%-9%99%-27%-128%-51%-29%78%-62%5%-21%-48%45%70%-3%10%2%51%54%-107%112%31%-103%-43%96%-96%17%-19%-22%42%18%115%95%-23%-58%122%123%-58%70%51%-72%66%-123%92%27%-76%-59%-124%54%2%-127%-120%-76%-14%-121%27%-49%120%-86%-46%77%51%51%44%-36%-7%110%63%-72%-47%-92%-115%-88%86%-24%-18%-111%27%-127%47%-23%-34%66%-89%-46%13%67%46%56%80%-97%44%18%103%40%-84%-75%111%-56%-99%-45%-50%-50%45%-46%-60%97%13%-105%51%-77%-96%83%-117%12%-111%92%113%90%34%87%8%-71%9%18%107%-67%25%114%9%-19%-52%-77%46%-1%10%-41%-75%-20%50%14%43%65%-47%15%-91%-104%118%-106%-49%47%-74%106%-79%-21%117%85%45%3%49%58%48%-28%-10%104%103%-7%-9%75%30%112%-36%95%-122%-36%127%104%103%-45%-100%27%-6%-120%93%50%-1%-117%-122%92%-97%118%-42%92%-97%11%73%-19%-8%-119%39%80%39%27%26%114%65%-35%-95%38%60%7%35%-48%-31%-98%-88%-87%92%96%127%122%23%-97%-5%32%-20%-59%103%-37%60%-127%101%-107%-17%86%-62%-58%-57%116%91%-109%112%-110%-112%91%56%103%98%-18%30%-35%-40%-45%-55%-55%62%5%-14%-69%19%9%23%-100%93%70%3%-67%0%-98%-10%100%-7%2%8%-13%59%6%92%88%-101%-103%-53%-72%48%29%-44%-33%-94%29%-112%-119%102%-46%-4%8%-90%-65%-25%-38%92%-80%105%124%36%-64%-78%-4%55%3%6%-17%-102%88%7%6%23%115%57%-9%16%24%100%-102%-87%10%-100%-82%103%34%-25%-62%21%-67%46%17%-88%-117%-119%45%-10%17%92%-72%-83%90%94%-55%-11%-105%80%76%125%115%25%97%-72%-16%-61%-77%-78%51%117%46%83%-119%94%111%3%-14%-70%-39%41%-76%106%41%23%-80%-104%-14%-43%-48%-58%113%7%-48%76%57%29%29%49%-10%119%4%-57%37%108%-11%-6%72%9%91%101%-126%-118%52%-62%114%-49%-40%-56%30%91%-11%-26%97%55%-31%63%-90%-18%-67%-49%-104%90%15%-24%-49%-72%112%49%-15%64%-16%92%-90%-66%-104%-85%-115%43%-96%21%-17%49%95%55%79%29%80%-9%26%78%-31%-82%-52%-67%65%-104%-11%82%-42%108%-101%100%-31%-18%113%126%20%35%-50%-87%-84%-53%118%-77%104%-12%-13%-13%87%-28%-67%-107%95%112%97%121%13%-47%-13%-112%-88%-58%-71%79%-100%110%23%36%-10%126%48%40%122%-79%-68%-96%-84%112%-24%-44%121%-73%-104%93%123%-37%2%-53%13%-7%-113%24%-38%7%-59%42%-113%125%125%-54%77%4%50%58%62%67%-33%-61%-58%-36%59%-50%92%105%112%115%-71%-15%24%-9%-85%71%101%-49%88%-106%96%65%-32%-17%-99%-29%105%-119%-61%-11%-112%-89%-23%75%-102%-118%94%88%64%-84%-54%61%123%-120%76%-32%-72%-22%50%-117%80%-23%61%-61%-111%54%-10%-23%-116%113%-91%-10%126%-93%112%-49%-120%84%113%71%87%124%55%50%19%63%126%-30%107%-56%-119%127%85%-33%-55%68%13%84%-78%76%-21%-111%87%80%85%127%-113%52%127%-106%-93%40%45%-7%85%122%-99%-9%87%123%-27%-81%52%88%93%29%-39%124%31%90%-17%-66%-94%-101%-30%-43%61%-105%-38%40%77%33%53%-33%-71%-123%99%-7%104%103%126%73%95%13%-72%-71%-110%-119%-88%-45%110%32%-82%-17%25%-67%-97%-20%-33%-74%-72%31%-12%-7%-31%74%22%9%25%-66%-37%36%97%127%-4%-13%-76%-67%-119%-4%-68%116%-38%-84%-83%4%-61%-69%51%-18%-89%102%-77%25%-10%-115%-22%-121%-2%3%52%51%-49%67%-105%-19%90%17%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%5%-46%-52%-24%92%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_54LY8DrWEeGMCcwsbpLuFA" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_54MnEDrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ACEvYDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjAMIPoll"/>
-          </eAnnotations>
-        </icon>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="_AQZZwLqOEd-SedGzMDDkww" name="AMIcallback">
-        <icon xmi:type="uml:Image" xmi:id="_KoY8QDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%72%0%0%0%104%8%3%0%0%0%101%-97%70%67%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%103%103%103%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%-34%-34%-34%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-51%-46%-59%107%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%-13%73%68%65%84%88%-123%-75%-39%109%67%-86%48%20%0%-32%-39%53%75%-67%105%26%-23%-51%74%52%73%45%-13%-86%13%-13%37%-55%-105%-44%-1%-1%-109%-82%-70%13%6%-116%-77%-93%113%-49%-73%-28%-12%48%-74%113%-40%-128%80%116%12%55%-39%-4%116%78%-56%-14%-13%-6%-9%-13%40%120%-108%32%21%-69%121%85%39%82%52%-14%109%-65%-123%-124%-102%-9%36%20%-85%-92%125%44%84%-67%13%51%-5%-72%-33%30%7%117%-44%-52%62%-78%110%-93%-12%-48%-80%31%-19%16%82%40%98%-95%-30%-89%-12%111%-26%52%-105%-51%-68%79%-66%-91%-97%-26%51%28%100%23%-68%-50%-51%-82%-59%-123%84%47%-67%-50%-65%27%-95%-96%-116%-56%-81%-65%-7%-122%-37%62%119%-101%-107%-73%17%-48%-117%-37%23%70%-24%-102%-35%-66%-21%-22%33%-93%-63%115%51%-74%-30%104%-57%-30%71%23%90%72%-100%-76%-93%62%-36%-30%-121%-57%58%-56%-31%-89%-20%71%37%116%-71%-76%-47%64%57%-106%118%59%-116%-52%-56%-77%-116%50%12%-35%-16%6%-43%-12%109%126%0%-95%54%75%-54%65%-115%-50%-120%-127%-125%-96%-100%56%-101%-66%-43%101%8%26%-78%-79%-81%64%14%-91%31%-20%108%14%0%85%-7%20%-126%-95%36%-53%106%6%-96%-46%-52%-117%95%-18%-48%66%-15%-59%-78%82%62%40%41%-33%-42%34%28%24%-78%89%86%90%-122%54%10%-122%-112%80%-103%15%4%59%-7%64%-122%6%74%72%-29%-48%-54%33%107%34%-25%77%-108%-112%-22%118%-107%99%-50%38%-101%30%-102%105%32%-106%-107%-43%67%-64%13%-78%15%-125%101%117%-62%80%-91%-59%-29%-110%-91%-92%96%40%-63%-78%90%97%104%18%56%-41%68%-15%-33%82%-16%17%122%4%32%58%61%-4%109%-35%64%-114%-51%70%-1%-101%66%16%127%48%-66%65%16%-81%16%61%16%90%-80%-92%70%-88%-18%123%49%92%-79%-100%45%8%-15%-71%-74%59%93%100%-16%70%-101%67%24%58%-29%51%-96%29%-27%60%89%-18%-56%-126%16%-17%110%98%85%-43%-114%99%-78%-29%-53%-95%14%-86%-15%38%-103%79%42%103%-79%-108%90%12%67%-18%-125%-51%82%76%-53%103%-79%-124%27%-37%122%104%84%22%119%-54%-57%34%112%89%110%-83%88%30%70%85%3%-47%-46%74%-28%-109%-63%-38%43%4%-43%-65%-30%113%77%-22%-20%12%58%-120%62%74%107%80%115%-48%105%-83%-41%-83%-117%-98%-89%19%43%65%113%-112%-41%-91%-54%112%-121%65%15%81%67%93%94%14%81%113%-85%21%2%-94%118%-38%-118%112%-6%94%65%-57%64%-14%16%-55%-31%27%72%28%-76%-21%-87%92%-35%-81%52%-14%-2%-46%-119%-123%-10%91%-111%94%69%40%-53%65%104%51%-126%-121%14%81%122%-36%38%-86%-54%-57%-63%-111%80%116%-60%9%57%-25%111%44%-106%63%-125%-38%-127%73%114%42%84%12%12%-21%-55%80%45%56%-51%78%-123%30%-30%-126%-24%-8%4%-56%72%-68%-20%6%-89%37%-105%114%66%111%-6%-26%81%-112%-109%-54%-117%-62%50%-10%65%94%96%-26%81%45%39%13%-78%-68%-75%56%14%58%43%-5%26%-33%61%17%26%-11%2%-35%-103%60%13%-86%-122%106%110%-30%36%40%21%46%-109%-2%81%67%66%41%9%88%-26%95%55%-50%-20%107%45%-41%36%44%-44%116%21%43%-89%92%9%32%-95%-124%123%93%-3%63%-22%22%-29%-96%-110%-104%-77%-26%-103%-102%-63%66%124%-57%73%-54%-91%40%7%7%-119%5%87%5%88%4%98%-96%-30%-73%-34%65%65%124%-28%-83%47%-64%65%65%108%-37%2%47%-109%49%16%-33%-58%-107%-31%109%18%2%-30%-101%-19%103%-48%65%64%35%54%23%87%-102%125%-101%30%-30%-101%-19%46%-123%67%15%-99%51%72%-77%71%70%64%108%105%100%106%28%5%52%-99%-7%-29%-18%-16%-21%-57%-15%-112%58%-46%113%65%-16%108%-4%95%-48%117%92%-48%107%92%-48%-80%16%13%-127%-81%-75%-126%-48%-18%-2%-68%-32%-117%-73%-105%-106%27%-20%21%-76%-26%117%20%-26%-19%113%-102%53%-87%-88%73%-45%67%-4%85%-61%86%-109%-90%-121%28%6%93%-1%24%18%5%82%-13%-42%6%1%-15%89%-95%-71%73%16%-112%-63%42%-101%-75%0%-77%48%31%15%-82%88%-109%-32%-94%-115%-127%120%-115%-124%-117%36%-22%-69%-56%59%-105%-96%119%82%40%-56%48%-11%18%-18%-109%79%91%-36%114%-23%-56%126%66%126%59%18%-53%17%82%-114%26%59%36%52%114%-117%94%-93%-89%94%2%96%63%-117%21%-35%-3%44%33%-123%-74%-30%21%55%22%-94%-122%36%17%82%-97%78%38%19%-33%-73%9%52%68%-115%80%-39%-13%125%-100%-64%67%-69%103%110%-61%15%-7%-54%-17%49%16%117%62%99%-126%-88%-99%24%-57%3%-19%98%-47%-81%-57%3%-19%-30%-95%-35%43%-49%119%113%46%-1%-8%15%83%120%-125%-89%63%57%-45%-36%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%32%-103%-56%60%27%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
-        <icon xmi:type="uml:Image" xmi:id="_WTUY0ENnEeGoAtSeIK7WLg" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%72%0%0%0%104%8%3%0%0%0%101%-97%70%67%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%103%103%103%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%-34%-34%-34%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-51%-46%-59%107%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%-13%73%68%65%84%88%-123%-75%-39%109%67%-86%48%20%0%-32%-39%53%75%-67%105%26%-23%-51%74%52%73%45%-13%-86%13%-13%37%-55%-105%-44%-1%-1%-109%-82%-70%13%6%-116%-77%-93%113%-49%-73%-28%-12%48%-74%113%-40%-128%80%116%12%55%-39%-4%116%78%-56%-14%-13%-6%-9%-13%40%120%-108%32%21%-69%121%85%39%82%52%-14%109%-65%-123%-124%-102%-9%36%20%-85%-92%125%44%84%-67%13%51%-5%-72%-33%30%7%117%-44%-52%62%-78%110%-93%-12%-48%-80%31%-19%16%82%40%98%-95%-30%-89%-12%111%-26%52%-105%-51%-68%79%-66%-91%-97%-26%51%28%100%23%-68%-50%-51%-82%-59%-123%84%47%-67%-50%-65%27%-95%-96%-116%-56%-81%-65%-7%-122%-37%62%119%-101%-107%-73%17%-48%-117%-37%23%70%-24%-102%-35%-66%-21%-22%33%-93%-63%115%51%-74%-30%104%-57%-30%71%23%90%72%-100%-76%-93%62%-36%-30%-121%-57%58%-56%-31%-89%-20%71%37%116%-71%-76%-47%64%57%-106%118%59%-116%-52%-56%-77%-116%50%12%-35%-16%6%-43%-12%109%126%0%-95%54%75%-54%65%-115%-50%-120%-127%-125%-96%-100%56%-101%-66%-43%101%8%26%-78%-79%-81%64%14%-91%31%-20%108%14%0%85%-7%20%-126%-95%36%-53%106%6%-96%-46%-52%-117%95%-18%-48%66%-15%-59%-78%82%62%40%41%-33%-42%34%28%24%-78%89%86%90%-122%54%10%-122%-112%80%-103%15%4%59%-7%64%-122%6%74%72%-29%-48%-54%33%107%34%-25%77%-108%-112%-22%118%-107%99%-50%38%-101%30%-102%105%32%-106%-107%-43%67%-64%13%-78%15%-125%101%117%-62%80%-91%-59%-29%-110%-91%-92%96%40%-63%-78%90%97%104%18%56%-41%68%-15%-33%82%-16%17%122%4%32%58%61%-4%109%-35%64%-114%-51%70%-1%-101%66%16%127%48%-66%65%16%-81%16%61%16%90%-80%-92%70%-88%-18%123%49%92%-79%-100%45%8%-15%-71%-74%59%93%100%-16%70%-101%67%24%58%-29%51%-96%29%-27%60%89%-18%-56%-126%16%-17%110%98%85%-43%-114%99%-78%-29%-53%-95%14%-86%-15%38%-103%79%42%103%-79%-108%90%12%67%-18%-125%-51%82%76%-53%103%-79%-124%27%-37%122%104%84%22%119%-54%-57%34%112%89%110%-83%88%30%70%85%3%-47%-46%74%-28%-109%-63%-38%43%4%-43%-65%-30%113%77%-22%-20%12%58%-120%62%74%107%80%115%-48%105%-83%-41%-83%-117%-98%-89%19%43%65%113%-112%-41%-91%-54%112%-121%65%15%81%67%93%94%14%81%113%-85%21%2%-94%118%-38%-118%112%-6%94%65%-57%64%-14%16%-55%-31%27%72%28%-76%-21%-87%92%-35%-81%52%-14%-2%-46%-119%-123%-10%91%-111%94%69%40%-53%65%104%51%-126%-121%14%81%122%-36%38%-86%-54%-57%-63%-111%80%116%-60%9%57%-25%111%44%-106%63%-125%-38%-127%73%114%42%84%12%12%-21%-55%80%45%56%-51%78%-123%30%-30%-126%-24%-8%4%-56%72%-68%-20%6%-89%37%-105%114%66%111%-6%-26%81%-112%-109%-54%-117%-62%50%-10%65%94%96%-26%81%45%39%13%-78%-68%-75%56%14%58%43%-5%26%-33%61%17%26%-11%2%-35%-103%60%13%-86%-122%106%110%-30%36%40%21%46%-109%-2%81%67%66%41%9%88%-26%95%55%-50%-20%107%45%-41%36%44%-44%116%21%43%-89%92%9%32%-95%-124%123%93%-3%63%-22%22%-29%-96%-110%-104%-77%-26%-103%-102%-63%66%124%-57%73%-54%-91%40%7%7%-119%5%87%5%88%4%98%-96%-30%-73%-34%65%65%124%-28%-83%47%-64%65%65%108%-37%2%47%-109%49%16%-33%-58%-107%-31%109%18%2%-30%-101%-19%103%-48%65%64%35%54%23%87%-102%125%-101%30%-30%-101%-19%46%-123%67%15%-99%51%72%-77%71%70%64%108%105%100%106%28%5%52%-99%-7%-29%-18%-16%-21%-57%-15%-112%58%-46%113%65%-16%108%-4%95%-48%117%92%-48%107%92%-48%-80%16%13%-127%-81%-75%-126%-48%-18%-2%-68%-32%-117%-73%-105%-106%27%-20%21%-76%-26%117%20%-26%-19%113%-102%53%-87%-88%73%-45%67%-4%85%-61%86%-109%-90%-121%28%6%93%-1%24%18%5%82%-13%-42%6%1%-15%89%-95%-71%73%16%-112%-63%42%-101%-75%0%-77%48%31%15%-82%88%-109%-32%-94%-115%-127%120%-115%-124%-117%36%-22%-69%-56%59%-105%-96%119%82%40%-56%48%-11%18%-18%-109%79%91%-36%114%-23%-56%126%66%126%59%18%-53%17%82%-114%26%59%36%52%114%-117%94%-93%-89%94%2%96%63%-117%21%-35%-3%44%33%-123%-74%-30%21%55%22%-94%-122%36%17%82%-97%78%38%19%-33%-73%9%52%68%-115%80%-39%-13%125%-100%-64%67%-69%103%110%-61%15%-7%-54%-17%49%16%117%62%99%-126%-88%-99%24%-57%3%-19%98%-47%-81%-57%3%-19%-30%-95%-35%43%-49%119%113%46%-1%-8%15%83%120%-125%-89%63%57%-45%-36%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%32%-103%-56%60%27%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="_GjnlcC8qEeKx7OxAiA06uw" name="PushProdPullCons">
-        <icon xmi:type="uml:Image" xmi:id="_0I0rMEMLEeKGIL695HkFYQ" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%112%0%0%0%103%8%0%0%0%0%-3%88%-103%-76%0%0%7%56%73%68%65%84%104%-127%-75%-102%123%80%21%85%28%-57%-9%-18%-67%92%121%-91%40%-124%38%70%64%-26%11%-33%-118%-29%115%124%84%-90%83%106%-91%-93%2%-115%83%-90%102%-90%-7%-56%-55%-41%-104%58%-26%-116%-40%56%-102%-64%-116%-88%53%101%62%-54%102%-14%81%26%86%102%-58%4%78%102%-120%14%89%62%72%5%-15%9%72%112%-111%-57%-62%-23%42%23%-10%123%118%-49%-18%-98%-35%-69%-2%-2%-29%-100%-33%-2%62%-105%-35%-13%123%-100%-33%57%2%-31%23%-23%-20%-87%-101%-116%-31%-102%-69%38%108%16%-127%31%-105%-38%78%16%-100%83%47%-46%-93%-43%-97%116%17%-59%94%-23%53%-10%3%-85%-34%116%9%15%36%-106%34%86%39%63%28%20%-109%-1%-77%29%-72%-92%-111%39%8%-29%-85%96%52%-75%105%116%90%-75%-51%-64%-116%22%62%-53%66%-28%101%121%-76%122%96%-45%-88%-72%-76%-34%86%-32%-31%80%-95%89%-66%-105%-121%47%61%-39%60%-22%78%-77%19%120%-90%-83%-52%19%-14%-28%-15%-62%56%121%56%116%-97%125%-64%-62%-98%-64%-21%120%93%-98%-88%26%12%19%109%-114%-39%5%44%123%22%-52%10%91%112%-22%-101%64%-104%-119%62%103%15%80%74%114%-128%-43%23%-53%113%-50%-25%22%62%-23%117%-51%22%-32%42%39%-40%-20%83%76%79%-106%-67%-128%-60%81%-58%65%-57%24%-72%-93%5%88%-20%-112%-81%-100%-66%-103%-128%-60%-55%30%-65%-127%-103%-32%16%66%-21%-29%106%-123%11%79%-125%-126%56%-73%-42%79%96%126%52%-104%11%-38%-55%82%-55%121%28%84%2%-42%-7%7%-68%-34%11%95%-40%-70%58%-90%-46%-63%-57%64%39%-28%115%127%-128%-98%-25%-112%55%-29%-66%-122%-38%118%-4%-52%97%-121%-83%3%-91%-23%-24%16%99%52%51%66%-3%-121%34%-24%69%-99%-78%12%92%-29%2%59%61%-117%-75%21%107%-26%-32%-101%-24%-10%-113%69%-32%23%24%70%-94%114%-11%126%90%-59%68%36%14%101%21%6%-58%-64%19%-83%-64%70%-85%31%-12%120%-124%-108%12%69%-30%-72%50%11%64%72%61%-34%-46%-30%-45%6%125%32%-71%26%15%-22%-30%76%-83%-11%-91%13%-68%-35%7%127%-14%74%-74%67%-96%-28%70%-127%126%-64%7%-110%73%-96%-121%-118%-111%111%104%-2%96%-112%-93%97%-16%68%96%-70%73%-32%76%116%-120%81%-9%56%120%-124%-20%13%-126%103%66%-65%50%5%92%-113%14%-47%-11%10%23%-113%-44%111%-62%-68%18%-98%101%2%-72%-41%13%79%70%-98%-26%-29%121%-35%113%41%126%-121%-40%-13%-36%-64%-109%-24%16%-63%-103%-68%60%66%42%95%67%98%127%86%-88%96%1%11%48%67%56%-73%25%57%4%74%-39%88%36%14%47%-27%2%-106%80%14%-79%-62%-40%33%80%-118%-6%-31%-61%83%-85%84%10%106%-96%-12%18%46%-48%100%-11%35%-6%-110%31%11%79%59%22%-87%-36%81%13%-100%-117%-111%127%-104%118%-116%-46%-110%19%88%-61%6%108%52%4%110%70%-121%-120%-27%116%8%74%14%-32%-110%11%82%-26%99%37%112%63%58%68%-60%31%22%120%-92%126%43%102%-103%-106%-118%-88%-81%0%-2%-114%-31%41%-8%59%43%60%66%106%87%99%0%104%-105%71%77%-46%-64%43%88%-127%9%105%90%1%-40%72%60%-77%-48%76%-89%34%77%96%101%95%84%92%96%84%-15%105%75%-7%-85%104%104%48%-106%-57%8%-84%-101%-128%106%-109%121%-73%-104%44%-71%51%4%77%-31%30%22%-127%-117%-47%1%19%-52%59%4%-54%-91%46%96%-53%49%67%-2%56%0%-92%98%125%76%-127%95%60%-17%-14%123%2%-84%57%87%49%-128%-103%-104%-51%-38%-24%-106%122%92%114%-76%53%-40%115%103%-88%-128%-25%-38%-64%-68%-21%-96%-103%-120%-83%33%-69%-15%63%8%57%-92%0%-34%-120%-63%-81%-68%-103%-77%67%-96%43%13%31%81%-7%56%-121%2%86%12%66%-34%60%-21%14%-127%82%-77%16%-115%-58%92%4%96%-35%100%-100%-102%-32%-113%67%-96%84%38%-94%-39%-34%55%101%-32%10%116%-120%-34%37%54%-15%-68%-7%120%36%18%71%120%-102%-128%59%-112%-41%94%111%103%96%86%-118%-79%-1%-31%72%-108%26%-127%-57%48%67%-124%-8%-17%16%40%-25%-79%60%118%-66%-1%16%120%1%-13%-105%75%-93%-100%-76%44%89%-24%110%-31%69%94%96%113%71%124%-49%41%118%56%4%37%-5%-63%29%-59%84%47%-112%-6%-82%-13%-52%-107%76%60%-46%-112%14%-18%56%64%18%-14%112%-63%-116%54%-20%122%88%-112%44%-8%100%125%37%97%62%-16%-30%-17%60%2%-34%5%-88%114%29%-21%-119%-48%94%-2%51%-20%-46%35%-32%-35%-22%15%-1%81%-40%95%68%-64%125%-28%86%27%66%-74%66%42%38%-127%125%71%-94%-41%45%54%-94%79%88%-84%-102%-76%-91%-10%61%92%-110%-61%-68%-91%-65%112%59%0%70%66%-71%55%74%124%-46%-80%5%19%70%-41%-85%-28%-127%-29%83%91%-84%-88%-117%-122%70%-52%-56%1%76%-119%17%15%-1%27%111%-92%-103%-126%-60%78%-73%108%-28%-3%22%1%-106%-125%15%18%31%-16%-2%112%-22%61%87%-40%-58%43%120%6%-20%-70%55%-111%38%32%41%-19%-122%-60%41%-4%-89%44%-6%82%58%2%-84%58%23%18%25%72%10%-80%37%35%44%-78%39%-68%121%-110%-48%-24%-53%77%-91%105%99%2%-2%19%-73%20%-62%70%59%2%120%-35%114%52%57%-80%-71%-8%-10%-43%52%71%-80%1%-23%-38%-25%127%0%104%-56%64%-121%-120%-109%79%115%-102%-86%-74%109%-72%13%13%57%-18%55%48%19%-33%89%120%-74%60%-47%92%-105%-82%68%98%100%30%-53%-120%9%57%-35%14%-84%5%-19%-127%25%-71%-14%-98%-123%121%42%-90%72%109%-60%-124%20%-10%0%91%1%41%56%37%3%-21%-88%-114%-57%0%127%-10%50%-9%-80%115%-19%-104%69%109%51%97%51%83%-47%-101%90%-57%60%-3%60%-74%120%94%71%67%99%-24%62%8%110%-41%-118%-30%80%-15%109%-85%1%64%90%-125%11%52%-31%6%61%75%-19%-128%-13%-15%4%66%88%109%113%-57%77%117%-82%-97%82%30%-27%-48%123%-4%-97%67%64%-41%-75%-35%-110%59%-2%68%117%-82%127%84%78%43%-70%24%123%48%59%90%-22%98%-100%-61%70%93%-32%103%-86%121%101%-97%-122%-38%98%69%-28%-104%-26%81%-67%54%-41%90%-75%-126%-86%19%-75%0%3%64%-76%-39%124%124%15%-5%18%-30%116%-58%-70%83%1%-21%38%82%59%41%115%-123%99%-19%108%92%117%35%24%-35%75%70%115%-81%18%-49%117%-123%-25%-71%111%4%120%-91%-98%-6%32%-35%-103%71%57%-116%126%-23%45%-20%120%-16%53%-12%125%-14%101%48%60%24%-59%-114%-57%-52%-114%112%123%36%46%-31%-34%127%-1%18%14%-113%-75%-44%88%-30%-58%61%111%-25%22%-50%124%76%29%-107%6%102%104%104%-79%-69%-6%-5%49%88%4%127%-51%-59%-93%-70%93%-30%50%-109%39%51%105%24%0%-62%127%-27%-32%81%53%-67%-112%100%-6%-20%105%57%-70%99%7%-29%-126%-68%6%119%97%-62%112%-19%-66%-124%22%80%-102%-122%-18%-40%-29%95%35%-32%-57%88%20%-59%-21%-88%107%-98%-82%-47%-57%-65%35%13%2%-64%1%60%119%-114%-52%-42%-47%-44%62%63%-92%-49%-13%18%43%-11%120%39%35%65%53%84%119%-111%-23%-100%-112%-46%-3%-24%-7%58%1%-32%114%103%80%12%-40%-84%-57%-45%61%3%-50%69%71%118%-90%104%22%-28%119%71%-127%-98%-72%80%-33%109%117%79%-71%-113%96%62%14%-38%-87%-111%-113%-85%-88%19%-82%-119%6%-101%33%-3%-117%3%25%-72%-10%90%-79%-113%-39%-22%-105%-95%7%13%49%-38%-18%25%92%-115%88%-117%-25%52%109%-103%-7%120%43%54%-50%-30%12%27%117%6%64%-23%29%-4%-7%-99%24%-7%-8%80%75%80%-32%-120%73%70%-73%77%60%-44%9%-60%32%-43%11%59%-125%-103%37%100%-105%33%-49%-8%62%-51%93%-22%4%-30%21%69%62%46%-60%-30%-39%-99%-62%54%97%14%72%-82%117%71%-30%108%-86%91%92%54%26%-25%-34%-30%-23%36%115%-36%-119%58%-117%45%79%-9%-73%56%-75%1%121%-29%-54%-75%44%-104%4%-110%99%-104%-113%-57%-62%-65%113%37%6%38%-6%-23%-36%70%49%9%36%-69%-96%86%-23%12%123%-123%108%8%12%-86%-102%-34%31%32%-39%36%7%-128%104%-72%-69%-106%41%-13%-62%-114%-14%-15%56%-127%-46%-30%-26%0%48%6%-118%-37%-13%-51%-25%75%-116%-102%-34%47%-96%55%94%-6%-14%-79%115%55%-116%-42%-114%-9%-15%-60%85%-36%-115%15%-34%-5%-91%37%-109%26%-119%115%-88%-22%-35%87%-88%-119%-17%62%-126%43%-69%82%90%127%-105%-69%-25%94%-123%-27%-53%-55%-34%72%26%-67%-61%68%99%-121%-1%82%50%33%-27%-84%-46%-81%-28%-52%-33%-90%-6%72%-1%3%78%-120%-67%33%108%33%82%26%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
-        <icon xmi:type="uml:Image" xmi:id="_12mboEMLEeKGIL695HkFYQ" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%112%0%0%0%103%8%0%0%0%0%-3%88%-103%-76%0%0%7%56%73%68%65%84%104%-127%-75%-102%123%80%21%85%28%-57%-9%-18%-67%92%121%-91%40%-124%38%70%64%-26%11%-33%-118%-29%115%124%84%-90%83%106%-91%-93%2%-115%83%-90%102%-90%-7%-56%-55%-41%-104%58%-26%-116%-40%56%-102%-64%-116%-88%53%101%62%-54%102%-14%81%26%86%102%-58%4%78%102%-120%14%89%62%72%5%-15%9%72%112%-111%-57%-62%-23%42%23%-10%123%118%-49%-18%-98%-35%-69%-2%-2%-29%-100%-33%-2%62%-105%-35%-13%123%-100%-33%57%2%-31%23%-23%-20%-87%-101%-116%-31%-102%-69%38%108%16%-127%31%-105%-38%78%16%-100%83%47%-46%-93%-43%-97%116%17%-59%94%-23%53%-10%3%-85%-34%116%9%15%36%-106%34%86%39%63%28%20%-109%-1%-77%29%-72%-92%-111%39%8%-29%-85%96%52%-75%105%116%90%-75%-51%-64%-116%22%62%-53%66%-28%101%121%-76%122%96%-45%-88%-72%-76%-34%86%-32%-31%80%-95%89%-66%-105%-121%47%61%-39%60%-22%78%-77%19%120%-90%-83%-52%19%-14%-28%-15%-62%56%121%56%116%-97%125%-64%-62%-98%-64%-21%120%93%-98%-88%26%12%19%109%-114%-39%5%44%123%22%-52%10%91%112%-22%-101%64%-104%-119%62%103%15%80%74%114%-128%-43%23%-53%113%-50%-25%22%62%-23%117%-51%22%-32%42%39%-40%-20%83%76%79%-106%-67%-128%-60%81%-58%65%-57%24%-72%-93%5%88%-20%-112%-81%-100%-66%-103%-128%-60%-55%30%-65%-127%-103%-32%16%66%-21%-29%106%-123%11%79%-125%-126%56%-73%-42%79%96%126%52%-104%11%-38%-55%82%-55%121%28%84%2%-42%-7%7%-68%-34%11%95%-40%-70%58%-90%-46%-63%-57%64%39%-28%115%127%-128%-98%-25%-112%55%-29%-66%-122%-38%118%-4%-52%97%-121%-83%3%-91%-23%-24%16%99%52%51%66%-3%-121%34%-24%69%-99%-78%12%92%-29%2%59%61%-117%-75%21%107%-26%-32%-101%-24%-10%-113%69%-32%23%24%70%-94%114%-11%126%90%-59%68%36%14%101%21%6%-58%-64%19%-83%-64%70%-85%31%-12%120%-124%-108%12%69%-30%-72%50%11%64%72%61%-34%-46%-30%-45%6%125%32%-71%26%15%-22%-30%76%-83%-11%-91%13%-68%-35%7%127%-14%74%-74%67%-96%-28%70%-127%126%-64%7%-110%73%-96%-121%-118%-111%111%104%-2%96%-112%-93%97%-16%68%96%-70%73%-32%76%116%-120%81%-9%56%120%-124%-20%13%-126%103%66%-65%50%5%92%-113%14%-47%-11%10%23%-113%-44%111%-62%-68%18%-98%101%2%-72%-41%13%79%70%-98%-26%-29%121%-35%113%41%126%-121%-40%-13%-36%-64%-109%-24%16%-63%-103%-68%60%66%42%95%67%98%127%86%-88%96%1%11%48%67%56%-73%25%57%4%74%-39%88%36%14%47%-27%2%-106%80%14%-79%-62%-40%33%80%-118%-6%-31%-61%83%-85%84%10%106%-96%-12%18%46%-48%100%-11%35%-6%-110%31%11%79%59%22%-87%-36%81%13%-100%-117%-111%127%-104%118%-116%-46%-110%19%88%-61%6%108%52%4%110%70%-121%-120%-27%116%8%74%14%-32%-110%11%82%-26%99%37%112%63%58%68%-60%31%22%120%-92%126%43%102%-103%-106%-118%-88%-81%0%-2%-114%-31%41%-8%59%43%60%66%106%87%99%0%104%-105%71%77%-46%-64%43%88%-127%9%105%90%1%-40%72%60%-77%-48%76%-89%34%77%96%101%95%84%92%96%84%-15%105%75%-7%-85%104%104%48%-106%-57%8%-84%-101%-128%106%-109%121%-73%-104%44%-71%51%4%77%-31%30%22%-127%-117%-47%1%19%-52%59%4%-54%-91%46%96%-53%49%67%-2%56%0%-92%98%125%76%-127%95%60%-17%-14%123%2%-84%57%87%49%-128%-103%-104%-51%-38%-24%-106%122%92%114%-76%53%-40%115%103%-88%-128%-25%-38%-64%-68%-21%-96%-103%-120%-83%33%-69%-15%63%8%57%-92%0%-34%-120%-63%-81%-68%-103%-77%67%-96%43%13%31%81%-7%56%-121%2%86%12%66%-34%60%-21%14%-127%82%-77%16%-115%-58%92%4%96%-35%100%-100%-102%-32%-113%67%-96%84%38%-94%-39%-34%55%101%-32%10%116%-120%-34%37%54%-15%-68%-7%120%36%18%71%120%-102%-128%59%-112%-41%94%111%103%96%86%-118%-79%-1%-31%72%-108%26%-127%-57%48%67%-124%-8%-17%16%40%-25%-79%60%118%-66%-1%16%120%1%-13%-105%75%-93%-100%-76%44%89%-24%110%-31%69%94%96%113%71%124%-49%41%118%56%4%37%-5%-63%29%-59%84%47%-112%-6%-82%-13%-52%-107%76%60%-46%-112%14%-18%56%64%18%-14%112%-63%-116%54%-20%122%88%-112%44%-8%100%125%37%97%62%-16%-30%-17%60%2%-34%5%-88%114%29%-21%-119%-48%94%-2%51%-20%-46%35%-32%-35%-22%15%-1%81%-40%95%68%-64%125%-28%86%27%66%-74%66%42%38%-127%125%71%-94%-41%45%54%-94%79%88%-84%-102%-76%-91%-10%61%92%-110%-61%-68%-91%-65%112%59%0%70%66%-71%55%74%124%-46%-80%5%19%70%-41%-85%-28%-127%-29%83%91%-84%-88%-117%-122%70%-52%-56%1%76%-119%17%15%-1%27%111%-92%-103%-126%-60%78%-73%108%-28%-3%22%1%-106%-125%15%18%31%-16%-2%112%-22%61%87%-40%-58%43%120%6%-20%-70%55%-111%38%32%41%-19%-122%-60%41%-4%-89%44%-6%82%58%2%-84%58%23%18%25%72%10%-80%37%35%44%-78%39%-68%121%-110%-48%-24%-53%77%-91%105%99%2%-2%19%-73%20%-62%70%59%2%120%-35%114%52%57%-80%-71%-8%-10%-43%52%71%-80%1%-23%-38%-25%127%0%104%-56%64%-121%-120%-109%79%115%-102%-86%-74%109%-72%13%13%57%-18%55%48%19%-33%89%120%-74%60%-47%92%-105%-82%68%98%100%30%-53%-120%9%57%-35%14%-84%5%-19%-127%25%-71%-14%-98%-123%121%42%-90%72%109%-60%-124%20%-10%0%91%1%41%56%37%3%-21%-88%-114%-57%0%127%-10%50%-9%-80%115%-19%-104%69%109%51%97%51%83%-47%-101%90%-57%60%-3%60%-74%120%94%71%67%99%-24%62%8%110%-41%-118%-30%80%-15%109%-85%1%64%90%-125%11%52%-31%6%61%75%-19%-128%-13%-15%4%66%88%109%113%-57%77%117%-82%-97%82%30%-27%-48%123%-4%-97%67%64%-41%-75%-35%-110%59%-2%68%117%-82%127%84%78%43%-70%24%123%48%59%90%-22%98%-100%-61%70%93%-32%103%-86%121%101%-97%-122%-38%98%69%-28%-104%-26%81%-67%54%-41%90%-75%-126%-86%19%-75%0%3%64%-76%-39%124%124%15%-5%18%-30%116%-58%-70%83%1%-21%38%82%59%41%115%-123%99%-19%108%92%117%35%24%-35%75%70%115%-81%18%-49%117%-123%-25%-71%111%4%120%-91%-98%-6%32%-35%-103%71%57%-116%126%-23%45%-20%120%-16%53%-12%125%-14%101%48%60%24%-59%-114%-57%-52%-114%112%123%36%46%-31%-34%127%-1%18%14%-113%-75%-44%88%-30%-58%61%111%-25%22%-50%124%76%29%-107%6%102%104%104%-79%-69%-6%-5%49%88%4%127%-51%-59%-93%-70%93%-30%50%-109%39%51%105%24%0%-62%127%-27%-32%81%53%-67%-112%100%-6%-20%105%57%-70%99%7%-29%-126%-68%6%119%97%-62%112%-19%-66%-124%22%80%-102%-122%-18%-40%-29%95%35%-32%-57%88%20%-59%-21%-88%107%-98%-82%-47%-57%-65%35%13%2%-64%1%60%119%-114%-52%-42%-47%-44%62%63%-92%-49%-13%18%43%-11%120%39%35%65%53%84%119%-111%-23%-100%-112%-46%-3%-24%-7%58%1%-32%114%103%80%12%-40%-84%-57%-45%61%3%-50%69%71%118%-90%104%22%-28%119%71%-127%-98%-72%80%-33%109%117%79%-71%-113%96%62%14%-38%-87%-111%-113%-85%-88%19%-82%-119%6%-101%33%-3%-117%3%25%-72%-10%90%-79%-113%-39%-22%-105%-95%7%13%49%-38%-18%25%92%-115%88%-117%-25%52%109%-103%-7%120%43%54%-50%-30%12%27%117%6%64%-23%29%-4%-7%-99%24%-7%-8%80%75%80%-32%-120%73%70%-73%77%60%-44%9%-60%32%-43%11%59%-125%-103%37%100%-105%33%-49%-8%62%-51%93%-22%4%-30%21%69%62%46%-60%-30%-39%-99%-62%54%97%14%72%-82%117%71%-30%108%-86%91%92%54%26%-25%-34%-30%-23%36%115%-36%-119%58%-117%45%79%-9%-73%56%-75%1%121%-29%-54%-75%44%-104%4%-110%99%-104%-113%-57%-62%-65%113%37%6%38%-6%-23%-36%70%49%9%36%-69%-96%86%-23%12%123%-123%108%8%12%-86%-102%-34%31%32%-39%36%7%-128%104%-72%-69%-106%41%-13%-62%-114%-14%-15%56%-127%-46%-30%-26%0%48%6%-118%-37%-13%-51%-25%75%-116%-102%-34%47%-96%55%94%-6%-14%-79%115%55%-116%-42%-114%-9%-15%-60%85%-36%-115%15%-34%-5%-91%37%-109%26%-119%115%-88%-22%-35%87%-88%-119%-17%62%-126%43%-69%82%90%127%-105%-69%-25%94%-123%-27%-53%-55%-34%72%26%-67%-61%68%99%-121%-1%82%50%33%-27%-84%-46%-81%-28%-52%-33%-90%-6%72%-1%3%78%-120%-67%33%108%33%82%26%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_HmnpEJsrEd61Eo3nmu3JhQ" name="StdPorts">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_Yq-O8Nt2Ed6nqsBVkgJEEA" annotatedElement="_-WNegNtxEd6nqsBVkgJEEA">
-        <body>Is called during component activation &amp; deactivation. The two functions may not block i.e. return control to the caller after &quot;a very short&quot; period</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_OcN78Nt2Ed6nqsBVkgJEEA" annotatedElement="_N6fa4JsrEd61Eo3nmu3JhQ">
-        <body>Is called during startup. Expected to block. Only one component instance per node may define it.</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Class" xmi:id="_N6fa4JsrEd61Eo3nmu3JhQ" name="Cstart" isAbstract="true">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_OfiosJsrEd61Eo3nmu3JhQ" name="start" aggregation="composite">
-          <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3cU3wCS-Ed-A_I32T0fkaA" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3cXUACS-Ed-A_I32T0fkaA" value="1"/>
-        </ownedAttribute>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_xtlE8ARAEd--t-uhRn9OBA" name="ContainerServices">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_hGEOAMT8Ed-zx4a_r4xAYw" annotatedElement="_SiY_AP-EEd6628OhKk_dpg">
-        <body>A thread service supporting the LifeCycle port. Once started, it calls the activate operation (via the required port rLC) of a connected component in a new thread of a specific priority (a configuration attribute). This C++ implementation is based on the POSIX pthread library. It will further assume that the execution is done with root privileges, since these are required to set the thread priority. The thread properties assume round-robin (SCHED_RR) scheduling.
-</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_EuvHYCXREeGX6PuSE-DJlQ" annotatedElement="_5J9coCXQEeGX6PuSE-DJlQ">
-        <body> Interceptor variant of thread (inherits all, only difference to Thread superclass: tagged as connector)</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Class" xmi:id="_SiY_AP-EEd6628OhKk_dpg" clientDependency="_lrFSQDz9Ed-v9PxuTj6Elw _wCkVcNYGEd-CgJIavLpOxQ" name="Thread">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_lCtoICnOEeGxrprK9wB9iA" annotatedElement="_rVfYoMGJEd-Mveea1W_olA">
-          <body>Priority of the thread. The interpretation of the value is OS specific. In case of POSIX; priorities are only taken into accound for threads with a FIFO and round-robin scheduliung policy.</body>
-        </ownedComment>
-        <generalization xmi:type="uml:Generalization" xmi:id="_6bsEkARAEd--t-uhRn9OBA" general="_-WNegNtxEd6nqsBVkgJEEA"/>
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_ZjdOAP-EEd6628OhKk_dpg" name="rLC" aggregation="composite">
-          <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_rVfYoMGJEd-Mveea1W_olA" name="priority" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_e6XsEFjmEeKaM_PspnG53g" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_e6ckkFjmEeKaM_PspnG53g" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_e6njsFjmEeKaM_PspnG53g">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_lrFSQDz9Ed-v9PxuTj6Elw" name="derived realization of ILifeCycle" client="_SiY_AP-EEd6628OhKk_dpg">
-          <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-          <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-        </interfaceRealization>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_MWW4MAQyEd--t-uhRn9OBA" name="staticAct" specification="_yv198P-EEd6628OhKk_dpg">
-          <language>C/C++</language>
-          <body>((Thread*) arg)->rLC->activate();
-return NULL;
-</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_oP6UcED4Ed-_DOja_sRgWA" name="activate" specification="_JmxyMD16Ed-Bk-AHd6yyoA">
-          <language>C/C++</language>
-          <body>// create thread
-pthread_t pt;
-pthread_create (&amp;pt, NULL, staticAct, (void *) this);
-
-// set priority of thread
-struct sched_param schedParam;
-schedParam.sched_priority = priority;
-pthread_setschedparam (pt, SCHED_RR, &amp;schedParam);
-// TODO: check return code (in particular, SCHED_RR only works for root)
-</body>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_yv198P-EEd6628OhKk_dpg" name="staticAct" isStatic="true" method="_MWW4MAQyEd--t-uhRn9OBA">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_1TXqoP-EEd6628OhKk_dpg" name="arg">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3MCccP-EEd6628OhKk_dpg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3MDDgP-EEd6628OhKk_dpg" value="1"/>
-            <defaultValue xmi:type="uml:LiteralString" xmi:id="_3MDqkP-EEd6628OhKk_dpg">
-              <value xsi:nil="true"/>
-            </defaultValue>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_BywjgP-FEd6628OhKk_dpg" name="ret" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_JmxyMD16Ed-Bk-AHd6yyoA" name="activate" method="_oP6UcED4Ed-_DOja_sRgWA"/>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_JqB6gD16Ed-Bk-AHd6yyoA" name="deactivate"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Dependency" xmi:id="_wCkVcNYGEd-CgJIavLpOxQ" name="ImplRequirement" client="_SiY_AP-EEd6628OhKk_dpg" supplier="_ea234NYGEd-CgJIavLpOxQ"/>
-      <packagedElement xmi:type="uml:Class" xmi:id="_WkkjoPNUEeCovO8AYZymZQ" name="CallEvent_">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_YKtbAPNUEeCovO8AYZymZQ" name="operationID" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aDHHEPNUEeCovO8AYZymZQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aDIVMPNUEeCovO8AYZymZQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_aDKxcPNUEeCovO8AYZymZQ">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_gQGNwPNUEeCovO8AYZymZQ" name="kind" visibility="public" type="_jQjHAPNUEeCovO8AYZymZQ">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_imLUUPNUEeCovO8AYZymZQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_imL7YPNUEeCovO8AYZymZQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_imuG4PNUEeCovO8AYZymZQ">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_-_HCMBI0EeGU49ezpRnvLg" name="portID">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-_LToBI0EeGU49ezpRnvLg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-_L6sBI0EeGU49ezpRnvLg" value="1"/>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_qzHgkPNUEeCovO8AYZymZQ" name="params" visibility="public" type="_OU5asFaNEeKxltxu9uR4dg">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sMOBgPNUEeCovO8AYZymZQ"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sMPPoPNUEeCovO8AYZymZQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_sMRE0PNUEeCovO8AYZymZQ">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_JRmo0PNAEeCovO8AYZymZQ" clientDependency="_mI0xEPQXEeCovO8AYZymZQ" name="EventPool">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_MzO8gPNAEeCovO8AYZymZQ" name="control" visibility="public" type="_omxU4PNAEeCovO8AYZymZQ" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_N-OI8PNAEeCovO8AYZymZQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_N-PXEPNAEeCovO8AYZymZQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_N-RzUPNAEeCovO8AYZymZQ">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_k-OpoPN8EeCovO8AYZymZQ" name="events" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mr7hkPN8EeCovO8AYZymZQ" value="20"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mr-k4PN8EeCovO8AYZymZQ" value="20"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_msGgsPN8EeCovO8AYZymZQ">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="__a1A0PQXEeCovO8AYZymZQ" name="m_size" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_A1N7MPQYEeCovO8AYZymZQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_A1OiQPQYEeCovO8AYZymZQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_A1QXcPQYEeCovO8AYZymZQ">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_KnS5QPQYEeCovO8AYZymZQ" name="m_cond" visibility="public">
-          <type xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_QWlVgPRTEeCUGrV0Hl4JwQ"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KyZ9EPQYEeCovO8AYZymZQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KyakIPQYEeCovO8AYZymZQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_KydncPQYEeCovO8AYZymZQ">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_Ig_MUCSlEeG6GJ4vU06VYQ" name="ID_TIMEOUT" isStatic="true">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IjAlkCSlEeG6GJ4vU06VYQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IjCawCSlEeG6GJ4vU06VYQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_SjUM4CSlEeG6GJ4vU06VYQ" name="" value="-1"/>
-        </ownedAttribute>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_mI0xEPQXEeCovO8AYZymZQ" name="derived realization of IPoolControl" client="_JRmo0PNAEeCovO8AYZymZQ" supplier="_omxU4PNAEeCovO8AYZymZQ" contract="_omxU4PNAEeCovO8AYZymZQ"/>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_2HjeoPQXEeCovO8AYZymZQ" name="writeEvent" specification="_f1HmEPQREeCovO8AYZymZQ0">
-          <language>C/C++</language>
-          <body>events[0] = event;
-m_size = 1;
-m_cond.signal();
-</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_5Sw2YPQXEeCovO8AYZymZQ" name="size" specification="_FBMo4PQXEeCovO8AYZymZQ0">
-          <language>C/C++</language>
-          <body>return m_size;</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_9xRCAPQXEeCovO8AYZymZQ" name="readEvent" specification="_tK0poPQWEeCovO8AYZymZQ0">
-          <language>C/C++</language>
-          <body>OS_AL::Time::TimeVal wakeup = OS_AL::Time::TimeVal::current();
-wakeup += timeout;
-int retCode = m_cond.waitUpto (wakeup);
-if (retCode == ETIMEDOUT) {
-	CallEvent_ event;
-	event.operationID = ID_TIMEOUT;
-	return event;
-}
-m_size = 0;
-return events[0];</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_JoG14PRUEeCKVJwdD4MMsg" name="EventPool" specification="_lrF08PRTEeCUGrV0Hl4JwQ">
-          <language>C/C++</language>
-          <body>m_cond.lock();</body>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_tK0poPQWEeCovO8AYZymZQ0" name="readEvent" method="_9xRCAPQXEeCovO8AYZymZQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_HUTnoCVyEeGaL60JjVj19Q" name="timeout">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUWq8CVyEeGaL60JjVj19Q" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUXSACVyEeGaL60JjVj19Q" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_HUZHMCVyEeGaL60JjVj19Q" type="_WkkjoPNUEeCovO8AYZymZQ" direction="return">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUbjcCVyEeGaL60JjVj19Q" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUcxkCVyEeGaL60JjVj19Q" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_FBMo4PQXEeCovO8AYZymZQ0" name="size" method="_5Sw2YPQXEeCovO8AYZymZQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mKtAYPQXEeCovO8AYZymZQ" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mKvcoPQXEeCovO8AYZymZQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mKwqwPQXEeCovO8AYZymZQ" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_f1HmEPQREeCovO8AYZymZQ0" name="writeEvent" method="_2HjeoPQXEeCovO8AYZymZQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_HRdvACVyEeGaL60JjVj19Q" name="event" type="_WkkjoPNUEeCovO8AYZymZQ">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUNhACVyEeGaL60JjVj19Q" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUOvICVyEeGaL60JjVj19Q" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_lrF08PRTEeCUGrV0Hl4JwQ" name="EventPool" method="_JoG14PRUEeCKVJwdD4MMsg"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Interface" xmi:id="_elkpwPQREeCovO8AYZymZQ" name="IWriteEvent">
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_f1HmEPQREeCovO8AYZymZQ" name="writeEvent" visibility="public" isAbstract="true">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_wAdzUPQREeCovO8AYZymZQ">
-            <body>&lt;&lt;TextualRepresentation>>public abstract writeEvent (in event:BasicCalls::ContainerServices::Event) ;</body>
-          </ownedComment>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="__4qMgCUQEeGXBt65HZzY7g" name="event" type="_WkkjoPNUEeCovO8AYZymZQ">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__4raoCUQEeGXBt65HZzY7g" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__4sowCUQEeGXBt65HZzY7g" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Enumeration" xmi:id="_jQjHAPNUEeCovO8AYZymZQ" name="EventKind">
-        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_jv4uYPNUEeCovO8AYZymZQ" name="CallEvent"/>
-        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_kuDm0PNUEeCovO8AYZymZQ" name="SignalEvent"/>
-        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_ljD8MPNUEeCovO8AYZymZQ" name="TimeEvent"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Interface" xmi:id="_omxU4PNAEeCovO8AYZymZQ" name="IPoolControl">
-        <generalization xmi:type="uml:Generalization" xmi:id="_feaHgPQXEeCovO8AYZymZQ" general="_elkpwPQREeCovO8AYZymZQ"/>
-        <generalization xmi:type="uml:Generalization" xmi:id="_GwxT0CUREeGXBt65HZzY7g" general="_DY2VwCUREeGXBt65HZzY7g"/>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_FBMo4PQXEeCovO8AYZymZQ" name="size" visibility="public" isAbstract="true">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_NaRMoPQXEeCovO8AYZymZQ">
-            <body>&lt;&lt;TextualRepresentation>>public abstract size () : BasicCalls::Long ;</body>
-          </ownedComment>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_RlkvcPQXEeCovO8AYZymZQ" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rll9kPQXEeCovO8AYZymZQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RlmkoPQXEeCovO8AYZymZQ" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Interface" xmi:id="_DY2VwCUREeGXBt65HZzY7g" name="IReadEvent">
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_tK0poPQWEeCovO8AYZymZQ" name="readEvent" visibility="public" isAbstract="true">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_xPdjwPQWEeCovO8AYZymZQ">
-            <body>&lt;&lt;TextualRepresentation>>public abstract readEvent(in timeout : BasicCalls::Long) : BasicCalls::ContainerServices::Event ;</body>
-          </ownedComment>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_PnwykPRREeCUGrV0Hl4JwQ" name="timeout">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PofyYPRREeCUGrV0Hl4JwQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Pow4IPRREeCUGrV0Hl4JwQ" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_Po7QMPRREeCUGrV0Hl4JwQ" type="_WkkjoPNUEeCovO8AYZymZQ" direction="return">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PpWG8PRREeCUGrV0Hl4JwQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ppl-kPRREeCUGrV0Hl4JwQ" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_5J9coCXQEeGX6PuSE-DJlQ" name="ThreadInterceptor">
-        <generalization xmi:type="uml:Generalization" xmi:id="_9thucCXQEeGX6PuSE-DJlQ" general="_SiY_AP-EEd6628OhKk_dpg"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_9V8OQCjYEeGFbebITJYb9g" clientDependency="_F9_-UCjbEeGFbebITJYb9g _SXkHQCo0EeGxrprK9wB9iA" name="PeriodicTimer">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_zLeSkCnOEeGxrprK9wB9iA" annotatedElement="_tmNeoCjbEeGFbebITJYb9g">
-          <body>The period length of the perdioci timer in ticks. Currently, a tick corresponds to 1 ms (simulation time in the underlying OS abstraction layer). It is planned to support VSL expressions, i.e. a value/unit pair.</body>
-        </ownedComment>
-        <generalization xmi:type="uml:Generalization" xmi:id="_Y6lPACjZEeGFbebITJYb9g" general="_-WNegNtxEd6nqsBVkgJEEA"/>
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_ATRiECjZEeGFbebITJYb9g" name="tick" visibility="public" aggregation="composite">
-          <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_E3y2ICjZEeGFbebITJYb9g" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_E30EQCjZEeGFbebITJYb9g" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_E33HkCjZEeGFbebITJYb9g">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_tmNeoCjbEeGFbebITJYb9g" name="periodLength" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tmmgMCjbEeGFbebITJYb9g" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tmnHQCjbEeGFbebITJYb9g" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_w262ACnOEeGxrprK9wB9iA">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_F9_-UCjbEeGFbebITJYb9g" name="derived realization of ILifeCycle" client="_9V8OQCjYEeGFbebITJYb9g">
-          <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-          <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-        </interfaceRealization>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_RMkvkCjbEeGFbebITJYb9g" name="activate" specification="_F-cDMCjbEeGFbebITJYb9g">
-          <language>C/C++</language>
-          <body>OS_AL::Time::Timer timer;
-OS_AL::Time::TimeVal time = OS_AL::Time::TimeVal::current();
-OS_AL::Time::TimeVal period(periodLength);
-for (;;) {
-	tick->tick();
-	time += period;
-	timer.wakeUp(time);
-}</body>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_F-cDMCjbEeGFbebITJYb9g" name="activate" method="_RMkvkCjbEeGFbebITJYb9g"/>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_F-iJ0CjbEeGFbebITJYb9g" name="deactivate"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_1sCBICjZEeGFbebITJYb9g" name="PeriodicTimerRule">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_6yVMkCjZEeGFbebITJYb9g" name="timer" visibility="public" type="_9V8OQCjYEeGFbebITJYb9g">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_54aFgCjaEeGFbebITJYb9g" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_54bToCjaEeGFbebITJYb9g" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_54eW8CjaEeGFbebITJYb9g">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_-X6zMCjZEeGFbebITJYb9g" name="PeriodicTimerWithThread">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_ARs_UCjaEeGFbebITJYb9g" name="timer" visibility="public" type="_9V8OQCjYEeGFbebITJYb9g" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_k_FtQCjaEeGFbebITJYb9g" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_k_G7YCjaEeGFbebITJYb9g" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_k_J-sCjaEeGFbebITJYb9g">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_RMqEkCjaEeGFbebITJYb9g" name="thread" visibility="public" type="_SiY_AP-EEd6628OhKk_dpg" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_j8bWYCjaEeGFbebITJYb9g" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_j8ckgCjaEeGFbebITJYb9g" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_j8eZsCjaEeGFbebITJYb9g">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_3NSGwCkAEeGDDbdzqSb4UA" name="tick" visibility="public" aggregation="composite">
-          <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_30IrYCkAEeGDDbdzqSb4UA" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_30LusCkAEeGDDbdzqSb4UA" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_30QnMCkAEeGDDbdzqSb4UA">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedConnector xmi:type="uml:Connector" xmi:id="_iDCL0CjaEeGFbebITJYb9g" name="Connector1">
-          <end xmi:type="uml:ConnectorEnd" xmi:id="_iDCy4CjaEeGFbebITJYb9g" partWithPort="_RMqEkCjaEeGFbebITJYb9g" role="_ZjdOAP-EEd6628OhKk_dpg">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iDCy4ijaEeGFbebITJYb9g" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iDCy4SjaEeGFbebITJYb9g" value="1"/>
-          </end>
-          <end xmi:type="uml:ConnectorEnd" xmi:id="_iDCy4yjaEeGFbebITJYb9g" partWithPort="_ARs_UCjaEeGFbebITJYb9g" role="__SLXgNtxEd6nqsBVkgJEEA">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iDCy5SjaEeGFbebITJYb9g" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iDCy5CjaEeGFbebITJYb9g" value="1"/>
-          </end>
-        </ownedConnector>
-        <ownedConnector xmi:type="uml:Connector" xmi:id="_84IJsCkAEeGDDbdzqSb4UA" name="Connector2">
-          <end xmi:type="uml:ConnectorEnd" xmi:id="_84JX0CkAEeGDDbdzqSb4UA" partWithPort="_ARs_UCjaEeGFbebITJYb9g" role="_ATRiECjZEeGFbebITJYb9g">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_84JX0ikAEeGDDbdzqSb4UA" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_84JX0SkAEeGDDbdzqSb4UA" value="1"/>
-          </end>
-          <end xmi:type="uml:ConnectorEnd" xmi:id="_84L0ECkAEeGDDbdzqSb4UA" role="_3NSGwCkAEeGDDbdzqSb4UA">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_84L0EikAEeGDDbdzqSb4UA" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_84L0ESkAEeGDDbdzqSb4UA" value="1"/>
-          </end>
-        </ownedConnector>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Dependency" xmi:id="_SXkHQCo0EeGxrprK9wB9iA" name="Dependency1" client="_9V8OQCjYEeGFbebITJYb9g">
-        <supplier xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_ETakYDj8Edy0Rd6V_tf1-Q"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:DataType" xmi:id="_OU5asFaNEeKxltxu9uR4dg" name="ParamValues">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_RW82cFaNEeKxltxu9uR4dg" name="values" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_IYEXcB-VEd6nGq8wpI2tjg"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TAmU0FaNEeKxltxu9uR4dg" value="200"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TAqmQFaNEeKxltxu9uR4dg" value="200"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_TCDGUFaNEeKxltxu9uR4dg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:DataType" xmi:id="_Y8dPQFaNEeKxltxu9uR4dg" name="QoS">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_fYeQcFaNEeKxltxu9uR4dg" name="deadline" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gFUvYFaNEeKxltxu9uR4dg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gFYZwFaNEeKxltxu9uR4dg" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_gFfHcFaNEeKxltxu9uR4dg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_oUVYMFaNEeKxltxu9uR4dg" name="period" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rUQF8FaNEeKxltxu9uR4dg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rUSiMFaNEeKxltxu9uR4dg" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_rW6_cFaNEeKxltxu9uR4dg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_xXGZMFaNEeKxltxu9uR4dg" name="readyTime" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yjbCYFaNEeKxltxu9uR4dg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yjcQgFaNEeKxltxu9uR4dg" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_yjeswFaNEeKxltxu9uR4dg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_-WNegNtxEd6nqsBVkgJEEA" name="LifeCycle" isAbstract="true">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="__SLXgNtxEd6nqsBVkgJEEA" name="lc" aggregation="composite">
-          <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_57__MCS-Ed-A_I32T0fkaA" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_58tJ0CS-Ed-A_I32T0fkaA" value="1"/>
-        </ownedAttribute>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_y4qB4ARJEd--t-uhRn9OBA" name="containerRules">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_q-kFUMTJEd-cLazKlAeYsQ" annotatedElement="_14WtMARJEd--t-uhRn9OBA">
-        <body>This rule adds an interceptor for the lifecycle (lc) port. It will use the Thread implementation that executes the activate method in a new thread of a given priority (property of the interceptor implementation)</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_H0IrsDbgEeGdqp2YT1LwWw" annotatedElement="_1sCBICjZEeGFbebITJYb9g">
-        <body>Adds a periodic timer to the container</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Class" xmi:id="_14WtMARJEd--t-uhRn9OBA" name="runStartThread">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_mvN04PTWEeCn1-FCrfecFg" name="start" visibility="public" type="_5J9coCXQEeGX6PuSE-DJlQ">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nPVfYPTWEeCn1-FCrfecFg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nPXUkPTWEeCn1-FCrfecFg" value="1"/>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="__4GvgPQTEeCovO8AYZymZQ" name="AddEventPool"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_wSPIcF0NEd-12d_h0i1xhQ" name="deployment">
-      <packagedElement xmi:type="uml:Package" xmi:id="_dKFEcCp9EeG1Y7BvjQ0T-w" name="operatingSystems">
-        <packagedElement xmi:type="uml:Class" xmi:id="_17yx8F0NEd-12d_h0i1xhQ" name="vxWorks"/>
-        <packagedElement xmi:type="uml:Class" xmi:id="_zVs5cF0NEd-12d_h0i1xhQ" name="Linux"/>
-        <packagedElement xmi:type="uml:Class" xmi:id="_4RuHgF0NEd-12d_h0i1xhQ" name="ose/ck"/>
-        <packagedElement xmi:type="uml:Class" xmi:id="__1uEcF0NEd-12d_h0i1xhQ" name="OSEK"/>
-        <packagedElement xmi:type="uml:Class" xmi:id="_onKy0Cp9EeG1Y7BvjQ0T-w" name="Cygwin"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_f2AfMCp9EeG1Y7BvjQ0T-w" name="architectures">
-        <packagedElement xmi:type="uml:Class" xmi:id="_PFcW8F0OEd-12d_h0i1xhQ" name="GenericPowerPC"/>
-        <packagedElement xmi:type="uml:Class" xmi:id="_CxQBcF0OEd-12d_h0i1xhQ" name="StandardPC"/>
-        <packagedElement xmi:type="uml:Class" xmi:id="_KjufQF0OEd-12d_h0i1xhQ" name="GenericARM7"/>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_uFRRUH7dEd-FNNgSS03RxQ" name="configOptions">
-      <packagedElement xmi:type="uml:Class" xmi:id="_29YhgH7dEd-FNNgSS03RxQ" name="Distribution">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_INNDgH7eEd-FNNgSS03RxQ">
-          <body>Use for distributed applications</body>
-        </ownedComment>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_3myD0H7dEd-FNNgSS03RxQ" name="Debug">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_9u2OQH7dEd-FNNgSS03RxQ">
-          <body>Use for debugging in general</body>
-        </ownedComment>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_7JeHcH7dEd-FNNgSS03RxQ" name="Trace">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_MzHesH7eEd-FNNgSS03RxQ">
-          <body>Use for tracing.</body>
-        </ownedComment>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_I19MANYGEd-CgJIavLpOxQ" name="pthread">
-      <packagedElement xmi:type="uml:Class" xmi:id="_ea234NYGEd-CgJIavLpOxQ" name="pthread"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_m7SIwOUYEd-P08Bciq_LqQ" name="perClass">
-      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_rNm5kOUYEd-P08Bciq_LqQ" parameter="_wfwIoOUYEd-P08Bciq_LqQ">
-        <ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_wfwIoOUYEd-P08Bciq_LqQ" parameteredElement="_6uRBMOuqEeCTfOY57pgE3w">
-          <ownedParameteredElement xmi:type="uml:Class" xmi:id="_6uRBMOuqEeCTfOY57pgE3w" name="T" templateParameter="_wfwIoOUYEd-P08Bciq_LqQ"/>
-        </ownedParameter>
-      </ownedTemplateSignature>
-      <packagedElement xmi:type="uml:Enumeration" xmi:id="_QQPDUCQeEeGj_4swHBbKwg" name="PortIDs">
-        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_QQPDUSQeEeGj_4swHBbKwg" name="PORTID_[name/]"/>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_RPCMoOxIEd-2rr_yAeKkjQ" name="methodCall_comp">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_q1w5MK8qEeCXIcykFPsB8Q" annotatedElement="_RPCMoOxIEd-2rr_yAeKkjQ">
-        <body>Elements in this package depend not only on the Interface I (which is a non-owned template parameter taken from the methodCall signature), but also on a class parameter T, which is bound to the component within a container binding.
-Be aware that the number of instantiated template packages will be considerably larger compared to a dependency of the interface only</body>
-      </ownedComment>
-      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_ewC6kOxIEd-2rr_yAeKkjQ" parameter="_WzWVUPfBEd2TbIfwytOyPA _QBCTAOxJEd-2rr_yAeKkjQ">
-        <ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_QBCTAOxJEd-2rr_yAeKkjQ" parameteredElement="_zILRsPPlEd-BP4i7K5Y1eA">
-          <ownedParameteredElement xmi:type="uml:Class" xmi:id="_zILRsPPlEd-BP4i7K5Y1eA" name="T" templateParameter="_QBCTAOxJEd-2rr_yAeKkjQ"/>
-        </ownedParameter>
-      </ownedTemplateSignature>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="__lTvkPN0EeCovO8AYZymZQ" name="methodCall_size">
-      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_EfH-MPN1EeCovO8AYZymZQ" parameter="_WzWVUPfBEd2TbIfwytOyPA _TbLb4PN3EeCovO8AYZymZQ">
-        <ownedParameter xmi:type="uml:TemplateParameter" xmi:id="_TbLb4PN3EeCovO8AYZymZQ" parameteredElement="_VGE3cPN3EeCovO8AYZymZQ">
-          <ownedParameteredElement xmi:type="uml:LiteralInteger" xmi:id="_VGE3cPN3EeCovO8AYZymZQ" name="size" templateParameter="_TbLb4PN3EeCovO8AYZymZQ"/>
-        </ownedParameter>
-      </ownedTemplateSignature>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_gEZXADY7EeKvFqG4YPX3sg" name="methodCall_port">
-      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_kCZdoDY7EeKvFqG4YPX3sg" parameter="_WzWVUPfBEd2TbIfwytOyPA _udDzwDY9EeKvFqG4YPX3sg">
-        <ownedParameter xmi:type="uml:ConnectableElementTemplateParameter" xmi:id="_udDzwDY9EeKvFqG4YPX3sg" parameteredElement="_9GMAUDY9EeKvFqG4YPX3sg">
-          <ownedParameteredElement xmi:type="uml:Port" xmi:id="_9GMAUDY9EeKvFqG4YPX3sg" name="P" templateParameter="_udDzwDY9EeKvFqG4YPX3sg"/>
-        </ownedParameter>
-      </ownedTemplateSignature>
-    </packagedElement>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/StandardL2.profile.uml#_0"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ugrx4AHIEd6pm-KfUZMnnQ">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ugztsAHIEd6pm-KfUZMnnQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_u03PkFRxEd6GqrP6fkWBoQ">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u1sWAFRxEd6GqrP6fkWBoQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
-    </profileApplication>
-  </uml:Model>
-  <FCM:Port xmi:id="_u1uLMFRxEd6GqrP6fkWBoQ" base_Port="_P4xVsNtuEd2eM5kqcby5ZA" kind="_9Fif4FRxEd6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="_u1uLMVRxEd6GqrP6fkWBoQ" base_Port="_Qk0jYNtuEd2eM5kqcby5ZA" kind="_wySlkFRxEd6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="_u1uLM1RxEd6GqrP6fkWBoQ" base_Port="_rSCxUAytEd6it_RkGhz_AA" kind="_9Fif4FRxEd6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="_u1uyQFRxEd6GqrP6fkWBoQ" base_Port="_r5Va0AytEd6it_RkGhz_AA" kind="_wySlkFRxEd6GqrP6fkWBoQ"/>
-  <FCM:PortKind xmi:id="_wySlkFRxEd6GqrP6fkWBoQ" base_Class="_Wtq4sFDlEd6cwecVIgl9nw" providedInterface="_ZzlzMPfBEd2TbIfwytOyPA" providedMappingRule="_nh0TwFdmEd6EBOtlOYpqKw"/>
-  <FCM:PortKind xmi:id="_x5mL4FRxEd6GqrP6fkWBoQ" base_Class="_Wtq4sVDlEd6cwecVIgl9nw" requiredMappingRule="_ZpvdUHU5Ed6R5tffIPrlPg"/>
-  <FCM:PortKind xmi:id="_9Fif4FRxEd6GqrP6fkWBoQ" base_Class="_Wtrfw1DlEd6cwecVIgl9nw" requiredInterface="_ZzlzMPfBEd2TbIfwytOyPA" requiredMappingRule="_hluocFdpEd6EBOtlOYpqKw"/>
-  <FCM:PortKind xmi:id="_pE6GUFR1Ed6GqrP6fkWBoQ" base_Class="_Wtq4slDlEd6cwecVIgl9nw" providedMappingRule="_eKwKYHU5Ed6R5tffIPrlPg"/>
-  <FCM:PortKind xmi:id="_qOK0cFR1Ed6GqrP6fkWBoQ" base_Class="_WtrfwlDlEd6cwecVIgl9nw" requiredMappingRule="_dW32YHU5Ed6R5tffIPrlPg"/>
-  <FCM:InteractionComponent xmi:id="_s8OWIFR1Ed6GqrP6fkWBoQ" base_Class="_KxQBELuXEd2TTr3gJIvazw"/>
-  <FCM:InteractionComponent xmi:id="_vEYVcFR1Ed6GqrP6fkWBoQ" base_Class="_Zx2ZUA1jEd6tvthBDl600Q"/>
-  <FCM:InteractionComponent xmi:id="_wT-8IFR1Ed6GqrP6fkWBoQ" base_Class="_jOU60A1jEd6tvthBDl600Q"/>
-  <l2:ModelLibrary xmi:id="_CQiMQFtQEd6p9KQoJ8hRoA" base_Package="_O6TiIDLUEd26WNosUASSSw"/>
-  <C_Cpp:Include xmi:id="_sJry0JsqEd61Eo3nmu3JhQ" body="BootLoader bootloader;&#xA;&#xA;int main (int argc, char* argv[])&#xA;{&#xA;    bootloader.init ();&#xA;    return 0;&#xA;}&#xA;" base_class="_1RehUAGpEd6eR-dxi5su4Q"/>
-  <FCM:Port xmi:id="_OfjPwJsrEd61Eo3nmu3JhQ" base_Port="_OfiosJsrEd61Eo3nmu3JhQ" kind="_wySlkFRxEd6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="__SL-kNtxEd6nqsBVkgJEEA" base_Port="__SLXgNtxEd6nqsBVkgJEEA" kind="_wySlkFRxEd6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="_Zjd1EP-EEd6628OhKk_dpg" base_Port="_ZjdOAP-EEd6628OhKk_dpg" kind="_9Fif4FRxEd6GqrP6fkWBoQ"/>
-  <C_Cpp:Ptr xmi:id="_Aw8hMP-FEd6628OhKk_dpg" base_parameter="_1TXqoP-EEd6628OhKk_dpg"/>
-  <C_Cpp:Ptr xmi:id="_NjCToP-FEd6628OhKk_dpg" base_parameter="_BywjgP-FEd6628OhKk_dpg"/>
-  <FCM:DerivedElement xmi:id="_u9zyYARIEd--t-uhRn9OBA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:InteractionComponent xmi:id="_5hzVkARIEd--t-uhRn9OBA" base_Class="_cxVEsK-iEd6DndT7kDY1-A"/>
-  <FCM:ContainerRule xmi:id="_3Jq5MARLEd-OidZzGKCpzg" base_Class="_14WtMARJEd--t-uhRn9OBA" portSet="__SL-kNtxEd6nqsBVkgJEEA" interceptor="_u9ykQARIEd--t-uhRn9OBA" interceptorImpl="_u9ykQARIEd--t-uhRn9OBA"/>
-  <C_Cpp:Include xmi:id="_Q7TVYBJcEd-QgZm_R1AKbA" body="#include &lt;pthread.h>" base_class="_SiY_AP-EEd6628OhKk_dpg"/>
-  <FCM:Port xmi:id="_WhfjKylYEd-eoo60eNyGlg"/>
-  <FCM:DerivedElement xmi:id="_CvwokClZEd-eoo60eNyGlg">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_FzffUClZEd-eoo60eNyGlg">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_M0_fQClxEd-eoo60eNyGlg">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_TDYesClyEd-eoo60eNyGlg">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_T2uAIClyEd-eoo60eNyGlg">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_W_pf8ClyEd-eoo60eNyGlg">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_egrzAClzEd-eoo60eNyGlg">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:InteractionComponent xmi:id="_efp4QClzEd-eoo60eNyGlg" base_Class="_Whe8EClYEd-eoo60eNyGlg"/>
-  <FCM:DerivedElement xmi:id="_cWdkwCsAEd-uZPFNCty7PQ">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:Port xmi:id="_N0to8Cu4Ed-uZPFNCty7PQ" base_Port="_N0tB4Cu4Ed-uZPFNCty7PQ" kind="_9Fif4FRxEd6GqrP6fkWBoQ"/>
-  <l2:Create xmi:id="_WFy8ECu9Ed-uZPFNCty7PQ" base_BehavioralFeature="_JM4I4Cu9Ed-uZPFNCty7PQ"/>
-  <C_Cpp:External xmi:id="_EbeZ8Cu-Ed-uZPFNCty7PQ" name="semaphore.h" base_class="_BY-fwCnxEd-eoo60eNyGlg"/>
-  <C_Cpp:External xmi:id="_7tUvUCvDEd-uZPFNCty7PQ" name="pthread.h" base_class="_5KatsCvDEd-uZPFNCty7PQ"/>
-  <C_Cpp:Ptr xmi:id="_G6PMUCvHEd-uZPFNCty7PQ" base_parameter="_Dn-xYCvHEd-uZPFNCty7PQ"/>
-  <C_Cpp:Ptr xmi:id="_NPp2QCvHEd-uZPFNCty7PQ" base_parameter="_IdnDkCvHEd-uZPFNCty7PQ"/>
-  <C_Cpp:Const xmi:id="_dtZbECvHEd-uZPFNCty7PQ" base_property="_Xq00oCvHEd-uZPFNCty7PQ"/>
-  <FCM:DerivedElement xmi:id="_uCGF8DAXEd-lz72LqmDbzA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_fYvj8DNZEd-0bO2vHbUkEA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:Template xmi:id="_iOmWwDNZEd-0bO2vHbUkEA" base_Element="_KOvHsPiREd2UhpY2Y3WUyg" kind="LoopOperations" templateParam="_ZzlzMPfBEd2TbIfwytOyPA"/>
-  <FCM:Template xmi:id="_qcrLcDNZEd-0bO2vHbUkEA" base_Element="__y0hwJ08Ed6l5bTPBsl00Q" kind="LoopOperations" formalParam="_ZzlzMPfBEd2TbIfwytOyPA" templateParam="_ZzlzMPfBEd2TbIfwytOyPA"/>
-  <FCM:DerivedElement xmi:id="_K9PRoDNwEd-1k-POY2IaLg">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_JqAFUD16Ed-Bk-AHd6yyoA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_JqEWwD16Ed-Bk-AHd6yyoA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_RTu-gED2Ed-_DOja_sRgWA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_RUIAEED2Ed-_DOja_sRgWA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <C_Cpp:Ptr xmi:id="_5048MED6Ed-_DOja_sRgWA" base_property="_2fcqYED6Ed-_DOja_sRgWA"/>
-  <FCM:DerivedElement xmi:id="_xsrykEJFEd-Ps4Bfh0j9LQ" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_xs0VcEJFEd-Ps4Bfh0j9LQ" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_qBaUMFJEEd-OfYmxqPWG5g" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_qBeloFJEEd-OfYmxqPWG5g" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_t--FUF0NEd-12d_h0i1xhQ" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_t_EzAF0NEd-12d_h0i1xhQ" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:OperatingSystem xmi:id="_1eULwF0NEd-12d_h0i1xhQ" base_Class="_zVs5cF0NEd-12d_h0i1xhQ"/>
-  <FCM:OperatingSystem xmi:id="_3MI_gF0NEd-12d_h0i1xhQ" base_Class="_17yx8F0NEd-12d_h0i1xhQ"/>
-  <FCM:OperatingSystem xmi:id="_8h8mkF0NEd-12d_h0i1xhQ" base_Class="_4RuHgF0NEd-12d_h0i1xhQ"/>
-  <FCM:OperatingSystem xmi:id="_BL7pcF0OEd-12d_h0i1xhQ" base_Class="__1uEcF0NEd-12d_h0i1xhQ"/>
-  <FCM:TargetArchitecture xmi:id="_FYOqwF0OEd-12d_h0i1xhQ" base_Class="_CxQBcF0OEd-12d_h0i1xhQ"/>
-  <FCM:TargetArchitecture xmi:id="_W5gJIF0OEd-12d_h0i1xhQ" base_Class="_KjufQF0OEd-12d_h0i1xhQ"/>
-  <FCM:TargetArchitecture xmi:id="_YHIZ4F0OEd-12d_h0i1xhQ" base_Class="_PFcW8F0OEd-12d_h0i1xhQ"/>
-  <FCM:DerivedElement xmi:id="_FWe6IG4sEd-0rs2VEGIwsA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_FWlAwG4sEd-0rs2VEGIwsA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_9Kl8IG4-Ed-J1L578xi-WA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_9K4QAG4-Ed-J1L578xi-WA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_Si_2kG5fEd-5CZIeuHpHAg" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_SjXqAG5fEd-5CZIeuHpHAg" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:ConfigOption xmi:id="_tA2KcH7eEd-FNNgSS03RxQ" base_Class="_3myD0H7dEd-FNNgSS03RxQ"/>
-  <FCM:ConfigOption xmi:id="_t2ziEH7eEd-FNNgSS03RxQ" base_Class="_29YhgH7dEd-FNNgSS03RxQ"/>
-  <FCM:ConfigOption xmi:id="_u6LqoH7eEd-FNNgSS03RxQ" base_Class="_7JeHcH7dEd-FNNgSS03RxQ"/>
-  <FCM:Template xmi:id="_3IqLUKE1Ed-r8p-5QgO3cg" base_Element="_pXzxjkJ1Ed-Ps4Bfh0j9LQ" kind="LoopOperations"/>
-  <FCM:Template xmi:id="_9u11IKE1Ed-r8p-5QgO3cg" base_Element="_2bwsEClzEd-eoo60eNyGlg" kind="LoopOperations"/>
-  <FCM:PortKind xmi:id="_H5-aQLqOEd-SedGzMDDkww" base_Class="_AQZZwLqOEd-SedGzMDDkww"/>
-  <FCM:PortKind xmi:id="_KtgR0LqOEd-SedGzMDDkww" base_Class="__nMrwLqNEd-SedGzMDDkww"/>
-  <FCM:ConfigurationProperty xmi:id="_s0fGMMGJEd-Mveea1W_olA" base_Property="_rVfYoMGJEd-Mveea1W_olA"/>
-  <C_Cpp:ExternLibrary xmi:id="_OQ81ENYGEd-CgJIavLpOxQ" base_Package="_I19MANYGEd-CgJIavLpOxQ">
-    <libs>pthread</libs>
-  </C_Cpp:ExternLibrary>
-  <C_Cpp:External xmi:id="_p8NbMNYGEd-CgJIavLpOxQ" name="pthread.h" base_class="_ea234NYGEd-CgJIavLpOxQ"/>
-  <FCM:InteractionComponent xmi:id="_8BUh8NdwEd-ZnqCk2P2ZKg" base_Class="_3itBkNdwEd-ZnqCk2P2ZKg"/>
-  <FCM:Template xmi:id="_CTIeQNdxEd-ZnqCk2P2ZKg" base_Element="_3itBoddwEd-ZnqCk2P2ZKg" kind="LoopOperations"/>
-  <C_Cpp:Typedef xmi:id="_68Aa4No9Ed-wvpj-p-V_QQ" definition="union {&#xA;&lt;%for (ownedOperations) {%>&#xA;struct Op_&lt;%name%> {&#xA;&lt;%for (ownedParameters) {%>&#xA;&lt;%cppType%> &lt;%name%>;&#xA;&lt;%}%>&#xA;} op_&lt;%name%>;&#xA;&lt;%}%>&#xA;};" base_primitivetype="_xOqL0No9Ed-wvpj-p-V_QQ"/>
-  <FCM:InteractionComponent xmi:id="_xaHRQDJKEeCAhMtIsY9HwA" base_Class="_pXzKcEJ1Ed-Ps4Bfh0j9LQ"/>
-  <FCM:Port xmi:id="_wz4-ULaaEeCj_-LEBuGpmA" base_Port="__SLXgNtxEd6nqsBVkgJEEA"/>
-  <FCM:Port xmi:id="_xdIvoLaaEeCj_-LEBuGpmA" base_Port="_OfiosJsrEd61Eo3nmu3JhQ"/>
-  <FCM:Port xmi:id="_MzPjkPNAEeCovO8AYZymZQ" base_Port="_MzO8gPNAEeCovO8AYZymZQ" kind="_wySlkFRxEd6GqrP6fkWBoQ"/>
-  <FCM:Template xmi:id="_c_dkcPNJEeCovO8AYZymZQ" base_Element="_aGt1sPNJEeCovO8AYZymZQ" kind="LoopOperations"/>
-  <FCM:ImplementationProperties xmi:id="_WIe68PQMEeCovO8AYZymZQ" base_Class="__uJRYPNGEeCovO8AYZymZQ"/>
-  <FCM:ContainerRule xmi:id="_F1wZsPQUEeCovO8AYZymZQ" base_Class="__4GvgPQTEeCovO8AYZymZQ" extensionKind="Aggregation" extension="_WhKAAPQUEeCovO8AYZymZQ"/>
-  <FCM:DerivedElement xmi:id="_mKpWAPQXEeCovO8AYZymZQ" base_Element="_tK0poPQWEeCovO8AYZymZQ0" source="_tK0poPQWEeCovO8AYZymZQ"/>
-  <FCM:DerivedElement xmi:id="_mK0VIPQXEeCovO8AYZymZQ" base_Element="_FBMo4PQXEeCovO8AYZymZQ0" source="_FBMo4PQXEeCovO8AYZymZQ"/>
-  <FCM:DerivedElement xmi:id="_mK7C0PQXEeCovO8AYZymZQ" base_Element="_f1HmEPQREeCovO8AYZymZQ0" source="_f1HmEPQREeCovO8AYZymZQ"/>
-  <l2:Create xmi:id="_o4VNAPRTEeCUGrV0Hl4JwQ" base_BehavioralFeature="_lrF08PRTEeCUGrV0Hl4JwQ"/>
-  <FCM:InterceptionRule xmi:id="_qlcF8AJzEeG0Lb1KYG16fA" interceptionSet="__SLXgNtxEd6nqsBVkgJEEA" base_Property="_mvN04PTWEeCn1-FCrfecFg" portSet="__SL-kNtxEd6nqsBVkgJEEA"/>
-  <FCM:Template xmi:id="_QUZxoCQeEeGj_4swHBbKwg" base_Element="_QQPDUSQeEeGj_4swHBbKwg" kind="LoopPorts"/>
-  <C_Cpp:Const xmi:id="_MGjk0CSlEeG6GJ4vU06VYQ" base_property="_Ig_MUCSlEeG6GJ4vU06VYQ"/>
-  <C_Cpp:Include xmi:id="_Yx49gCaeEeG4fZdVXNtoOQ" body="#include &lt;errno.h>" base_class="_JRmo0PNAEeCovO8AYZymZQ"/>
-  <FCM:InteractionComponent xmi:id="_OXit8CfwEeG6iME5Q8XPKw" base_Class="_5J9coCXQEeGX6PuSE-DJlQ"/>
-  <FCM:Port xmi:id="_ATRiESjZEeGFbebITJYb9g" base_Port="_ATRiECjZEeGFbebITJYb9g" kind="_9Fif4FRxEd6GqrP6fkWBoQ"/>
-  <FCM:ContainerRule xmi:id="_MS45QCjaEeGFbebITJYb9g" base_Class="_1sCBICjZEeGFbebITJYb9g"/>
-  <FCM:DerivedElement xmi:id="_F-g7sCjbEeGFbebITJYb9g" base_Element="_F-cDMCjbEeGFbebITJYb9g">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_F-l0MCjbEeGFbebITJYb9g" base_Element="_F-iJ0CjbEeGFbebITJYb9g">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:ConfigurationProperty xmi:id="_zVumMCjbEeGFbebITJYb9g" base_Property="_tmNeoCjbEeGFbebITJYb9g"/>
-  <FCM:Port xmi:id="_3NSGwSkAEeGDDbdzqSb4UA" base_Port="_3NSGwCkAEeGDDbdzqSb4UA" kind="_9Fif4FRxEd6GqrP6fkWBoQ"/>
-  <FCM:OperatingSystem xmi:id="_r4nVcCp9EeG1Y7BvjQ0T-w" base_Class="_onKy0Cp9EeG1Y7BvjQ0T-w"/>
-  <FCM:Port xmi:id="_-nlmgENqEeGoAtSeIK7WLg" base_Port="_-nk_cENqEeGoAtSeIK7WLg" kind="_qOK0cFR1Ed6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="_9gJEAENvEeGoAtSeIK7WLg" base_Port="_9gIc8ENvEeGoAtSeIK7WLg" kind="_pE6GUFR1Ed6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="_MhIhgENxEeGoAtSeIK7WLg" base_Port="_MhH6cENxEeGoAtSeIK7WLg" kind="_pE6GUFR1Ed6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="_Zd6hAENxEeGoAtSeIK7WLg" base_Port="_Zd558ENxEeGoAtSeIK7WLg" kind="_qOK0cFR1Ed6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="_i6QeoEN8EeGfhclnRyNzoA" base_Port="_i5SOQEN8EeGfhclnRyNzoA" kind="_qOK0cFR1Ed6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="_0KaqgF7pEeGEmrrwB1vhPg" base_Port="_0KY1UF7pEeGEmrrwB1vhPg" kind="_wySlkFRxEd6GqrP6fkWBoQ"/>
-  <FCM:Template xmi:id="_GNBM8F7tEeGEmrrwB1vhPg" base_Element="_ChD4kF7tEeGEmrrwB1vhPg" kind="LoopOperations"/>
-  <FCM:InteractionComponent xmi:id="_UBcmIF7tEeGEmrrwB1vhPg" base_Class="_Mo2kwF7pEeGEmrrwB1vhPg"/>
-  <FCM:InteractionComponent xmi:id="_Z3Zs4F7tEeGEmrrwB1vhPg" base_Class="_TLShkF7qEeGEmrrwB1vhPg"/>
-  <FCM:PortKind xmi:id="_SrCqQC8qEeKx7OxAiA06uw" base_Class="_GjnlcC8qEeKx7OxAiA06uw"/>
-  <C_Cpp:ExternLibrary xmi:id="_xVwkUNqCEeKrRY-H1kHnNA" base_package="_I19MANYGEd-CgJIavLpOxQ">
-    <libs>pthread</libs>
-    <libs>rt</libs>
-  </C_Cpp:ExternLibrary>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/corecpp.di b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/corecpp.di
deleted file mode 100644
index bbc117e..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/corecpp.di
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi" xmlns:history="http://www.eclipse.org/papyrus/0.7.0/controlmode">
-  <di:SashWindowsMngr xmi:id="_pKTSkNYFEd-CgJIavLpOxQ">
-    <pageList xmi:id="_pKTSkdYFEd-CgJIavLpOxQ">
-      <availablePage xmi:id="_pKTSktYFEd-CgJIavLpOxQ">
-        <emfPageIdentifier href="corecpp.notation#_FYAkIG4sEd-0rs2VEGIwsA"/>
-      </availablePage>
-      <availablePage xmi:id="_A6ULItYGEd-CgJIavLpOxQ">
-        <emfPageIdentifier href="corecpp.notation#_A6ULINYGEd-CgJIavLpOxQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corecpp.notation#_glyeMK8qEeCXIcykFPsB8Q"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corecpp.notation#_DtdykK8rEeCXIcykFPsB8Q"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corecpp.notation#_PIvc4LabEeCj_-LEBuGpmA"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corecpp.notation#_0IaT8LnYEeCxXoyQxQ47PQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corecpp.notation#_SstwYPEnEeCIafpoJVk7CQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corecpp.notation#_eblvwPM_EeCovO8AYZymZQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corecpp.notation#_hyLz8PNGEeCovO8AYZymZQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corecpp.notation#_cVCGYPNUEeCovO8AYZymZQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corecpp.notation#_g6Yg0CnOEeGxrprK9wB9iA"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corecpp.notation#_OhgzgD8AEeGJ6KSvhYhYuQ"/>
-      </availablePage>
-      <availablePage>
-        <emfPageIdentifier href="corecpp.notation#_DfG8kF7qEeGEmrrwB1vhPg"/>
-      </availablePage>
-    </pageList>
-    <sashModel xmi:id="_pKTSk9YFEd-CgJIavLpOxQ" currentSelection="_pKTSldYFEd-CgJIavLpOxQ">
-      <windows xmi:id="_pKTSlNYFEd-CgJIavLpOxQ">
-        <children xsi:type="di:TabFolder" xmi:id="_pKTSldYFEd-CgJIavLpOxQ">
-          <children>
-            <emfPageIdentifier href="corecpp.notation#_glyeMK8qEeCXIcykFPsB8Q"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corecpp.notation#_DtdykK8rEeCXIcykFPsB8Q"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corecpp.notation#_PIvc4LabEeCj_-LEBuGpmA"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corecpp.notation#_0IaT8LnYEeCxXoyQxQ47PQ"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corecpp.notation#_SstwYPEnEeCIafpoJVk7CQ"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corecpp.notation#_g6Yg0CnOEeGxrprK9wB9iA"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corecpp.notation#_OhgzgD8AEeGJ6KSvhYhYuQ"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corecpp.notation#_cVCGYPNUEeCovO8AYZymZQ"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corecpp.notation#_hyLz8PNGEeCovO8AYZymZQ"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corecpp.notation#_DfG8kF7qEeGEmrrwB1vhPg"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corecpp.notation#_FYAkIG4sEd-0rs2VEGIwsA"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corecpp.notation#_eblvwPM_EeCovO8AYZymZQ"/>
-          </children>
-          <children>
-            <emfPageIdentifier href="corecpp.notation#_A6ULINYGEd-CgJIavLpOxQ"/>
-          </children>
-        </children>
-      </windows>
-    </sashModel>
-  </di:SashWindowsMngr>
-  <history:ControledResource xmi:id="_pKT5oNYFEd-CgJIavLpOxQ"/>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/corecpp.notation b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/corecpp.notation
deleted file mode 100644
index 3af00ab..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/corecpp.notation
+++ /dev/null
@@ -1,3896 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML">
-  <notation:Diagram xmi:id="_FYAkIG4sEd-0rs2VEGIwsA" type="CompositeStructure" name="Composite Async &amp; sync call hierarchy" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_FYAkIW4sEd-0rs2VEGIwsA" type="2073" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_FYAkIm4sEd-0rs2VEGIwsA" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_FYAkI24sEd-0rs2VEGIwsA" type="7073">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYAkJG4sEd-0rs2VEGIwsA"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_FYAkJW4sEd-0rs2VEGIwsA" type="3069" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AEHTkDrTEeGKkdk54CX6PQ" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8kEM4DrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8kEz8DrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8kEz8TrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8kEz8jrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8kEz8zrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FYAkJm4sEd-0rs2VEGIwsA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__EG7cF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Uh8jQFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FYAkJ24sEd-0rs2VEGIwsA" x="-56"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FYBLMG4sEd-0rs2VEGIwsA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FYBLMW4sEd-0rs2VEGIwsA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLMm4sEd-0rs2VEGIwsA" x="110" y="45"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_mIpj8Ns8Ed2eM5kqcby5ZA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLM24sEd-0rs2VEGIwsA" x="225" y="90" width="120" height="84"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_FYBLNG4sEd-0rs2VEGIwsA" type="2073" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_FYBLNW4sEd-0rs2VEGIwsA" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_FYBLNm4sEd-0rs2VEGIwsA" type="7073">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLN24sEd-0rs2VEGIwsA"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_FYBLOG4sEd-0rs2VEGIwsA" type="3069" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4qWbQDrTEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48kMoDrTEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48kMoTrTEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48kMojrTEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48kMozrTEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48kMpDrTEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FYBLOW4sEd-0rs2VEGIwsA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__2FK8F7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VHb18FbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FYBLOm4sEd-0rs2VEGIwsA" x="25" y="1"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_FYBLO24sEd-0rs2VEGIwsA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FYBLPG4sEd-0rs2VEGIwsA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLPW4sEd-0rs2VEGIwsA" x="-10" y="44"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_j29X4NttEd2eM5kqcby5ZA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYBLPm4sEd-0rs2VEGIwsA" x="420" y="90" width="121" height="79"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_cTlm4G5fEd-5CZIeuHpHAg" type="2073" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cTm1AG5fEd-5CZIeuHpHAg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cTm1AW5fEd-5CZIeuHpHAg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cTm1Am5fEd-5CZIeuHpHAg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cTm1A25fEd-5CZIeuHpHAg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cTm1BG5fEd-5CZIeuHpHAg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cTm1BW5fEd-5CZIeuHpHAg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_cTm1Bm5fEd-5CZIeuHpHAg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_cTm1B25fEd-5CZIeuHpHAg" type="7073">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cTm1CG5fEd-5CZIeuHpHAg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_cnOc0DrVEeGMCcwsbpLuFA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnQ5EDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnQ5ETrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnQ5EjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnQ5EzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnQ5FDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnRgIDrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2J1UYDrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2ZuKgDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2ZuxkDrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2ZuxkTrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2ZuxkjrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2ZuxkzrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_cnRgITrVEeGMCcwsbpLuFA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sbFK0F7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XaUekFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_cnRgIjrVEeGMCcwsbpLuFA" x="19"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_cnSHMDrVEeGMCcwsbpLuFA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_cnSHMTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cnOc0TrVEeGMCcwsbpLuFA" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_cnSuQDrVEeGMCcwsbpLuFA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnSuQjrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnSuQzrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnSuRDrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnSuRTrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cnTVUDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cnTVUTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yOmN4DrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yixHEDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yixuIDrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yixuITrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yixuIjrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yixuIzrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_cnTVUjrVEeGMCcwsbpLuFA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3vXigF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W6BN4FbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_cnTVUzrVEeGMCcwsbpLuFA" x="-25"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_cnTVVDrVEeGMCcwsbpLuFA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_cnTVVTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cnSuQTrVEeGMCcwsbpLuFA" x="106" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_KxQBELuXEd2TTr3gJIvazw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cTmN8G5fEd-5CZIeuHpHAg" x="225" y="270" width="116" height="76"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_nkmBEG5fEd-5CZIeuHpHAg" type="2073" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nkmoIG5fEd-5CZIeuHpHAg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nknPMG5fEd-5CZIeuHpHAg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nknPMW5fEd-5CZIeuHpHAg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nknPMm5fEd-5CZIeuHpHAg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nknPM25fEd-5CZIeuHpHAg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nknPNG5fEd-5CZIeuHpHAg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_nknPNW5fEd-5CZIeuHpHAg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_nknPNm5fEd-5CZIeuHpHAg" type="7073">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nknPN25fEd-5CZIeuHpHAg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_hZRPgDrVEeGMCcwsbpLuFA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZR2kDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZR2kTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZR2kjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZR2kzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZR2lDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZR2lTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3C2AADrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3cOJUDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3cOJUTrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3cOJUjrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3cOJUzrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3cOJVDrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_hZR2ljrVEeGMCcwsbpLuFA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_s2NAkF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_whZf8F7qEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_hZR2lzrVEeGMCcwsbpLuFA" x="19"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_hZR2mDrVEeGMCcwsbpLuFA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_hZSdoDrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hZRPgTrVEeGMCcwsbpLuFA" x="-10" y="33"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_hZSdoTrVEeGMCcwsbpLuFA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZTEsDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZTEsTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZTEsjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZTEszrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hZTEtDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hZTEtTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4TtK8DrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4okAoDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4okAoTrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4okAojrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4okAozrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4oknsDrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_hZTEtjrVEeGMCcwsbpLuFA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_24F8QF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2_b6YF7qEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_hZTEtzrVEeGMCcwsbpLuFA" x="-30"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_hZTEuDrVEeGMCcwsbpLuFA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_hZTrwDrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hZSdojrVEeGMCcwsbpLuFA" x="111" y="33"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_Whe8EClYEd-eoo60eNyGlg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nkmBEW5fEd-5CZIeuHpHAg" x="225" y="390" width="121" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_HJAqEG5gEd-5CZIeuHpHAg" type="2073" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HJBRIG5gEd-5CZIeuHpHAg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HJBRIW5gEd-5CZIeuHpHAg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HJBRIm5gEd-5CZIeuHpHAg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HJBRI25gEd-5CZIeuHpHAg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HJB4MG5gEd-5CZIeuHpHAg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HJB4MW5gEd-5CZIeuHpHAg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_HJB4Mm5gEd-5CZIeuHpHAg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_HJB4M25gEd-5CZIeuHpHAg" type="7073">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HJB4NG5gEd-5CZIeuHpHAg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_iOXEcDrVEeGMCcwsbpLuFA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOXrgDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOXrgTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOXrgjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOXrgzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOXrhDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOXrhTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5dF04DrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_56NOsDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_56NOsTrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_56NOsjrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_56N1wDrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_56N1wTrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_iOXrhjrVEeGMCcwsbpLuFA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BXMYYF7rEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VrqkYFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_iOXrhzrVEeGMCcwsbpLuFA" x="25"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_iOXriDrVEeGMCcwsbpLuFA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_iOXriTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iOXEcTrVEeGMCcwsbpLuFA" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_iOYSkDrVEeGMCcwsbpLuFA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOYSkjrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOY5oDrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOY5oTrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOY5ojrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iOY5ozrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iOY5pDrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6tcCcDrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7BnisDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7BoJwDrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7BoJwTrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7BoJwjrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7BoJwzrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_iOY5pTrVEeGMCcwsbpLuFA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tskA0F7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WOFU8FbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_iOY5pjrVEeGMCcwsbpLuFA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_iOY5pzrVEeGMCcwsbpLuFA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_iOY5qDrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iOYSkTrVEeGMCcwsbpLuFA" x="111" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_Zx2ZUA1jEd6tvthBDl600Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HJAqEW5gEd-5CZIeuHpHAg" x="420" y="270" width="121" height="76"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_H_CTIG5gEd-5CZIeuHpHAg" type="2073" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H_C6MG5gEd-5CZIeuHpHAg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H_C6MW5gEd-5CZIeuHpHAg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H_C6Mm5gEd-5CZIeuHpHAg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H_C6M25gEd-5CZIeuHpHAg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H_C6NG5gEd-5CZIeuHpHAg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H_C6NW5gEd-5CZIeuHpHAg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_H_C6Nm5gEd-5CZIeuHpHAg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_H_C6N25gEd-5CZIeuHpHAg" type="7073">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H_C6OG5gEd-5CZIeuHpHAg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_kf30EDrVEeGMCcwsbpLuFA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf4bIDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf4bITrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf4bIjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf4bIzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf4bJDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf4bJTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o5tiIDrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pQdOMDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pQdOMTrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pQdOMjrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pQd1QDrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pQd1QTrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_kf4bJjrVEeGMCcwsbpLuFA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EmPuUF7rEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GfK-0F7rEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kf4bJzrVEeGMCcwsbpLuFA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_kf4bKDrVEeGMCcwsbpLuFA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kf4bKTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kf30ETrVEeGMCcwsbpLuFA" x="-10" y="33"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_kf5CMDrVEeGMCcwsbpLuFA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf5pQDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf5pQTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf5pQjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf5pQzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kf5pRDrVEeGMCcwsbpLuFA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kf5pRTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_noqJ8DrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oBjyIDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oBjyITrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oBjyIjrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oBkZMDrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oBkZMTrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_kf5pRjrVEeGMCcwsbpLuFA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tXAAgF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EFa5MF7rEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kf5pRzrVEeGMCcwsbpLuFA" x="25"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_kf5pSDrVEeGMCcwsbpLuFA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kf5pSTrVEeGMCcwsbpLuFA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kf5CMTrVEeGMCcwsbpLuFA" x="111" y="33"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_jOU60A1jEd6tvthBDl600Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H_CTIW5gEd-5CZIeuHpHAg" x="420" y="390" width="121" height="70"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="__rQAQDrVEeGMCcwsbpLuFA" type="2109" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__rQnUDrVEeGMCcwsbpLuFA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__rQnUTrVEeGMCcwsbpLuFA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__rQnUjrVEeGMCcwsbpLuFA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__rQnUzrVEeGMCcwsbpLuFA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__rQnVDrVEeGMCcwsbpLuFA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__rQnVTrVEeGMCcwsbpLuFA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="__rQnVjrVEeGMCcwsbpLuFA" type="5192"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#__oxUADrVEeGMCcwsbpLuFA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__rQAQTrVEeGMCcwsbpLuFA" x="596" y="102" width="242"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_2oWskF7pEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2oX6sF7pEeGEmrrwB1vhPg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2oX6sV7pEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2oX6sl7pEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2oX6s17pEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2oX6tF7pEeGEmrrwB1vhPg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2oX6tV7pEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_2oYhwF7pEeGEmrrwB1vhPg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_2oYhwV7pEeGEmrrwB1vhPg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_2oYhwl7pEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2oYhw17pEeGEmrrwB1vhPg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_5wCPMF7pEeGEmrrwB1vhPg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5wC2QF7pEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5wC2QV7pEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5wC2Ql7pEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5wC2Q17pEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5wC2RF7pEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5wC2RV7pEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8uIYAF7pEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9B96AF7pEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9B96AV7pEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9B96Al7pEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9B96A17pEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9B96BF7pEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_5wC2Rl7pEeGEmrrwB1vhPg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-VsWQF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZVGwQFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_5wC2R17pEeGEmrrwB1vhPg" x="-99"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_5wC2SF7pEeGEmrrwB1vhPg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_5wC2SV7pEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5wCPMV7pEeGEmrrwB1vhPg" x="108" y="45"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_0KYOQF7pEeGEmrrwB1vhPg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2oWskV7pEeGEmrrwB1vhPg" x="36" y="90" width="118" height="82"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_TLmDkF7qEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TLmqoF7qEeGEmrrwB1vhPg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TLmqoV7qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TLmqol7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TLmqo17qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TLmqpF7qEeGEmrrwB1vhPg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TLmqpV7qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_TLnRsF7qEeGEmrrwB1vhPg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_TLnRsV7qEeGEmrrwB1vhPg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_TLnRsl7qEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TLnRs17qEeGEmrrwB1vhPg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_ewlwwF7qEeGEmrrwB1vhPg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewmX0F7qEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewmX0V7qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewmX0l7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewmX017qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewmX1F7qEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewmX1V7qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nfCuoF7qEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_n3u7cF7qEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_n3u7cV7qEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_n3u7cl7qEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_n3u7c17qEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_n3u7dF7qEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ewmX1l7qEeGEmrrwB1vhPg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_08xfEF7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1Gzk0F7qEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="52"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ewmX117qEeGEmrrwB1vhPg" x="-63"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ewmX2F7qEeGEmrrwB1vhPg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ewmX2V7qEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ewlwwV7qEeGEmrrwB1vhPg" x="106" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_ewm-4F7qEeGEmrrwB1vhPg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewm-4l7qEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewm-417qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewm-5F7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewm-5V7qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ewm-5l7qEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewm-517qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lHhdoF7qEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lvZV8F7qEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lvZV8V7qEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lvZV8l7qEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lvZV817qEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lvZV9F7qEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ewnl8F7qEeGEmrrwB1vhPg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_x3Ij0F7qEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YVUHMFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ewnl8V7qEeGEmrrwB1vhPg" x="17"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ewnl8l7qEeGEmrrwB1vhPg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ewnl817qEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ewm-4V7qEeGEmrrwB1vhPg" x="-10" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_TLShkF7qEeGEmrrwB1vhPg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TLmDkV7qEeGEmrrwB1vhPg" x="38" y="270" width="116" height="73"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_FYBLP24sEd-0rs2VEGIwsA"/>
-    <element xmi:type="uml:Package" href="corecpp.uml#_mMCK8PiPEd2UhpY2Y3WUyg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_dNEMkG5fEd-5CZIeuHpHAg" type="4015" source="_cTlm4G5fEd-5CZIeuHpHAg" target="_FYAkIW4sEd-0rs2VEGIwsA" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_dNFasG5fEd-5CZIeuHpHAg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_dNGo0G5fEd-5CZIeuHpHAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_dNEMkW5fEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_1H2JwDBEEd6V16eboHV1gw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dNEMkm5fEd-5CZIeuHpHAg" points="[-8, -20, 58, 145]$[-50, -123, 16, 42]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_drspUG5fEd-5CZIeuHpHAg" type="4015" source="_cTlm4G5fEd-5CZIeuHpHAg" target="_FYBLNG4sEd-0rs2VEGIwsA" routing="Rectilinear" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_drtQYG5fEd-5CZIeuHpHAg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_drtQYW5fEd-5CZIeuHpHAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_drspUW5fEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_0KzSsDBEEd6V16eboHV1gw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_drspUm5fEd-5CZIeuHpHAg" points="[41, -38, -136, 105]$[41, -92, -136, 51]$[172, -92, -5, 51]$[172, -139, -5, 4]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jflTgG5fEd-5CZIeuHpHAg" id="(0.3305785123966942,0.9493670886075949)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_pOq9QG5fEd-5CZIeuHpHAg" type="4015" source="_nkmBEG5fEd-5CZIeuHpHAg" target="_cTlm4G5fEd-5CZIeuHpHAg" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qQj4EG5fEd-5CZIeuHpHAg" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qQj4EW5fEd-5CZIeuHpHAg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qQj4Em5fEd-5CZIeuHpHAg" key="StereotypeList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qQj4E25fEd-5CZIeuHpHAg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qQj4FG5fEd-5CZIeuHpHAg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qQj4FW5fEd-5CZIeuHpHAg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_pOrkUG5fEd-5CZIeuHpHAg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_pOrkUW5fEd-5CZIeuHpHAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_pOq9QW5fEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_lYOSkClzEd-eoo60eNyGlg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pOq9Qm5fEd-5CZIeuHpHAg" points="[1, -40, 0, 83]$[0, -85, -1, 38]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_IsGNcG5gEd-5CZIeuHpHAg" type="4015" source="_H_CTIG5gEd-5CZIeuHpHAg" target="_HJAqEG5gEd-5CZIeuHpHAg" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_IsPXYG5gEd-5CZIeuHpHAg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_IsPXYW5gEd-5CZIeuHpHAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_IsGNcW5gEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_lm4GkA1jEd6tvthBDl600Q"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IsGNcm5gEd-5CZIeuHpHAg" points="[-4, -20, 17, 90]$[-18, -90, 3, 20]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_KGqG8G5gEd-5CZIeuHpHAg" type="4015" source="_HJAqEG5gEd-5CZIeuHpHAg" target="_FYAkIW4sEd-0rs2VEGIwsA" routing="Rectilinear" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_KGrVEG5gEd-5CZIeuHpHAg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KGrVEW5gEd-5CZIeuHpHAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_KGqG8W5gEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_T1zr4DBFEd6V16eboHV1gw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KGqG8m5gEd-5CZIeuHpHAg" points="[-31, -18, 261, 147]$[-232, -132, 60, 33]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Kc5csG5gEd-5CZIeuHpHAg" type="4015" source="_HJAqEG5gEd-5CZIeuHpHAg" target="_FYBLNG4sEd-0rs2VEGIwsA" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Kc6DwG5gEd-5CZIeuHpHAg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Kc6DwW5gEd-5CZIeuHpHAg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Kc5csW5gEd-5CZIeuHpHAg" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_STdvYDBFEd6V16eboHV1gw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Kc5csm5gEd-5CZIeuHpHAg" points="[-12, -23, 74, 146]$[-66, -129, 20, 40]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_DjnY8DrWEeGMCcwsbpLuFA" type="4002" source="__rQAQDrVEeGMCcwsbpLuFA" target="_FYBLNG4sEd-0rs2VEGIwsA" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_DjoAADrWEeGMCcwsbpLuFA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DjoAATrWEeGMCcwsbpLuFA" points="[-19, 1, 78, 0]$[-74, 3, 23, 2]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DjzmMDrWEeGMCcwsbpLuFA" id="(0.11801242236024845,0.5)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DjzmMTrWEeGMCcwsbpLuFA" id="(0.8099173553719008,0.5443037974683544)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_WhiEoF7qEeGEmrrwB1vhPg" type="4015" source="_TLmDkF7qEeGEmrrwB1vhPg" target="_2oWskF7pEeGEmrrwB1vhPg" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_WhirsF7qEeGEmrrwB1vhPg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_WhirsV7qEeGEmrrwB1vhPg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_WhiEoV7qEeGEmrrwB1vhPg" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_WhUpQF7qEeGEmrrwB1vhPg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WhiEol7qEeGEmrrwB1vhPg" points="[1, -4, 0, 109]$[-3, -107, -4, 6]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wh9icF7qEeGEmrrwB1vhPg" id="(0.3673469387755102,0.06779661016949153)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wh9icV7qEeGEmrrwB1vhPg" id="(0.3305084745762712,0.926829268292683)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_XgiDgF7qEeGEmrrwB1vhPg" type="4015" source="_TLmDkF7qEeGEmrrwB1vhPg" target="_FYBLNG4sEd-0rs2VEGIwsA" routing="Rectilinear" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_XgiqkF7qEeGEmrrwB1vhPg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_XgiqkV7qEeGEmrrwB1vhPg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_XgiDgV7qEeGEmrrwB1vhPg" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_XgUoIF7qEeGEmrrwB1vhPg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XgiDgl7qEeGEmrrwB1vhPg" points="[17, -6, -338, 114]$[349, -112, -6, 8]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xg9hUF7qEeGEmrrwB1vhPg" id="(0.6632653061224489,0.1016949152542373)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xg9hUV7qEeGEmrrwB1vhPg" id="(0.3140495867768595,0.8987341772151899)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_A6ULINYGEd-CgJIavLpOxQ" type="PapyrusUMLClassDiagram" name="Class: ContainerServices" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_ByS8ANYGEd-CgJIavLpOxQ" type="2008" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByUKINYGEd-CgJIavLpOxQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ByUKIdYGEd-CgJIavLpOxQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByUKItYGEd-CgJIavLpOxQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ByUKI9YGEd-CgJIavLpOxQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByUKJNYGEd-CgJIavLpOxQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ByUxMNYGEd-CgJIavLpOxQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GTjzUCXVEeGX6PuSE-DJlQ" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4nx5IM0zEeGV96JAv8cWdw" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4nx5Ic0zEeGV96JAv8cWdw" key="StereotypeList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4nx5Is0zEeGV96JAv8cWdw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4nx5I80zEeGV96JAv8cWdw" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4nx5JM0zEeGV96JAv8cWdw" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ByUxMdYGEd-CgJIavLpOxQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_ByUxMtYGEd-CgJIavLpOxQ" type="7017">
-        <children xmi:type="notation:Shape" xmi:id="_5X2YACVqEeGXBt65HZzY7g" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_oG9wEFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tfIHkFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Port" href="corecpp.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_5X2YASVqEeGXBt65HZzY7g"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_60xB8CVqEeGXBt65HZzY7g" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qGsMIFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qRYZMFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="corecpp.uml#_rVfYoMGJEd-Mveea1W_olA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_60xB8SVqEeGXBt65HZzY7g"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_r31CwCXREeGX6PuSE-DJlQ" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rmOsQFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rxObUFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Port" href="corecpp.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_r31CwSXREeGX6PuSE-DJlQ"/>
-        </children>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_ByUxM9YGEd-CgJIavLpOxQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_ByUxNNYGEd-CgJIavLpOxQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByUxNdYGEd-CgJIavLpOxQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_ByUxNtYGEd-CgJIavLpOxQ" type="7018">
-        <children xmi:type="notation:Shape" xmi:id="_s9ecMCXREeGX6PuSE-DJlQ" type="3013" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:Operation" href="corecpp.uml#_yv198P-EEd6628OhKk_dpg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_s9ecMSXREeGX6PuSE-DJlQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_s9fDQCXREeGX6PuSE-DJlQ" type="3013" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:Operation" href="corecpp.uml#_JmxyMD16Ed-Bk-AHd6yyoA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_s9fDQSXREeGX6PuSE-DJlQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_s9fqUCXREeGX6PuSE-DJlQ" type="3013" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:Operation" href="corecpp.uml#_JqB6gD16Ed-Bk-AHd6yyoA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_s9fqUSXREeGX6PuSE-DJlQ"/>
-        </children>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_ByUxN9YGEd-CgJIavLpOxQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_ByUxONYGEd-CgJIavLpOxQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByUxOdYGEd-CgJIavLpOxQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_ByUxOtYGEd-CgJIavLpOxQ" visible="false" type="7019">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_ByUxO9YGEd-CgJIavLpOxQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_ByUxPNYGEd-CgJIavLpOxQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByUxPdYGEd-CgJIavLpOxQ"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_SiY_AP-EEd6628OhKk_dpg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByS8AdYGEd-CgJIavLpOxQ" x="99" y="108" width="190" height="145"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_D0xKENYGEd-CgJIavLpOxQ" type="2008" fontName="Sans Serif" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D0xxINYGEd-CgJIavLpOxQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D0xxIdYGEd-CgJIavLpOxQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D0xxItYGEd-CgJIavLpOxQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D0xxI9YGEd-CgJIavLpOxQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D0xxJNYGEd-CgJIavLpOxQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D0xxJdYGEd-CgJIavLpOxQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_D0xxJtYGEd-CgJIavLpOxQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_D0xxJ9YGEd-CgJIavLpOxQ" type="7017">
-        <children xmi:type="notation:Shape" xmi:id="_OSicECXVEeGX6PuSE-DJlQ" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l2kawFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v7LTQFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Port" href="corecpp.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_OSicESXVEeGX6PuSE-DJlQ"/>
-        </children>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_D0xxKNYGEd-CgJIavLpOxQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_D0xxKdYGEd-CgJIavLpOxQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xxKtYGEd-CgJIavLpOxQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_D0xxK9YGEd-CgJIavLpOxQ" visible="false" type="7018">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_D0xxLNYGEd-CgJIavLpOxQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_D0xxLdYGEd-CgJIavLpOxQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xxLtYGEd-CgJIavLpOxQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_D0xxL9YGEd-CgJIavLpOxQ" visible="false" type="7019">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_D0xxMNYGEd-CgJIavLpOxQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_D0xxMdYGEd-CgJIavLpOxQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xxMtYGEd-CgJIavLpOxQ"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xKEdYGEd-CgJIavLpOxQ" x="99" y="9" width="193" height="55"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_EhiDELaaEeCj_-LEBuGpmA" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EhiqILaaEeCj_-LEBuGpmA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EhiqIbaaEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EhjRMLaaEeCj_-LEBuGpmA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EhjRMbaaEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EhjRMraaEeCj_-LEBuGpmA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EhjRM7aaEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_EhjRNLaaEeCj_-LEBuGpmA" type="5038"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#_hGEOAMT8Ed-zx4a_r4xAYw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EhiDEbaaEeCj_-LEBuGpmA" x="325" y="13" width="343" height="100"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_elme8PQREeCovO8AYZymZQ" type="2004" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_elnGAPQREeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_elnGAfQREeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_elntEPQREeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_elntEfQREeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_elntEvQREeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_elntE_QREeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_elntFPQREeCovO8AYZymZQ" type="5011"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_elntFfQREeCovO8AYZymZQ" visible="false" type="7006">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_elntFvQREeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_elntF_QREeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_elntGPQREeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elntGfQREeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_elntGvQREeCovO8AYZymZQ" type="7007">
-        <children xmi:type="notation:Shape" xmi:id="_f1SlMPQREeCovO8AYZymZQ" type="3007" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rsca8FjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rvvmkFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="corecpp.uml#_f1HmEPQREeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_f1SlMfQREeCovO8AYZymZQ"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_elntG_QREeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_elntHPQREeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_elntHfQREeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elntHvQREeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_eloUIPQREeCovO8AYZymZQ" visible="false" type="7008">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_eloUIfQREeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_eloUIvQREeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_eloUI_QREeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eloUJPQREeCovO8AYZymZQ"/>
-      </children>
-      <element xmi:type="uml:Interface" href="corecpp.uml#_elkpwPQREeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elme8fQREeCovO8AYZymZQ" x="459" y="201" width="208" height="82"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_S9Kp8PQWEeCovO8AYZymZQ" type="2004" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S9LRAPQWEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S9LRAfQWEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S9LRAvQWEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S9LRA_QWEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S9LRBPQWEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S9LRBfQWEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_S9LRBvQWEeCovO8AYZymZQ" type="5011"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_S9LRB_QWEeCovO8AYZymZQ" visible="false" type="7006">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_S9LRCPQWEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_S9LRCfQWEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_S9LRCvQWEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9LRC_QWEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_S9L4EPQWEeCovO8AYZymZQ" type="7007">
-        <children xmi:type="notation:Shape" xmi:id="_tK13wPQWEeCovO8AYZymZQ" type="3007" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uQYXUFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uT-d4FjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="corecpp.uml#_tK0poPQWEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_tK13wfQWEeCovO8AYZymZQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_FBOeEPQXEeCovO8AYZymZQ" type="3007" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:Operation" href="corecpp.uml#_FBMo4PQXEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FBOeEfQXEeCovO8AYZymZQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_SaK_4CUREeGXBt65HZzY7g" type="3007" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uQZlcFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uT_E8FjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="corecpp.uml#_f1HmEPQREeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_SaK_4SUREeGXBt65HZzY7g"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_S9L4EfQWEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_S9L4EvQWEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_S9L4E_QWEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9L4FPQWEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_S9L4FfQWEeCovO8AYZymZQ" visible="false" type="7008">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_S9L4FvQWEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_S9L4F_QWEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_S9L4GPQWEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9L4GfQWEeCovO8AYZymZQ"/>
-      </children>
-      <element xmi:type="uml:Interface" href="corecpp.uml#_omxU4PNAEeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9Kp8fQWEeCovO8AYZymZQ" x="459" y="324" width="451" height="91"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_DZTowCUREeGXBt65HZzY7g" type="2004" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DZUP0SUREeGXBt65HZzY7g" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DZUP0iUREeGXBt65HZzY7g" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DZU24CUREeGXBt65HZzY7g" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DZU24SUREeGXBt65HZzY7g" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DZU24iUREeGXBt65HZzY7g" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DZU24yUREeGXBt65HZzY7g" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_DZU25CUREeGXBt65HZzY7g" type="5011"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_DZU25SUREeGXBt65HZzY7g" visible="false" type="7006">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_DZU25iUREeGXBt65HZzY7g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_DZU25yUREeGXBt65HZzY7g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_DZU26CUREeGXBt65HZzY7g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZU26SUREeGXBt65HZzY7g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_DZU26iUREeGXBt65HZzY7g" type="7007">
-        <children xmi:type="notation:Shape" xmi:id="_Et42ECUREeGXBt65HZzY7g" type="3007" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rsdCAVjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rvw0sFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
-          </eAnnotations>
-          <element xmi:type="uml:Operation" href="corecpp.uml#_tK0poPQWEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_Et42ESUREeGXBt65HZzY7g" x="58" y="3"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_DZU26yUREeGXBt65HZzY7g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_DZU27CUREeGXBt65HZzY7g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_DZU27SUREeGXBt65HZzY7g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZU27iUREeGXBt65HZzY7g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_DZU27yUREeGXBt65HZzY7g" visible="false" type="7008">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_DZU28CUREeGXBt65HZzY7g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_DZU28SUREeGXBt65HZzY7g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_DZU28iUREeGXBt65HZzY7g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZU28yUREeGXBt65HZzY7g"/>
-      </children>
-      <element xmi:type="uml:Interface" href="corecpp.uml#_DY2VwCUREeGXBt65HZzY7g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZUP0CUREeGXBt65HZzY7g" x="702" y="201" width="208" height="79"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_5MArECXQEeGX6PuSE-DJlQ" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5MBSICXQEeGX6PuSE-DJlQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5MBSISXQEeGX6PuSE-DJlQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5MBSIiXQEeGX6PuSE-DJlQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5MB5MCXQEeGX6PuSE-DJlQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5MB5MSXQEeGX6PuSE-DJlQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5MB5MiXQEeGX6PuSE-DJlQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_5MB5MyXQEeGX6PuSE-DJlQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_5MB5NCXQEeGX6PuSE-DJlQ" visible="false" type="7017">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_5MB5NSXQEeGX6PuSE-DJlQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_5MB5NiXQEeGX6PuSE-DJlQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_5MB5NyXQEeGX6PuSE-DJlQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MB5OCXQEeGX6PuSE-DJlQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_5MCgQCXQEeGX6PuSE-DJlQ" visible="false" type="7018">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_5MCgQSXQEeGX6PuSE-DJlQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_5MCgQiXQEeGX6PuSE-DJlQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_5MCgQyXQEeGX6PuSE-DJlQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MCgRCXQEeGX6PuSE-DJlQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_5MCgRSXQEeGX6PuSE-DJlQ" visible="false" type="7019">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_5MCgRiXQEeGX6PuSE-DJlQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_5MCgRyXQEeGX6PuSE-DJlQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_5MCgSCXQEeGX6PuSE-DJlQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MCgSSXQEeGX6PuSE-DJlQ"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_5J9coCXQEeGX6PuSE-DJlQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5MArESXQEeGX6PuSE-DJlQ" x="99" y="297" width="190" height="55"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_E3A5oCXREeGX6PuSE-DJlQ" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E3BgsCXREeGX6PuSE-DJlQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E3CHwCXREeGX6PuSE-DJlQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E3CHwSXREeGX6PuSE-DJlQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E3CHwiXREeGX6PuSE-DJlQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E3CHwyXREeGX6PuSE-DJlQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E3CHxCXREeGX6PuSE-DJlQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_E3CHxSXREeGX6PuSE-DJlQ" type="5038"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#_EuvHYCXREeGX6PuSE-DJlQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E3A5oSXREeGX6PuSE-DJlQ" x="81" y="378" width="235"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_OX-j4FaNEeKxltxu9uR4dg" type="2010" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OYQ3wFaNEeKxltxu9uR4dg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OYQ3wVaNEeKxltxu9uR4dg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OYQ3wlaNEeKxltxu9uR4dg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OYRe0FaNEeKxltxu9uR4dg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OYRe0VaNEeKxltxu9uR4dg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OYRe0laNEeKxltxu9uR4dg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OYRe01aNEeKxltxu9uR4dg" type="5035"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_OYRe1FaNEeKxltxu9uR4dg" type="7020">
-        <children xmi:type="notation:Shape" xmi:id="_RXTbwFaNEeKxltxu9uR4dg" type="3018" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_waMsEFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_waNTIFaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="60"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="corecpp.uml#_RW82cFaNEeKxltxu9uR4dg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_RXTbwVaNEeKxltxu9uR4dg"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_OYRe1VaNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_OYRe1laNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_OYRe11aNEeKxltxu9uR4dg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OYRe2FaNEeKxltxu9uR4dg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_OYRe2VaNEeKxltxu9uR4dg" visible="false" type="7021">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_OYRe2laNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_OYRe21aNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_OYRe3FaNEeKxltxu9uR4dg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OYRe3VaNEeKxltxu9uR4dg"/>
-      </children>
-      <element xmi:type="uml:DataType" href="corecpp.uml#_OU5asFaNEeKxltxu9uR4dg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OX-j4VaNEeKxltxu9uR4dg" x="702" y="9" width="208" height="64"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Y9_gUFaNEeKxltxu9uR4dg" type="2010" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y9_gUlaNEeKxltxu9uR4dg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y-AHYFaNEeKxltxu9uR4dg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y-AHYVaNEeKxltxu9uR4dg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y-AHYlaNEeKxltxu9uR4dg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y-AHY1aNEeKxltxu9uR4dg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y-AHZFaNEeKxltxu9uR4dg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Y-AHZVaNEeKxltxu9uR4dg" type="5035"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Y-AHZlaNEeKxltxu9uR4dg" type="7020">
-        <children xmi:type="notation:Shape" xmi:id="_fYzAkFaNEeKxltxu9uR4dg" type="3018" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t76EsFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uWGGUFaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="corecpp.uml#_fYeQcFaNEeKxltxu9uR4dg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_fYzAkVaNEeKxltxu9uR4dg"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_oUoTIFaNEeKxltxu9uR4dg" type="3018" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vVH6YFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vY61QFaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="corecpp.uml#_oUVYMFaNEeKxltxu9uR4dg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_oUoTIVaNEeKxltxu9uR4dg"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_xXc-gFaNEeKxltxu9uR4dg" type="3018" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1PtpgFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1fyF0FaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="corecpp.uml#_xXGZMFaNEeKxltxu9uR4dg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_xXc-gVaNEeKxltxu9uR4dg"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Y-AHZ1aNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_Y-AHaFaNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_Y-AHaVaNEeKxltxu9uR4dg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y-AHalaNEeKxltxu9uR4dg"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Y-AHa1aNEeKxltxu9uR4dg" visible="false" type="7021">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Y-AHbFaNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_Y-AHbVaNEeKxltxu9uR4dg"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_Y-AHblaNEeKxltxu9uR4dg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y-AHb1aNEeKxltxu9uR4dg"/>
-      </children>
-      <element xmi:type="uml:DataType" href="corecpp.uml#_Y8dPQFaNEeKxltxu9uR4dg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y9_gUVaNEeKxltxu9uR4dg" x="702" y="90" width="208" height="91"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_A6ULIdYGEd-CgJIavLpOxQ"/>
-    <element xmi:type="uml:Package" href="corecpp.uml#_xtlE8ARAEd--t-uhRn9OBA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_D1HvYNYGEd-CgJIavLpOxQ" type="4002" source="_ByS8ANYGEd-CgJIavLpOxQ" target="_D0xKENYGEd-CgJIavLpOxQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_D1IWcNYGEd-CgJIavLpOxQ" type="6007">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_D1IWcdYGEd-CgJIavLpOxQ" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_D1HvYdYGEd-CgJIavLpOxQ" fontName="Sans Serif" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_6bsEkARAEd--t-uhRn9OBA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D1HvYtYGEd-CgJIavLpOxQ" points="[-77, -75, 118, 115]$[-195, -190, 0, 0]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_KuwaULaaEeCj_-LEBuGpmA" type="4013" source="_EhiDELaaEeCj_-LEBuGpmA" target="_ByS8ANYGEd-CgJIavLpOxQ" routing="Rectilinear" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_KuwaUbaaEeCj_-LEBuGpmA" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KuwaUraaEeCj_-LEBuGpmA" points="[19, 44, 130, -8]$[19, 58, 130, 6]$[-95, 58, 16, 6]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KvJb4LaaEeCj_-LEBuGpmA" id="(0.017988552739165987,0.6333333333333333)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KvJb4baaEeCj_-LEBuGpmA" id="(0.917098445595855,0.2)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_ffcCQPQXEeCovO8AYZymZQ" type="4002" source="_S9Kp8PQWEeCovO8AYZymZQ" target="_elme8PQREeCovO8AYZymZQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_ffdQYPQXEeCovO8AYZymZQ" type="6007">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_ffdQYfQXEeCovO8AYZymZQ" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_ffcCQfQXEeCovO8AYZymZQ" fontName="Sans Serif"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_feaHgPQXEeCovO8AYZymZQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ffcCQvQXEeCovO8AYZymZQ" points="[-109, 14, 100, -14]$[-162, 10, 47, -18]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ffeegPQXEeCovO8AYZymZQ" id="(0.21507760532150777,0.12087912087912088)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ffeegfQXEeCovO8AYZymZQ" id="(0.507537688442211,0.95)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_GxXJsCUREeGXBt65HZzY7g" type="4002" source="_S9Kp8PQWEeCovO8AYZymZQ" target="_DZTowCUREeGXBt65HZzY7g" routing="Rectilinear" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_GxXwwCUREeGXBt65HZzY7g" type="6007">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_GxXwwSUREeGXBt65HZzY7g" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_GxXJsSUREeGXBt65HZzY7g" fontName="Sans Serif"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_GwxT0CUREeGXBt65HZzY7g"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GxXJsiUREeGXBt65HZzY7g" points="[21, -3, 1, 53]$[21, -25, 1, 31]$[17, -25, -3, 31]$[17, -47, -3, 9]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GzJSYCUREeGXBt65HZzY7g" id="(0.7228381374722838,0.03296703296703297)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GzJSYSUREeGXBt65HZzY7g" id="(0.5144230769230769,0.9620253164556962)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_9vKGICXQEeGX6PuSE-DJlQ" type="4002" source="_5MArECXQEeGX6PuSE-DJlQ" target="_ByS8ANYGEd-CgJIavLpOxQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_9vKtMCXQEeGX6PuSE-DJlQ" type="6007">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_9vLUQCXQEeGX6PuSE-DJlQ" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_9vKGISXQEeGX6PuSE-DJlQ" fontName="Sans Serif"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_9thucCXQEeGX6PuSE-DJlQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9vKGIiXQEeGX6PuSE-DJlQ" points="[6, -10, 0, 41]$[8, -36, 2, 15]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9wimMCXQEeGX6PuSE-DJlQ" id="(0.5210526315789473,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9wimMSXQEeGX6PuSE-DJlQ" id="(0.5077720207253886,0.98)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_jDnbICXREeGX6PuSE-DJlQ" type="4013" source="_E3A5oCXREeGX6PuSE-DJlQ" target="_5MArECXQEeGX6PuSE-DJlQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_jDnbISXREeGX6PuSE-DJlQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jDnbIiXREeGX6PuSE-DJlQ" points="[-18, 13, 101, -76]$[-107, 85, 12, -4]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jFAiQCXREeGX6PuSE-DJlQ" id="(0.4595744680851064,0.2)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jFBJUCXREeGX6PuSE-DJlQ" id="(0.49473684210526314,0.8536585365853658)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_glyeMK8qEeCXIcykFPsB8Q" type="PapyrusUMLClassDiagram" name="Pkg. Template: methodCall_comp" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_iLyysK8qEeCXIcykFPsB8Q" type="2007" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iL0A0K8qEeCXIcykFPsB8Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iL0n4K8qEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iL0n4a8qEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iL0n4q8qEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iL1O8K8qEeCXIcykFPsB8Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iL1O8a8qEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_iL1O8q8qEeCXIcykFPsB8Q" type="5026"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_iL1O868qEeCXIcykFPsB8Q" type="7016">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iL1O9K8qEeCXIcykFPsB8Q"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_jkrRMK8qEeCXIcykFPsB8Q" type="3033" fontName="Sans Serif" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jkr4QK8qEeCXIcykFPsB8Q" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jkr4Qa8qEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jkr4Qq8qEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jkr4Q68qEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jkr4RK8qEeCXIcykFPsB8Q" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jkr4Ra8qEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_jksfUK8qEeCXIcykFPsB8Q" type="7038">
-          <children xmi:type="notation:Shape" xmi:id="_kvgFkK8qEeCXIcykFPsB8Q" type="3031" fontName="Sans Serif" lineColor="0">
-            <element xmi:type="uml:ClassifierTemplateParameter" href="corecpp.uml#_QBCTAOxJEd-2rr_yAeKkjQ"/>
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_kvgFka8qEeCXIcykFPsB8Q" x="22" y="8"/>
-          </children>
-          <styles xmi:type="notation:SortingStyle" xmi:id="_jksfUa8qEeCXIcykFPsB8Q"/>
-          <styles xmi:type="notation:FilteringStyle" xmi:id="_jksfUq8qEeCXIcykFPsB8Q"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jksfU68qEeCXIcykFPsB8Q"/>
-        </children>
-        <element xmi:type="uml:TemplateSignature" href="corecpp.uml#_ewC6kOxIEd-2rr_yAeKkjQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jkrRMa8qEeCXIcykFPsB8Q" x="30" y="8"/>
-      </children>
-      <element xmi:type="uml:Package" href="corecpp.uml#_RPCMoOxIEd-2rr_yAeKkjQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iLyysa8qEeCXIcykFPsB8Q" x="90" y="243"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_q3ohcK8qEeCXIcykFPsB8Q" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q3pIgK8qEeCXIcykFPsB8Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q3pvkK8qEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q3pvka8qEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q3pvkq8qEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q3pvk68qEeCXIcykFPsB8Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q3pvlK8qEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_q3pvla8qEeCXIcykFPsB8Q" type="5038"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#_q1w5MK8qEeCXIcykFPsB8Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q3ohca8qEeCXIcykFPsB8Q" x="261" y="108" width="253"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_glyeMa8qEeCXIcykFPsB8Q"/>
-    <element xmi:type="uml:Package" href="corecpp.uml#_RPCMoOxIEd-2rr_yAeKkjQ"/>
-    <edges xmi:type="notation:Connector" xmi:id="_xP-jkK8qEeCXIcykFPsB8Q" type="4013" source="_q3ohcK8qEeCXIcykFPsB8Q" target="_iLyysK8qEeCXIcykFPsB8Q" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_xP-jka8qEeCXIcykFPsB8Q" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xP-jkq8qEeCXIcykFPsB8Q" points="[-40, 30, 181, -116]$[-121, 140, 100, -6]"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_DtdykK8rEeCXIcykFPsB8Q" type="PapyrusUMLClassDiagram" name="Pkg. Template: methodCall" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_NLTmAK8rEeCXIcykFPsB8Q" type="2007" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NLUNEK8rEeCXIcykFPsB8Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NLUNEa8rEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NLUNEq8rEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NLUNE68rEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NLUNFK8rEeCXIcykFPsB8Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NLUNFa8rEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_NLUNFq8rEeCXIcykFPsB8Q" type="5026"/>
-      <children xmi:type="notation:DecorationNode" xmi:id="_NLUNF68rEeCXIcykFPsB8Q" type="7016">
-        <children xmi:type="notation:Shape" xmi:id="_TmKUIK8sEeCXIcykFPsB8Q" type="3009" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TmK7MK8sEeCXIcykFPsB8Q" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TmK7Ma8sEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TmK7Mq8sEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TmLiQK8sEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TmLiQa8sEeCXIcykFPsB8Q" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TmLiQq8sEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_TmLiQ68sEeCXIcykFPsB8Q" type="5017"/>
-          <children xmi:type="notation:DecorationNode" xmi:id="_TmLiRK8sEeCXIcykFPsB8Q" type="7010">
-            <children xmi:type="notation:Shape" xmi:id="_V93yYK8sEeCXIcykFPsB8Q" type="3010" fontName="Sans Serif" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V95AgK8sEeCXIcykFPsB8Q" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V95Aga8sEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V95Agq8sEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V95Ag68sEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V95AhK8sEeCXIcykFPsB8Q" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V95Aha8sEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_V95Ahq8sEeCXIcykFPsB8Q" type="5014"/>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_V95nkK8sEeCXIcykFPsB8Q" visible="false" type="7011">
-                <styles xmi:type="notation:SortingStyle" xmi:id="_V95nka8sEeCXIcykFPsB8Q"/>
-                <styles xmi:type="notation:FilteringStyle" xmi:id="_V95nkq8sEeCXIcykFPsB8Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V95nk68sEeCXIcykFPsB8Q"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_V95nlK8sEeCXIcykFPsB8Q" visible="false" type="7012">
-                <styles xmi:type="notation:SortingStyle" xmi:id="_V95nla8sEeCXIcykFPsB8Q"/>
-                <styles xmi:type="notation:FilteringStyle" xmi:id="_V95nlq8sEeCXIcykFPsB8Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V95nl68sEeCXIcykFPsB8Q"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_V95nmK8sEeCXIcykFPsB8Q" visible="false" type="7013">
-                <styles xmi:type="notation:SortingStyle" xmi:id="_V95nma8sEeCXIcykFPsB8Q"/>
-                <styles xmi:type="notation:FilteringStyle" xmi:id="_V95nmq8sEeCXIcykFPsB8Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V95nm68sEeCXIcykFPsB8Q"/>
-              </children>
-              <element xmi:type="uml:Class" href="corecpp.uml#_KxQBELuXEd2TTr3gJIvazw"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V94ZcK8sEeCXIcykFPsB8Q" x="16" y="10" height="43"/>
-            </children>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TmLiRa8sEeCXIcykFPsB8Q"/>
-          </children>
-          <element xmi:type="uml:Package" href="corecpp.uml#_ZISNcIQzEd2_fLv04swWfw"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TmKUIa8sEeCXIcykFPsB8Q" x="13" y="28" width="190"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_UgOIoK8sEeCXIcykFPsB8Q" type="3009" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UgOvsK8sEeCXIcykFPsB8Q" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UgOvsa8sEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UgOvsq8sEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UgOvs68sEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UgOvtK8sEeCXIcykFPsB8Q" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UgOvta8sEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_UgOvtq8sEeCXIcykFPsB8Q" type="5017"/>
-          <children xmi:type="notation:DecorationNode" xmi:id="_UgOvt68sEeCXIcykFPsB8Q" type="7010">
-            <children xmi:type="notation:Shape" xmi:id="_bgjX0K8sEeCXIcykFPsB8Q" type="3010" fontName="Sans Serif" lineColor="0">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bgj-4K8sEeCXIcykFPsB8Q" source="ShadowFigure">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bgj-4a8sEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bgj-4q8sEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bgj-468sEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-              </eAnnotations>
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bgkl8K8sEeCXIcykFPsB8Q" source="QualifiedName">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bgkl8a8sEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-              </eAnnotations>
-              <children xmi:type="notation:DecorationNode" xmi:id="_bgkl8q8sEeCXIcykFPsB8Q" type="5014"/>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_bgkl868sEeCXIcykFPsB8Q" visible="false" type="7011">
-                <styles xmi:type="notation:SortingStyle" xmi:id="_bgkl9K8sEeCXIcykFPsB8Q"/>
-                <styles xmi:type="notation:FilteringStyle" xmi:id="_bgkl9a8sEeCXIcykFPsB8Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgkl9q8sEeCXIcykFPsB8Q"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_bgkl968sEeCXIcykFPsB8Q" visible="false" type="7012">
-                <styles xmi:type="notation:SortingStyle" xmi:id="_bgkl-K8sEeCXIcykFPsB8Q"/>
-                <styles xmi:type="notation:FilteringStyle" xmi:id="_bgkl-a8sEeCXIcykFPsB8Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgkl-q8sEeCXIcykFPsB8Q"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_bgkl-68sEeCXIcykFPsB8Q" visible="false" type="7013">
-                <styles xmi:type="notation:SortingStyle" xmi:id="_bgkl_K8sEeCXIcykFPsB8Q"/>
-                <styles xmi:type="notation:FilteringStyle" xmi:id="_bgkl_a8sEeCXIcykFPsB8Q"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgkl_q8sEeCXIcykFPsB8Q"/>
-              </children>
-              <element xmi:type="uml:Class" href="corecpp.uml#_Zx2ZUA1jEd6tvthBDl600Q"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgjX0a8sEeCXIcykFPsB8Q" x="15" y="7" height="51"/>
-            </children>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UgOvuK8sEeCXIcykFPsB8Q" x="48" y="4" width="200" height="80"/>
-          </children>
-          <element xmi:type="uml:Package" href="corecpp.uml#_RjvvcA1jEd6tvthBDl600Q"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UgOIoa8sEeCXIcykFPsB8Q" x="229" y="28" width="190"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NLUNGK8rEeCXIcykFPsB8Q"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_q9rCkK8rEeCXIcykFPsB8Q" type="3033" fontName="Sans Serif" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q9rpoK8rEeCXIcykFPsB8Q" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q9sQsK8rEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q9sQsa8rEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q9sQsq8rEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q9sQs68rEeCXIcykFPsB8Q" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q9sQtK8rEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_q9sQta8rEeCXIcykFPsB8Q" type="7038">
-          <children xmi:type="notation:Shape" xmi:id="_ryntkK8rEeCXIcykFPsB8Q" type="3031" fontName="Sans Serif" lineColor="0">
-            <element xmi:type="uml:ClassifierTemplateParameter" href="corecpp.uml#_WzWVUPfBEd2TbIfwytOyPA"/>
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_ryntka8rEeCXIcykFPsB8Q" x="15" y="10"/>
-          </children>
-          <styles xmi:type="notation:SortingStyle" xmi:id="_q9sQtq8rEeCXIcykFPsB8Q"/>
-          <styles xmi:type="notation:FilteringStyle" xmi:id="_q9sQt68rEeCXIcykFPsB8Q"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q9sQuK8rEeCXIcykFPsB8Q"/>
-        </children>
-        <element xmi:type="uml:TemplateSignature" href="corecpp.uml#_V0b2APfBEd2TbIfwytOyPA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q9rCka8rEeCXIcykFPsB8Q" x="40" y="10"/>
-      </children>
-      <element xmi:type="uml:Package" href="corecpp.uml#_mMCK8PiPEd2UhpY2Y3WUyg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NLTmAa8rEeCXIcykFPsB8Q" x="90" y="108" width="451" height="181"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Wi948K8rEeCXIcykFPsB8Q" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wi948q8rEeCXIcykFPsB8Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wi-gAK8rEeCXIcykFPsB8Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wi-gAa8rEeCXIcykFPsB8Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wi-gAq8rEeCXIcykFPsB8Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wi-gA68rEeCXIcykFPsB8Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wi-gBK8rEeCXIcykFPsB8Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Wi-gBa8rEeCXIcykFPsB8Q" type="5038"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#_WiuBUK8rEeCXIcykFPsB8Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wi948a8rEeCXIcykFPsB8Q" x="594" y="180" width="253"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_Dtdyka8rEeCXIcykFPsB8Q"/>
-    <element xmi:type="uml:Package" href="corecpp.uml#_mMCK8PiPEd2UhpY2Y3WUyg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_Xu0BAK8rEeCXIcykFPsB8Q" type="4013" source="_Wi948K8rEeCXIcykFPsB8Q" target="_NLTmAK8rEeCXIcykFPsB8Q" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_Xu0BAa8rEeCXIcykFPsB8Q" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xu0BAq8rEeCXIcykFPsB8Q" points="[-50, 10, 224, -38]$[-174, 51, 100, 3]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tBbDAK8rEeCXIcykFPsB8Q" id="(0.755,0.72)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_PIvc4LabEeCj_-LEBuGpmA" type="CompositeStructure" name="StdPorts" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_PlQZwLabEeCj_-LEBuGpmA" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PlRA0LabEeCj_-LEBuGpmA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PlRA0babEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PlRn4LabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PlRn4babEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PlRn4rabEeCj_-LEBuGpmA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PlRn47abEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_PlSO8LabEeCj_-LEBuGpmA" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_PlSO8babEeCj_-LEBuGpmA" type="7073">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PlSO8rabEeCj_-LEBuGpmA"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_UfT48LabEeCj_-LEBuGpmA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UfUgALabEeCj_-LEBuGpmA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UfUgAbabEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UfUgArabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UfUgA7abEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UfVHELabEeCj_-LEBuGpmA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UfVHEbabEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8J5rUDrTEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8gAeMDrTEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8gAeMTrTEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8gAeMjrTEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8gAeMzrTEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8gAeNDrTEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_UfVHErabEeCj_-LEBuGpmA" type="5125">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_UfVHE7abEeCj_-LEBuGpmA" x="-116" y="-4"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_UfVHFLabEeCj_-LEBuGpmA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_UfVHFbabEeCj_-LEBuGpmA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UfT48babEeCj_-LEBuGpmA" x="-10" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PlQZwbabEeCj_-LEBuGpmA" x="144" y="72" width="163" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_QHPsgLabEeCj_-LEBuGpmA" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QHQTkLabEeCj_-LEBuGpmA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QHQTkbabEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QHQ6oLabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QHQ6obabEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QHQ6orabEeCj_-LEBuGpmA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QHQ6o7abEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_QHQ6pLabEeCj_-LEBuGpmA" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_QHRhsLabEeCj_-LEBuGpmA" type="7073">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QHRhsbabEeCj_-LEBuGpmA"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_atcPILabEeCj_-LEBuGpmA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_atc2MLabEeCj_-LEBuGpmA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_atc2MbabEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_atc2MrabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_atc2M7abEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_atc2NLabEeCj_-LEBuGpmA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_atc2NbabEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9T6nYDrTEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9l5IMDrTEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9l5vQDrTEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9l5vQTrTEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9l5vQjrTEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9l6WUDrTEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_atc2NrabEeCj_-LEBuGpmA" type="5125">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_atc2N7abEeCj_-LEBuGpmA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_atddQLabEeCj_-LEBuGpmA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_atddQbabEeCj_-LEBuGpmA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_atcPIbabEeCj_-LEBuGpmA" x="-10" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QHPsgbabEeCj_-LEBuGpmA" x="144" y="180" width="163" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_SOUtwLabEeCj_-LEBuGpmA" type="2109" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SOVU0LabEeCj_-LEBuGpmA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SOVU0babEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SOV74LabEeCj_-LEBuGpmA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SOV74babEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SOV74rabEeCj_-LEBuGpmA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SOV747abEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_SOV75LabEeCj_-LEBuGpmA" type="5192"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#_OcN78Nt2Ed6nqsBVkgJEEA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SOUtwbabEeCj_-LEBuGpmA" x="378" y="72" width="235"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_PIvc4babEeCj_-LEBuGpmA"/>
-    <element xmi:type="uml:Package" href="corecpp.uml#_HmnpEJsrEd61Eo3nmu3JhQ"/>
-    <edges xmi:type="notation:Connector" xmi:id="_SOtIQLabEeCj_-LEBuGpmA" type="4002" source="_SOUtwLabEeCj_-LEBuGpmA" target="_PlQZwLabEeCj_-LEBuGpmA" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_SOtvULabEeCj_-LEBuGpmA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SOtvUbabEeCj_-LEBuGpmA" points="[0, 0, -129, -109]$[108, 90, -21, -19]"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_0IaT8LnYEeCxXoyQxQ47PQ" type="PapyrusUMLClassDiagram" name="PortKinds" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_09vZcLnYEeCxXoyQxQ47PQ" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_09wAgLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_09wAgbnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_09wAgrnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_09wAg7nYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_09wAhLnYEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_09wAhbnYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fi4z8DrUEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RtrcIELzEeGoAtSeIK7WLg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RtrcIULzEeGoAtSeIK7WLg" key="StereotypeList" value="FCM::PortKind"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RtrcIkLzEeGoAtSeIK7WLg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RtrcI0LzEeGoAtSeIK7WLg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RtrcJELzEeGoAtSeIK7WLg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_09wAhrnYEeCxXoyQxQ47PQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_09wAh7nYEeCxXoyQxQ47PQ" visible="false" type="7017">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_09wnkLnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_09wnkbnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_09wnkrnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_09wnk7nYEeCxXoyQxQ47PQ" visible="false" type="7018">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_09wnlLnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_09wnlbnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_09wnlrnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_09wnl7nYEeCxXoyQxQ47PQ" visible="false" type="7019">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_09wnmLnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_09wnmbnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_09wnmrnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="corecpp.uml#_Wtq4sFDlEd6cwecVIgl9nw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_09vZcbnYEeCxXoyQxQ47PQ" x="54" y="28" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_0-EJkLnYEeCxXoyQxQ47PQ" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-EwoLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-EwobnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-EwornYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-Ewo7nYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-EwpLnYEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-EwpbnYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_agfdADrZEeGgAdAmWw4pyQ" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TPVcIELzEeGoAtSeIK7WLg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TPWDMELzEeGoAtSeIK7WLg" key="StereotypeList" value="FCM::PortKind"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TPWDMULzEeGoAtSeIK7WLg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TPWDMkLzEeGoAtSeIK7WLg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TPWDM0LzEeGoAtSeIK7WLg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0-EwprnYEeCxXoyQxQ47PQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-Ewp7nYEeCxXoyQxQ47PQ" visible="false" type="7017">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-EwqLnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-EwqbnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-EwqrnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-Ewq7nYEeCxXoyQxQ47PQ" visible="false" type="7018">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-EwrLnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-EwrbnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-EwrrnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-FXsLnYEeCxXoyQxQ47PQ" visible="false" type="7019">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-FXsbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-FXsrnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-FXs7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="corecpp.uml#_Wtq4sVDlEd6cwecVIgl9nw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-EJkbnYEeCxXoyQxQ47PQ" x="54" y="351" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_0-XrkLnYEeCxXoyQxQ47PQ" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-XrkrnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-Xrk7nYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-XrlLnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-YSoLnYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-YSobnYEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-YSornYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XkzH8DrZEeGgAdAmWw4pyQ" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_14Z-YELyEeGoAtSeIK7WLg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_14Z-YULyEeGoAtSeIK7WLg" key="StereotypeList" value="FCM::PortKind"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_14Z-YkLyEeGoAtSeIK7WLg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_14Z-Y0LyEeGoAtSeIK7WLg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_14Z-ZELyEeGoAtSeIK7WLg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0-YSo7nYEeCxXoyQxQ47PQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-YSpLnYEeCxXoyQxQ47PQ" visible="false" type="7017">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-YSpbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-YSprnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-YSp7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-YSqLnYEeCxXoyQxQ47PQ" visible="false" type="7018">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-YSqbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-YSqrnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-YSq7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-YSrLnYEeCxXoyQxQ47PQ" visible="false" type="7019">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-YSrbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-YSrrnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-YSr7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="corecpp.uml#_Wtq4slDlEd6cwecVIgl9nw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-XrkbnYEeCxXoyQxQ47PQ" x="54" y="297" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_0-rNkLnYEeCxXoyQxQ47PQ" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-r0oLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-r0obnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-sbsLnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-sbsbnYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vy3QQDrZEeGgAdAmWw4pyQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vy3QQTrZEeGgAdAmWw4pyQ" key="QualifiedNameDepth" value="2"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WQzJcDrZEeGgAdAmWw4pyQ" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3ew4MELyEeGoAtSeIK7WLg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3ew4MULyEeGoAtSeIK7WLg" key="StereotypeList" value="FCM::PortKind"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3ew4MkLyEeGoAtSeIK7WLg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3exfQELyEeGoAtSeIK7WLg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3exfQULyEeGoAtSeIK7WLg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0-sbtLnYEeCxXoyQxQ47PQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-sbtbnYEeCxXoyQxQ47PQ" visible="false" type="7017">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-sbtrnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-sbt7nYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-sbuLnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-sbubnYEeCxXoyQxQ47PQ" visible="false" type="7018">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-sburnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-sbu7nYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-sbvLnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0-sbvbnYEeCxXoyQxQ47PQ" visible="false" type="7019">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0-sbvrnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0-sbv7nYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-sbwLnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="corecpp.uml#_WtrfwlDlEd6cwecVIgl9nw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-rNkbnYEeCxXoyQxQ47PQ" x="54" y="243" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_0-9hcLnYEeCxXoyQxQ47PQ" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0-9hcrnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0-9hc7nYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0--IgLnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0--IgbnYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0--IgrnYEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0--Ig7nYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qp1g8DrZEeGgAdAmWw4pyQ" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RBtG8ELzEeGoAtSeIK7WLg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RBtuAELzEeGoAtSeIK7WLg" key="StereotypeList" value="FCM::PortKind"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RBtuAULzEeGoAtSeIK7WLg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RBtuAkLzEeGoAtSeIK7WLg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RBtuA0LzEeGoAtSeIK7WLg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0--IhLnYEeCxXoyQxQ47PQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0--IhbnYEeCxXoyQxQ47PQ" visible="false" type="7017">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0--IhrnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0--Ih7nYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0--IiLnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0--IibnYEeCxXoyQxQ47PQ" visible="false" type="7018">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0--IirnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0--Ii7nYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0--IjLnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0--IjbnYEeCxXoyQxQ47PQ" visible="false" type="7019">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0--IjrnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0--Ij7nYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0--IkLnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="corecpp.uml#_Wtrfw1DlEd6cwecVIgl9nw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-9hcbnYEeCxXoyQxQ47PQ" x="54" y="81" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_0_OnMLnYEeCxXoyQxQ47PQ" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_POQLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_POQbnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_POQrnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_POQ7nYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_PORLnYEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_PORbnYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SXn4cDrZEeGgAdAmWw4pyQ" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Nq_p0ELzEeGoAtSeIK7WLg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Nq_p0ULzEeGoAtSeIK7WLg" key="StereotypeList" value="FCM::PortKind"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Nq_p0kLzEeGoAtSeIK7WLg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NrAQ4ELzEeGoAtSeIK7WLg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NrAQ4ULzEeGoAtSeIK7WLg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0_PORrnYEeCxXoyQxQ47PQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0_POR7nYEeCxXoyQxQ47PQ" visible="false" type="7017">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0_POSLnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0_POSbnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_POSrnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0_P1ULnYEeCxXoyQxQ47PQ" visible="false" type="7018">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0_P1UbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0_P1UrnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_P1U7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0_P1VLnYEeCxXoyQxQ47PQ" visible="false" type="7019">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0_P1VbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0_P1VrnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_P1V7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="corecpp.uml#__nMrwLqNEd-SedGzMDDkww"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_OnMbnYEeCxXoyQxQ47PQ" x="54" y="135" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_0_j-YLnYEeCxXoyQxQ47PQ" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_klcLnYEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_klcbnYEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_lMgLnYEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_lMgbnYEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0_lMgrnYEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0_lMg7nYEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Uc_pgDrZEeGgAdAmWw4pyQ" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TA9QMENnEeGoAtSeIK7WLg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TA9QMUNnEeGoAtSeIK7WLg" key="StereotypeList" value="FCM::PortKind"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TA9QMkNnEeGoAtSeIK7WLg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TA9QM0NnEeGoAtSeIK7WLg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TA93QENnEeGoAtSeIK7WLg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_0_lMhLnYEeCxXoyQxQ47PQ" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0_lMhbnYEeCxXoyQxQ47PQ" visible="false" type="7017">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0_lMhrnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0_lMh7nYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_lMiLnYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0_lzkLnYEeCxXoyQxQ47PQ" visible="false" type="7018">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0_lzkbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0_lzkrnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_lzk7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_0_lzlLnYEeCxXoyQxQ47PQ" visible="false" type="7019">
-        <styles xmi:type="notation:SortingStyle" xmi:id="_0_lzlbnYEeCxXoyQxQ47PQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_0_lzlrnYEeCxXoyQxQ47PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_lzl7nYEeCxXoyQxQ47PQ"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="corecpp.uml#_AQZZwLqOEd-SedGzMDDkww"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0_j-YbnYEeCxXoyQxQ47PQ" x="54" y="189" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Fw1jMLnZEeCxXoyQxQ47PQ" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fw3YYLnZEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fw3YYbnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fw3YYrnZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fw3YY7nZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fw3YZLnZEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fw3YZbnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Fw3YZrnZEeCxXoyQxQ47PQ" type="5038"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#_FryEELnZEeCxXoyQxQ47PQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Fw1jMbnZEeCxXoyQxQ47PQ" x="252" y="24" width="469" height="40"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_K19p8LnZEeCxXoyQxQ47PQ" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K1-RALnZEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K1-RAbnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K1-RArnZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K1-4ELnZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K1-4EbnZEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K1-4ErnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_K1-4E7nZEeCxXoyQxQ47PQ" type="5038"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#_K17NsLnZEeCxXoyQxQ47PQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_K19p8bnZEeCxXoyQxQ47PQ" x="252" y="83" width="469" height="35"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Px1uELnZEeCxXoyQxQ47PQ" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Px2VILnZEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Px2VIbnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Px2VIrnZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Px28MLnZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Px28MbnZEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Px28MrnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Px28M7nZEeCxXoyQxQ47PQ" type="5038"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#_PxzR0LnZEeCxXoyQxQ47PQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Px1uEbnZEeCxXoyQxQ47PQ" x="252" y="136" width="469" height="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_l4_LYLnZEeCxXoyQxQ47PQ" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l4_LYbnZEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l4_LYrnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l4_LY7nZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l4_LZLnZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l4_LZbnZEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l4_LZrnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_l4_LZ7nZEeCxXoyQxQ47PQ" type="5038"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#_l49WMLnZEeCxXoyQxQ47PQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l4_LaLnZEeCxXoyQxQ47PQ" x="252" y="189" width="469" height="36"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_2dxzYLnZEeCxXoyQxQ47PQ" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2dyacLnZEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2dyacbnZEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2dyacrnZEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2dyac7nZEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2dyadLnZEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2dyadbnZEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_2dzBgLnZEeCxXoyQxQ47PQ" type="5038"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#_2dvXILnZEeCxXoyQxQ47PQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2dxzYbnZEeCxXoyQxQ47PQ" x="253" y="297" width="468" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_FMviMLnaEeCxXoyQxQ47PQ" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FMviMbnaEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FMviMrnaEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FMviM7naEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FMviNLnaEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FMviNbnaEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FMviNrnaEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_FMviN7naEeCxXoyQxQ47PQ" type="5038"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#_FMuUELnaEeCxXoyQxQ47PQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FMviOLnaEeCxXoyQxQ47PQ" x="252" y="243" width="468" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Ggu5oLnaEeCxXoyQxQ47PQ" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ggu5obnaEeCxXoyQxQ47PQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ggu5ornaEeCxXoyQxQ47PQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ggu5o7naEeCxXoyQxQ47PQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ggu5pLnaEeCxXoyQxQ47PQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ggu5pbnaEeCxXoyQxQ47PQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ggu5prnaEeCxXoyQxQ47PQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Ggu5p7naEeCxXoyQxQ47PQ" type="5038"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#_GgtrgLnaEeCxXoyQxQ47PQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ggu5qLnaEeCxXoyQxQ47PQ" x="252" y="351" width="468" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_-bqrQDiyEeGiupyIkgMHVw" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-bsgcDiyEeGiupyIkgMHVw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-bsgcTiyEeGiupyIkgMHVw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-bsgcjiyEeGiupyIkgMHVw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-bsgcziyEeGiupyIkgMHVw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-bsgdDiyEeGiupyIkgMHVw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-bsgdTiyEeGiupyIkgMHVw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_-btHgDiyEeGiupyIkgMHVw" type="5038"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#_-UGDoDiyEeGiupyIkgMHVw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-bqrQTiyEeGiupyIkgMHVw" x="18" y="459" width="595" height="28"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_GkKYAC8qEeKx7OxAiA06uw" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GkM0QC8qEeKx7OxAiA06uw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GkM0QS8qEeKx7OxAiA06uw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GkNbUC8qEeKx7OxAiA06uw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GkNbUS8qEeKx7OxAiA06uw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GkNbUi8qEeKx7OxAiA06uw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GkNbUy8qEeKx7OxAiA06uw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_St0RcC8qEeKx7OxAiA06uw" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__1wMYEMLEeKGIL695HkFYQ" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__1wMYUMLEeKGIL695HkFYQ" key="StereotypeList" value="FCM::PortKind"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__1wMYkMLEeKGIL695HkFYQ" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__1wMY0MLEeKGIL695HkFYQ" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__1wMZEMLEeKGIL695HkFYQ" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_GkNbVC8qEeKx7OxAiA06uw" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_GkOCYC8qEeKx7OxAiA06uw" visible="false" type="7017">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_GkOCYS8qEeKx7OxAiA06uw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_GkOCYi8qEeKx7OxAiA06uw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_GkOCYy8qEeKx7OxAiA06uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkOCZC8qEeKx7OxAiA06uw"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_GkOCZS8qEeKx7OxAiA06uw" visible="false" type="7018">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_GkOCZi8qEeKx7OxAiA06uw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_GkOCZy8qEeKx7OxAiA06uw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_GkOCaC8qEeKx7OxAiA06uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkOCaS8qEeKx7OxAiA06uw"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_GkOCai8qEeKx7OxAiA06uw" visible="false" type="7019">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_GkOCay8qEeKx7OxAiA06uw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_GkOCbC8qEeKx7OxAiA06uw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_GkOCbS8qEeKx7OxAiA06uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkOCbi8qEeKx7OxAiA06uw"/>
-      </children>
-      <element xmi:type="uml:Stereotype" href="corecpp.uml#_GjnlcC8qEeKx7OxAiA06uw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkK_EC8qEeKx7OxAiA06uw" x="54" y="405" width="127" height="37"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_CQkpAEMMEeKGIL695HkFYQ" type="2012" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CQoTYEMMEeKGIL695HkFYQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CQo6cEMMEeKGIL695HkFYQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CQo6cUMMEeKGIL695HkFYQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CQo6ckMMEeKGIL695HkFYQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CQo6c0MMEeKGIL695HkFYQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CQphgEMMEeKGIL695HkFYQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_CQphgUMMEeKGIL695HkFYQ" type="5038"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#_COvdAEMMEeKGIL695HkFYQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CQkpAUMMEeKGIL695HkFYQ" x="252" y="405" width="469" height="37"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_0IaT8bnYEeCxXoyQxQ47PQ"/>
-    <element xmi:type="uml:Package" href="corecpp.uml#_QwvnQFDlEd6cwecVIgl9nw"/>
-    <edges xmi:type="notation:Connector" xmi:id="_jEPL0LnZEeCxXoyQxQ47PQ" type="4013" source="_Fw1jMLnZEeCxXoyQxQ47PQ" target="_09vZcLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_jEPy4LnZEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jEPy4bnZEeCxXoyQxQ47PQ" points="[-4, 1, 86, 0]$[-87, 0, 3, -1]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jES2MLnZEeCxXoyQxQ47PQ" id="(0.012084592145015106,0.525)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jES2MbnZEeCxXoyQxQ47PQ" id="(0.9724770642201835,0.4864864864864865)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_ju3dMLnZEeCxXoyQxQ47PQ" type="4013" source="_K19p8LnZEeCxXoyQxQ47PQ" target="_0-9hcLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_ju3dMbnZEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ju3dMrnZEeCxXoyQxQ47PQ" points="[-5, 0, 137, 2]$[-87, 0, 55, 2]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ju7uoLnZEeCxXoyQxQ47PQ" id="(0.015060240963855422,0.5142857142857142)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_kSsjALnZEeCxXoyQxQ47PQ" type="4013" source="_Px1uELnZEeCxXoyQxQ47PQ" target="_0_OnMLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_kSsjAbnZEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kSsjArnZEeCxXoyQxQ47PQ" points="[-13, 6, 136, 5]$[-94, 6, 55, 5]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kSyCkLnZEeCxXoyQxQ47PQ" id="(0.03903903903903904,0.42105263157894735)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_pgZ-ALnZEeCxXoyQxQ47PQ" type="4013" source="_l4_LYLnZEeCxXoyQxQ47PQ" target="_0_j-YLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_pgZ-AbnZEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pgZ-ArnZEeCxXoyQxQ47PQ" points="[-4, 2, 106, 0]$[-93, 1, 17, -1]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pge2gLnZEeCxXoyQxQ47PQ" id="(0.012012012012012012,0.39473684210526316)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pge2gbnZEeCxXoyQxQ47PQ" id="(0.8440366972477065,0.4594594594594595)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_MhrIYLnaEeCxXoyQxQ47PQ" type="4013" source="_2dxzYLnZEeCxXoyQxQ47PQ" target="_0-XrkLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_MhrIYbnaEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MhrIYrnaEeCxXoyQxQ47PQ" points="[-9, -1, 113, 0]$[-99, -1, 23, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MhuywLnaEeCxXoyQxQ47PQ" id="(0.00641025641025641,0.5405405405405406)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MhuywbnaEeCxXoyQxQ47PQ" id="(0.963302752293578,0.5135135135135135)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_NJn5MLnaEeCxXoyQxQ47PQ" type="4013" source="_FMviMLnaEeCxXoyQxQ47PQ" target="_0-rNkLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_NJn5MbnaEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NJn5MrnaEeCxXoyQxQ47PQ" points="[-20, -1, 144, 5]$[-109, -1, 55, 5]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NJq8gLnaEeCxXoyQxQ47PQ" id="(0.042735042735042736,0.47058823529411764)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_NplLoLnaEeCxXoyQxQ47PQ" type="4013" source="_Ggu5oLnaEeCxXoyQxQ47PQ" target="_0-EJkLnYEeCxXoyQxQ47PQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_NplLobnaEeCxXoyQxQ47PQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NplLornaEeCxXoyQxQ47PQ" points="[-7, -6, 106, 0]$[-96, -7, 17, -1]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NppdELnaEeCxXoyQxQ47PQ" id="(0.014957264957264958,0.45098039215686275)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NppdEbnaEeCxXoyQxQ47PQ" id="(0.8440366972477065,0.4594594594594595)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_McYVsEMMEeKGIL695HkFYQ" type="4013" source="_CQkpAEMMEeKGIL695HkFYQ" target="_GkKYAC8qEeKx7OxAiA06uw" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_McYVsUMMEeKGIL695HkFYQ" fontName="Sans Serif"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_McYVskMMEeKGIL695HkFYQ" points="[-3, 0, 115, 0]$[-92, 0, 26, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mcj74EMMEeKGIL695HkFYQ" id="(0.006396588486140725,0.35714285714285715)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mcj74UMMEeKGIL695HkFYQ" id="(0.7614678899082569,0.5135135135135135)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_SstwYPEnEeCIafpoJVk7CQ" type="CompositeStructure" name="ContainerRules" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_V3-LcPEnEeCIafpoJVk7CQ" type="2073" fontName="Arial" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4AnsPEnEeCIafpoJVk7CQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4AnsfEnEeCIafpoJVk7CQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4AnsvEnEeCIafpoJVk7CQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4Ans_EnEeCIafpoJVk7CQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4BOwPEnEeCIafpoJVk7CQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4BOwfEnEeCIafpoJVk7CQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HPEWAPQUEeCovO8AYZymZQ" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPEWAfQUEeCovO8AYZymZQ" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPE9EPQUEeCovO8AYZymZQ" key="StereotypeList" value="FCM::ContainerRule"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPE9EfQUEeCovO8AYZymZQ" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPE9EvQUEeCovO8AYZymZQ" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPE9E_QUEeCovO8AYZymZQ" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_V4BOwvEnEeCIafpoJVk7CQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_V4BOw_EnEeCIafpoJVk7CQ" type="7073">
-        <children xmi:type="notation:Shape" xmi:id="_mxqE4PTWEeCn1-FCrfecFg" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mxrTAPTWEeCn1-FCrfecFg" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mxr6EPTWEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mxr6EfTWEeCn1-FCrfecFg" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mxr6EvTWEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mxr6E_TWEeCn1-FCrfecFg" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mxr6FPTWEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qmq1AAJzEeG0Lb1KYG16fA" source="Stereotype_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcEAJzEeG0Lb1KYG16fA" key="StereotypeWithQualifiedNameList" value=""/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcEQJzEeG0Lb1KYG16fA" key="StereotypeList" value="FCM::InterceptionRule"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcEgJzEeG0Lb1KYG16fA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcEwJzEeG0Lb1KYG16fA" key="PropStereoDisplay" value=""/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcFAJzEeG0Lb1KYG16fA" key="StereotypePropertyLocation" value="Compartment"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_mxr6FfTWEeCn1-FCrfecFg" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RtvSsFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RzCCYFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_mxshIPTWEeCn1-FCrfecFg" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_mxshIfTWEeCn1-FCrfecFg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mxshIvTWEeCn1-FCrfecFg"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_y3lU4PTWEeCn1-FCrfecFg" type="3069" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3mjAPTWEeCn1-FCrfecFg" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3nKEPTWEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3nKEfTWEeCn1-FCrfecFg" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3nKEvTWEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3nKE_TWEeCn1-FCrfecFg" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3nKFPTWEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WiNb0DrUEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XNgbkDrUEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XNgbkTrUEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XNhCoDrUEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XNhCoTrUEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XNhCojrUEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_y3nKFfTWEeCn1-FCrfecFg" type="5125">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QlkJsFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QplHAFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_y3nxIPTWEeCn1-FCrfecFg" x="-90" y="38"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_y3nxIfTWEeCn1-FCrfecFg" type="6029">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_y3nxIvTWEeCn1-FCrfecFg" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="corecpp.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y3lU4fTWEeCn1-FCrfecFg" x="189" y="7"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_y3oYMPTWEeCn1-FCrfecFg" type="3069" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3pmUPTWEeCn1-FCrfecFg" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3pmUfTWEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3pmUvTWEeCn1-FCrfecFg" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3pmU_TWEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y3pmVPTWEeCn1-FCrfecFg" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y3qNYPTWEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VXcR0DrUEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vt_woDrUEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vt_woTrUEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vt_wojrUEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VuAXsDrUEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VuAXsTrUEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_y3qNYfTWEeCn1-FCrfecFg" type="5125">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QEIQkFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QK0HYFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_y3qNYvTWEeCn1-FCrfecFg" x="-17" y="-34"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_y3qNY_TWEeCn1-FCrfecFg" type="6029">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_y3qNZPTWEeCn1-FCrfecFg" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="corecpp.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y3o_QPTWEeCn1-FCrfecFg" x="-10" y="7"/>
-          </children>
-          <element xmi:type="uml:Property" href="corecpp.uml#_mvN04PTWEeCn1-FCrfecFg"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mxqE4fTWEeCn1-FCrfecFg" x="31" y="31" width="199" height="37"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_V4BOxPEnEeCIafpoJVk7CQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V4BOxfEnEeCIafpoJVk7CQ"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_14WtMARJEd--t-uhRn9OBA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V3-LcfEnEeCIafpoJVk7CQ" x="72" y="36" width="262" height="145"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_W2m98PEnEeCIafpoJVk7CQ" type="2109" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W2nlAPEnEeCIafpoJVk7CQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W2nlAfEnEeCIafpoJVk7CQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W2nlAvEnEeCIafpoJVk7CQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W2nlA_EnEeCIafpoJVk7CQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W2nlBPEnEeCIafpoJVk7CQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W2nlBfEnEeCIafpoJVk7CQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_W2oMEPEnEeCIafpoJVk7CQ" type="5192"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#_q-kFUMTJEd-cLazKlAeYsQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W2m98fEnEeCIafpoJVk7CQ" x="378" y="54" width="429"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_HDAUACjaEeGFbebITJYb9g" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HDA7ECjaEeGFbebITJYb9g" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HDA7ESjaEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HDA7EijaEeGFbebITJYb9g" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HDA7EyjaEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HDA7FCjaEeGFbebITJYb9g" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HDA7FSjaEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MUh4ACjaEeGFbebITJYb9g" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4ASjaEeGFbebITJYb9g" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4AijaEeGFbebITJYb9g" key="StereotypeList" value="FCM::ContainerRule"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4AyjaEeGFbebITJYb9g" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4BCjaEeGFbebITJYb9g" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4BSjaEeGFbebITJYb9g" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_HDA7FijaEeGFbebITJYb9g" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_HDA7FyjaEeGFbebITJYb9g" type="7073">
-        <children xmi:type="notation:Shape" xmi:id="_JWCGkCjaEeGFbebITJYb9g" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JWCtoCjaEeGFbebITJYb9g" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JWCtoSjaEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JWCtoijaEeGFbebITJYb9g" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JWCtoyjaEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JWCtpCjaEeGFbebITJYb9g" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JWCtpSjaEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_JWCtpijaEeGFbebITJYb9g" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PdThIFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PlvrcFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_JWCtpyjaEeGFbebITJYb9g" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_JWCtqCjaEeGFbebITJYb9g"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JWCtqSjaEeGFbebITJYb9g"/>
-          </children>
-          <element xmi:type="uml:Property" href="corecpp.uml#_6yVMkCjZEeGFbebITJYb9g"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JWCGkSjaEeGFbebITJYb9g" x="10" y="10" width="156"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_HDA7GCjaEeGFbebITJYb9g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HDA7GSjaEeGFbebITJYb9g"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_1sCBICjZEeGFbebITJYb9g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HDAUASjaEeGFbebITJYb9g" x="72" y="252" width="261" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_H0i7YDbgEeGdqp2YT1LwWw" type="2109" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H0jicDbgEeGdqp2YT1LwWw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H0jicTbgEeGdqp2YT1LwWw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H0jicjbgEeGdqp2YT1LwWw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H0jiczbgEeGdqp2YT1LwWw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H0jidDbgEeGdqp2YT1LwWw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H0jidTbgEeGdqp2YT1LwWw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_H0jidjbgEeGdqp2YT1LwWw" type="5192"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#_H0IrsDbgEeGdqp2YT1LwWw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H0i7YTbgEeGdqp2YT1LwWw" x="378" y="261" width="217"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_SstwYfEnEeCIafpoJVk7CQ"/>
-    <element xmi:type="uml:Package" href="corecpp.uml#_y4qB4ARJEd--t-uhRn9OBA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_YjbFEPEnEeCIafpoJVk7CQ" type="4002" source="_W2m98PEnEeCIafpoJVk7CQ" target="_V3-LcPEnEeCIafpoJVk7CQ" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_YjbFEfEnEeCIafpoJVk7CQ" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YjbFEvEnEeCIafpoJVk7CQ" points="[-11, -4, 128, 36]$[-126, -42, 13, -2]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YjcTMPEnEeCIafpoJVk7CQ" id="(0.01,0.38333333333333336)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YjcTMfEnEeCIafpoJVk7CQ" id="(0.8602150537634409,0.45)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_NK3f0DbgEeGdqp2YT1LwWw" type="4002" source="_H0i7YDbgEeGdqp2YT1LwWw" target="_HDAUACjaEeGFbebITJYb9g" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_NK3f0TbgEeGdqp2YT1LwWw" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NK3f0jbgEeGdqp2YT1LwWw" points="[-18, 3, 77, 0]$[-63, 2, 32, -1]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NLz7ADbgEeGdqp2YT1LwWw" id="(0.08294930875576037,0.6)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NL0iEDbgEeGdqp2YT1LwWw" id="(0.8773946360153256,0.4752475247524752)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_eblvwPM_EeCovO8AYZymZQ" type="CompositeStructure" name="Composite: ContainerServices " measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_JRsvcPNAEeCovO8AYZymZQ" type="2073" fontName="" fontHeight="10" fillColor="8047085" transparency="50" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JRtWgPNAEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JRtWgfNAEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JRtWgvNAEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JRtWg_NAEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JRtWhPNAEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JRtWhfNAEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_JRtWhvNAEeCovO8AYZymZQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JRtWh_NAEeCovO8AYZymZQ" type="7073">
-        <children xmi:type="notation:Shape" xmi:id="_k-Qe0PN8EeCovO8AYZymZQ" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_k-RF4PN8EeCovO8AYZymZQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k-RF4fN8EeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_k-RF4vN8EeCovO8AYZymZQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k-RF4_N8EeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_k-RF5PN8EeCovO8AYZymZQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k-RF5fN8EeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_k-RF5vN8EeCovO8AYZymZQ" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iWRp4FaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ivBhEFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="60"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_k-Rs8PN8EeCovO8AYZymZQ" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_k-Rs8fN8EeCovO8AYZymZQ" showTitle="true"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_k-Rs8vN8EeCovO8AYZymZQ"/>
-          </children>
-          <element xmi:type="uml:Property" href="corecpp.uml#_k-OpoPN8EeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_k-Qe0fN8EeCovO8AYZymZQ" x="24" y="41" width="165" height="23"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="__a22APQXEeCovO8AYZymZQ" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__a3dEPQXEeCovO8AYZymZQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__a4EIPQXEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__a4EIfQXEeCovO8AYZymZQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__a4EIvQXEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__a4EI_QXEeCovO8AYZymZQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__a4EJPQXEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="__a4EJfQXEeCovO8AYZymZQ" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fzb5sFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gCiFoFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="__a4EJvQXEeCovO8AYZymZQ" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="__a4EJ_QXEeCovO8AYZymZQ" showTitle="true"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="__a4EKPQXEeCovO8AYZymZQ"/>
-          </children>
-          <element xmi:type="uml:Property" href="corecpp.uml#__a1A0PQXEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="__a22AfQXEeCovO8AYZymZQ" x="24" y="5" width="165" height="23"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_KnUHYPQYEeCovO8AYZymZQ" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KnUHYvQYEeCovO8AYZymZQ" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KnUHY_QYEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KnUucPQYEeCovO8AYZymZQ" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KnUucfQYEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KnUucvQYEeCovO8AYZymZQ" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KnUuc_QYEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_KnUudPQYEeCovO8AYZymZQ" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hLhG8FaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hSXV0FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_KnUudfQYEeCovO8AYZymZQ" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_KnUudvQYEeCovO8AYZymZQ"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnUud_QYEeCovO8AYZymZQ"/>
-          </children>
-          <element xmi:type="uml:Property" href="corecpp.uml#_KnS5QPQYEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnUHYfQYEeCovO8AYZymZQ" x="24" y="83" width="165" height="23"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_JRtWiPNAEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JRtWifNAEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_M0b2YPNAEeCovO8AYZymZQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M0cdcPNAEeCovO8AYZymZQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0cdcfNAEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M0cdcvNAEeCovO8AYZymZQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0cdc_NAEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M0dEgPNAEeCovO8AYZymZQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0dEgfNAEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZohFcDrUEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aMU9IDrUEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aMVkMDrUEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aMVkMTrUEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aMVkMjrUEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aMVkMzrUEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_M0dEgvNAEeCovO8AYZymZQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dBgkoFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dM7xgFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_M0dEg_NAEeCovO8AYZymZQ" x="-134" y="-15"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_M0dEhPNAEeCovO8AYZymZQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_M0dEhfNAEeCovO8AYZymZQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M0b2YfNAEeCovO8AYZymZQ" x="-10" y="60" width="20" height="20"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JRsvcfNAEeCovO8AYZymZQ" x="171" y="32" width="212" height="159"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_9dH0UCjYEeGFbebITJYb9g" type="2073" fontName="" fontHeight="10" fillColor="8047085" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9dIbYCjYEeGFbebITJYb9g" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9dIbYSjYEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9dIbYijYEeGFbebITJYb9g" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9dIbYyjYEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9dIbZCjYEeGFbebITJYb9g" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9dIbZSjYEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lTZl0CjZEeGFbebITJYb9g" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4p4K4M0zEeGV96JAv8cWdw" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4p4x8M0zEeGV96JAv8cWdw" key="StereotypeList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4p4x8c0zEeGV96JAv8cWdw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4p4x8s0zEeGV96JAv8cWdw" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4p4x880zEeGV96JAv8cWdw" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_9dJCcCjYEeGFbebITJYb9g" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_9dJCcSjYEeGFbebITJYb9g" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_9dJCcijYEeGFbebITJYb9g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9dJCcyjYEeGFbebITJYb9g"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_AVlPMCjZEeGFbebITJYb9g" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AVl2QCjZEeGFbebITJYb9g" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AVl2QSjZEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AVl2QijZEeGFbebITJYb9g" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AVl2QyjZEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AVl2RCjZEeGFbebITJYb9g" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AVmdUCjZEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FBYM4DrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FX-H8DrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FX-H8TrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FX-H8jrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FX-vADrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FX-vATrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_AVmdUSjZEeGFbebITJYb9g" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WOqX0FaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WaM5cFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_AVmdUijZEeGFbebITJYb9g" x="-72"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_AVmdUyjZEeGFbebITJYb9g" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_AVmdVCjZEeGFbebITJYb9g" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_ATRiECjZEeGFbebITJYb9g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AVlPMSjZEeGFbebITJYb9g" x="207" y="45" width="20" height="20"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_f8HYECjZEeGFbebITJYb9g" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_f8H_ICjZEeGFbebITJYb9g" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_f8H_ISjZEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_f8H_IijZEeGFbebITJYb9g" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_f8H_IyjZEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_f8H_JCjZEeGFbebITJYb9g" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_f8H_JSjZEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GBY4YDrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GY2WIDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GY29MDrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GY29MTrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GY29MjrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GY3kQDrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_f8H_JijZEeGFbebITJYb9g" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W__uIFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XHxKEFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_f8H_JyjZEeGFbebITJYb9g" x="25"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_f8ImMCjZEeGFbebITJYb9g" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_f8ImMSjZEeGFbebITJYb9g" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f8HYESjZEeGFbebITJYb9g" x="-10" y="45"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_9V8OQCjYEeGFbebITJYb9g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9dH0USjYEeGFbebITJYb9g" x="171" y="302" width="217" height="92"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_WoQnECjZEeGFbebITJYb9g" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WoROICjZEeGFbebITJYb9g" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WoROISjZEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WoROIijZEeGFbebITJYb9g" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WoROIyjZEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WoROJCjZEeGFbebITJYb9g" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WoROJSjZEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_WoROJijZEeGFbebITJYb9g" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_WoROJyjZEeGFbebITJYb9g" visible="false" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_WoROKCjZEeGFbebITJYb9g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WoROKSjZEeGFbebITJYb9g"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WoQnESjZEeGFbebITJYb9g" x="171" y="250" width="217" height="26"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_qz8ykCkAEeGDDbdzqSb4UA" type="2073" fontName="" fontHeight="10" fillColor="8047085" gradient="16777215, 16777215, 0" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ykSkAEeGDDbdzqSb4UA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ykikAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ykykAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ylCkAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ylSkAEeGDDbdzqSb4UA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ylikAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ylykAEeGDDbdzqSb4UA" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4rLycM0zEeGV96JAv8cWdw" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4rLycc0zEeGV96JAv8cWdw" key="StereotypeList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4rLycs0zEeGV96JAv8cWdw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4rLyc80zEeGV96JAv8cWdw" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4rLydM0zEeGV96JAv8cWdw" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_qz8ynSkAEeGDDbdzqSb4UA" type="5156">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ynikAEeGDDbdzqSb4UA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ynykAEeGDDbdzqSb4UA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yoCkAEeGDDbdzqSb4UA" key="StereotypeList" value="FCM::ComponentImpl"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yoSkAEeGDDbdzqSb4UA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yoikAEeGDDbdzqSb4UA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yoykAEeGDDbdzqSb4UA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_qz8ypCkAEeGDDbdzqSb4UA" type="7073">
-        <children xmi:type="notation:Shape" xmi:id="_qz8ypSkAEeGDDbdzqSb4UA" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ypikAEeGDDbdzqSb4UA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ypykAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yqCkAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yqSkAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yqikAEeGDDbdzqSb4UA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yqykAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_qz8yrCkAEeGDDbdzqSb4UA" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vo5_YFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vv278FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_qz8yrSkAEeGDDbdzqSb4UA" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_qz8yrikAEeGDDbdzqSb4UA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8yrykAEeGDDbdzqSb4UA"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_qz8ysCkAEeGDDbdzqSb4UA" type="3069" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ysSkAEeGDDbdzqSb4UA" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ysikAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ysykAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ytCkAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ytSkAEeGDDbdzqSb4UA" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ytikAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_B-viUDrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CVcyIDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CVcyITrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CVcyIjrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CVdZMDrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CVdZMTrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_qz8ytykAEeGDDbdzqSb4UA" type="5125">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yuCkAEeGDDbdzqSb4UA" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bFaEUFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="12"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_qz8yuikAEeGDDbdzqSb4UA" x="-36" y="-8"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_qz8yuykAEeGDDbdzqSb4UA" type="6029">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_qz8yvCkAEeGDDbdzqSb4UA" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="corecpp.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8yvSkAEeGDDbdzqSb4UA" x="63" y="-10"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_4ksloCkAEeGDDbdzqSb4UA" type="3069" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4kwQACkAEeGDDbdzqSb4UA" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4kwQASkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4kwQAikAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4kwQAykAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4kwQBCkAEeGDDbdzqSb4UA" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4kwQBSkAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DJ1ccDrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Da9osDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Da9osTrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Da9osjrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Da9oszrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Da9otDrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_4kwQBikAEeGDDbdzqSb4UA" visible="false" type="5125">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AP6k4CkBEeGDDbdzqSb4UA" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AP7L8CkBEeGDDbdzqSb4UA" key="CustomAppearance_MaskValue" value="46"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_4kwQBykAEeGDDbdzqSb4UA" x="18" y="-18"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_4kw3ECkAEeGDDbdzqSb4UA" type="6029">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_4kw3ESkAEeGDDbdzqSb4UA" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="corecpp.uml#_ATRiECjZEeGFbebITJYb9g"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ksloSkAEeGDDbdzqSb4UA" x="153" y="16"/>
-          </children>
-          <element xmi:type="uml:Property" href="corecpp.uml#_ARs_UCjaEeGFbebITJYb9g"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8yvikAEeGDDbdzqSb4UA" x="22" y="103" width="163" height="51"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_qz8yvykAEeGDDbdzqSb4UA" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ywCkAEeGDDbdzqSb4UA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ywSkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ywikAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ywykAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yxCkAEeGDDbdzqSb4UA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yxSkAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_qz8yxikAEeGDDbdzqSb4UA" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UO2cMFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UlpLkFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_qz8yxykAEeGDDbdzqSb4UA" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_qz8yyCkAEeGDDbdzqSb4UA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8yySkAEeGDDbdzqSb4UA"/>
-          </children>
-          <children xmi:type="notation:Shape" xmi:id="_qz8yyikAEeGDDbdzqSb4UA" type="3069" fontName="" fontHeight="10" lineColor="0">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yyykAEeGDDbdzqSb4UA" source="ShadowFigure">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yzCkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yzSkAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yzikAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yzykAEeGDDbdzqSb4UA" source="QualifiedName">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8y0CkAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-            </eAnnotations>
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_A92GADrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BOcGwDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BOcGwTrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BOcGwjrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BOcGwzrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BOcGxDrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-            </eAnnotations>
-            <children xmi:type="notation:DecorationNode" xmi:id="_qz8y0SkAEeGDDbdzqSb4UA" type="5125">
-              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8y0ikAEeGDDbdzqSb4UA" source="CustomAppearance_Annotation">
-                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cTAf4FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="12"/>
-              </eAnnotations>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_qz8y1CkAEeGDDbdzqSb4UA" x="27" y="18"/>
-            </children>
-            <children xmi:type="notation:DecorationNode" xmi:id="_qz8y1SkAEeGDDbdzqSb4UA" type="6029">
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_qz8y1ikAEeGDDbdzqSb4UA" x="25" y="-10"/>
-            </children>
-            <element xmi:type="uml:Port" href="corecpp.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y1ykAEeGDDbdzqSb4UA" x="63" y="42"/>
-          </children>
-          <element xmi:type="uml:Property" href="corecpp.uml#_RMqEkCjaEeGFbebITJYb9g"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y2CkAEeGDDbdzqSb4UA" x="22" y="7" width="163" height="52"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_qz8y2SkAEeGDDbdzqSb4UA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y2ikAEeGDDbdzqSb4UA"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_3PyBICkAEeGDDbdzqSb4UA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3PyoMCkAEeGDDbdzqSb4UA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3PyoMSkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3PzPQCkAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3PzPQSkAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3PzPQikAEeGDDbdzqSb4UA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3PzPQykAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EFQi4DrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EWD_ADrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EWD_ATrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EWD_AjrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EWD_AzrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EWD_BDrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_3PzPRCkAEeGDDbdzqSb4UA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aE63sFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aMll8FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_3PzPRSkAEeGDDbdzqSb4UA" x="-81" y="-9"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_3PzPRikAEeGDDbdzqSb4UA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_3PzPRykAEeGDDbdzqSb4UA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_3NSGwCkAEeGDDbdzqSb4UA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3PyBISkAEeGDDbdzqSb4UA" x="288" y="144" width="20" height="20"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_-X6zMCjZEeGFbebITJYb9g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y2ykAEeGDDbdzqSb4UA" x="455" y="39" width="298" height="199"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_ebmW0PM_EeCovO8AYZymZQ"/>
-    <element xmi:type="uml:Package" href="corecpp.uml#_xtlE8ARAEd--t-uhRn9OBA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_Y7Vc8CjZEeGFbebITJYb9g" type="4015" source="_9dH0UCjYEeGFbebITJYb9g" target="_WoQnECjZEeGFbebITJYb9g" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Y7WrECjZEeGFbebITJYb9g" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Y7WrESjZEeGFbebITJYb9g" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Y7Vc8SjZEeGFbebITJYb9g" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_Y6lPACjZEeGFbebITJYb9g"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Y7Vc8ijZEeGFbebITJYb9g" points="[4, -11, 7, 30]$[4, -63, 7, -22]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y-dpcCjZEeGFbebITJYb9g" id="(0.50625,0.11956521739130435)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_1VKukCkAEeGDDbdzqSb4UA" type="4013" source="_qz8yyikAEeGDDbdzqSb4UA" target="_qz8ysCkAEeGDDbdzqSb4UA" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_1VL8sCkAEeGDDbdzqSb4UA" type="6025">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_1VL8sSkAEeGDDbdzqSb4UA" y="60"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_1VL8sikAEeGDDbdzqSb4UA" visible="false" type="6050">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_1VMjwCkAEeGDDbdzqSb4UA" y="-20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_1VMjwSkAEeGDDbdzqSb4UA" visible="false" type="6051">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_1VMjwikAEeGDDbdzqSb4UA" y="20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_1VMjwykAEeGDDbdzqSb4UA" visible="false" type="6052">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_1VMjxCkAEeGDDbdzqSb4UA" y="20"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_1VKukSkAEeGDDbdzqSb4UA" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Connector" href="corecpp.uml#_iDCL0CjaEeGFbebITJYb9g"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1VKukikAEeGDDbdzqSb4UA" points="[0, 10, 0, -34]$[0, 34, 0, -10]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_85CvsCkAEeGDDbdzqSb4UA" type="4013" source="_4ksloCkAEeGDDbdzqSb4UA" target="_3PyBICkAEeGDDbdzqSb4UA" routing="Rectilinear" closestDistance="true" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_85D90CkAEeGDDbdzqSb4UA" type="6025">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D90SkAEeGDDbdzqSb4UA" y="60"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_85D90ikAEeGDDbdzqSb4UA" visible="false" type="6050">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D90ykAEeGDDbdzqSb4UA" y="-20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_85D91CkAEeGDDbdzqSb4UA" visible="false" type="6051">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D91SkAEeGDDbdzqSb4UA" y="20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_85D91ikAEeGDDbdzqSb4UA" visible="false" type="6052">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D91ykAEeGDDbdzqSb4UA" y="20"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_85CvsSkAEeGDDbdzqSb4UA" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Connector" href="corecpp.uml#_84IJsCkAEeGDDbdzqSb4UA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_85CvsikAEeGDDbdzqSb4UA" points="[10, 4, -220, 14]$[71, 4, -159, 14]$[71, -10, -159, 0]$[227, -10, -3, 0]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_864iwCkAEeGDDbdzqSb4UA" id="(0.15,0.45)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_hyLz8PNGEeCovO8AYZymZQ" type="CompositeStructure" name="composite: Marshalling" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_iVJ-IPNGEeCovO8AYZymZQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVJ-IvNGEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVKlMPNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVKlMfNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVKlMvNGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVKlM_NGEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVKlNPNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_iVKlNfNGEeCovO8AYZymZQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_iVKlNvNGEeCovO8AYZymZQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_iVKlN_NGEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iVKlOPNGEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_ZjCy0PNHEeCovO8AYZymZQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZjDZ4PNHEeCovO8AYZymZQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZjDZ4fNHEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZjDZ4vNHEeCovO8AYZymZQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZjDZ4_NHEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZjDZ5PNHEeCovO8AYZymZQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZjDZ5fNHEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N6_48DrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OOwicDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OOwicTrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OOwicjrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OOwiczrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OOwidDrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ZjEA8PNHEeCovO8AYZymZQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cZt34EN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cfyMwE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZjEA8fNHEeCovO8AYZymZQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_ZjEA8vNHEeCovO8AYZymZQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZjEA8_NHEeCovO8AYZymZQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_rSCxUAytEd6it_RkGhz_AA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZjCy0fNHEeCovO8AYZymZQ" x="117" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_iVa2wEN9EeGfhclnRyNzoA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVbd0EN9EeGfhclnRyNzoA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVbd0UN9EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVbd0kN9EeGfhclnRyNzoA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVbd00N9EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVbd1EN9EeGfhclnRyNzoA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVbd1UN9EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jaKRQEN9EeGfhclnRyNzoA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jtyX4EN9EeGfhclnRyNzoA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jtyX4UN9EeGfhclnRyNzoA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jtyX4kN9EeGfhclnRyNzoA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jty-8EN9EeGfhclnRyNzoA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jty-8UN9EeGfhclnRyNzoA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_iVbd1kN9EeGfhclnRyNzoA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YRiFEEN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZxVCcE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_iVbd10N9EeGfhclnRyNzoA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_iVcE4EN9EeGfhclnRyNzoA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_iVcE4UN9EeGfhclnRyNzoA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_MhH6cENxEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iVa2wUN9EeGfhclnRyNzoA" x="-10" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_b_yh4AzyEd6it_RkGhz_AA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iVJ-IfNGEeCovO8AYZymZQ" x="90" y="279" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_kENg8PNGEeCovO8AYZymZQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEOIAPNGEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEOIAfNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEOIAvNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEOIA_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEOIBPNGEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEOIBfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_kEOvEPNGEeCovO8AYZymZQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_kEOvEfNGEeCovO8AYZymZQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_kEOvEvNGEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kEOvE_NGEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_qJrqYPNGEeCovO8AYZymZQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qJsRcPNGEeCovO8AYZymZQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qJsRcfNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qJsRcvNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qJsRc_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qJsRdPNGEeCovO8AYZymZQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qJsRdfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JbRlUDrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JrZE8DrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JrZE8TrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JrZsADrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JrZsATrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JrZsAjrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qJsRdvNGEeCovO8AYZymZQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ezv2kFjoEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FAR2sFjoEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qJsRd_NGEeCovO8AYZymZQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qJsRePNGEeCovO8AYZymZQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qJsRefNGEeCovO8AYZymZQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qJrqYfNGEeCovO8AYZymZQ" x="-10" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_j29X4NttEd2eM5kqcby5ZA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kENg8fNGEeCovO8AYZymZQ" x="90" y="36" width="316" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_mqiqAPNGEeCovO8AYZymZQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mqjREPNGEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mqjREfNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mqjREvNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mqjRE_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mqj4IPNGEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mqj4IfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mqj4IvNGEeCovO8AYZymZQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_mqj4I_NGEeCovO8AYZymZQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_mqj4JPNGEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mqj4JfNGEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_bc1mAPNHEeCovO8AYZymZQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bc2NEPNHEeCovO8AYZymZQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bc2NEfNHEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bc2NEvNHEeCovO8AYZymZQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bc2NE_NHEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bc2NFPNHEeCovO8AYZymZQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bc2NFfNHEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O-5l8DrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PVN0MDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PVObQDrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PVObQTrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PVObQjrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PVObQzrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_bc2NFvNHEeCovO8AYZymZQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y0v8UEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aYUJ8E4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_bc2NF_NHEeCovO8AYZymZQ" x="19"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_bc2NGPNHEeCovO8AYZymZQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_bc2NGfNHEeCovO8AYZymZQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_r5Va0AytEd6it_RkGhz_AA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bc1mAfNHEeCovO8AYZymZQ" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_cQDbAEN9EeGfhclnRyNzoA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cQECEEN9EeGfhclnRyNzoA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cQECEUN9EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cQECEkN9EeGfhclnRyNzoA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cQECE0N9EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cQECFEN9EeGfhclnRyNzoA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cQECFUN9EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gnyQQEN9EeGfhclnRyNzoA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g-aAgEN9EeGfhclnRyNzoA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g-aAgUN9EeGfhclnRyNzoA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g-aAgkN9EeGfhclnRyNzoA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g-aAg0N9EeGfhclnRyNzoA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g-aAhEN9EeGfhclnRyNzoA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_cQECFkN9EeGfhclnRyNzoA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XwXHIEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a51ioE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_cQECF0N9EeGfhclnRyNzoA" x="27"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_cQECGEN9EeGfhclnRyNzoA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_cQECGUN9EeGfhclnRyNzoA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_Zd558ENxEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cQDbAUN9EeGfhclnRyNzoA" x="117" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_fmF6MAzyEd6it_RkGhz_AA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mqiqAfNGEeCovO8AYZymZQ" x="396" y="279" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_o1VGkPNGEeCovO8AYZymZQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o1VtoPNGEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o1VtofNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o1VtovNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o1Vto_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o1WUsPNGEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o1WUsfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_o1WUsvNGEeCovO8AYZymZQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_o1WUs_NGEeCovO8AYZymZQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_o1WUtPNGEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o1WUtfNGEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_qpQiUPNGEeCovO8AYZymZQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qpRJYPNGEeCovO8AYZymZQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qpRJYfNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qpRJYvNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qpRJY_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qpRwcPNGEeCovO8AYZymZQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qpRwcfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RHYVYDrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RapPoDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RapPoTrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Rap2sDrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Rap2sTrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Rap2sjrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qpRwcvNGEeCovO8AYZymZQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_h3CcMEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lv9-sE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qpRwc_NGEeCovO8AYZymZQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qpRwdPNGEeCovO8AYZymZQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qpRwdfNGEeCovO8AYZymZQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qpQiUfNGEeCovO8AYZymZQ" x="117" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_mIpj8Ns8Ed2eM5kqcby5ZA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o1VGkfNGEeCovO8AYZymZQ" x="468" y="36" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="__uLGkPNGEeCovO8AYZymZQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__uLtoPNGEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__uLtofNGEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__uLtovNGEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__uLto_NGEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__uMUsPNGEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__uMUsfNGEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="__uMUsvNGEeCovO8AYZymZQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="__uMUs_NGEeCovO8AYZymZQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="__uMUtPNGEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__uMUtfNGEeCovO8AYZymZQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_KNC08PQSEeCovO8AYZymZQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KNDcAPQSEeCovO8AYZymZQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KNDcAfQSEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KNDcAvQSEeCovO8AYZymZQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KNDcA_QSEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KNDcBPQSEeCovO8AYZymZQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KNDcBfQSEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MhV-YDrVEeGMCcwsbpLuFA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0TWoDrVEeGMCcwsbpLuFA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0T9sDrVEeGMCcwsbpLuFA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0T9sTrVEeGMCcwsbpLuFA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0T9sjrVEeGMCcwsbpLuFA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0T9szrVEeGMCcwsbpLuFA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_KNDcBvQSEeCovO8AYZymZQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_e8v1UEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b_sXcE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_KNDcB_QSEeCovO8AYZymZQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_KNEDEPQSEeCovO8AYZymZQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_KNEDEfQSEeCovO8AYZymZQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_rSCxUAytEd6it_RkGhz_AA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KNC08fQSEeCovO8AYZymZQ" x="117" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_vzOfsEN9EeGfhclnRyNzoA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vzPGwEN9EeGfhclnRyNzoA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vzPGwUN9EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vzPGwkN9EeGfhclnRyNzoA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vzPGw0N9EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vzPGxEN9EeGfhclnRyNzoA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vzPGxUN9EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xAI-wEN9EeGfhclnRyNzoA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xXqt8EN9EeGfhclnRyNzoA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xXqt8UN9EeGfhclnRyNzoA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xXqt8kN9EeGfhclnRyNzoA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xXqt80N9EeGfhclnRyNzoA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xXrVAEN9EeGfhclnRyNzoA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_vzPGxkN9EeGfhclnRyNzoA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b0q0oEN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bcLasE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_vzPGx0N9EeGfhclnRyNzoA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_vzPGyEN9EeGfhclnRyNzoA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_vzPGyUN9EeGfhclnRyNzoA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_MhH6cENxEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vzOfsUN9EeGfhclnRyNzoA" x="-10" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#__uJRYPNGEeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__uLGkfNGEeCovO8AYZymZQ" x="90" y="405" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_u_QmwENqEeGoAtSeIK7WLg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u_RN0ENqEeGoAtSeIK7WLg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u_RN0UNqEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u_RN0kNqEeGoAtSeIK7WLg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u_RN00NqEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u_RN1ENqEeGoAtSeIK7WLg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u_RN1UNqEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_u_RN1kNqEeGoAtSeIK7WLg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_u_R04ENqEeGoAtSeIK7WLg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_u_R04UNqEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u_R04kNqEeGoAtSeIK7WLg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_7XPQEENqEeGoAtSeIK7WLg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7XP3IENqEeGoAtSeIK7WLg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7XP3IUNqEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7XP3IkNqEeGoAtSeIK7WLg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7XP3I0NqEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7XP3JENqEeGoAtSeIK7WLg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7XP3JUNqEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8posEENqEeGoAtSeIK7WLg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9AyAwENqEeGoAtSeIK7WLg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9AyAwUNqEeGoAtSeIK7WLg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9Ayn0ENqEeGoAtSeIK7WLg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9Ayn0UNqEeGoAtSeIK7WLg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9Ayn0kNqEeGoAtSeIK7WLg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_7XP3JkNqEeGoAtSeIK7WLg" visible="false" type="5125">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_7XQeMENqEeGoAtSeIK7WLg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_7XQeMUNqEeGoAtSeIK7WLg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_7XQeMkNqEeGoAtSeIK7WLg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7XPQEUNqEeGoAtSeIK7WLg" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_-nzo8ENqEeGoAtSeIK7WLg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-n0QAENqEeGoAtSeIK7WLg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-n0QAUNqEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-n0QAkNqEeGoAtSeIK7WLg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-n0QA0NqEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-n0QBENqEeGoAtSeIK7WLg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-n0QBUNqEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aJho0EN8EeGfhclnRyNzoA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bHDoEEN8EeGfhclnRyNzoA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bHDoEUN8EeGfhclnRyNzoA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bHDoEkN8EeGfhclnRyNzoA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bHDoE0N8EeGfhclnRyNzoA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bHDoFEN8EeGfhclnRyNzoA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_-n0QBkNqEeGoAtSeIK7WLg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WEWb0EN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_smS9UE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_-n0QB0NqEeGoAtSeIK7WLg" x="-99"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_-n0QCENqEeGoAtSeIK7WLg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_-n0QCUNqEeGoAtSeIK7WLg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_-nk_cENqEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-nzo8UNqEeGoAtSeIK7WLg" x="117" y="36" width="20" height="20"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_u7MmIENqEeGoAtSeIK7WLg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u_QmwUNqEeGoAtSeIK7WLg" x="90" y="144" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_1xcsQENqEeGoAtSeIK7WLg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1xdTUENqEeGoAtSeIK7WLg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1xdTUUNqEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1xdTUkNqEeGoAtSeIK7WLg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1xdTU0NqEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1xdTVENqEeGoAtSeIK7WLg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1xdTVUNqEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_1xdTVkNqEeGoAtSeIK7WLg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_1xdTV0NqEeGoAtSeIK7WLg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_1xdTWENqEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1xdTWUNqEeGoAtSeIK7WLg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_zeMyEEN8EeGfhclnRyNzoA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeOAMEN8EeGfhclnRyNzoA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeOAMUN8EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeOAMkN8EeGfhclnRyNzoA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeOAM0N8EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeOANEN8EeGfhclnRyNzoA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeOANUN8EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4rAYsEN9EeGfhclnRyNzoA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48lQ4EN9EeGfhclnRyNzoA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48lQ4UN9EeGfhclnRyNzoA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48lQ4kN9EeGfhclnRyNzoA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48lQ40N9EeGfhclnRyNzoA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_48l38EN9EeGfhclnRyNzoA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_zeOANkN8EeGfhclnRyNzoA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a_mN0EN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mTaC8E4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_zeOAN0N8EeGfhclnRyNzoA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_zeOAOEN8EeGfhclnRyNzoA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_zeOAOUN8EeGfhclnRyNzoA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_9gIc8ENvEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zeNZIEN8EeGfhclnRyNzoA" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_zePOUEN8EeGfhclnRyNzoA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeP1YEN8EeGfhclnRyNzoA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeP1YUN8EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeP1YkN8EeGfhclnRyNzoA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeP1Y0N8EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zeP1ZEN8EeGfhclnRyNzoA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zeP1ZUN8EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5ijEsEN9EeGfhclnRyNzoA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5zBwsEN9EeGfhclnRyNzoA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5zCXwEN9EeGfhclnRyNzoA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5zCXwUN9EeGfhclnRyNzoA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5zCXwkN9EeGfhclnRyNzoA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5zCXw0N9EeGfhclnRyNzoA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_zeP1ZkN8EeGfhclnRyNzoA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_e8wcYEN-EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dPSXEE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_zeP1Z0N8EeGfhclnRyNzoA" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_zeP1aEN8EeGfhclnRyNzoA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_zeP1aUN8EeGfhclnRyNzoA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zePOUUN8EeGfhclnRyNzoA" x="117" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_1xGG8ENqEeGoAtSeIK7WLg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1xcsQUNqEeGoAtSeIK7WLg" x="468" y="144" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_H7kTUENrEeGoAtSeIK7WLg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H7k6YENrEeGoAtSeIK7WLg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H7k6YUNrEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H7k6YkNrEeGoAtSeIK7WLg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H7k6Y0NrEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H7k6ZENrEeGoAtSeIK7WLg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H7k6ZUNrEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_H7k6ZkNrEeGoAtSeIK7WLg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_H7k6Z0NrEeGoAtSeIK7WLg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_H7k6aENrEeGoAtSeIK7WLg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H7k6aUNrEeGoAtSeIK7WLg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_LIMnYENrEeGoAtSeIK7WLg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LINOcENrEeGoAtSeIK7WLg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LINOcUNrEeGoAtSeIK7WLg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LINOckNrEeGoAtSeIK7WLg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LINOc0NrEeGoAtSeIK7WLg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LINOdENrEeGoAtSeIK7WLg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LINOdUNrEeGoAtSeIK7WLg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MNeNYENrEeGoAtSeIK7WLg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MkeYIENrEeGoAtSeIK7WLg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Mke_MENrEeGoAtSeIK7WLg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Mke_MUNrEeGoAtSeIK7WLg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Mke_MkNrEeGoAtSeIK7WLg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Mke_M0NrEeGoAtSeIK7WLg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_LINOdkNrEeGoAtSeIK7WLg" visible="false" type="5125">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_LINOd0NrEeGoAtSeIK7WLg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_LINOeENrEeGoAtSeIK7WLg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_LINOeUNrEeGoAtSeIK7WLg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LIMnYUNrEeGoAtSeIK7WLg" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_i742UEN8EeGfhclnRyNzoA" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i76EcEN8EeGfhclnRyNzoA" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i76rgEN8EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i76rgUN8EeGfhclnRyNzoA" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i76rgkN8EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i76rg0N8EeGfhclnRyNzoA" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i76rhEN8EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_keq3sEN8EeGfhclnRyNzoA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k2gI4EN8EeGfhclnRyNzoA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k2gI4UN8EeGfhclnRyNzoA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k2gI4kN8EeGfhclnRyNzoA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k2gI40N8EeGfhclnRyNzoA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k2gI5EN8EeGfhclnRyNzoA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_i76rhUN8EeGfhclnRyNzoA" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UeOLgEN_EeGfhclnRyNzoA" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eFDhcE4hEeKNVONx4BgsGg" key="CustomAppearance_MaskValue" value="20"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_i76rhkN8EeGfhclnRyNzoA" x="-99"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_i77SkEN8EeGfhclnRyNzoA" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_i77SkUN8EeGfhclnRyNzoA" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_i5SOQEN8EeGfhclnRyNzoA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_i75dYEN8EeGfhclnRyNzoA" x="117" y="36" width="20" height="20"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_H7IOcENrEeGoAtSeIK7WLg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H7kTUUNrEeGoAtSeIK7WLg" x="279" y="144" width="127" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_pmSKYEN_EeGfhclnRyNzoA" type="2109" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pmSxcEN_EeGfhclnRyNzoA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pmSxcUN_EeGfhclnRyNzoA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pmSxckN_EeGfhclnRyNzoA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pmSxc0N_EeGfhclnRyNzoA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pmSxdEN_EeGfhclnRyNzoA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pmSxdUN_EeGfhclnRyNzoA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_pmSxdkN_EeGfhclnRyNzoA" type="5192"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#_pk4cMEN_EeGfhclnRyNzoA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pmSKYUN_EeGfhclnRyNzoA" x="351" y="390" width="391" height="79"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_hyMbAPNGEeCovO8AYZymZQ"/>
-    <element xmi:type="uml:Package" href="corecpp.uml#_gKMTIAytEd6it_RkGhz_AA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_khmAgPNGEeCovO8AYZymZQ" type="4015" source="_u_QmwENqEeGoAtSeIK7WLg" target="_kENg8PNGEeCovO8AYZymZQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_khmnkPNGEeCovO8AYZymZQ" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_khmnkfNGEeCovO8AYZymZQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_khmAgfNGEeCovO8AYZymZQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_K088oF_rEd6RvK-1A151zQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_khmAgvNGEeCovO8AYZymZQ" points="[17, -30, -23, 39]$[23, -39, -17, 30]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4ud3AENqEeGoAtSeIK7WLg" id="(0.49606299212598426,0.0273972602739726)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OtJFEEN8EeGfhclnRyNzoA" id="(0.20569620253164558,0.958904109589041)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_sH_KIPNGEeCovO8AYZymZQ" type="4015" source="_1xcsQENqEeGoAtSeIK7WLg" target="_o1VGkPNGEeCovO8AYZymZQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_sH_xMPNGEeCovO8AYZymZQ" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_sIAYQPNGEeCovO8AYZymZQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_sH_KIfNGEeCovO8AYZymZQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_M09FgF_rEd6RvK-1A151zQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sH_KIvNGEeCovO8AYZymZQ" points="[-8, -30, 0, 77]$[0, -77, 8, 30]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5r5voENqEeGoAtSeIK7WLg" id="(0.4881889763779528,0.0958904109589041)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_EWU9cPNHEeCovO8AYZymZQ" type="4015" source="__uLGkPNGEeCovO8AYZymZQ" target="_iVJ-IPNGEeCovO8AYZymZQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_EWWLkPNHEeCovO8AYZymZQ" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_EWWLkfNHEeCovO8AYZymZQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_EWU9cfNHEeCovO8AYZymZQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_EWShMPNHEeCovO8AYZymZQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EWU9cvNHEeCovO8AYZymZQ" points="[2, -8, -13, 52]$[20, -42, 5, 18]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EWWyoPNHEeCovO8AYZymZQ" id="(0.4881889763779528,0.1095890410958904)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EWWyofNHEeCovO8AYZymZQ" id="(0.5196850393700787,0.9178082191780822)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_KH4Z4ENrEeGoAtSeIK7WLg" type="4015" source="_H7kTUENrEeGoAtSeIK7WLg" target="_kENg8PNGEeCovO8AYZymZQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_KH5A8ENrEeGoAtSeIK7WLg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KH5oAENrEeGoAtSeIK7WLg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_KH4Z4UNrEeGoAtSeIK7WLg" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_KHmGAENrEeGoAtSeIK7WLg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KH4Z4kNrEeGoAtSeIK7WLg" points="[-4, -5, 94, 153]$[-95, -150, 3, 8]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KIePwENrEeGoAtSeIK7WLg" id="(0.5229357798165137,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KIePwUNrEeGoAtSeIK7WLg" id="(0.8142857142857143,0.9452054794520548)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_cVCGYPNUEeCovO8AYZymZQ" type="PapyrusUMLClassDiagram" name="Class: Marshalling" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_jQk8MPNUEeCovO8AYZymZQ" type="2006" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQljQPNUEeCovO8AYZymZQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQljQfNUEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQljQvNUEeCovO8AYZymZQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQljQ_NUEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQljRPNUEeCovO8AYZymZQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQljRfNUEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_jQmKUPNUEeCovO8AYZymZQ" type="5023"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_jQmKUfNUEeCovO8AYZymZQ" type="7015">
-        <children xmi:type="notation:Shape" xmi:id="_jv7KoPNUEeCovO8AYZymZQ" type="3017" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:EnumerationLiteral" href="corecpp.uml#_jv4uYPNUEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_jv7KofNUEeCovO8AYZymZQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_kuE08PNUEeCovO8AYZymZQ" type="3017" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:EnumerationLiteral" href="corecpp.uml#_kuDm0PNUEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kuE08fNUEeCovO8AYZymZQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_ljFxYPNUEeCovO8AYZymZQ" type="3017" fontName="Sans Serif" lineColor="0">
-          <element xmi:type="uml:EnumerationLiteral" href="corecpp.uml#_ljD8MPNUEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ljFxYfNUEeCovO8AYZymZQ"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_jQmKUvNUEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_jQmKU_NUEeCovO8AYZymZQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_jQmKVPNUEeCovO8AYZymZQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jQmKVfNUEeCovO8AYZymZQ"/>
-      </children>
-      <element xmi:type="uml:Enumeration" href="corecpp.uml#_jQjHAPNUEeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jQk8MfNUEeCovO8AYZymZQ" x="387" y="83"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_SPPn0FjnEeKaM_PspnG53g" type="2008" fontName="Sans Serif" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SPRdAFjnEeKaM_PspnG53g" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SPSEEFjnEeKaM_PspnG53g" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SPSEEVjnEeKaM_PspnG53g" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SPSEEljnEeKaM_PspnG53g" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SPSEE1jnEeKaM_PspnG53g" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SPSEFFjnEeKaM_PspnG53g" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_SPSEFVjnEeKaM_PspnG53g" type="5029"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_SPSrIFjnEeKaM_PspnG53g" type="7017">
-        <children xmi:type="notation:Shape" xmi:id="_USG3cFjnEeKaM_PspnG53g" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d1EbcFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eOY6YFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="corecpp.uml#_YKtbAPNUEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_USG3cVjnEeKaM_PspnG53g"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_USHegFjnEeKaM_PspnG53g" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d1FCgFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eOaIgFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="corecpp.uml#_gQGNwPNUEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_USHegVjnEeKaM_PspnG53g"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_USIFkFjnEeKaM_PspnG53g" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d1FCgljnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eOavkFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="corecpp.uml#_-_HCMBI0EeGU49ezpRnvLg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_USIFkVjnEeKaM_PspnG53g"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_USIsoFjnEeKaM_PspnG53g" type="3012" fontName="Sans Serif" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ffmDkFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ffmDkVjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="60"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="corecpp.uml#_qzHgkPNUEeCovO8AYZymZQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_USIsoVjnEeKaM_PspnG53g"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_SPSrIVjnEeKaM_PspnG53g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_SPSrIljnEeKaM_PspnG53g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_SPSrI1jnEeKaM_PspnG53g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SPSrJFjnEeKaM_PspnG53g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_SPSrJVjnEeKaM_PspnG53g" visible="false" type="7018">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_SPSrJljnEeKaM_PspnG53g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_SPSrJ1jnEeKaM_PspnG53g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_SPSrKFjnEeKaM_PspnG53g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SPSrKVjnEeKaM_PspnG53g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_SPSrKljnEeKaM_PspnG53g" visible="false" type="7019">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_SPSrK1jnEeKaM_PspnG53g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_SPSrLFjnEeKaM_PspnG53g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_SPSrLVjnEeKaM_PspnG53g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SPSrLljnEeKaM_PspnG53g"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_WkkjoPNUEeCovO8AYZymZQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SPPn0VjnEeKaM_PspnG53g" x="130" y="78"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_cVCGYfNUEeCovO8AYZymZQ"/>
-    <element xmi:type="uml:Package" href="corecpp.uml#_gKMTIAytEd6it_RkGhz_AA"/>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_g6Yg0CnOEeGxrprK9wB9iA" type="CompositeStructure" name="Service configuration" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_hvsYMCnOEeGxrprK9wB9iA" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hvs_QCnOEeGxrprK9wB9iA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hvtmUCnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hvtmUSnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hvtmUinOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hvtmUynOEeGxrprK9wB9iA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hvtmVCnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_hvtmVSnOEeGxrprK9wB9iA" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_hvuNYCnOEeGxrprK9wB9iA" type="7073">
-        <children xmi:type="notation:Shape" xmi:id="_j5-ecCnOEeGxrprK9wB9iA" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_j5_FgCnOEeGxrprK9wB9iA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_j5_FgSnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_j5_FginOEeGxrprK9wB9iA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_j5_FgynOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_j5_FhCnOEeGxrprK9wB9iA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_j5_FhSnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_j5_FhinOEeGxrprK9wB9iA" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eASCYFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eBKMIFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_j5_skCnOEeGxrprK9wB9iA" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_j5_skSnOEeGxrprK9wB9iA" showTitle="true"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_j5_skinOEeGxrprK9wB9iA"/>
-          </children>
-          <element xmi:type="uml:Property" href="corecpp.uml#_rVfYoMGJEd-Mveea1W_olA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_j5-ecSnOEeGxrprK9wB9iA" x="10" y="10" width="131"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_lEz54CnOEeGxrprK9wB9iA" type="3097" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lEz54inOEeGxrprK9wB9iA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lE0g8CnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lE0g8SnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lE0g8inOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lE0g8ynOEeGxrprK9wB9iA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lE0g9CnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_lE0g9SnOEeGxrprK9wB9iA" type="5150"/>
-          <element xmi:type="uml:Comment" href="corecpp.uml#_lCtoICnOEeGxrprK9wB9iA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEz54SnOEeGxrprK9wB9iA" x="221" y="10" width="271" height="64"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_hvuNYSnOEeGxrprK9wB9iA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hvuNYinOEeGxrprK9wB9iA"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_SiY_AP-EEd6628OhKk_dpg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hvsYMSnOEeGxrprK9wB9iA" x="62" y="64" width="524" height="135"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_t6v_0CnOEeGxrprK9wB9iA" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6wm4CnOEeGxrprK9wB9iA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6wm4SnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6wm4inOEeGxrprK9wB9iA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6wm4ynOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6xN8CnOEeGxrprK9wB9iA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6xN8SnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_t6xN8inOEeGxrprK9wB9iA" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_t6xN8ynOEeGxrprK9wB9iA" type="7073">
-        <children xmi:type="notation:Shape" xmi:id="_vBLcYCnOEeGxrprK9wB9iA" type="3070" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBMDcCnOEeGxrprK9wB9iA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vBMqgCnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBMqgSnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vBNRkCnOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBNRkSnOEeGxrprK9wB9iA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vBNRkinOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_vBNRkynOEeGxrprK9wB9iA" type="5126">
-            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_chkosFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
-              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_co8cAFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
-            </eAnnotations>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_vBNRlCnOEeGxrprK9wB9iA" visible="false" type="7077">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_vBNRlSnOEeGxrprK9wB9iA" showTitle="true"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vBNRlinOEeGxrprK9wB9iA"/>
-          </children>
-          <element xmi:type="uml:Property" href="corecpp.uml#_tmNeoCjbEeGFbebITJYb9g"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vBLcYSnOEeGxrprK9wB9iA" x="10" y="10" width="173"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_zNMJ0CnOEeGxrprK9wB9iA" type="3097" fontName="" fontHeight="10" lineColor="0">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zNMw4SnOEeGxrprK9wB9iA" source="ShadowFigure">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zNMw4inOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zNNX8CnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zNNX8SnOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zNNX8inOEeGxrprK9wB9iA" source="QualifiedName">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zNNX8ynOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-          </eAnnotations>
-          <children xmi:type="notation:DecorationNode" xmi:id="_zNNX9CnOEeGxrprK9wB9iA" type="5150"/>
-          <element xmi:type="uml:Comment" href="corecpp.uml#_zLeSkCnOEeGxrprK9wB9iA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zNMw4CnOEeGxrprK9wB9iA" x="219" y="15" width="270"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_t6xN9CnOEeGxrprK9wB9iA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t6xN9SnOEeGxrprK9wB9iA"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_9V8OQCjYEeGFbebITJYb9g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t6v_0SnOEeGxrprK9wB9iA" x="65" y="245" width="521" height="161"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_RANSwCo0EeGxrprK9wB9iA" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RAN50Co0EeGxrprK9wB9iA" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RAN50So0EeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RAN50io0EeGxrprK9wB9iA" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RAN50yo0EeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RAN51Co0EeGxrprK9wB9iA" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RAN51So0EeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_RAN51io0EeGxrprK9wB9iA" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_RAN51yo0EeGxrprK9wB9iA" visible="false" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_RAN52Co0EeGxrprK9wB9iA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RAN52So0EeGxrprK9wB9iA"/>
-      </children>
-      <element xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_ETakYDj8Edy0Rd6V_tf1-Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RANSwSo0EeGxrprK9wB9iA" x="652" y="261" width="60" height="55"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_g6Yg0SnOEeGxrprK9wB9iA"/>
-    <element xmi:type="uml:Package" href="corecpp.uml#_xtlE8ARAEd--t-uhRn9OBA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_mp1-ACnOEeGxrprK9wB9iA" type="4002" source="_lEz54CnOEeGxrprK9wB9iA" target="_j5-ecCnOEeGxrprK9wB9iA" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_mp1-ASnOEeGxrprK9wB9iA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mp1-AinOEeGxrprK9wB9iA" points="[-50, -4, 105, 6]$[-136, -16, 19, -6]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mthkICnOEeGxrprK9wB9iA" id="(0.8137254901960784,0.3559322033898305)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_0Tj8ACnOEeGxrprK9wB9iA" type="4002" source="_zNMJ0CnOEeGxrprK9wB9iA" target="_vBLcYCnOEeGxrprK9wB9iA" lineColor="0">
-      <styles xmi:type="notation:FontStyle" xmi:id="_0Tj8ASnOEeGxrprK9wB9iA" fontName="" fontHeight="10"/>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0Tj8AinOEeGxrprK9wB9iA" points="[-20, -6, 63, 16]$[-56, -25, 27, -3]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0V4QMCnOEeGxrprK9wB9iA" id="(0.2,0.5166666666666667)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0V4QMSnOEeGxrprK9wB9iA" id="(0.8439306358381503,0.35)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_SZ63sCo0EeGxrprK9wB9iA" type="4010" source="_t6v_0CnOEeGxrprK9wB9iA" target="_RANSwCo0EeGxrprK9wB9iA" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_SZ7ewCo0EeGxrprK9wB9iA" visible="false" type="6009">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_SZ7ewSo0EeGxrprK9wB9iA" y="60"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_SZ7ewio0EeGxrprK9wB9iA" type="6023">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_SZ7ewyo0EeGxrprK9wB9iA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_SZ63sSo0EeGxrprK9wB9iA" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Dependency" href="corecpp.uml#_SXkHQCo0EeGxrprK9wB9iA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SZ63sio0EeGxrprK9wB9iA" points="[19, -6, -74, 0]$[85, -6, -8, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sd71ACo0EeGxrprK9wB9iA" id="(0.963531669865643,0.32298136645962733)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sd71ASo0EeGxrprK9wB9iA" id="(0.16666666666666666,0.5084745762711864)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_OhgzgD8AEeGJ6KSvhYhYuQ" type="CompositeStructure" name="CallActivation" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_SgFh4D8AEeGJ6KSvhYhYuQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SgGI8D8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SgGI8T8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SgGI8j8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SgGI8z8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SgGI9D8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SgGI9T8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_SgGI9j8AEeGJ6KSvhYhYuQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_SgGI9z8AEeGJ6KSvhYhYuQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_SgGI-D8AEeGJ6KSvhYhYuQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SgGI-T8AEeGJ6KSvhYhYuQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_dcQ7kD8AEeGJ6KSvhYhYuQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcSJsD8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcSJsT8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcSJsj8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcSJsz8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcSJtD8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcSJtT8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ocoRsD8AEeGJ6KSvhYhYuQ" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o2fjMD8AEeGJ6KSvhYhYuQ" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o2fjMT8AEeGJ6KSvhYhYuQ" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o2fjMj8AEeGJ6KSvhYhYuQ" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o2fjMz8AEeGJ6KSvhYhYuQ" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o2fjND8AEeGJ6KSvhYhYuQ" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_dcSJtj8AEeGJ6KSvhYhYuQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kA0sEFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nFWNAFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_dcSwwD8AEeGJ6KSvhYhYuQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_dcSwwT8AEeGJ6KSvhYhYuQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_dcSwwj8AEeGJ6KSvhYhYuQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dcRioD8AEeGJ6KSvhYhYuQ" x="-10" y="23"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_dcSwwz8AEeGJ6KSvhYhYuQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcTX0D8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcTX0T8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcTX0j8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcTX0z8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dcTX1D8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dcTX1T8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m_hagD8AEeGJ6KSvhYhYuQ" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ndPRQD8AEeGJ6KSvhYhYuQ" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ndP4UD8AEeGJ6KSvhYhYuQ" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ndP4UT8AEeGJ6KSvhYhYuQ" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ndP4Uj8AEeGJ6KSvhYhYuQ" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ndP4Uz8AEeGJ6KSvhYhYuQ" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_dcTX1j8AEeGJ6KSvhYhYuQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kq-cUFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nqWXgFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_dcTX1z8AEeGJ6KSvhYhYuQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_dcTX2D8AEeGJ6KSvhYhYuQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_dcTX2T8AEeGJ6KSvhYhYuQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dcSwxD8AEeGJ6KSvhYhYuQ" x="360" y="23"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_e6Y_EChYEd-eoo60eNyGlg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SgFh4T8AEeGJ6KSvhYhYuQ" x="117" y="99" width="370"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_S-NoUD8AEeGJ6KSvhYhYuQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S-OPYD8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S-OPYT8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S-OPYj8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S-OPYz8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S-OPZD8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S-OPZT8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_S-O2cD8AEeGJ6KSvhYhYuQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_S-O2cT8AEeGJ6KSvhYhYuQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_S-O2cj8AEeGJ6KSvhYhYuQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S-O2cz8AEeGJ6KSvhYhYuQ"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_1JUC4D8EEeGJ6KSvhYhYuQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JUp8D8EEeGJ6KSvhYhYuQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JUp8T8EEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JUp8j8EEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JUp8z8EEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JVRAD8EEeGJ6KSvhYhYuQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JVRAT8EEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7SckUD8EEeGJ6KSvhYhYuQ" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1E6gcD_HEeGFNeu-9sDdyA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1E6gcT_HEeGFNeu-9sDdyA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1E6gcj_HEeGFNeu-9sDdyA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1E6gcz_HEeGFNeu-9sDdyA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1E7HgD_HEeGFNeu-9sDdyA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_1JVRAj8EEeGJ6KSvhYhYuQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l3gg4FbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mBsXoFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JVRAz8EEeGJ6KSvhYhYuQ" x="27" y="18"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_1JVRBD8EEeGJ6KSvhYhYuQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JVRBT8EEeGJ6KSvhYhYuQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_N0tB4Cu4Ed-uZPFNCty7PQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1JUC4T8EEeGJ6KSvhYhYuQ" x="45" y="63"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_1JVRBj8EEeGJ6KSvhYhYuQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JV4ED8EEeGJ6KSvhYhYuQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JV4ET8EEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JV4Ej8EEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JV4Ez8EEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JV4FD8EEeGJ6KSvhYhYuQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JV4FT8EEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wvweED_HEeGFNeu-9sDdyA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xWu-gD_HEeGFNeu-9sDdyA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xWu-gT_HEeGFNeu-9sDdyA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xWu-gj_HEeGFNeu-9sDdyA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xWu-gz_HEeGFNeu-9sDdyA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xWu-hD_HEeGFNeu-9sDdyA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_1JV4Fj8EEeGJ6KSvhYhYuQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lQgyUFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lXdH0FbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JV4Fz8EEeGJ6KSvhYhYuQ" x="27" y="27"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_1JWfID8EEeGJ6KSvhYhYuQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JWfIT8EEeGJ6KSvhYhYuQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1JVRBz8EEeGJ6KSvhYhYuQ" x="99" y="27"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_1JWfIj8EEeGJ6KSvhYhYuQ" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JXGMD8EEeGJ6KSvhYhYuQ" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JXGMT8EEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JXGMj8EEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JXGMz8EEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1JXtQD8EEeGJ6KSvhYhYuQ" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1JXtQT8EEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uBA_4D_HEeGFNeu-9sDdyA" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2z-qUD_HEeGFNeu-9sDdyA" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2z-qUT_HEeGFNeu-9sDdyA" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2z-qUj_HEeGFNeu-9sDdyA" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2z_RYD_HEeGFNeu-9sDdyA" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2z_RYT_HEeGFNeu-9sDdyA" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_1JXtQj8EEeGJ6KSvhYhYuQ" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jaFcMFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mifXkFbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JXtQz8EEeGJ6KSvhYhYuQ" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_1JXtRD8EEeGJ6KSvhYhYuQ" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_1JXtRT8EEeGJ6KSvhYhYuQ" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1JWfIz8EEeGJ6KSvhYhYuQ" x="-10" y="27"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_qgzokChYEd-eoo60eNyGlg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S-NoUT8AEeGJ6KSvhYhYuQ" x="117" y="189" width="109" height="73"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_TeWg8D8AEeGJ6KSvhYhYuQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TeWg8j8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TeXIAD8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TeXIAT8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TeXIAj8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TeXIAz8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TeXIBD8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_TeXIBT8AEeGJ6KSvhYhYuQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_TeXIBj8AEeGJ6KSvhYhYuQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_TeXIBz8AEeGJ6KSvhYhYuQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TeXICD8AEeGJ6KSvhYhYuQ"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_2wMyEChiEd-eoo60eNyGlg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TeWg8T8AEeGJ6KSvhYhYuQ" x="252" y="189"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_T7ZpUD8AEeGJ6KSvhYhYuQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T7aQYD8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_T7aQYT8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T7aQYj8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_T7aQYz8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T7aQZD8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_T7aQZT8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_T7aQZj8AEeGJ6KSvhYhYuQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_T7aQZz8AEeGJ6KSvhYhYuQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_T7aQaD8AEeGJ6KSvhYhYuQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T7aQaT8AEeGJ6KSvhYhYuQ"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_6rmQoChiEd-eoo60eNyGlg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T7ZpUT8AEeGJ6KSvhYhYuQ" x="387" y="189" width="95"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_gXAOYD8AEeGJ6KSvhYhYuQ" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gXA1cD8AEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gXA1cT8AEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gXA1cj8AEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gXA1cz8AEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gXA1dD8AEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gXA1dT8AEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_gXA1dj8AEeGJ6KSvhYhYuQ" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_gXBcgD8AEeGJ6KSvhYhYuQ" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_gXBcgT8AEeGJ6KSvhYhYuQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gXBcgj8AEeGJ6KSvhYhYuQ"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_KxQBELuXEd2TTr3gJIvazw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gXAOYT8AEeGJ6KSvhYhYuQ" x="117" y="18" width="370"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_aCZK0D8CEeGJ6KSvhYhYuQ" type="2109" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aCZx4D8CEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aCZx4T8CEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aCZx4j8CEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aCZx4z8CEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aCZx5D8CEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aCZx5T8CEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_aCZx5j8CEeGJ6KSvhYhYuQ" type="5192"/>
-      <element xmi:type="uml:Comment" href="corecpp.uml#_aAH58D8CEeGJ6KSvhYhYuQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aCZK0T8CEeGJ6KSvhYhYuQ" x="72" y="297" width="336" height="91"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_jQ_BUD8CEeGJ6KSvhYhYuQ" type="2067" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQ_BUj8CEeGJ6KSvhYhYuQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQ_BUz8CEeGJ6KSvhYhYuQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQ_oYD8CEeGJ6KSvhYhYuQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQ_oYT8CEeGJ6KSvhYhYuQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jQ_oYj8CEeGJ6KSvhYhYuQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jQ_oYz8CEeGJ6KSvhYhYuQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_jQ_oZD8CEeGJ6KSvhYhYuQ" type="5119"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_jQ_oZT8CEeGJ6KSvhYhYuQ" type="7048">
-        <children xmi:type="notation:Shape" xmi:id="_XhHrcD8DEeGJ6KSvhYhYuQ" type="3066" fontName="" fontHeight="10" lineColor="0">
-          <element xmi:type="uml:EnumerationLiteral" href="corecpp.uml#_mzqd4D8CEeGJ6KSvhYhYuQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_XhHrcT8DEeGJ6KSvhYhYuQ" x="63"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_XhjwUD8DEeGJ6KSvhYhYuQ" type="3066" fontName="" fontHeight="10" lineColor="0">
-          <element xmi:type="uml:EnumerationLiteral" href="corecpp.uml#_qdIe8D8CEeGJ6KSvhYhYuQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_XhjwUT8DEeGJ6KSvhYhYuQ" x="63"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_XiAcQD8DEeGJ6KSvhYhYuQ" type="3066" fontName="" fontHeight="10" lineColor="0">
-          <element xmi:type="uml:EnumerationLiteral" href="corecpp.uml#_rOMvgD8CEeGJ6KSvhYhYuQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_XiAcQT8DEeGJ6KSvhYhYuQ" x="63"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_jQ_oZj8CEeGJ6KSvhYhYuQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_jQ_oZz8CEeGJ6KSvhYhYuQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_jQ_oaD8CEeGJ6KSvhYhYuQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jQ_oaT8CEeGJ6KSvhYhYuQ"/>
-      </children>
-      <element xmi:type="uml:Enumeration" href="corecpp.uml#_hcwDkD8CEeGJ6KSvhYhYuQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jQ_BUT8CEeGJ6KSvhYhYuQ" x="441" y="261" width="164"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_OhgzgT8AEeGJ6KSvhYhYuQ"/>
-    <element xmi:type="uml:Package" href="corecpp.uml#_aQ7goChYEd-eoo60eNyGlg"/>
-    <edges xmi:type="notation:Connector" xmi:id="_WFrvkD8AEeGJ6KSvhYhYuQ" type="4015" source="_S-NoUD8AEeGJ6KSvhYhYuQ" target="_SgFh4D8AEeGJ6KSvhYhYuQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_WFtkwD8AEeGJ6KSvhYhYuQ" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_WFuL0D8AEeGJ6KSvhYhYuQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_WFrvkT8AEeGJ6KSvhYhYuQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_sW6OkChYEd-eoo60eNyGlg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WFrvkj8AEeGJ6KSvhYhYuQ" points="[-8, -29, 27, 101]$[-27, -100, 8, 30]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tiKoID8AEeGJ6KSvhYhYuQ" id="(0.15135135135135136,0.8813559322033898)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_XN1DYD8AEeGJ6KSvhYhYuQ" type="4015" source="_TeWg8D8AEeGJ6KSvhYhYuQ" target="_SgFh4D8AEeGJ6KSvhYhYuQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_XN1qcD8AEeGJ6KSvhYhYuQ" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_XN1qcT8AEeGJ6KSvhYhYuQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_XN1DYT8AEeGJ6KSvhYhYuQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_5AKpkChiEd-eoo60eNyGlg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XN1DYj8AEeGJ6KSvhYhYuQ" points="[-7, -29, 37, 186]$[-38, -185, 6, 30]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_YLQU8D8AEeGJ6KSvhYhYuQ" type="4015" source="_T7ZpUD8AEeGJ6KSvhYhYuQ" target="_SgFh4D8AEeGJ6KSvhYhYuQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_YLQ8AD8AEeGJ6KSvhYhYuQ" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_YLQ8AT8AEeGJ6KSvhYhYuQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_YLQU8T8AEeGJ6KSvhYhYuQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_892AEChiEd-eoo60eNyGlg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YLQU8j8AEeGJ6KSvhYhYuQ" points="[-2, -29, 15, 281]$[-16, -280, 1, 30]"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vL-ekD8AEeGJ6KSvhYhYuQ" id="(0.8729729729729729,0.8983050847457628)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_gXiZ4D8AEeGJ6KSvhYhYuQ" type="4015" source="_SgFh4D8AEeGJ6KSvhYhYuQ" target="_gXAOYD8AEeGJ6KSvhYhYuQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_gXjA8D8AEeGJ6KSvhYhYuQ" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_gXjA8T8AEeGJ6KSvhYhYuQ" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_gXiZ4T8AEeGJ6KSvhYhYuQ" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_oJX3IChYEd-eoo60eNyGlg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gXiZ4j8AEeGJ6KSvhYhYuQ" points="[-103, -29, 202, 58]$[-305, -87, 0, 0]"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_DfG8kF7qEeGEmrrwB1vhPg" type="CompositeStructure" name="CompositeDiagram CallMultiplier" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_EYv6UF7qEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EYwhYF7qEeGEmrrwB1vhPg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EYwhYV7qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EYwhYl7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EYwhY17qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EYwhZF7qEeGEmrrwB1vhPg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EYwhZV7qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_c85eMF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c86FQF7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c86FQV7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c86FQl7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c9de4F7tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_c9de4V7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_EYwhZl7qEeGEmrrwB1vhPg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_EYwhZ17qEeGEmrrwB1vhPg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_EYwhaF7qEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EYwhaV7qEeGEmrrwB1vhPg"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_KxQBELuXEd2TTr3gJIvazw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EYv6UV7qEeGEmrrwB1vhPg" x="135" y="72" width="154" height="64"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_FWtXYF7qEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FWtXYl7qEeGEmrrwB1vhPg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FWtXY17qEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FWt-cF7qEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FWt-cV7qEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FWt-cl7qEeGEmrrwB1vhPg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FWt-c17qEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XrOJMF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwQF7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwQV7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwQl7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwQ17tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XrOwRF7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_FWt-dF7qEeGEmrrwB1vhPg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_FWt-dV7qEeGEmrrwB1vhPg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_FWt-dl7qEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FWt-d17qEeGEmrrwB1vhPg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_udKFYF7sEeGEmrrwB1vhPg" type="3069" fontName="Arial" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udKFYl7sEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udKFY17sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udKscF7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udKscV7sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udKscl7sEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udKsc17sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_66tLMF7sEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-FcF7sEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-FcV7sEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-Fcl7sEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-Fc17sEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7N-FdF7sEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_udKsdF7sEeGEmrrwB1vhPg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fcEHcFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PQ7DkFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_udKsdV7sEeGEmrrwB1vhPg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_udKsdl7sEeGEmrrwB1vhPg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_udKsd17sEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_udKFYV7sEeGEmrrwB1vhPg" x="-10" y="36"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_udLTgF7sEeGEmrrwB1vhPg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udLTgl7sEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udLTg17sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udLThF7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udLThV7sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_udL6kF7sEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_udL6kV7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3KisQF7sEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gixcF7sEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gjYgF7sEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gjYgV7sEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gjYgl7sEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3gjYg17sEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_udL6kl7sEeGEmrrwB1vhPg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_f-9ZIFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_f-9ZIVbDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="30"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_udL6k17sEeGEmrrwB1vhPg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_udL6lF7sEeGEmrrwB1vhPg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_udL6lV7sEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_udLTgV7sEeGEmrrwB1vhPg" x="144" y="36"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_Whe8EClYEd-eoo60eNyGlg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FWtXYV7qEeGEmrrwB1vhPg" x="135" y="198" width="154" height="64"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_b3o7wF7sEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b3pi0F7sEeGEmrrwB1vhPg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b3pi0V7sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b3pi0l7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b3pi017sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b3pi1F7sEeGEmrrwB1vhPg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b3pi1V7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bkoqwF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqwV7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqwl7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqw17tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqxF7tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bkoqxV7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_b3pi1l7sEeGEmrrwB1vhPg" type="5156"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_b3pi117sEeGEmrrwB1vhPg" type="7073">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z3t18F7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udAF7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udAV7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udAl7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udA17tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z3udBF7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_b3pi2F7sEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b3pi2V7sEeGEmrrwB1vhPg"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_TLShkF7qEeGEmrrwB1vhPg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b3o7wV7sEeGEmrrwB1vhPg" x="423" y="71" width="154" height="65"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_ck0K0F7sEeGEmrrwB1vhPg" type="2073" fontName="" fontHeight="10" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ck0x4F7sEeGEmrrwB1vhPg" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ck0x4V7sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ck0x4l7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ck0x417sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ck0x5F7sEeGEmrrwB1vhPg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ck0x5V7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UBwvMF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBwvMV7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBxWQF7tEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::InteractionComponent"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBxWQV7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBxWQl7tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UBxWQ17tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ck0x5l7sEeGEmrrwB1vhPg" type="5156">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VCInEF7tEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgMF7tEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgMV7tEeGEmrrwB1vhPg" key="StereotypeList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgMl7tEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgM17tEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WxsgNF7tEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_ck0x517sEeGEmrrwB1vhPg" type="7073">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_ck0x6F7sEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ck0x6V7sEeGEmrrwB1vhPg"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_qrnGYF7sEeGEmrrwB1vhPg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qrntcF7sEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qrntcV7sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qrntcl7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qrntc17sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qroUgF7sEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qroUgV7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zr6CMF7sEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HjcYF7sEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HjcYV7sEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HkDcF7sEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HkDcV7sEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0HkDcl7sEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qroUgl7sEeGEmrrwB1vhPg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ds_9kFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QJj7wFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="60"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qroUg17sEeGEmrrwB1vhPg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qroUhF7sEeGEmrrwB1vhPg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qroUhV7sEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qrnGYV7sEeGEmrrwB1vhPg" x="147" y="38"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_qroUhl7sEeGEmrrwB1vhPg" type="3069" fontName="" fontHeight="10" lineColor="0">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qro7kF7sEeGEmrrwB1vhPg" source="ShadowFigure">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qro7kV7sEeGEmrrwB1vhPg" key="ShadowFigure_Value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qro7kl7sEeGEmrrwB1vhPg" source="displayNameLabelIcon">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qro7k17sEeGEmrrwB1vhPg" key="displayNameLabelIcon_value" value="false"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qro7lF7sEeGEmrrwB1vhPg" source="QualifiedName">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qro7lV7sEeGEmrrwB1vhPg" key="QualifiedNameDepth" value="1000"/>
-        </eAnnotations>
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1PKksF7sEeGEmrrwB1vhPg" source="Stereotype_Annotation">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpAF7sEeGEmrrwB1vhPg" key="StereotypeWithQualifiedNameList" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpAV7sEeGEmrrwB1vhPg" key="StereotypeList" value="FCM::Port"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpAl7sEeGEmrrwB1vhPg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpA17sEeGEmrrwB1vhPg" key="PropStereoDisplay" value=""/>
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1vGpBF7sEeGEmrrwB1vhPg" key="StereotypePropertyLocation" value="Compartment"/>
-        </eAnnotations>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qro7ll7sEeGEmrrwB1vhPg" type="5125">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dHyXsFbDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PvAGsFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
-          </eAnnotations>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qro7l17sEeGEmrrwB1vhPg" x="25" y="3"/>
-        </children>
-        <children xmi:type="notation:DecorationNode" xmi:id="_qro7mF7sEeGEmrrwB1vhPg" type="6029">
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_qro7mV7sEeGEmrrwB1vhPg" x="25" y="-10"/>
-        </children>
-        <element xmi:type="uml:Port" href="corecpp.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qroUh17sEeGEmrrwB1vhPg" x="-10" y="38"/>
-      </children>
-      <element xmi:type="uml:Class" href="corecpp.uml#_Mo2kwF7pEeGEmrrwB1vhPg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ck0K0V7sEeGEmrrwB1vhPg" x="420" y="196" width="157" height="66"/>
-    </children>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_DfG8kV7qEeGEmrrwB1vhPg"/>
-    <element xmi:type="uml:Package" href="corecpp.uml#_ZISNcIQzEd2_fLv04swWfw"/>
-    <edges xmi:type="notation:Connector" xmi:id="_GsuIEF7qEeGEmrrwB1vhPg" type="4015" source="_FWtXYF7qEeGEmrrwB1vhPg" target="_EYv6UF7qEeGEmrrwB1vhPg" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_GsvWMF7qEeGEmrrwB1vhPg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_GsvWMV7qEeGEmrrwB1vhPg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_GsuIEV7qEeGEmrrwB1vhPg" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_lYOSkClzEd-eoo60eNyGlg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GsuIEl7qEeGEmrrwB1vhPg" points="[-4, -29, 13, 99]$[-13, -98, 4, 30]"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_eJ55UF7sEeGEmrrwB1vhPg" type="4015" source="_ck0K0F7sEeGEmrrwB1vhPg" target="_b3o7wF7sEeGEmrrwB1vhPg" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_eJ6gYF7sEeGEmrrwB1vhPg" type="6024">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_eJ6gYV7sEeGEmrrwB1vhPg" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_eJ55UV7sEeGEmrrwB1vhPg" fontName="" fontHeight="10"/>
-      <element xmi:type="uml:Generalization" href="corecpp.uml#_eJqowF7sEeGEmrrwB1vhPg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eJ55Ul7sEeGEmrrwB1vhPg" points="[-9, -10, -7, 96]$[-9, -76, -7, 30]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eKfIIF7sEeGEmrrwB1vhPg" id="(0.504424778761062,0.1694915254237288)"/>
-    </edges>
-  </notation:Diagram>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/corecpp.uml b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/corecpp.uml
deleted file mode 100644
index 7b800fb..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/corecpp.uml
+++ /dev/null
@@ -1,1507 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:l2="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML">
-  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="core" viewpoint="">
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
-      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_clzbsC3xEd6OqY3qskOtLQ">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/sysinterfaces.uml#_RodVAAweEd6it_RkGhz_AA"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_hWGaIF9CEd6vU6EJjexEKQ">
-      <importedPackage xmi:type="uml:Model" href="pathmap://PDML_IDL/corba.uml#_DtQEwDLdEd2_U4efLnjQIw"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_K9IBUP-FEd6628OhKk_dpg">
-      <importedPackage xmi:type="uml:Model" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_DV8nkBv8EduZN5aJJITI5w"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_mXnzUPQdEeCIC-7tA9lfzA">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/osal.uml#_ROTQYC-OEdySSa8YESkO2w"/>
-    </packageImport>
-    <packagedElement xmi:type="uml:Package" xmi:id="_TFq8cOy6Ed2UrumbR9YAVg" name="composites">
-      <packagedElement xmi:type="uml:Class" xmi:id="_WK3LwOy6Ed2UrumbR9YAVg" name="Composite">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_IiLnAMFjEd-Mveea1W_olA">
-          <body>currently unused, not sure whether really needed</body>
-        </ownedComment>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_2JtG8Oy6Ed2UrumbR9YAVg" name="b:createConnections" visibility="package" specification="_wlXUoOy6Ed2UrumbR9YAVg">
-          <language>C/C++</language>
-          <body>[template (clazz: Class)]
-/* --- create internal connections --- */
-[for (connector : Connector | clazz.getOwnedConnectors())]%>
-	[comment call createConnection (this = connector instance) define in utils /]
-	// connector [connector.name/]
-	[createConnection(connector)/]
-[/for]
-[/template]</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_D83p8Oy9Ed2UrumbR9YAVg" name="b:setup" specification="_BTEWIOy9Ed2UrumbR9YAVg">
-          <language>C/C++</language>
-          <body>[template (clazz: Class)]
-// createParts
-// assign implementations fixed at component design time
-[for (Property part | clazz.part)]
-	[if (type.isImplementation)]
-	[part.name/] = &amp;m_[part.name/]_impl;
-	[/if]
-[/for]
-	
-// assign implementation fixed at deployment time
-[for (Property part | clazz.part)]
-	[if (type.isImplementation)]
-m_[part.name/] = [part.name/]
-	[/if]
-[/for]
-[/template]</body>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_wlXUoOy6Ed2UrumbR9YAVg" name="createConnections" method="_2JtG8Oy6Ed2UrumbR9YAVg"/>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_BTEWIOy9Ed2UrumbR9YAVg" name="setup" method="_D83p8Oy9Ed2UrumbR9YAVg"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_1RehUAGpEd6eR-dxi5su4Q" name="BootLoader">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_JMwYwMGJEd-Mveea1W_olA">
-          <body>A template for the bootloader generation.</body>
-        </ownedComment>
-        <ownedComment xmi:type="uml:Comment" xmi:id="_JM4UkMGJEd-Mveea1W_olA">
-          <body>This C++ implementation of the template contains principally the definition of the 
-&quot;main&quot; function and the declaration of the bootloader instance</body>
-        </ownedComment>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_AFnZUAGqEd6eR-dxi5su4Q" name="b:createInstances" specification="_3kwykAGpEd6eR-dxi5su4Q">
-          <language>C/C++</language>
-          <body>&lt;%createInstances%></body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_IbrFUAGqEd6eR-dxi5su4Q" name="b:main" specification="_6pkAUAGpEd6eR-dxi5su4Q"/>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_3kwykAGpEd6eR-dxi5su4Q" name="createInstances" method="_AFnZUAGqEd6eR-dxi5su4Q"/>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_6pkAUAGpEd6eR-dxi5su4Q" name="main" isStatic="true" method="_IbrFUAGqEd6eR-dxi5su4Q"/>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_mMCK8PiPEd2UhpY2Y3WUyg" name="methodCall">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_WiuBUK8rEeCXIcykFPsB8Q" annotatedElement="_mMCK8PiPEd2UhpY2Y3WUyg">
-        <body>Main package template for all call based connectors. The formal parameter is the interface I (which is bound to the actual interface used in a call).
-This package is virtually extended by other model libraries who import it.</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="__oxUADrVEeGMCcwsbpLuFA" annotatedElement="_j29X4NttEd2eM5kqcby5ZA">
-        <body>Inheritance hierarchy for (A)SyncCall component types. Separate types for required (rconn) and provided (fconn) ports enable re-use via inheritance ain multiple places (e.g. for AMI ports that use an unmodified provided port and different variants of a required port).
-Note that ports on connector side are conjugated</body>
-      </ownedComment>
-      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_V0b2APfBEd2TbIfwytOyPA" parameter="_WzWVUPfBEd2TbIfwytOyPA">
-        <ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_WzWVUPfBEd2TbIfwytOyPA" parameteredElement="_ZzlzMPfBEd2TbIfwytOyPA">
-          <ownedParameteredElement xmi:type="uml:Interface" xmi:id="_ZzlzMPfBEd2TbIfwytOyPA" name="I" templateParameter="_WzWVUPfBEd2TbIfwytOyPA"/>
-        </ownedParameter>
-      </ownedTemplateSignature>
-      <packagedElement xmi:type="uml:Package" xmi:id="_ZISNcIQzEd2_fLv04swWfw" name="AsyncCall">
-        <packagedElement xmi:type="uml:Class" xmi:id="_KxQBELuXEd2TTr3gJIvazw" name="AsyncCall" isAbstract="true">
-          <generalization xmi:type="uml:Generalization" xmi:id="_0KzSsDBEEd6V16eboHV1gw" general="_j29X4NttEd2eM5kqcby5ZA"/>
-          <generalization xmi:type="uml:Generalization" xmi:id="_1H2JwDBEEd6V16eboHV1gw" general="_mIpj8Ns8Ed2eM5kqcby5ZA"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_Whe8EClYEd-eoo60eNyGlg" clientDependency="_nBpugClzEd-eoo60eNyGlg" name="AsyncCall_impl">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_sp9YYG5fEd-5CZIeuHpHAg">
-            <body>Description: A simple implementation of asynchronous calls. It will execution requests by means of a single dispatcher thread</body>
-          </ownedComment>
-          <ownedComment xmi:type="uml:Comment" xmi:id="_HMz-ADJKEeCAhMtIsY9HwA">
-            <body>Simple asynchronous call implementation: returns immediately and executes request in new thread</body>
-          </ownedComment>
-          <ownedComment xmi:type="uml:Comment" xmi:id="_bustsDJKEeCAhMtIsY9HwA">
-            <body>Uses buffer and ASN marshalling.
-TODO: configurable buffer size, use data structure (CppParameterStorage)</body>
-          </ownedComment>
-          <generalization xmi:type="uml:Generalization" xmi:id="_lYOSkClzEd-eoo60eNyGlg" general="_KxQBELuXEd2TTr3gJIvazw"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_1XeLIED5Ed-_DOja_sRgWA" name="buffer" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8wC7MED5Ed-_DOja_sRgWA" value="500"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8wLeEED5Ed-_DOja_sRgWA" value="500"/>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_2fcqYED6Ed-_DOja_sRgWA" name="pBuffer" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-          </ownedAttribute>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_nBpugClzEd-eoo60eNyGlg" name="derived realization of I" client="_Whe8EClYEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_WhfjIilYEd-eoo60eNyGlg" name="[name/]" specification="_2bwsEClzEd-eoo60eNyGlg">
-            <language>C/C++</language>
-            <body>[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool/]
-[import org::eclipse::papyrus::qompass::designer::core::acceleo::utils_cpp/]
-
-[template public op(operation : Operation)]
-// TODO: need suitable constant dimensioning
-pBuffer = &amp;buffer['['/]500[']'/];  // grows backwards
-int operationID = ID_[operation.name/];
-	
-// now marshall in and inout parameters via ASN.1
-[for (parameter : Parameter | operation.parametersInInout())]
-{
-	[parameter.type.cppType()/] varName_ASN = [parameter.name/];
-	BEncAsnContent (&amp;pBuffer, &amp;varName_ASN);
-}
-[/for]
-BEncAsnContent (&amp;pBuffer, &amp;operationID);
-
-pthread_t pt;
-pthread_create (&amp;pt, NULL, staticDispatch, (void *) this);
-// TODO: add semaphore which assures that subsequent calls to [operation.name/] are not executed before dispatch
-// has removed the parameters from the pBuffer stack (pBuffer can be corrupted).
-[/template]</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_WhfjIylYEd-eoo60eNyGlg" name="static[name/]" specification="_WhfjJSlYEd-eoo60eNyGlg">
-            <language>C/C++</language>
-            <body>((AsyncCall_impl *) arg)->dispatch ();
-return NULL;
-</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_nV2DcED5Ed-_DOja_sRgWA" name="dispatch" specification="_G6LzAD3QEd-Bk-AHd6yyoA">
-            <language>C/C++</language>
-            <body>[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool/]
-[import org::eclipse::papyrus::qompass::designer::core::acceleo::utils_cpp/]
-
-[template public dispatch(clazz : Class)]
-int operationID;
-BDecAsnContent (&amp;pBuffer, operationID);
-switch (operationID)
-{
-[for (operation : Operation | clazz.ownedOperation)]
-  case ID_[operation.name/]
-	{
-	[for (parameter : Parameter | operation.parametersInInout()->reverse())]
-		[parameter.type.cppType()/] [parameter.name/]
-		{
-			[parameter.type.cppType()/] varName_ASN; 
-			BDecAsnContent (&amp;pBuffer, &amp;varName_ASN);
-			[parameter.name/] = varName_ASN;
-		}
-	[/for]
-		// delegate call to executor
-		rconn->[operation.cppCall()/];
-		break;
-	}
-[/for]
-}
-[/template]</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_WhfjJSlYEd-eoo60eNyGlg" name="staticDispatch" isStatic="true" method="_WhfjIylYEd-eoo60eNyGlg">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_WhfjJilYEd-eoo60eNyGlg" name="arg">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WhfjKClYEd-eoo60eNyGlg" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WhfjJylYEd-eoo60eNyGlg" value="1"/>
-              <defaultValue xmi:type="uml:LiteralString" xmi:id="_WhfjKSlYEd-eoo60eNyGlg">
-                <value xsi:nil="true"/>
-              </defaultValue>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_WhfjKilYEd-eoo60eNyGlg" name="ret" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            </ownedParameter>
-          </ownedOperation>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_2bwsEClzEd-eoo60eNyGlg" name="[name/]" method="_WhfjIilYEd-eoo60eNyGlg"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_G6LzAD3QEd-Bk-AHd6yyoA" name="dispatch" method="_nV2DcED5Ed-_DOja_sRgWA"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_pXzKcEJ1Ed-Ps4Bfh0j9LQ" clientDependency="_pXzxh0J1Ed-Ps4Bfh0j9LQ" name="AsyncCallPool_impl">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_spsPMDJKEeCAhMtIsY9HwA">
-            <body>(untested) implementation of an asynchronous invocation that uses a thread pool for
-spawning new requests</body>
-          </ownedComment>
-          <generalization xmi:type="uml:Generalization" xmi:id="_pXzKcUJ1Ed-Ps4Bfh0j9LQ" general="_KxQBELuXEd2TTr3gJIvazw"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_pXzxgEJ1Ed-Ps4Bfh0j9LQ" name="buffer" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pXzxgkJ1Ed-Ps4Bfh0j9LQ" value="500"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pXzxgUJ1Ed-Ps4Bfh0j9LQ" value="500"/>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_pXzxg0J1Ed-Ps4Bfh0j9LQ" name="pBuffer" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-          </ownedAttribute>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_pXzxh0J1Ed-Ps4Bfh0j9LQ" name="derived realization of I" client="_pXzKcEJ1Ed-Ps4Bfh0j9LQ" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_pXzxhEJ1Ed-Ps4Bfh0j9LQ" name="[name/]" specification="_pXzxjkJ1Ed-Ps4Bfh0j9LQ">
-            <language>C/C++</language>
-            <body>[template marshall(operation: Operation)]
-// TODO: need suitable constant dimensioning
-pBuffer = &amp;buffer[500];  // grows backwards
-int operationID = ID_[operation.name/];
-	
-// now marshall in and inout parameters via ASN.1
-for (parameter : Parameter | parametersInInout(operation)]
-{
-	[cppType(parameter.type)/] varName_ASN = [parameter.name/];
-	BEncAsnContent (&amp;pBuffer, &amp;varName_ASN);
-}
-[/for]
-BEncAsnContent (&amp;pBuffer, &amp;operationID);
-
-// find associated thread and signal its semaphore
-// pass &quot;this&quot; to access buffer
-// pthread_t pt;
-// pthread_create (&amp;pt, NULL, staticDispatch, (void *) this);
-// TODO: add semaphore which assures that 2 snd calls to [operation.name/] is not done before dispatch
-// is executed
-[/template]
-</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_pXzxhUJ1Ed-Ps4Bfh0j9LQ" name="static[name/]" specification="_pXzxiEJ1Ed-Ps4Bfh0j9LQ">
-            <language>C/C++</language>
-            <body>((AsyncCall_impl *) arg)->dispatch ();
-return NULL;
-</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_pXzxhkJ1Ed-Ps4Bfh0j9LQ" name="dispatch" specification="_pXzxj0J1Ed-Ps4Bfh0j9LQ">
-            <language>C/C++</language>
-            <body>[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool/]
-[import org::eclipse::papyrus::qompass::designer::core::acceleo::utils_cpp/]
-
-[template public dispatch(clazz : Class)]
-int operationID;
-BDecAsnContent (&amp;pBuffer, operationID);
-switch (operationID)
-{
-[for (operation : Operation | clazz.ownedOperation)]
-  case ID_[operation.name/]
-	{
-	[for (parameter : Parameter | operation.parametersInInout()->reverse())]
-		[parameter.type.cppType()/] [parameter.name/]
-		{
-			[cppType(parameter.type)/] varName_ASN; 
-			BDecAsnContent (&amp;pBuffer, &amp;varName_ASN);
-			[parameter.name/] = varName_ASN;
-		}
-	[/for]
-		// delegate call to executor
-		[if (not (type = null))] [operation.type.cppType()/] ret = [/if]rconn->[operation.cppCall()/];
-	[for (parameter : Parameter | operation.parametersOutInout())]
-		{
-			[parameter.type.cppType()/] varName_ASN = [parameter.name/];
-			BEncAsnContent (&amp;pBuffer, &amp;varName_ASN);
-		}
-	[/for]
-		resultsReady = 1;
-		break;
-	}
-[/for]
-}
-[/template]
-</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_pXzxiEJ1Ed-Ps4Bfh0j9LQ" name="staticDispatch" isStatic="true" method="_pXzxhUJ1Ed-Ps4Bfh0j9LQ">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_pXzxiUJ1Ed-Ps4Bfh0j9LQ" name="arg">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pXzxi0J1Ed-Ps4Bfh0j9LQ" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pXzxikJ1Ed-Ps4Bfh0j9LQ" value="1"/>
-              <defaultValue xmi:type="uml:LiteralString" xmi:id="_pXzxjEJ1Ed-Ps4Bfh0j9LQ">
-                <value xsi:nil="true"/>
-              </defaultValue>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_pXzxjUJ1Ed-Ps4Bfh0j9LQ" name="ret" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            </ownedParameter>
-          </ownedOperation>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_pXzxjkJ1Ed-Ps4Bfh0j9LQ" name="[name/]" method="_pXzxhEJ1Ed-Ps4Bfh0j9LQ"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_pXzxj0J1Ed-Ps4Bfh0j9LQ" name="dispatch" method="_pXzxhkJ1Ed-Ps4Bfh0j9LQ"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_3itBkNdwEd-ZnqCk2P2ZKg" clientDependency="_3itBmtdwEd-ZnqCk2P2ZKg" name="AMIPollCall_impl">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_3itBkddwEd-ZnqCk2P2ZKg">
-            <body>Description: A simple implementation of asynchronous calls. It will execution requests by means of a single dispatcher thread</body>
-          </ownedComment>
-          <ownedComment xmi:type="uml:Comment" xmi:id="_lEC3ADJLEeCAhMtIsY9HwA">
-            <body>Polling variant of corbas asynchronous messaging (AMI), enables asynchronous calls while reading
-return values (also called deferred synchronous):
-Instead of specified return values, functions return a poller object which may be queried for
-the result.
-TODO: complete, move into model of Qompass AMI plugin</body>
-          </ownedComment>
-          <generalization xmi:type="uml:Generalization" xmi:id="_3itBktdwEd-ZnqCk2P2ZKg" general="_KxQBELuXEd2TTr3gJIvazw"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_3itBk9dwEd-ZnqCk2P2ZKg" name="buffer" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3itBlddwEd-ZnqCk2P2ZKg" value="500"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3itBlNdwEd-ZnqCk2P2ZKg" value="500"/>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_3itBltdwEd-ZnqCk2P2ZKg" name="pBuffer" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-          </ownedAttribute>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_3itBmtdwEd-ZnqCk2P2ZKg" name="derived realization of I" client="_3itBkNdwEd-ZnqCk2P2ZKg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_3itBl9dwEd-ZnqCk2P2ZKg" name="[name/]" specification="_3itBoddwEd-ZnqCk2P2ZKg">
-            <language>C/C++</language>
-            <body>[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool/]
-[import org::eclipse::papyrus::qompass::designer::core::acceleo::utils_cpp/]
-
-[template public marshall(operation : Operation)]
-[if (operation.name.oclAsType(String).endsWith('Poll'))]
-[comment polling function/]
-if (!resultArrived) {
-	// wait for result, condition will be fired upon arrival
-	TimeVal timeVal = TimeVal::current () + timeout;
-	m_cond.waitUpto (timeout);
-}
-	[for (parameter : Parameter | operation.parametersInInout()->reverse())]
-		[parameter.type.cppType()/] [parameter.name/];
-		{
-			[parameter.type.cppType()/] varName_ASN; 
-			BDecAsnContent (&amp;pBuffer, &amp;varName_ASN);
-			[parameter.name/] = varName_ASN;
-		}
-	[/for]
-}
-[if (not (type = null))]return retValue;[/if]
-[else]
-// TODO: need suitable constant dimensioning
-pBuffer = &amp;buffer['['/]500[']'/];  // grows backwards
-int operationID = ID_[operation.name/];
-	
-// now marshall in and inout parameters via ASN.1
-[for (parameter : Parameter | operation.parametersInInout())]
-	[parameter.type.cppType()/] [parameter.name/];
-	{
-		[parameter.type.cppType()/] varName_ASN = [parameter.name/];
-		BEncAsnContent (&amp;pBuffer, &amp;varName_ASN);
-	}
-[/for]
-BEncAsnContent (&amp;pBuffer, &amp;operationID);
-
-pthread_t pt;
-pthread_create (&amp;pt, NULL, staticDispatch, (void *) this);
-// TODO: add semaphore which assures that subsequent calls to [operation.name/] are not executed before dispatch
-// has removed the parameters from the pBuffer stack (pBuffer can be corrupted).
-// even worse: buffer will be deallocated even without a 2nd call!
-[/if]
-[/template]</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_3itBmNdwEd-ZnqCk2P2ZKg" name="static[name/]" specification="_3itBm9dwEd-ZnqCk2P2ZKg">
-            <language>C/C++</language>
-            <body>((AsyncCall_impl *) arg)->dispatch ();
-return NULL;
-</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_3itBmddwEd-ZnqCk2P2ZKg" name="dispatch" specification="_3itBotdwEd-ZnqCk2P2ZKg">
-            <language>C/C++</language>
-            <body>[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool/]
-[import org::eclipse::papyrus::qompass::designer::core::acceleo::utils_cpp/]
-
-[template public dispatch(clazz : Class)]
-int operationID;
-BDecAsnContent (&amp;pBuffer, operationID);
-switch (operationID)
-{
-[for (operation : Operation | clazz.ownedOperation)]
-  case ID_[operation.name/]
-	{
-	[for (parameter : Parameter | operation.parametersInInout()->reverse())]
-		[parameter.type.cppType()/] [parameter.name/]
-		{
-			[cppType(parameter.type)/] varName_ASN; 
-			BDecAsnContent (&amp;pBuffer, &amp;varName_ASN);
-			[parameter.name/] = varName_ASN;
-		}
-	[/for]
-		// delegate call to executor
-		[if (not (type = null))] [operation.type.cppType()/] ret = [/if]rconn->[operation.cppCall()/];
-	[for (parameter : Parameter | operation.parametersOutInout())]
-		{
-			[parameter.type.cppType()/] varName_ASN = [parameter.name/];
-			BEncAsnContent (&amp;pBuffer, &amp;varName_ASN);
-		}
-	[/for]
-		resultsReady = 1;
-		break;
-	}
-[/for]
-}
-[/template]
-</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_3itBm9dwEd-ZnqCk2P2ZKg" name="staticDispatch" isStatic="true" method="_3itBmNdwEd-ZnqCk2P2ZKg">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_3itBnNdwEd-ZnqCk2P2ZKg" name="arg">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3itBntdwEd-ZnqCk2P2ZKg" value="1"/>
-              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3itBnddwEd-ZnqCk2P2ZKg" value="1"/>
-              <defaultValue xmi:type="uml:LiteralString" xmi:id="_3itBn9dwEd-ZnqCk2P2ZKg">
-                <value xsi:nil="true"/>
-              </defaultValue>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_3itBoNdwEd-ZnqCk2P2ZKg" name="ret" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            </ownedParameter>
-          </ownedOperation>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_3itBoddwEd-ZnqCk2P2ZKg" name="[name/]" method="_3itBl9dwEd-ZnqCk2P2ZKg"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_3itBotdwEd-ZnqCk2P2ZKg" name="dispatch" method="_3itBmddwEd-ZnqCk2P2ZKg"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_Mo2kwF7pEeGEmrrwB1vhPg" clientDependency="_8e_ocF7sEeGEmrrwB1vhPg" name="CallMultiplier_impl">
-          <generalization xmi:type="uml:Generalization" xmi:id="_eJqowF7sEeGEmrrwB1vhPg" general="_TLShkF7qEeGEmrrwB1vhPg"/>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_8e_ocF7sEeGEmrrwB1vhPg" name="derived realization of I" client="_Mo2kwF7pEeGEmrrwB1vhPg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DmUQcF7tEeGEmrrwB1vhPg" name="operation1" specification="_ChD4kF7tEeGEmrrwB1vhPg">
-            <language>C/C++</language>
-            <body>[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool/]
-[import org::eclipse::papyrus::qompass::designer::core::acceleo::utils_cpp/]
-
-[template public multiply(operation : Operation)]
-for (int i=0; i&lt;9; i++) {
-	if (rconn['['/]i[']'/] != 0) {
-		rconn['['/]i[']'/]->[operation.cppCall()/];
-	}
-}
-[/template]</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_ChD4kF7tEeGEmrrwB1vhPg" name="[name/]" method="_DmUQcF7tEeGEmrrwB1vhPg"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_TLShkF7qEeGEmrrwB1vhPg" name="AsyncCallM" isAbstract="true">
-          <generalization xmi:type="uml:Generalization" xmi:id="_WhUpQF7qEeGEmrrwB1vhPg" general="_0KYOQF7pEeGEmrrwB1vhPg"/>
-          <generalization xmi:type="uml:Generalization" xmi:id="_XgUoIF7qEeGEmrrwB1vhPg" general="_j29X4NttEd2eM5kqcby5ZA"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Enumeration" xmi:id="_2oxDIPiPEd2UhpY2Y3WUyg" name="OperationIDs">
-        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_KOvHsPiREd2UhpY2Y3WUyg" name="ID_[name/]"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_j29X4NttEd2eM5kqcby5ZA" name="OPC_useI" isAbstract="true">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_P4xVsNtuEd2eM5kqcby5ZA" name="fconn" type="_ZzlzMPfBEd2TbIfwytOyPA" aggregation="composite" isConjugated="true"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_mIpj8Ns8Ed2eM5kqcby5ZA" name="OPC_provideI" isAbstract="true">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_Qk0jYNtuEd2eM5kqcby5ZA" name="rconn" visibility="public" type="_ZzlzMPfBEd2TbIfwytOyPA" aggregation="composite" isConjugated="true">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rftH8ENwEeGoAtSeIK7WLg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rfxZYENwEeGoAtSeIK7WLg" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_rf3gAENwEeGoAtSeIK7WLg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_gKMTIAytEd6it_RkGhz_AA" name="marshalling">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_9gpvcENxEeGoAtSeIK7WLg">
-          <body>Needs completion:
-good(?) write buffer event?
-Call operations of buffer component?
-[could have done in an identical way for EventPool]</body>
-        </ownedComment>
-        <ownedComment xmi:type="uml:Comment" xmi:id="_pk4cMEN_EeGfhclnRyNzoA">
-          <body>Marshalling is done at two levels:
-(1) In case of a shared address space, only a callEvent is created. It can be passed between threads within a process.
-(2) For remote communication, marshalling into a buffer is done.</body>
-        </ownedComment>
-        <packagedElement xmi:type="uml:Class" xmi:id="_b_yh4AzyEd6it_RkGhz_AA" name="Marshall" isAbstract="true">
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_rSCxUAytEd6it_RkGhz_AA" name="disp" visibility="public" aggregation="composite">
-            <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_7TuzoCUUEd6YR-YzyVnLng"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HZg9YPQSEeCovO8AYZymZQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HaX5APQSEeCovO8AYZymZQ" value="1"/>
-            <defaultValue xmi:type="uml:LiteralString" xmi:id="_Hfsd4PQSEeCovO8AYZymZQ">
-              <value xsi:nil="true"/>
-            </defaultValue>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_MhH6cENxEeGoAtSeIK7WLg" name="in" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QR4PQENxEeGoAtSeIK7WLg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QR5dYENxEeGoAtSeIK7WLg" value="1"/>
-          </ownedAttribute>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_fmF6MAzyEd6it_RkGhz_AA" name="Unmarshall" isAbstract="true">
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_r5Va0AytEd6it_RkGhz_AA" name="disp" visibility="public" aggregation="composite">
-            <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_7TuzoCUUEd6YR-YzyVnLng"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WNWcQEN-EeGfhclnRyNzoA" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WNY4gEN-EeGfhclnRyNzoA" value="1"/>
-            <defaultValue xmi:type="uml:LiteralString" xmi:id="_WNe_IEN-EeGfhclnRyNzoA">
-              <value xsi:nil="true"/>
-            </defaultValue>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_Zd558ENxEeGoAtSeIK7WLg" name="out" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aPDDAENxEeGoAtSeIK7WLg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aPERIENxEeGoAtSeIK7WLg" value="1"/>
-          </ownedAttribute>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_fPpr0K-jEd6DndT7kDY1-A" name="b:dispatch">
-            <specification xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#__aGzICUUEd6YR-YzyVnLng"/>
-          </ownedBehavior>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="__uJRYPNGEeCovO8AYZymZQ" name="StructBased">
-          <generalization xmi:type="uml:Generalization" xmi:id="_EWShMPNHEeCovO8AYZymZQ" general="_b_yh4AzyEd6it_RkGhz_AA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_qRJc8PNJEeCovO8AYZymZQ" name="[name/]" specification="_aGt1sPNJEeCovO8AYZymZQ">
-            <language>C/C++</language>
-            <body>[template marshallStruct(operation : Operation)]
-struct ParamData {
-[for (parameter : Parameter | parametersInInout(operation))]
-	int [cppType(name)/];
-[/for]
-};
-Event event;
-event.ID = [operation.name/];
-event.kind = CallEvent;
-ParamData * data = &amp;event.params; 
-[for (parameter : Parameter | parametersInInout(operation))]
-	data->[parameter.name/] = [parameter.name/];
-[/for]
-out->dispatch(event);</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_aGt1sPNJEeCovO8AYZymZQ" name="[name/]" method="_qRJc8PNJEeCovO8AYZymZQ"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_u7MmIENqEeGoAtSeIK7WLg" name="ToCallEvent">
-          <generalization xmi:type="uml:Generalization" xmi:id="_K088oF_rEd6RvK-1A151zQ" general="_j29X4NttEd2eM5kqcby5ZA"/>
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_-nk_cENqEeGoAtSeIK7WLg" name="out" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AdVAIENrEeGoAtSeIK7WLg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AdW1UENrEeGoAtSeIK7WLg" value="1"/>
-            <defaultValue xmi:type="uml:LiteralString" xmi:id="_Adf_QENrEeGoAtSeIK7WLg">
-              <value xsi:nil="true"/>
-            </defaultValue>
-          </ownedAttribute>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_1xGG8ENqEeGoAtSeIK7WLg" name="FromCallEventWP">
-          <generalization xmi:type="uml:Generalization" xmi:id="_M09FgF_rEd6RvK-1A151zQ" general="_mIpj8Ns8Ed2eM5kqcby5ZA"/>
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_9gIc8ENvEeGoAtSeIK7WLg" name="in" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9uDkMENvEeGoAtSeIK7WLg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9uEyUENvEeGoAtSeIK7WLg" value="1"/>
-          </ownedAttribute>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_H7IOcENrEeGoAtSeIK7WLg" name="ToCallEventWP">
-          <generalization xmi:type="uml:Generalization" xmi:id="_KHmGAENrEeGoAtSeIK7WLg" general="_j29X4NttEd2eM5kqcby5ZA"/>
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_i5SOQEN8EeGfhclnRyNzoA" name="out" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jRB_4EN8EeGfhclnRyNzoA" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jRtVUEN8EeGfhclnRyNzoA" value="1"/>
-          </ownedAttribute>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_RjvvcA1jEd6tvthBDl600Q" name="SyncCall">
-        <packagedElement xmi:type="uml:Class" xmi:id="_Zx2ZUA1jEd6tvthBDl600Q" name="SyncCall" isAbstract="true">
-          <generalization xmi:type="uml:Generalization" xmi:id="_STdvYDBFEd6V16eboHV1gw" general="_j29X4NttEd2eM5kqcby5ZA"/>
-          <generalization xmi:type="uml:Generalization" xmi:id="_T1zr4DBFEd6V16eboHV1gw" general="_mIpj8Ns8Ed2eM5kqcby5ZA"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_jOU60A1jEd6tvthBDl600Q" clientDependency="_1tfFAJyCEd6WR4pSVO_UYw" name="DirectCall_impl">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_MgKU8G5gEd-5CZIeuHpHAg">
-            <body>Description: This connector is a kind of dummy connector, since it only passes incoming requests to its caller port</body>
-          </ownedComment>
-          <ownedComment xmi:type="uml:Comment" xmi:id="_0fC3UDJJEeCAhMtIsY9HwA">
-            <body>Minimal connector implementation that does nothing (but passing requests)</body>
-          </ownedComment>
-          <ownedComment xmi:type="uml:Comment" xmi:id="_0fOdgDJJEeCAhMtIsY9HwA">
-            <body></body>
-          </ownedComment>
-          <generalization xmi:type="uml:Generalization" xmi:id="_lm4GkA1jEd6tvthBDl600Q" general="_Zx2ZUA1jEd6tvthBDl600Q"/>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_1tfFAJyCEd6WR4pSVO_UYw" name="derived realization of I" client="_jOU60A1jEd6tvthBDl600Q" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_GSdesJ09Ed6l5bTPBsl00Q" name="[name/]" specification="__y0hwJ08Ed6l5bTPBsl00Q">
-            <language>C/C++</language>
-            <body>[import org::eclipse::papyrus::qompass::designer::core::acceleo::utils_cpp/]
-
-[template public methodCall(operation : Operation)]
-// put pre-interceptors here
-[comment type is a derived property containing the operations return type/]
-[if not (operation.type = null)]return [/if]rconn->[operation.cppCall()/];
-// put post-interceptors here
-[/template]</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="__y0hwJ08Ed6l5bTPBsl00Q" name="[name/]" method="_GSdesJ09Ed6l5bTPBsl00Q"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_UAIU0K-iEd6DndT7kDY1-A" name="AdaptiveContainerServices">
-        <packagedElement xmi:type="uml:Class" xmi:id="_cxVEsK-iEd6DndT7kDY1-A" clientDependency="_v-oAAK-iEd6DndT7kDY1-A" name="SampleInterceptor">
-          <generalization xmi:type="uml:Generalization" xmi:id="_lrS8oAQxEd--t-uhRn9OBA" general="_Zx2ZUA1jEd6tvthBDl600Q"/>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_v-oAAK-iEd6DndT7kDY1-A" name="derived realization of I" client="_cxVEsK-iEd6DndT7kDY1-A" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_GTvA0K-jEd6DndT7kDY1-A" name="[name/]" specification="_16jy8K-iEd6DndT7kDY1-A">
-            <language>C/C++</language>
-            <body>cout &lt;&lt; &quot;this is a sample pre-call interception&quot; &lt;&lt; endl;
-rconn->&lt;%cppCall%>;
-cout &lt;&lt; &quot;this is a sample post-call interception&quot; &lt;&lt; endl;</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_16jy8K-iEd6DndT7kDY1-A" name="[name/]" method="_GTvA0K-jEd6DndT7kDY1-A"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_aQ7goChYEd-eoo60eNyGlg" name="CallActivation">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_aAH58D8CEeGJ6KSvhYhYuQ">
-          <body>A set of Leader followers is instantiated. Each has its own thread and a semaphore. The LF instance waits on its semaphore. When selectLeader is called, a follower is signaled (semaphore is posted) and will become leader. The leader waits for a resource (e.g. a socket) and becomes executor.
-</body>
-        </ownedComment>
-        <packagedElement xmi:type="uml:Class" xmi:id="_e6Y_EChYEd-eoo60eNyGlg" name="Activator">
-          <generalization xmi:type="uml:Generalization" xmi:id="_oJX3IChYEd-eoo60eNyGlg" general="_KxQBELuXEd2TTr3gJIvazw"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_qgzokChYEd-eoo60eNyGlg" clientDependency="_cWjrYCsAEd-uZPFNCty7PQ" name="LeaderFollower">
-          <generalization xmi:type="uml:Generalization" xmi:id="_sW6OkChYEd-eoo60eNyGlg" general="_e6Y_EChYEd-eoo60eNyGlg"/>
-          <ownedAttribute xmi:type="uml:Port" xmi:id="_N0tB4Cu4Ed-uZPFNCty7PQ" name="listener" type="_fxfe8Cu1Ed-uZPFNCty7PQ" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UxKdsCu4Ed-uZPFNCty7PQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_UxM58Cu4Ed-uZPFNCty7PQ" value="1"/>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="__fLb4Cu5Ed-uZPFNCty7PQ" name="state" type="_F3CIECu1Ed-uZPFNCty7PQ" isUnique="false" aggregation="composite"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_M4VG8Cu9Ed-uZPFNCty7PQ" name="m_sema" type="_fxfe8Cu1Ed-uZPFNCty7PQ" isUnique="false" aggregation="composite"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_rmwGoCu-Ed-uZPFNCty7PQ" name="m_sr" isStatic="true" type="_qgzokChYEd-eoo60eNyGlg" isUnique="false" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zYwqYCu-Ed-uZPFNCty7PQ" value="20"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zY4mMCu-Ed-uZPFNCty7PQ" value="20"/>
-          </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_xukAICvDEd-uZPFNCty7PQ" name="m_tID" type="_5KatsCvDEd-uZPFNCty7PQ" isUnique="false" aggregation="composite"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_Xq00oCvHEd-uZPFNCty7PQ" name="POOL_SIZE" isStatic="true" isUnique="false" aggregation="composite">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_ZmFncCvHEd-uZPFNCty7PQ" value="20"/>
-          </ownedAttribute>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_cWjrYCsAEd-uZPFNCty7PQ" name="derived realization of I" client="_qgzokChYEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_D8z3ECu1Ed-uZPFNCty7PQ" name="run" specification="_2FN1ICu0Ed-uZPFNCty7PQ">
-            <language>C/C++</language>
-            <body>for (;;) {
-	// wait to be become active
-	m_state = FOLLOWER;
-	sem_wait (&amp;m_sema);
-	m_state = LEADER;
-	listener->select();     // no loop, single select
-	selectLeader ();
-	m_state = EXECUTOR;
-	listener->exec();
-}
-
-</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_wXEiYCu7Ed-uZPFNCty7PQ" name="selectLeader" specification="_eHX3wCu7Ed-uZPFNCty7PQ">
-            <language>C/C++</language>
-            <body>// select a new leader from the followers
-for (int i = currentIndex+1, j=0; j&lt;POOL_SIZE; i++, j++)
-{
-	if (i == POOL_SIZE) {
-		i = 0;
-	}
-	if (sr[i].state == FOLLOWER) {
-		sem_post (&amp;sr[i].m_sema);
-		break;
-	}
-}</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_4M1S0Cu9Ed-uZPFNCty7PQ" name="LeaderFollower" specification="_JM4I4Cu9Ed-uZPFNCty7PQ">
-            <language>C/C++</language>
-            <body>sem_init (&amp;m_sema, 0, 0);
-m_state = FOLLOWER;</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_OyEk4Cu_Ed-uZPFNCty7PQ" name="init" specification="_6cImgCu-Ed-uZPFNCty7PQ">
-            <language>C/C++</language>
-            <body>for (int i=0; i&lt;POOL_SIZE; i++) {
-	pthread_create (&amp;m_sr.m_tID, 0, runStatic, &amp;m_sr[i]);
-}</body>
-          </ownedBehavior>
-          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_AGUogCvHEd-uZPFNCty7PQ" name="runStatic" specification="_z-laoCvGEd-uZPFNCty7PQ">
-            <language>C/C++</language>
-            <body>((LeaderFollower *) arg)->run();</body>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_2FN1ICu0Ed-uZPFNCty7PQ" name="run" method="_D8z3ECu1Ed-uZPFNCty7PQ"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_eHX3wCu7Ed-uZPFNCty7PQ" name="selectLeader" method="_wXEiYCu7Ed-uZPFNCty7PQ"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_JM4I4Cu9Ed-uZPFNCty7PQ" name="LeaderFollower" method="_4M1S0Cu9Ed-uZPFNCty7PQ"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_6cImgCu-Ed-uZPFNCty7PQ" name="init" isStatic="true" method="_OyEk4Cu_Ed-uZPFNCty7PQ"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_z-laoCvGEd-uZPFNCty7PQ" name="runStatic" method="_AGUogCvHEd-uZPFNCty7PQ">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_Dn-xYCvHEd-uZPFNCty7PQ" name="arg">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            </ownedParameter>
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_IdnDkCvHEd-uZPFNCty7PQ" name="ret" direction="return">
-              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            </ownedParameter>
-          </ownedOperation>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_2wMyEChiEd-eoo60eNyGlg" clientDependency="_BhfKYChjEd-eoo60eNyGlg" name="SimpleActivation">
-          <generalization xmi:type="uml:Generalization" xmi:id="_5AKpkChiEd-eoo60eNyGlg" general="_e6Y_EChYEd-eoo60eNyGlg"/>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_BhfKYChjEd-eoo60eNyGlg" name="derived realization of I" client="_2wMyEChiEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_6rmQoChiEd-eoo60eNyGlg" clientDependency="_cWkScCsAEd-uZPFNCty7PQ" name="Thread Pool">
-          <generalization xmi:type="uml:Generalization" xmi:id="_892AEChiEd-eoo60eNyGlg" general="_e6Y_EChYEd-eoo60eNyGlg"/>
-          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_cWkScCsAEd-uZPFNCty7PQ" name="derived realization of I" client="_6rmQoChiEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_BY-fwCnxEd-eoo60eNyGlg" name="sem_t">
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_CQ_F0CnxEd-eoo60eNyGlg" name="lf" type="_qgzokChYEd-eoo60eNyGlg" isUnique="false" aggregation="composite"/>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_PpWOECnxEd-eoo60eNyGlg" name="listener" isUnique="false" aggregation="composite"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Enumeration" xmi:id="_F3CIECu1Ed-uZPFNCty7PQ" name="LFState">
-          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_QSQJwCu1Ed-uZPFNCty7PQ" name="EXECUTOR"/>
-          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_R5B6UCu1Ed-uZPFNCty7PQ" name="FOLLOWER"/>
-          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_SxRJ4Cu1Ed-uZPFNCty7PQ" name="LEADER"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Interface" xmi:id="_fxfe8Cu1Ed-uZPFNCty7PQ" name="IListener">
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_eN6hcCu3Ed-uZPFNCty7PQ" name="exec" isAbstract="true"/>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_hY4ooCu3Ed-uZPFNCty7PQ" name="select" isAbstract="true"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:Class" xmi:id="_5KatsCvDEd-uZPFNCty7PQ" name="pthread_t"/>
-        <packagedElement xmi:type="uml:Enumeration" xmi:id="_hcwDkD8CEeGJ6KSvhYhYuQ" name="LeaderFollowerState">
-          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_mzqd4D8CEeGJ6KSvhYhYuQ" name="LEADER"/>
-          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_qdIe8D8CEeGJ6KSvhYhYuQ" name="FOLLOWER"/>
-          <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_rOMvgD8CEeGJ6KSvhYhYuQ" name="EXECUTOR"/>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_xOqL0No9Ed-wvpj-p-V_QQ" name="CppParameterStorage"/>
-      <packagedElement xmi:type="uml:Class" xmi:id="_0KYOQF7pEeGEmrrwB1vhPg" name="OPC_provideMultI" isAbstract="true">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_0KY1UF7pEeGEmrrwB1vhPg" name="rconn" visibility="public" type="_ZzlzMPfBEd2TbIfwytOyPA" aggregation="composite" isConjugated="true">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0KY1Ul7pEeGEmrrwB1vhPg"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_0KY1UV7pEeGEmrrwB1vhPg" value="10"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_0KY1U17pEeGEmrrwB1vhPg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_QwvnQFDlEd6cwecVIgl9nw" name="PortKinds">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_FryEELnZEeCxXoyQxQ47PQ" annotatedElement="_Wtq4sFDlEd6cwecVIgl9nw">
-        <body>Simple provision of typing interface as provided interface</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_K17NsLnZEeCxXoyQxQ47PQ" annotatedElement="_Wtrfw1DlEd6cwecVIgl9nw">
-        <body>Simple provision of typing interface as required interface</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_PxzR0LnZEeCxXoyQxQ47PQ" annotatedElement="__nMrwLqNEd-SedGzMDDkww">
-        <body>corba asynchronous messaging (AMI): Provision of poller variant of typing interface. Allows client to continue without waiting for the result</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_l49WMLnZEeCxXoyQxQ47PQ" annotatedElement="__nMrwLqNEd-SedGzMDDkww _AQZZwLqOEd-SedGzMDDkww">
-        <body>corba asynchronous messaging (AMI): Provision of callback variant of typing interface. Allows client Allows client to continue without waiting for the result</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_2dvXILnZEeCxXoyQxQ47PQ" annotatedElement="_Wtq4slDlEd6cwecVIgl9nw">
-        <body>Data Flow oriented communication: consume passively: provided push operation is called </body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_Ch2pQLnaEeCxXoyQxQ47PQ">
-        <body>Data Flow oriented communication: produce data via pushing these (calling the required operation) </body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_DsnzQLnaEeCxXoyQxQ47PQ">
-        <body>Data Flow oriented communication: produce data via pushing these (calling the required operation) </body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_FMuUELnaEeCxXoyQxQ47PQ" annotatedElement="_WtrfwlDlEd6cwecVIgl9nw">
-        <body>Data Flow oriented communication: produce data via pushing these (calling the required operation) </body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_GgtrgLnaEeCxXoyQxQ47PQ" annotatedElement="_Wtq4sVDlEd6cwecVIgl9nw">
-        <body>Data Flow oriented communication: consumer data actively by calling the required poll operation </body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_-UGDoDiyEeGiupyIkgMHVw">
-        <body>In order to support icons, all port kinds are stereotypes, but for Qompass they are classes stereotyped as &quot;PortKind&quot;</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_COvdAEMMEeKGIL695HkFYQ" annotatedElement="_GjnlcC8qEeKx7OxAiA06uw">
-        <body> A bidirectional flow port combining a push-producer and a pull consumer</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtq4sFDlEd6cwecVIgl9nw" name="ProvideInterface">
-        <icon xmi:type="uml:Image" xmi:id="__3j28DixEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%119%0%0%0%92%8%3%0%0%0%99%-116%-38%77%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%120%120%120%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-71%82%-104%50%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%4%-59%73%68%65%84%104%-127%-59%-102%109%91%-30%58%16%-122%11%-118%40%-88%108%-83%2%-53%-117%93%123%4%-75%-20%110%53%-83%69%-91%-108%30%20%-1%-1%79%58%-107%-77%72%38%77%-109%73%-126%-41%62%95%-55%-52%77%94%-102%-52%76%98%-111%29%104%-2%-74%26%-115%-22%-29%81%-27%-83%31%35%77%44%51%98%-68%58%60%-19%120%22%-91%-27%-76%57%-70%-8%90%-18%-62%127%6%-56%-83%58%-65%-34%-61%47%-30%94%28%-76%-7%-52%63%122%109%-4%-5%5%-36%-59%73%73%79%105%-75%43%59%-26%14%78%-28%-48%-75%-70%-29%-78%-31%-42%-32%94%96%-87%107%-14%96%71%-36%-80%-18%42%96%115%5%-50%46%-72%-117%-82%26%53%-41%-16%-38%-100%-69%127%-91%-116%-51%-43%-116%-52%-72%-15%-67%14%53%87%123%102%-62%117%94%52%-79%-106%-27%-78%-53%75%-127%-101%-88%79%45%5%102%-66%101%60%119%-66%44%117%58%124%-71%15%38%-66%-1%59%-104%-106%-73%-15%-58%122%-36%-92%-60%101%-89%89%-95%63%-108%120%-32%79%75%-42%94%85%-121%-21%100%60%87%-39%36%-31%-76%-75%111%-98%-72%61%-2%-95%-50%-115%121%115%43%-40%127%23%15%-100%-3%-37%-19%41%115%91%69%47%-35%-107%-48%34%-31%-20%-90%-53%-19%-116%-32%-72%-11%-30%127%-81%75%14%88%66%86%-33%11%86%45%53%-18%-96%48%104%47%-123%-115%-128%-93%-8%119%1%92%87%-31%-38%25%107%-34%-112%118%-10%127%-115%-39%51%-60%-21%43%112%27%-84%113%13%71%-51%-43%103%-65%-66%78%-120%-26%-10%-104%81%-10%-86%114%-101%79%37%-20%88%-43%-48%-36%103%3%44%33%51%-90%-57%-18%5%-110%59%102%-2%-16%88%106%1%-107%48%115%28%32%-71%41%52%-13%21%-79%-124%92%-62%121%-14%18%20%-73%2%-79%-33%-112%43%-103%-42%29%116%-47%68%113%97%-108%-4%-54%13%-106%36%10%-65%1%31%87%14%-126%-5%6%-1%-21%72%3%-101%-81%45%120%66%77%16%-36%0%88%60%106%97%-39%-111%-50%-28%-36%8%44%70%-113%119%-22%97%20%-62%-59%121%41%-27%94%-125%-10%-57%-102%88%-10%99%12%-92%92%120%-2%45%-76%-71%33%-40%61%-36%80%-62%13%-63%48%-73%-124%109%-59%58%0%29%-24%75%-72%125%-48%-102%23%-9%99%-27%-128%-51%-29%78%-62%5%-21%-48%45%70%-3%10%2%51%54%-107%112%31%-103%-43%96%-96%17%-19%-22%42%18%115%95%-23%-58%122%123%-58%70%51%-72%66%-123%92%27%-76%-59%-124%54%2%-127%-120%-76%-14%-121%27%-49%120%-86%-46%77%51%51%44%-36%-7%110%63%-72%-47%-92%-115%-88%86%-24%-18%-111%27%-127%47%-23%-34%66%-89%-46%13%67%46%56%80%-97%44%18%103%40%-84%-75%111%-56%-99%-45%-50%-50%45%-46%-60%97%13%-105%51%-77%-96%83%-117%12%-111%92%113%90%34%87%8%-71%9%18%107%-67%25%114%9%-19%-52%-77%46%-1%10%-41%-75%-20%50%14%43%65%-47%15%-91%-104%118%-106%-49%47%-74%106%-79%-21%117%85%45%3%49%58%48%-28%-10%104%103%-7%-9%75%30%112%-36%95%-122%-36%127%104%103%-45%-100%27%-6%-120%93%50%-1%-117%-122%92%-97%118%-42%92%-97%11%73%-19%-8%-119%39%80%39%27%26%114%65%-35%-95%38%60%7%35%-48%-31%-98%-88%-87%92%96%127%122%23%-97%-5%32%-20%-59%103%-37%60%-127%101%-107%-17%86%-62%-58%-57%116%91%-109%112%-110%-112%91%56%103%98%-18%30%-35%-40%-45%-55%-55%62%5%-14%-69%19%9%23%-100%93%70%3%-67%0%-98%-10%100%-7%2%8%-13%59%6%92%88%-101%-103%-53%-72%48%29%-44%-33%-94%29%-112%-119%102%-46%-4%8%-90%-65%-25%-38%92%-80%105%124%36%-64%-78%-4%55%3%6%-17%-102%88%7%6%23%115%57%-9%16%24%100%-102%-87%10%-100%-82%103%34%-25%-62%21%-67%46%17%-88%-117%-119%45%-10%17%92%-72%-83%90%94%-55%-11%-105%80%76%125%115%25%97%-72%-16%-61%-77%-78%51%117%46%83%-119%94%111%3%-14%-70%-39%41%-76%106%41%23%-80%-104%-14%-43%-48%-58%113%7%-48%76%57%29%29%49%-10%119%4%-57%37%108%-11%-6%72%9%91%101%-126%-118%52%-62%114%-49%-40%-56%30%91%-11%-26%97%55%-31%63%-90%-18%-67%-49%-104%90%15%-24%-49%-72%112%49%-15%64%-16%92%-90%-66%-104%-85%-115%43%-96%21%-17%49%95%55%79%29%80%-9%26%78%-31%-82%-52%-67%65%-104%-11%82%-42%108%-101%100%-31%-18%113%126%20%35%-50%-87%-84%-53%118%-77%104%-12%-13%-13%87%-28%-67%-107%95%112%97%121%13%-47%-13%-112%-88%-58%-71%79%-100%110%23%36%-10%126%48%40%122%-79%-68%-96%-84%112%-24%-44%121%-73%-104%93%123%-37%2%-53%13%-7%-113%24%-38%7%-59%42%-113%125%125%-54%77%4%50%58%62%67%-33%-61%-58%-36%59%-50%92%105%112%115%-71%-15%24%-9%-85%71%101%-49%88%-106%96%65%-32%-17%-99%-29%105%-119%-61%-11%-112%-89%-23%75%-102%-118%94%88%64%-84%-54%61%123%-120%76%-32%-72%-22%50%-117%80%-23%61%-61%-111%54%-10%-23%-116%113%-91%-10%126%-93%112%-49%-120%84%113%71%87%124%55%50%19%63%126%-30%107%-56%-119%127%85%-33%-55%68%13%84%-78%76%-21%-111%87%80%85%127%-113%52%127%-106%-93%40%45%-7%85%122%-99%-9%87%123%-27%-81%52%88%93%29%-39%124%31%90%-17%-66%-94%-101%-30%-43%61%-105%-38%40%77%33%53%-33%-71%-123%99%-7%104%103%126%73%95%13%-72%-71%-110%-119%-88%-45%110%32%-82%-17%25%-67%-97%-20%-33%-74%-72%31%-12%-7%-31%74%22%9%25%-66%-37%36%97%127%-4%-13%-76%-67%-119%-4%-68%116%-38%-84%-83%4%-61%-69%51%-18%-89%102%-77%25%-10%-115%-22%-121%-2%3%52%51%-49%67%-105%-19%90%17%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%5%-46%-52%-24%92%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_17F1IDrSEeGKkdk54CX6PQ" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_17HDQDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Sn5bADrXEeGMCcwsbpLuFA" key="image_name_key" value="IconProvideInterface"/>
-          </eAnnotations>
-        </icon>
-        <icon xmi:type="uml:Image" xmi:id="_ToC6oDl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%84%0%0%0%101%8%3%0%0%0%-28%-109%52%-5%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-52%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%82%82%82%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%24%24%24%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-33%61%-9%-93%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%41%73%68%65%84%104%-127%-83%-39%125%91%-38%48%16%0%-16%-29%101%12%-76%32%32%69%17%-95%88%-107%23%-69%45%-43%90%-83%5%117%-32%-9%-1%78%-125%103%-37%67%47%109%115%-105%54%-9%119%-8%61%41%73%-109%-69%43%-120%-14%17%92%86%-105%86%56%-116%15%49%12%-83%-42%26%74%-126%-35%-54%106%8%82%84%74%-95%-125%-58%-117%12%30%98%84%28%125%-84%-74%-99%44%18%-96%87%20%125%-84%127%100%-117%0%83%81%12%85%-112%0%-61%98%-24%-83%-126%4%120%42%-126%-66%61%-87%72%-128%7%125%-44%-97%79%-43%38%-52%-75%-47%-2%25%65%2%-72%-70%-24%104%67%-102%-80%-43%68%107%57%59%19%69%-92%-121%46%25%36%-128%-81%-123%54%115%-99%-15%-85%-41%-88%110%15%81%-83%-51%-123%6%-22%63%100%-125%-45%-50%-3%-91%52%-108%-113%-98%100%-110%-81%-75%94%122%40%27%-99%103%-111%-42%58%115%44%23%-67%-31%-109%108%116%-108%-34%75%-101%93%-18%104%30%-38%77%-17%-7%102%-112%63%-100%-121%-2%72%-19%-95%47%-43%112%22%122%39%-101%118%-92%28%-49%65%-93%-119%100%-122%-118%71%-25%-94%-14%-61%119%8%-109%-125%110%37%-13%-52%-89%126%65%-93%-66%116%-81%15%-87%121%114%-48%26%54%63%-6%-28%47%104%-44%-57%91%-44%-71%-94%77%26%-67%-59%19%-99%51%76%26%-75%-15%102%34%23%-119%-125%86%-16%-61%-65%113%76%18%-75%16%-38%98%-103%20%-38%67%-89%-45%-17%-82%17%20%47%-45%61%-49%-92%-48%48%105%-114%-103%19%37%-48%1%-102%104%-109%105%18%-88%-117%-48%-127%25%-44%67%123%-108%107%18%104%-100%68%-17%-52%-96%17%122%-6%-116%11%-66%8%58%75%-102%54%-37%84%-93%40%-127%96%-66%77%36%-118%-18%-111%-118%33%-12%60%-119%50%14%103%22%58%78%-104%19%-66%-87%68%-125%-126%-21%116%64%-3%-111%91%91%36%-93%-27%-3%-115%95%73%-12%84%11%29%93%0%39%60%29%-12%-115%42%-117%-2%-59%82%7%125%-26%-103%-80%-48%65%57%69%-116%54%-54%13%45%-108%-7%-105%-62%119%29%-12%39%19%-43%90%-3%-63%-104%6%15%-47%-42%65%69%-60%91%127%-51%55%74%116%-81%-73%-57%-72%-114%-114%-15%-103%64%29%77%52%55%-48%5%-51%-53%120%104%20%85%-93%51%67%-24%-73%36%-70%50%-124%-94%-108%111%104%8%-19%-93%-11%103%-25%18%-60%-67%-113%106%-120%-70%33%116%-107%68%-49%13%-95%51%-12%-4%-20%77%-91%70%-5%-24%96%100%-33%-4%68%126%-118%58%112%83%51%-7%-87%-108%75%114%-49%84%2%13%-48%113%-53%77%-91%-87%-22%-28%20%77%-107%-7%86%81%-24%14%-95%78%94%43%70%15%-107%42%-66%23%35%21%-97%-76%85%121%-41%63%93%69%-93%20%29%-100%107%19%-88%92%70%27%-87%-9%83%-99%-119%11%19%-99%9%113%-123%81%70%121%-50%-23%-10%120%-110%-6%108%-96%-37%35%6%-87%-66%20%81%-3%-80%58%104%-82%-124%-62%69%-7%14%90%-6%15%-128%-119%-14%110%-27%-95%65%44%-85%112%82%-70%43%41%46%-45%-55%-31%38%-65%-80%-30%118%122%-85%41%116%-97%-77%-107%-20%-12%74%-119%-59%-1%-80%-34%-53%-95%57%93%126%-69%94%-90%123%46%-35%-41%-57%112%-98%23%35%-23%29%51%-13%69%98%106%91%75%-41%-35%109%-65%92%-9%74%19%21%-115%92%-11%24%15%-70%40%-25%43%-113%-89%-115%-118%119%-14%123%-44%-87%62%42%122%29%2%13%11%-96%-5%13%-85%-82%-68%-118%-95%34%82%78%-42%46%-122%10%113%-93%-8%103%-29%-94%-88%-22%11%111%113%84%-59%-106%64%-9%-73%108%-59%-54%-36%-75%-91%-48%125%-12%-22%97%-38%13%74%-94%-5%8%118%45%27%-61%81%121%-12%16%-2%-70%-46%-16%-38%97%24%-57%113%24%-74%-9%71%-31%31%12%-33%-99%51%8%-119%86%-81%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%45%-25%121%64%-90%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2ypIMDrSEeGKkdk54CX6PQ" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2ypvQDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UMxHEDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjProvideInterface"/>
-          </eAnnotations>
-        </icon>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtq4sVDlEd6cwecVIgl9nw" name="PullConsumer">
-        <icon xmi:type="uml:Image" xmi:id="_CVWIADiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%97%0%0%0%98%8%0%0%0%0%101%-7%-30%-47%0%0%2%120%73%68%65%84%104%-127%-75%-38%-51%75%21%81%24%6%-16%-125%-106%105%25%-106%38%-107%84%-76%50%-119%-54%32%90%37%-75%-120%72%-94%69%-117%104%85%86%-46%-90%112%97%73%33%-47%-86%-123%16%33%70%17%-47%-54%-94%47%-24%3%-63%34%-56%-115%20%-35%77%4%-110%65%-123%27%11%51%37%-107%-16%-93%-85%-34%105%-26%-23%74%31%115%-18%120%103%-18%97%-50%-5%60%127%-64%-4%86%103%-26%61%-49%59%10%-99%23%-102%121%105%31%-127%122%-80%72%17%-77%-96%98%68%85%51%-127%116%-82%-87%26%-78%112%76%-35%34%11%117%106%-74%-98%45%32%121%-124%45%96%124%55%91%-64%-40%46%-74%-128%-127%-51%108%1%-3%-107%108%1%61%107%-40%2%-34%-106%-78%5%116%-111%8%95%-64%-45%34%-74%-32%-35%-90%16%-102%0%-17%106%62%89%-128%-45%66%32%50%4%56%-115%108%1%-45%39%-39%2%-110%7%-39%2%38%14%-80%5%-116%-18%96%11%24%-38%-50%22%-48%-73%-127%45%-32%-29%58%-74%-128%-41%43%-39%2%94%-107%-80%5%116%-120%17%97%2%-18%20%-78%5%-9%-70%16%17%42%-64%-67%40%-13%-94%13%23%-112%58%47%66%68%8%72%29%103%11%-104%58%-52%22%48%-79%-113%45%96%108%15%91%-64%-32%54%-74%-128%47%-101%-40%2%-34%-83%103%11%-24%89%-59%22%-16%-94%-116%45%-32%-39%82%-74%-128%-69%-59%108%1%55%11%-40%-126%123%41%54%97%40%-64%109%-54%35%11%-104%-39%-49%22%-34%-105%-109%-123%-127%-86%-104%-128%-87%-16%99%103%92%-64%80%-104%58%20%27%48%19%82%-89%-29%3%70%-126%-41%106%51%18%-104%8%-9%-84%38%39%3%-95%107%-103%13%96%32%-12%-38%125%30%114%11%-33%108%-81%43%-71%-124%113%-21%-6%44%-121%-112%-76%56%8%70%-126%115%-58%26%-120%22%-68%54%-127%-39%56%82%120%36%81%7%69%9%-35%-53%5%-128%40%-95%-73%66%2%-120%16%6%55%-118%0%-31%-62%100%-4%47%-126%-103%48%45%113%57%-119%18%-100%38%41%32%68%-16%-82%-56%21%126%-39%-123%-57%-126%-67%104%86%33%97%53%108%27%8%31%68%91%-10%44%-62%87%-39%101%-60%124%65%122%103%51%79%-104%-107%-34%59%5%-123%95%103%-123%-127%-96%64%40%-41%3%-62%-109%-59%-46%64%64%72%-84%16%7%50%5%-47%22%52%-101%48%-76%-107%0%-24%-62%-28%94%6%-96%9%-87%58%10%-32%11%-18%57%14%-32%11%55%72%-64%127%-95%-109%-10%63%-62%95%-31%13%107%103%-7%79%-24%91%75%3%-2%8%-33%41%7%65%19%126%-42%18%-127%57%-63%57%-63%4%-46%-126%-37%76%5%-46%66%7%23%80%71%85%-36%86%-57%52%-83%-86%-127%-6%-4%-68%-110%97%-11%-87%44%-93%-3%-54%-41%-78%-80%64%75%-111%-106%37%-59%126%86%111%-47%82%-85%-91%-2%84%58%109%-61%80%24%109%-65%-84%-27%-2%67%63%-49%95%-6%73%124%-42%50%19%28%-127%-94%-14%27%-2%-94%-44%59%115%-35%74%-17%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4KKUwDrSEeGKkdk54CX6PQ" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4KLi4DrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MdOBcDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconPushConsumer"/>
-          </eAnnotations>
-        </icon>
-        <icon xmi:type="uml:Image" xmi:id="_kZGdADl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%108%0%0%0%97%8%0%0%0%0%22%-109%27%-49%0%0%2%-101%73%68%65%84%104%-127%-67%-38%-51%75%84%81%24%6%-16%-25%-36%59%87%68%43%107%76%40%63%42%-84%4%-125%1%49%-86%77%-82%70%24%-120%54%-39%-57%44%18%35%-110%62%104%-91%-83%10%-108%32%-94%64%40%92%-10%-79%-120%-118%8%23%82%-101%26%-124%22%65%41%4%69%-117%-118%-124%114%17%52%65%-108%9%105%-47%-28%116%26%107%76%-13%-34%-21%-67%112%-49%-5%60%-1%-64%111%49%103%120%-97%123%-34%3%61%118%-78%37%84%118%-89%61%115%-30%-123%14%29%76%39%16%41%106%-29%72%120%44%19%-51%42%100%-61%-77%-48%-40%-11%-56%24%-102%71%-119%-104%-38%-10%-114%-121%-63%74%101%121%24%84%-37%4%15%-125%-35%17%70%51%-124%-63%62%62%21%2%-21%55%-125%-63%-23%-2%30%-116%-99%54%-124%-95%-12%124%-114%-121%-95%-20%66%-98%-121%97%-7%-75%0%-51%36%-122%-8%32%17%67%-19%61%34%-122%-75%-113%-120%24%26%-122%-119%24%-102%94%19%49%-75%-27%45%15%-125%74%-67%-25%97%-80%118%-114%-13%48%-60%14%-8%-116%0%9%12%-79%-61%-34%35%64%4%-125%-45%-27%-87%-55%96%112%-50%120%-115%0%-12%-120%96%40%-21%-101%-10%-64%14%-55%96%88%-26%49%2%-48%33%-124%33%126%-117%-120%-95%-58%53%2%4%49%-84%121%72%-60%-48%48%66%-60%-48%-8%-110%-120%-87%-83%-93%60%12%42%-103%-27%97%-80%118%124%-28%97%-80%-38%39%120%24%-20%-125%83%60%-84%-16%21%-16%-115%-121%-63%-23%-51%-15%-80%-62%8%-56%-15%48%-108%95%-3%-59%-61%-80%-30%-58%31%108%23%5%67%85%102%6%-37%-50%-63%80%-5%-128%-120%97%-3%19%34%-122%-42%28%17%-85%120%78%-60%-86%-77%60%-52%-18%-28%-3%102%-86%117%-100%-121%37%-34%-16%-114%126%-35%48%-17%79%29%-65%-85%105%88%-23%-59%60%13%-117%117%-3%-48%44%-52%-38%59%-87%105%88%-53%7%77%-61%-26%106%-79%60%-74%122%104%-82%-54%109%18%-74%42%110%-50%43%-87%-11%-78%86%-55%-39%60%13%-77%-113%-52%-65%57%-106%-59%84%-37%23%77%-61%54%-1%-65%55%17%-59%-22%-97%106%26%86%117%95%-45%-80%37%-105%53%13%115%122%126%-46%48%-69%-3%-21%66%75%12%83%-55%-49%46%75%12%-101%-87%28%44%-84%-18%-79%-121%37%-124%85%-34%-15%-78%100%-80%98%-27%-96%96%-77%-107%-61%-115%85%27%-73%-84%125%-18%67%95%-60%-52%-25%95%-27%32%96%-115%-81%-4%44%-13%-40%-86%33%95%-53%56%-74%-44%125%51%44%-122%-107%-100%91%108%-19%105%-42%-78%-113%46%-70%-84%54%106%45%-88%28%-78%88%115%-64%83%13%-109%-42%-70%-96%39%47%6%-83%-107%-103%0%-53%32%86%-18%-86%28%114%-104%-45%-21%-86%28%98%-104%-75%127%50%-48%50%-123%-87%-92%-33%82%85%0%75%-116%-123%-80%12%97%53%-31%94%-107%25%-79%-2%-34%114%-124%-64%84%116%-85%-92%63%-24%-119%-53%44%-42%20%-39%-78%-70%125%42%-121%27%-69%93%25%-77%109%43%-118%-107%14%113%-24%-117%-104%-2%52%56%48%112%-91%-49%55%-89%-114%-7%38%-99%42%100%-49%-91%-48%-106%-2%13%-127%31%98%-1%-55%30%-37%-42%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_44RX8DrSEeGKkdk54CX6PQ" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_44R_ADrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PhMv0DrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjPullConsumer"/>
-          </eAnnotations>
-        </icon>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtq4slDlEd6cwecVIgl9nw" name="PushConsumer">
-        <icon xmi:type="uml:Image" xmi:id="_Dh_hUDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%97%0%0%0%98%8%0%0%0%0%101%-7%-30%-47%0%0%2%120%73%68%65%84%104%-127%-75%-38%-51%75%21%81%24%6%-16%-125%-106%105%25%-106%38%-107%84%-76%50%-119%-54%32%90%37%-75%-120%72%-94%69%-117%104%85%86%-46%-90%112%97%73%33%-47%-86%-123%16%33%70%17%-47%-54%-94%47%-24%3%-63%34%-56%-115%20%-35%77%4%-110%65%-123%27%11%51%37%-107%-16%-93%-85%-34%105%-26%-23%74%31%115%-18%120%103%-18%97%-50%-5%60%127%-64%-4%86%103%-26%61%-49%59%10%-99%23%-102%121%105%31%-127%122%-80%72%17%-77%-96%98%68%85%51%-127%116%-82%-87%26%-78%112%76%-35%34%11%117%106%-74%-98%45%32%121%-124%45%96%124%55%91%-64%-40%46%-74%-128%-127%-51%108%1%-3%-107%108%1%61%107%-40%2%-34%-106%-78%5%116%-111%8%95%-64%-45%34%-74%-32%-35%-90%16%-102%0%-17%106%62%89%-128%-45%66%32%50%4%56%-115%108%1%-45%39%-39%2%-110%7%-39%2%38%14%-80%5%-116%-18%96%11%24%-38%-50%22%-48%-73%-127%45%-32%-29%58%-74%-128%-41%43%-39%2%94%-107%-80%5%116%-120%17%97%2%-18%20%-78%5%-9%-70%16%17%42%-64%-67%40%-13%-94%13%23%-112%58%47%66%68%8%72%29%103%11%-104%58%-52%22%48%-79%-113%45%96%108%15%91%-64%-32%54%-74%-128%47%-101%-40%2%-34%-83%103%11%-24%89%-59%22%-16%-94%-116%45%-32%-39%82%-74%-128%-69%-59%108%1%55%11%-40%-126%123%41%54%97%40%-64%109%-54%35%11%-104%-39%-49%22%-34%-105%-109%-123%-127%-86%-104%-128%-87%-16%99%103%92%-64%80%-104%58%20%27%48%19%82%-89%-29%3%70%-126%-41%106%51%18%-104%8%-9%-84%38%39%3%-95%107%-103%13%96%32%-12%-38%125%30%114%11%-33%108%-81%43%-71%-124%113%-21%-6%44%-121%-112%-76%56%8%70%-126%115%-58%26%-120%22%-68%54%-127%-39%56%82%120%36%81%7%69%9%-35%-53%5%-128%40%-95%-73%66%2%-120%16%6%55%-118%0%-31%-62%100%-4%47%-126%-103%48%45%113%57%-119%18%-100%38%41%32%68%-16%-82%-56%21%126%-39%-123%-57%-126%-67%104%86%33%97%53%108%27%8%31%68%91%-10%44%-62%87%-39%101%-60%124%65%122%103%51%79%-104%-107%-34%59%5%-123%95%103%-123%-127%-96%64%40%-41%3%-62%-109%-59%-46%64%64%72%-84%16%7%50%5%-47%22%52%-101%48%-76%-107%0%-24%-62%-28%94%6%-96%9%-87%58%10%-32%11%-18%57%14%-32%11%55%72%-64%127%-95%-109%-10%63%-62%95%-31%13%107%103%-7%79%-24%91%75%3%-2%8%-33%41%7%65%19%126%-42%18%-127%57%-63%57%-63%4%-46%-126%-37%76%5%-46%66%7%23%80%71%85%-36%86%-57%52%-83%-86%-127%-6%-4%-68%-110%97%-11%-87%44%-93%-3%-54%-41%-78%-80%64%75%-111%-106%37%-59%126%86%111%-47%82%-85%-91%-2%84%58%109%-61%80%24%109%-65%-84%-27%-2%67%63%-49%95%-6%73%124%-42%50%19%28%-127%-94%-14%27%-2%-94%-44%59%115%-35%74%-17%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7bjNADrSEeGKkdk54CX6PQ" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7bj0EDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JNOQUDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconPushConsumer"/>
-          </eAnnotations>
-        </icon>
-        <icon xmi:type="uml:Image" xmi:id="_hwLS8Dl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%108%0%0%0%97%8%0%0%0%0%22%-109%27%-49%0%0%2%-101%73%68%65%84%104%-127%-67%-38%-51%75%84%81%24%6%-16%-25%-36%59%87%68%43%107%76%40%63%42%-84%4%-125%1%49%-86%77%-82%70%24%-120%54%-39%-57%44%18%35%-110%62%104%-91%-83%10%-108%32%-94%64%40%92%-10%-79%-120%-118%8%23%82%-101%26%-124%22%65%41%4%69%-117%-118%-124%114%17%52%65%-108%9%105%-47%-28%116%26%107%76%-13%-34%-21%-67%112%-49%-5%60%-1%-64%111%49%103%120%-97%123%-34%3%61%118%-78%37%84%118%-89%61%115%-30%-123%14%29%76%39%16%41%106%-29%72%120%44%19%-51%42%100%-61%-77%-48%-40%-11%-56%24%-102%71%-119%-104%-38%-10%-114%-121%-63%74%101%121%24%84%-37%4%15%-125%-35%17%70%51%-124%-63%62%62%21%2%-21%55%-125%-63%-23%-2%30%-116%-99%54%-124%-95%-12%124%-114%-121%-95%-20%66%-98%-121%97%-7%-75%0%-51%36%-122%-8%32%17%67%-19%61%34%-122%-75%-113%-120%24%26%-122%-119%24%-102%94%19%49%-75%-27%45%15%-125%74%-67%-25%97%-80%118%-114%-13%48%-60%14%-8%-116%0%9%12%-79%-61%-34%35%64%4%-125%-45%-27%-87%-55%96%112%-50%120%-115%0%-12%-120%96%40%-21%-101%-10%-64%14%-55%96%88%-26%49%2%-48%33%-124%33%126%-117%-120%-95%-58%53%2%4%49%-84%121%72%-60%-48%48%66%-60%-48%-8%-110%-120%-87%-83%-93%60%12%42%-103%-27%97%-80%118%124%-28%97%-80%-38%39%120%24%-20%-125%83%60%-84%-16%21%-16%-115%-121%-63%-23%-51%-15%-80%-62%8%-56%-15%48%-108%95%-3%-59%-61%-80%-30%-58%31%108%23%5%67%85%102%6%-37%-50%-63%80%-5%-128%-120%97%-3%19%34%-122%-42%28%17%-85%120%78%-60%-86%-77%60%-52%-18%-28%-3%102%-86%117%-100%-121%37%-34%-16%-114%126%-35%48%-17%79%29%-65%-85%105%88%-23%-59%60%13%-117%117%-3%-48%44%-52%-38%59%-87%105%88%-53%7%77%-61%-26%106%-79%60%-74%122%104%-82%-54%109%18%-74%42%110%-50%43%-87%-11%-78%86%-55%-39%60%13%-77%-113%-52%-65%57%-106%-59%84%-37%23%77%-61%54%-1%-65%55%17%-59%-22%-97%106%26%86%117%95%-45%-80%37%-105%53%13%115%122%126%-46%48%-69%-3%-21%66%75%12%83%-55%-49%46%75%12%-101%-87%28%44%-84%-18%-79%-121%37%-124%85%-34%-15%-78%100%-80%98%-27%-96%96%-77%-107%-61%-115%85%27%-73%-84%125%-18%67%95%-60%-52%-25%95%-27%32%96%-115%-81%-4%44%-13%-40%-86%33%95%-53%56%-74%-44%125%51%44%-122%-107%-100%91%108%-19%105%-42%-78%-113%46%-70%-84%54%106%45%-88%28%-78%88%115%-64%83%13%-109%-42%-70%-96%39%47%6%-83%-107%-103%0%-53%32%86%-18%-86%28%114%-104%-45%-21%-86%28%98%-104%-75%127%50%-48%50%-123%-87%-92%-33%82%85%0%75%-116%-123%-80%12%97%53%-31%94%-107%25%-79%-2%-34%114%-124%-64%84%116%-85%-92%63%-24%-119%-53%44%-42%20%-39%-78%-70%125%42%-121%27%-69%93%25%-77%109%43%-118%-107%14%113%-24%-117%-104%-2%52%56%48%112%-91%-49%55%-89%-114%-7%38%-99%42%100%-49%-91%-48%-106%-2%13%-127%31%98%-1%-55%30%-37%-42%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8L9WQDrSEeGKkdk54CX6PQ" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8L99UDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Lb68gDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjPushConsumer"/>
-          </eAnnotations>
-        </icon>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="_WtrfwlDlEd6cwecVIgl9nw" name="PushProducer">
-        <icon xmi:type="uml:Image" xmi:id="_Eu1u8DiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%108%0%0%0%97%8%0%0%0%0%22%-109%27%-49%0%0%2%-101%73%68%65%84%104%-127%-67%-38%-51%75%84%81%24%6%-16%-25%-36%59%87%68%43%107%76%40%63%42%-84%4%-125%1%49%-86%77%-82%70%24%-120%54%-39%-57%44%18%35%-110%62%104%-91%-83%10%-108%32%-94%64%40%92%-10%-79%-120%-118%8%23%82%-101%26%-124%22%65%41%4%69%-117%-118%-124%114%17%52%65%-108%9%105%-47%-28%116%26%107%76%-13%-34%-21%-67%112%-49%-5%60%-1%-64%111%49%103%120%-97%123%-34%3%61%118%-78%37%84%118%-89%61%115%-30%-123%14%29%76%39%16%41%106%-29%72%120%44%19%-51%42%100%-61%-77%-48%-40%-11%-56%24%-102%71%-119%-104%-38%-10%-114%-121%-63%74%101%121%24%84%-37%4%15%-125%-35%17%70%51%-124%-63%62%62%21%2%-21%55%-125%-63%-23%-2%30%-116%-99%54%-124%-95%-12%124%-114%-121%-95%-20%66%-98%-121%97%-7%-75%0%-51%36%-122%-8%32%17%67%-19%61%34%-122%-75%-113%-120%24%26%-122%-119%24%-102%94%19%49%-75%-27%45%15%-125%74%-67%-25%97%-80%118%-114%-13%48%-60%14%-8%-116%0%9%12%-79%-61%-34%35%64%4%-125%-45%-27%-87%-55%96%112%-50%120%-115%0%-12%-120%96%40%-21%-101%-10%-64%14%-55%96%88%-26%49%2%-48%33%-124%33%126%-117%-120%-95%-58%53%2%4%49%-84%121%72%-60%-48%48%66%-60%-48%-8%-110%-120%-87%-83%-93%60%12%42%-103%-27%97%-80%118%124%-28%97%-80%-38%39%120%24%-20%-125%83%60%-84%-16%21%-16%-115%-121%-63%-23%-51%-15%-80%-62%8%-56%-15%48%-108%95%-3%-59%-61%-80%-30%-58%31%108%23%5%67%85%102%6%-37%-50%-63%80%-5%-128%-120%97%-3%19%34%-122%-42%28%17%-85%120%78%-60%-86%-77%60%-52%-18%-28%-3%102%-86%117%-100%-121%37%-34%-16%-114%126%-35%48%-17%79%29%-65%-85%105%88%-23%-59%60%13%-117%117%-3%-48%44%-52%-38%59%-87%105%88%-53%7%77%-61%-26%106%-79%60%-74%122%104%-82%-54%109%18%-74%42%110%-50%43%-87%-11%-78%86%-55%-39%60%13%-77%-113%-52%-65%57%-106%-59%84%-37%23%77%-61%54%-1%-65%55%17%-59%-22%-97%106%26%86%117%95%-45%-80%37%-105%53%13%115%122%126%-46%48%-69%-3%-21%66%75%12%83%-55%-49%46%75%12%-101%-87%28%44%-84%-18%-79%-121%37%-124%85%-34%-15%-78%100%-80%98%-27%-96%96%-77%-107%-61%-115%85%27%-73%-84%125%-18%67%95%-60%-52%-25%95%-27%32%96%-115%-81%-4%44%-13%-40%-86%33%95%-53%56%-74%-44%125%51%44%-122%-107%-100%91%108%-19%105%-42%-78%-113%46%-70%-84%54%106%45%-88%28%-78%88%115%-64%83%13%-109%-42%-70%-96%39%47%6%-83%-107%-103%0%-53%32%86%-18%-86%28%114%-104%-45%-21%-86%28%98%-104%-75%127%50%-48%50%-123%-87%-92%-33%82%85%0%75%-116%-123%-80%12%97%53%-31%94%-107%25%-79%-2%-34%114%-124%-64%84%116%-85%-92%63%-24%-119%-53%44%-42%20%-39%-78%-70%125%42%-121%27%-69%93%25%-77%109%43%-118%-107%14%113%-24%-117%-104%-2%52%56%48%112%-91%-49%55%-89%-114%-7%38%-99%42%100%-49%-91%-48%-106%-2%13%-127%31%98%-1%-55%30%-37%-42%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVcCADrXEeGMCcwsbpLuFA" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EVdQIDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconPushProducer"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Eg1ZsDrXEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
-          </eAnnotations>
-        </icon>
-        <icon xmi:type="uml:Image" xmi:id="_djiTYDl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%97%0%0%0%98%8%0%0%0%0%101%-7%-30%-47%0%0%2%120%73%68%65%84%104%-127%-75%-38%-51%75%21%81%24%6%-16%-125%-106%105%25%-106%38%-107%84%-76%50%-119%-54%32%90%37%-75%-120%72%-94%69%-117%104%85%86%-46%-90%112%97%73%33%-47%-86%-123%16%33%70%17%-47%-54%-94%47%-24%3%-63%34%-56%-115%20%-35%77%4%-110%65%-123%27%11%51%37%-107%-16%-93%-85%-34%105%-26%-23%74%31%115%-18%120%103%-18%97%-50%-5%60%127%-64%-4%86%103%-26%61%-49%59%10%-99%23%-102%121%105%31%-127%122%-80%72%17%-77%-96%98%68%85%51%-127%116%-82%-87%26%-78%112%76%-35%34%11%117%106%-74%-98%45%32%121%-124%45%96%124%55%91%-64%-40%46%-74%-128%-127%-51%108%1%-3%-107%108%1%61%107%-40%2%-34%-106%-78%5%116%-111%8%95%-64%-45%34%-74%-32%-35%-90%16%-102%0%-17%106%62%89%-128%-45%66%32%50%4%56%-115%108%1%-45%39%-39%2%-110%7%-39%2%38%14%-80%5%-116%-18%96%11%24%-38%-50%22%-48%-73%-127%45%-32%-29%58%-74%-128%-41%43%-39%2%94%-107%-80%5%116%-120%17%97%2%-18%20%-78%5%-9%-70%16%17%42%-64%-67%40%-13%-94%13%23%-112%58%47%66%68%8%72%29%103%11%-104%58%-52%22%48%-79%-113%45%96%108%15%91%-64%-32%54%-74%-128%47%-101%-40%2%-34%-83%103%11%-24%89%-59%22%-16%-94%-116%45%-32%-39%82%-74%-128%-69%-59%108%1%55%11%-40%-126%123%41%54%97%40%-64%109%-54%35%11%-104%-39%-49%22%-34%-105%-109%-123%-127%-86%-104%-128%-87%-16%99%103%92%-64%80%-104%58%20%27%48%19%82%-89%-29%3%70%-126%-41%106%51%18%-104%8%-9%-84%38%39%3%-95%107%-103%13%96%32%-12%-38%125%30%114%11%-33%108%-81%43%-71%-124%113%-21%-6%44%-121%-112%-76%56%8%70%-126%115%-58%26%-120%22%-68%54%-127%-39%56%82%120%36%81%7%69%9%-35%-53%5%-128%40%-95%-73%66%2%-120%16%6%55%-118%0%-31%-62%100%-4%47%-126%-103%48%45%113%57%-119%18%-100%38%41%32%68%-16%-82%-56%21%126%-39%-123%-57%-126%-67%104%86%33%97%53%108%27%8%31%68%91%-10%44%-62%87%-39%101%-60%124%65%122%103%51%79%-104%-107%-34%59%5%-123%95%103%-123%-127%-96%64%40%-41%3%-62%-109%-59%-46%64%64%72%-84%16%7%50%5%-47%22%52%-101%48%-76%-107%0%-24%-62%-28%94%6%-96%9%-87%58%10%-32%11%-18%57%14%-32%11%55%72%-64%127%-95%-109%-10%63%-62%95%-31%13%107%103%-7%79%-24%91%75%3%-2%8%-33%41%7%65%19%126%-42%18%-127%57%-63%57%-63%4%-46%-126%-37%76%5%-46%66%7%23%80%71%85%-36%86%-57%52%-83%-86%-127%-6%-4%-68%-110%97%-11%-87%44%-93%-3%-54%-41%-78%-80%64%75%-111%-106%37%-59%126%86%111%-47%82%-85%-91%-2%84%58%109%-61%80%24%109%-65%-84%-27%-2%67%63%-49%95%-6%73%124%-42%50%19%28%-127%-94%-14%27%-2%-94%-44%59%115%-35%74%-17%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GvSOQDrXEeGMCcwsbpLuFA" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GvS1UDrXEeGMCcwsbpLuFA" key="image_name_key" value="ConjIconPushProducer"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G5-bUDrXEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
-          </eAnnotations>
-        </icon>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtrfw1DlEd6cwecVIgl9nw" name="UseInterface">
-        <icon xmi:type="uml:Image" xmi:id="_FzdNoDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%84%0%0%0%101%8%3%0%0%0%-28%-109%52%-5%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-52%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%82%82%82%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%24%24%24%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-33%61%-9%-93%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%41%73%68%65%84%104%-127%-83%-39%125%91%-38%48%16%0%-16%-29%101%12%-76%32%32%69%17%-95%88%-107%23%-69%45%-43%90%-83%5%117%-32%-9%-1%78%-125%103%-37%67%47%109%115%-105%54%-9%119%-8%61%41%73%-109%-69%43%-120%-14%17%92%86%-105%86%56%-116%15%49%12%-83%-42%26%74%-126%-35%-54%106%8%82%84%74%-95%-125%-58%-117%12%30%98%84%28%125%-84%-74%-99%44%18%-96%87%20%125%-84%127%100%-117%0%83%81%12%85%-112%0%-61%98%-24%-83%-126%4%120%42%-126%-66%61%-87%72%-128%7%125%-44%-97%79%-43%38%-52%-75%-47%-2%25%65%2%-72%-70%-24%104%67%-102%-80%-43%68%107%57%59%19%69%-92%-121%46%25%36%-128%-81%-123%54%115%-99%-15%-85%-41%-88%110%15%81%-83%-51%-123%6%-22%63%100%-125%-45%-50%-3%-91%52%-108%-113%-98%100%-110%-81%-75%94%122%40%27%-99%103%-111%-42%58%115%44%23%-67%-31%-109%108%116%-108%-34%75%-101%93%-18%104%30%-38%77%-17%-7%102%-112%63%-100%-121%-2%72%-19%-95%47%-43%112%22%122%39%-101%118%-92%28%-49%65%-93%-119%100%-122%-118%71%-25%-94%-14%-61%119%8%-109%-125%110%37%-13%-52%-89%126%65%-93%-66%116%-81%15%-87%121%114%-48%26%54%63%-6%-28%47%104%-44%-57%91%-44%-71%-94%77%26%-67%-59%19%-99%51%76%26%-75%-15%102%34%23%-119%-125%86%-16%-61%-65%113%76%18%-75%16%-38%98%-103%20%-38%67%-89%-45%-17%-82%17%20%47%-45%61%-49%-92%-48%48%105%-114%-103%19%37%-48%1%-102%104%-109%105%18%-88%-117%-48%-127%25%-44%67%123%-108%107%18%104%-100%68%-17%-52%-96%17%122%-6%-116%11%-66%8%58%75%-102%54%-37%84%-93%40%-127%96%-66%77%36%-118%-18%-111%-118%33%-12%60%-119%50%14%103%22%58%78%-104%19%-66%-87%68%-125%-126%-21%116%64%-3%-111%91%91%36%-93%-27%-3%-115%95%73%-12%84%11%29%93%0%39%60%29%-12%-115%42%-117%-2%-59%82%7%125%-26%-103%-80%-48%65%57%69%-116%54%-54%13%45%-108%-7%-105%-62%119%29%-12%39%19%-43%90%-3%-63%-104%6%15%-47%-42%65%69%-60%91%127%-51%55%74%116%-81%-73%-57%-72%-114%-114%-15%-103%64%29%77%52%55%-48%5%-51%-53%120%104%20%85%-93%51%67%-24%-73%36%-70%50%-124%-94%-108%111%104%8%-19%-93%-11%103%-25%18%-60%-67%-113%106%-120%-70%33%116%-107%68%-49%13%-95%51%-12%-4%-20%77%-91%70%-5%-24%96%100%-33%-4%68%126%-118%58%112%83%51%-7%-87%-108%75%114%-49%84%2%13%-48%113%-53%77%-91%-87%-22%-28%20%77%-107%-7%86%81%-24%14%-95%78%94%43%70%15%-107%42%-66%23%35%21%-97%-76%85%121%-41%63%93%69%-93%20%29%-100%107%19%-88%92%70%27%-87%-9%83%-99%-119%11%19%-99%9%113%-123%81%70%121%-50%-23%-10%120%-110%-6%108%-96%-37%35%6%-87%-66%20%81%-3%-80%58%104%-82%-124%-62%69%-7%14%90%-6%15%-128%-119%-14%110%-27%-95%65%44%-85%112%82%-70%43%41%46%-45%-55%-31%38%-65%-80%-30%118%122%-85%41%116%-97%-77%-107%-20%-12%74%-119%-59%-1%-80%-34%-53%-95%57%93%126%-69%94%-90%123%46%-35%-41%-57%112%-98%23%35%-23%29%51%-13%69%98%106%91%75%-41%-35%109%-65%92%-9%74%19%21%-115%92%-11%24%15%-70%40%-25%43%-113%-89%-115%-118%119%-14%123%-44%-87%62%42%122%29%2%13%11%-96%-5%13%-85%-82%-68%-118%-95%34%82%78%-42%46%-122%10%113%-93%-8%103%-29%-94%-88%-22%11%111%113%84%-59%-106%64%-9%-73%108%-59%-54%-36%-75%-91%-48%125%-12%-22%97%-38%13%74%-94%-5%8%118%45%27%-61%81%121%-12%16%-2%-70%-46%-16%-38%97%24%-57%113%24%-74%-9%71%-31%31%12%-33%-99%51%8%-119%86%-81%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%45%-25%121%64%-90%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z5Ar0DrWEeGMCcwsbpLuFA" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z5BS4DrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BoRRIDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconUseInterface"/>
-          </eAnnotations>
-        </icon>
-        <icon xmi:type="uml:Image" xmi:id="_Yy8SMDl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%119%0%0%0%92%8%3%0%0%0%99%-116%-38%77%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%120%120%120%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-71%82%-104%50%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%4%-59%73%68%65%84%104%-127%-59%-102%109%91%-30%58%16%-122%11%-118%40%-88%108%-83%2%-53%-117%93%123%4%-75%-20%110%53%-83%69%-91%-108%30%20%-1%-1%79%58%-107%-77%72%38%77%-109%73%-126%-41%62%95%-55%-52%77%94%-102%-52%76%98%-111%29%104%-2%-74%26%-115%-22%-29%81%-27%-83%31%35%77%44%51%98%-68%58%60%-19%120%22%-91%-27%-76%57%-70%-8%90%-18%-62%127%6%-56%-83%58%-65%-34%-61%47%-30%94%28%-76%-7%-52%63%122%109%-4%-5%5%-36%-59%73%73%79%105%-75%43%59%-26%14%78%-28%-48%-75%-70%-29%-78%-31%-42%-32%94%96%-87%107%-14%96%71%-36%-80%-18%42%96%115%5%-50%46%-72%-117%-82%26%53%-41%-16%-38%-100%-69%127%-91%-116%-51%-43%-116%-52%-72%-15%-67%14%53%87%123%102%-62%117%94%52%-79%-106%-27%-78%-53%75%-127%-101%-88%79%45%5%102%-66%101%60%119%-66%44%117%58%124%-71%15%38%-66%-1%59%-104%-106%-73%-15%-58%122%-36%-92%-60%101%-89%89%-95%63%-108%120%-32%79%75%-42%94%85%-121%-21%100%60%87%-39%36%-31%-76%-75%111%-98%-72%61%-2%-95%-50%-115%121%115%43%-40%127%23%15%-100%-3%-37%-19%41%115%91%69%47%-35%-107%-48%34%-31%-20%-90%-53%-19%-116%-32%-72%-11%-30%127%-81%75%14%88%66%86%-33%11%86%45%53%-18%-96%48%104%47%-123%-115%-128%-93%-8%119%1%92%87%-31%-38%25%107%-34%-112%118%-10%127%-115%-39%51%-60%-21%43%112%27%-84%113%13%71%-51%-43%103%-65%-66%78%-120%-26%-10%-104%81%-10%-86%114%-101%79%37%-20%88%-43%-48%-36%103%3%44%33%51%-90%-57%-18%5%-110%59%102%-2%-16%88%106%1%-107%48%115%28%32%-71%41%52%-13%21%-79%-124%92%-62%121%-14%18%20%-73%2%-79%-33%-112%43%-103%-42%29%116%-47%68%113%97%-108%-4%-54%13%-106%36%10%-65%1%31%87%14%-126%-5%6%-1%-21%72%3%-101%-81%45%120%66%77%16%-36%0%88%60%106%97%-39%-111%-50%-28%-36%8%44%70%-113%119%-22%97%20%-62%-59%121%41%-27%94%-125%-10%-57%-102%88%-10%99%12%-92%92%120%-2%45%-76%-71%33%-40%61%-36%80%-62%13%-63%48%-73%-124%109%-59%58%0%29%-24%75%-72%125%-48%-102%23%-9%99%-27%-128%-51%-29%78%-62%5%-21%-48%45%70%-3%10%2%51%54%-107%112%31%-103%-43%96%-96%17%-19%-22%42%18%115%95%-23%-58%122%123%-58%70%51%-72%66%-123%92%27%-76%-59%-124%54%2%-127%-120%-76%-14%-121%27%-49%120%-86%-46%77%51%51%44%-36%-7%110%63%-72%-47%-92%-115%-88%86%-24%-18%-111%27%-127%47%-23%-34%66%-89%-46%13%67%46%56%80%-97%44%18%103%40%-84%-75%111%-56%-99%-45%-50%-50%45%-46%-60%97%13%-105%51%-77%-96%83%-117%12%-111%92%113%90%34%87%8%-71%9%18%107%-67%25%114%9%-19%-52%-77%46%-1%10%-41%-75%-20%50%14%43%65%-47%15%-91%-104%118%-106%-49%47%-74%106%-79%-21%117%85%45%3%49%58%48%-28%-10%104%103%-7%-9%75%30%112%-36%95%-122%-36%127%104%103%-45%-100%27%-6%-120%93%50%-1%-117%-122%92%-97%118%-42%92%-97%11%73%-19%-8%-119%39%80%39%27%26%114%65%-35%-95%38%60%7%35%-48%-31%-98%-88%-87%92%96%127%122%23%-97%-5%32%-20%-59%103%-37%60%-127%101%-107%-17%86%-62%-58%-57%116%91%-109%112%-110%-112%91%56%103%98%-18%30%-35%-40%-45%-55%-55%62%5%-14%-69%19%9%23%-100%93%70%3%-67%0%-98%-10%100%-7%2%8%-13%59%6%92%88%-101%-103%-53%-72%48%29%-44%-33%-94%29%-112%-119%102%-46%-4%8%-90%-65%-25%-38%92%-80%105%124%36%-64%-78%-4%55%3%6%-17%-102%88%7%6%23%115%57%-9%16%24%100%-102%-87%10%-100%-82%103%34%-25%-62%21%-67%46%17%-88%-117%-119%45%-10%17%92%-72%-83%90%94%-55%-11%-105%80%76%125%115%25%97%-72%-16%-61%-77%-78%51%117%46%83%-119%94%111%3%-14%-70%-39%41%-76%106%41%23%-80%-104%-14%-43%-48%-58%113%7%-48%76%57%29%29%49%-10%119%4%-57%37%108%-11%-6%72%9%91%101%-126%-118%52%-62%114%-49%-40%-56%30%91%-11%-26%97%55%-31%63%-90%-18%-67%-49%-104%90%15%-24%-49%-72%112%49%-15%64%-16%92%-90%-66%-104%-85%-115%43%-96%21%-17%49%95%55%79%29%80%-9%26%78%-31%-82%-52%-67%65%-104%-11%82%-42%108%-101%100%-31%-18%113%126%20%35%-50%-87%-84%-53%118%-77%104%-12%-13%-13%87%-28%-67%-107%95%112%97%121%13%-47%-13%-112%-88%-58%-71%79%-100%110%23%36%-10%126%48%40%122%-79%-68%-96%-84%112%-24%-44%121%-73%-104%93%123%-37%2%-53%13%-7%-113%24%-38%7%-59%42%-113%125%125%-54%77%4%50%58%62%67%-33%-61%-58%-36%59%-50%92%105%112%115%-71%-15%24%-9%-85%71%101%-49%88%-106%96%65%-32%-17%-99%-29%105%-119%-61%-11%-112%-89%-23%75%-102%-118%94%88%64%-84%-54%61%123%-120%76%-32%-72%-22%50%-117%80%-23%61%-61%-111%54%-10%-23%-116%113%-91%-10%126%-93%112%-49%-120%84%113%71%87%124%55%50%19%63%126%-30%107%-56%-119%127%85%-33%-55%68%13%84%-78%76%-21%-111%87%80%85%127%-113%52%127%-106%-93%40%45%-7%85%122%-99%-9%87%123%-27%-81%52%88%93%29%-39%124%31%90%-17%-66%-94%-101%-30%-43%61%-105%-38%40%77%33%53%-33%-71%-123%99%-7%104%103%126%73%95%13%-72%-71%-110%-119%-88%-45%110%32%-82%-17%25%-67%-97%-20%-33%-74%-72%31%-12%-7%-31%74%22%9%25%-66%-37%36%97%127%-4%-13%-76%-67%-119%-4%-68%116%-38%-84%-83%4%-61%-69%51%-18%-89%102%-77%25%-10%-115%-22%-121%-2%3%52%51%-49%67%-105%-19%90%17%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%5%-46%-52%-24%92%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0rGQEDrWEeGMCcwsbpLuFA" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0rHeMDrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_C7NfsDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjUseInterface"/>
-          </eAnnotations>
-        </icon>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="__nMrwLqNEd-SedGzMDDkww" name="AMIpoll">
-        <icon xmi:type="uml:Image" xmi:id="_JXZ1gDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%84%0%0%0%101%8%3%0%0%0%-28%-109%52%-5%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-52%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%82%82%82%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%24%24%24%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-33%61%-9%-93%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%41%73%68%65%84%104%-127%-83%-39%125%91%-38%48%16%0%-16%-29%101%12%-76%32%32%69%17%-95%88%-107%23%-69%45%-43%90%-83%5%117%-32%-9%-1%78%-125%103%-37%67%47%109%115%-105%54%-9%119%-8%61%41%73%-109%-69%43%-120%-14%17%92%86%-105%86%56%-116%15%49%12%-83%-42%26%74%-126%-35%-54%106%8%82%84%74%-95%-125%-58%-117%12%30%98%84%28%125%-84%-74%-99%44%18%-96%87%20%125%-84%127%100%-117%0%83%81%12%85%-112%0%-61%98%-24%-83%-126%4%120%42%-126%-66%61%-87%72%-128%7%125%-44%-97%79%-43%38%-52%-75%-47%-2%25%65%2%-72%-70%-24%104%67%-102%-80%-43%68%107%57%59%19%69%-92%-121%46%25%36%-128%-81%-123%54%115%-99%-15%-85%-41%-88%110%15%81%-83%-51%-123%6%-22%63%100%-125%-45%-50%-3%-91%52%-108%-113%-98%100%-110%-81%-75%94%122%40%27%-99%103%-111%-42%58%115%44%23%-67%-31%-109%108%116%-108%-34%75%-101%93%-18%104%30%-38%77%-17%-7%102%-112%63%-100%-121%-2%72%-19%-95%47%-43%112%22%122%39%-101%118%-92%28%-49%65%-93%-119%100%-122%-118%71%-25%-94%-14%-61%119%8%-109%-125%110%37%-13%-52%-89%126%65%-93%-66%116%-81%15%-87%121%114%-48%26%54%63%-6%-28%47%104%-44%-57%91%-44%-71%-94%77%26%-67%-59%19%-99%51%76%26%-75%-15%102%34%23%-119%-125%86%-16%-61%-65%113%76%18%-75%16%-38%98%-103%20%-38%67%-89%-45%-17%-82%17%20%47%-45%61%-49%-92%-48%48%105%-114%-103%19%37%-48%1%-102%104%-109%105%18%-88%-117%-48%-127%25%-44%67%123%-108%107%18%104%-100%68%-17%-52%-96%17%122%-6%-116%11%-66%8%58%75%-102%54%-37%84%-93%40%-127%96%-66%77%36%-118%-18%-111%-118%33%-12%60%-119%50%14%103%22%58%78%-104%19%-66%-87%68%-125%-126%-21%116%64%-3%-111%91%91%36%-93%-27%-3%-115%95%73%-12%84%11%29%93%0%39%60%29%-12%-115%42%-117%-2%-59%82%7%125%-26%-103%-80%-48%65%57%69%-116%54%-54%13%45%-108%-7%-105%-62%119%29%-12%39%19%-43%90%-3%-63%-104%6%15%-47%-42%65%69%-60%91%127%-51%55%74%116%-81%-73%-57%-72%-114%-114%-15%-103%64%29%77%52%55%-48%5%-51%-53%120%104%20%85%-93%51%67%-24%-73%36%-70%50%-124%-94%-108%111%104%8%-19%-93%-11%103%-25%18%-60%-67%-113%106%-120%-70%33%116%-107%68%-49%13%-95%51%-12%-4%-20%77%-91%70%-5%-24%96%100%-33%-4%68%126%-118%58%112%83%51%-7%-87%-108%75%114%-49%84%2%13%-48%113%-53%77%-91%-87%-22%-28%20%77%-107%-7%86%81%-24%14%-95%78%94%43%70%15%-107%42%-66%23%35%21%-97%-76%85%121%-41%63%93%69%-93%20%29%-100%107%19%-88%92%70%27%-87%-9%83%-99%-119%11%19%-99%9%113%-123%81%70%121%-50%-23%-10%120%-110%-6%108%-96%-37%35%6%-87%-66%20%81%-3%-80%58%104%-82%-124%-62%69%-7%14%90%-6%15%-128%-119%-14%110%-27%-95%65%44%-85%112%82%-70%43%41%46%-45%-55%-31%38%-65%-80%-30%118%122%-85%41%116%-97%-77%-107%-20%-12%74%-119%-59%-1%-80%-34%-53%-95%57%93%126%-69%94%-90%123%46%-35%-41%-57%112%-98%23%35%-23%29%51%-13%69%98%106%91%75%-41%-35%109%-65%92%-9%74%19%21%-115%92%-11%24%15%-70%40%-25%43%-113%-89%-115%-118%119%-14%123%-44%-87%62%42%122%29%2%13%11%-96%-5%13%-85%-82%-68%-118%-95%34%82%78%-42%46%-122%10%113%-93%-8%103%-29%-94%-88%-22%11%111%113%84%-59%-106%64%-9%-73%108%-59%-54%-36%-75%-91%-48%125%-12%-22%97%-38%13%74%-94%-5%8%118%45%27%-61%81%121%-12%16%-2%-70%-46%-16%-38%97%24%-57%113%24%-74%-9%71%-31%31%12%-33%-99%51%8%-119%86%-81%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%45%-25%121%64%-90%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3DWg4DrWEeGMCcwsbpLuFA" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3DXH8DrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9f8J0DrWEeGMCcwsbpLuFA" key="image_name_key" value="IconAMIPoll"/>
-          </eAnnotations>
-        </icon>
-        <icon xmi:type="uml:Image" xmi:id="_3-hIoDrWEeGMCcwsbpLuFA" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%119%0%0%0%92%8%3%0%0%0%99%-116%-38%77%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%120%120%120%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-71%82%-104%50%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%4%-59%73%68%65%84%104%-127%-59%-102%109%91%-30%58%16%-122%11%-118%40%-88%108%-83%2%-53%-117%93%123%4%-75%-20%110%53%-83%69%-91%-108%30%20%-1%-1%79%58%-107%-77%72%38%77%-109%73%-126%-41%62%95%-55%-52%77%94%-102%-52%76%98%-111%29%104%-2%-74%26%-115%-22%-29%81%-27%-83%31%35%77%44%51%98%-68%58%60%-19%120%22%-91%-27%-76%57%-70%-8%90%-18%-62%127%6%-56%-83%58%-65%-34%-61%47%-30%94%28%-76%-7%-52%63%122%109%-4%-5%5%-36%-59%73%73%79%105%-75%43%59%-26%14%78%-28%-48%-75%-70%-29%-78%-31%-42%-32%94%96%-87%107%-14%96%71%-36%-80%-18%42%96%115%5%-50%46%-72%-117%-82%26%53%-41%-16%-38%-100%-69%127%-91%-116%-51%-43%-116%-52%-72%-15%-67%14%53%87%123%102%-62%117%94%52%-79%-106%-27%-78%-53%75%-127%-101%-88%79%45%5%102%-66%101%60%119%-66%44%117%58%124%-71%15%38%-66%-1%59%-104%-106%-73%-15%-58%122%-36%-92%-60%101%-89%89%-95%63%-108%120%-32%79%75%-42%94%85%-121%-21%100%60%87%-39%36%-31%-76%-75%111%-98%-72%61%-2%-95%-50%-115%121%115%43%-40%127%23%15%-100%-3%-37%-19%41%115%91%69%47%-35%-107%-48%34%-31%-20%-90%-53%-19%-116%-32%-72%-11%-30%127%-81%75%14%88%66%86%-33%11%86%45%53%-18%-96%48%104%47%-123%-115%-128%-93%-8%119%1%92%87%-31%-38%25%107%-34%-112%118%-10%127%-115%-39%51%-60%-21%43%112%27%-84%113%13%71%-51%-43%103%-65%-66%78%-120%-26%-10%-104%81%-10%-86%114%-101%79%37%-20%88%-43%-48%-36%103%3%44%33%51%-90%-57%-18%5%-110%59%102%-2%-16%88%106%1%-107%48%115%28%32%-71%41%52%-13%21%-79%-124%92%-62%121%-14%18%20%-73%2%-79%-33%-112%43%-103%-42%29%116%-47%68%113%97%-108%-4%-54%13%-106%36%10%-65%1%31%87%14%-126%-5%6%-1%-21%72%3%-101%-81%45%120%66%77%16%-36%0%88%60%106%97%-39%-111%-50%-28%-36%8%44%70%-113%119%-22%97%20%-62%-59%121%41%-27%94%-125%-10%-57%-102%88%-10%99%12%-92%92%120%-2%45%-76%-71%33%-40%61%-36%80%-62%13%-63%48%-73%-124%109%-59%58%0%29%-24%75%-72%125%-48%-102%23%-9%99%-27%-128%-51%-29%78%-62%5%-21%-48%45%70%-3%10%2%51%54%-107%112%31%-103%-43%96%-96%17%-19%-22%42%18%115%95%-23%-58%122%123%-58%70%51%-72%66%-123%92%27%-76%-59%-124%54%2%-127%-120%-76%-14%-121%27%-49%120%-86%-46%77%51%51%44%-36%-7%110%63%-72%-47%-92%-115%-88%86%-24%-18%-111%27%-127%47%-23%-34%66%-89%-46%13%67%46%56%80%-97%44%18%103%40%-84%-75%111%-56%-99%-45%-50%-50%45%-46%-60%97%13%-105%51%-77%-96%83%-117%12%-111%92%113%90%34%87%8%-71%9%18%107%-67%25%114%9%-19%-52%-77%46%-1%10%-41%-75%-20%50%14%43%65%-47%15%-91%-104%118%-106%-49%47%-74%106%-79%-21%117%85%45%3%49%58%48%-28%-10%104%103%-7%-9%75%30%112%-36%95%-122%-36%127%104%103%-45%-100%27%-6%-120%93%50%-1%-117%-122%92%-97%118%-42%92%-97%11%73%-19%-8%-119%39%80%39%27%26%114%65%-35%-95%38%60%7%35%-48%-31%-98%-88%-87%92%96%127%122%23%-97%-5%32%-20%-59%103%-37%60%-127%101%-107%-17%86%-62%-58%-57%116%91%-109%112%-110%-112%91%56%103%98%-18%30%-35%-40%-45%-55%-55%62%5%-14%-69%19%9%23%-100%93%70%3%-67%0%-98%-10%100%-7%2%8%-13%59%6%92%88%-101%-103%-53%-72%48%29%-44%-33%-94%29%-112%-119%102%-46%-4%8%-90%-65%-25%-38%92%-80%105%124%36%-64%-78%-4%55%3%6%-17%-102%88%7%6%23%115%57%-9%16%24%100%-102%-87%10%-100%-82%103%34%-25%-62%21%-67%46%17%-88%-117%-119%45%-10%17%92%-72%-83%90%94%-55%-11%-105%80%76%125%115%25%97%-72%-16%-61%-77%-78%51%117%46%83%-119%94%111%3%-14%-70%-39%41%-76%106%41%23%-80%-104%-14%-43%-48%-58%113%7%-48%76%57%29%29%49%-10%119%4%-57%37%108%-11%-6%72%9%91%101%-126%-118%52%-62%114%-49%-40%-56%30%91%-11%-26%97%55%-31%63%-90%-18%-67%-49%-104%90%15%-24%-49%-72%112%49%-15%64%-16%92%-90%-66%-104%-85%-115%43%-96%21%-17%49%95%55%79%29%80%-9%26%78%-31%-82%-52%-67%65%-104%-11%82%-42%108%-101%100%-31%-18%113%126%20%35%-50%-87%-84%-53%118%-77%104%-12%-13%-13%87%-28%-67%-107%95%112%97%121%13%-47%-13%-112%-88%-58%-71%79%-100%110%23%36%-10%126%48%40%122%-79%-68%-96%-84%112%-24%-44%121%-73%-104%93%123%-37%2%-53%13%-7%-113%24%-38%7%-59%42%-113%125%125%-54%77%4%50%58%62%67%-33%-61%-58%-36%59%-50%92%105%112%115%-71%-15%24%-9%-85%71%101%-49%88%-106%96%65%-32%-17%-99%-29%105%-119%-61%-11%-112%-89%-23%75%-102%-118%94%88%64%-84%-54%61%123%-120%76%-32%-72%-22%50%-117%80%-23%61%-61%-111%54%-10%-23%-116%113%-91%-10%126%-93%112%-49%-120%84%113%71%87%124%55%50%19%63%126%-30%107%-56%-119%127%85%-33%-55%68%13%84%-78%76%-21%-111%87%80%85%127%-113%52%127%-106%-93%40%45%-7%85%122%-99%-9%87%123%-27%-81%52%88%93%29%-39%124%31%90%-17%-66%-94%-101%-30%-43%61%-105%-38%40%77%33%53%-33%-71%-123%99%-7%104%103%126%73%95%13%-72%-71%-110%-119%-88%-45%110%32%-82%-17%25%-67%-97%-20%-33%-74%-72%31%-12%-7%-31%74%22%9%25%-66%-37%36%97%127%-4%-13%-76%-67%-119%-4%-68%116%-38%-84%-83%4%-61%-69%51%-18%-89%102%-77%25%-10%-115%-22%-121%-2%3%52%51%-49%67%-105%-19%90%17%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%5%-46%-52%-24%92%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_54LY8DrWEeGMCcwsbpLuFA" source="image_papyrus">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_54MnEDrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ACEvYDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjAMIPoll"/>
-          </eAnnotations>
-        </icon>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="_AQZZwLqOEd-SedGzMDDkww" name="AMIcallback">
-        <icon xmi:type="uml:Image" xmi:id="_KoY8QDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%72%0%0%0%104%8%3%0%0%0%101%-97%70%67%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%103%103%103%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%-34%-34%-34%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-51%-46%-59%107%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%-13%73%68%65%84%88%-123%-75%-39%109%67%-86%48%20%0%-32%-39%53%75%-67%105%26%-23%-51%74%52%73%45%-13%-86%13%-13%37%-55%-105%-44%-1%-1%-109%-82%-70%13%6%-116%-77%-93%113%-49%-73%-28%-12%48%-74%113%-40%-128%80%116%12%55%-39%-4%116%78%-56%-14%-13%-6%-9%-13%40%120%-108%32%21%-69%121%85%39%82%52%-14%109%-65%-123%-124%-102%-9%36%20%-85%-92%125%44%84%-67%13%51%-5%-72%-33%30%7%117%-44%-52%62%-78%110%-93%-12%-48%-80%31%-19%16%82%40%98%-95%-30%-89%-12%111%-26%52%-105%-51%-68%79%-66%-91%-97%-26%51%28%100%23%-68%-50%-51%-82%-59%-123%84%47%-67%-50%-65%27%-95%-96%-116%-56%-81%-65%-7%-122%-37%62%119%-101%-107%-73%17%-48%-117%-37%23%70%-24%-102%-35%-66%-21%-22%33%-93%-63%115%51%-74%-30%104%-57%-30%71%23%90%72%-100%-76%-93%62%-36%-30%-121%-57%58%-56%-31%-89%-20%71%37%116%-71%-76%-47%64%57%-106%118%59%-116%-52%-56%-77%-116%50%12%-35%-16%6%-43%-12%109%126%0%-95%54%75%-54%65%-115%-50%-120%-127%-125%-96%-100%56%-101%-66%-43%101%8%26%-78%-79%-81%64%14%-91%31%-20%108%14%0%85%-7%20%-126%-95%36%-53%106%6%-96%-46%-52%-117%95%-18%-48%66%-15%-59%-78%82%62%40%41%-33%-42%34%28%24%-78%89%86%90%-122%54%10%-122%-112%80%-103%15%4%59%-7%64%-122%6%74%72%-29%-48%-54%33%107%34%-25%77%-108%-112%-22%118%-107%99%-50%38%-101%30%-102%105%32%-106%-107%-43%67%-64%13%-78%15%-125%101%117%-62%80%-91%-59%-29%-110%-91%-92%96%40%-63%-78%90%97%104%18%56%-41%68%-15%-33%82%-16%17%122%4%32%58%61%-4%109%-35%64%-114%-51%70%-1%-101%66%16%127%48%-66%65%16%-81%16%61%16%90%-80%-92%70%-88%-18%123%49%92%-79%-100%45%8%-15%-71%-74%59%93%100%-16%70%-101%67%24%58%-29%51%-96%29%-27%60%89%-18%-56%-126%16%-17%110%98%85%-43%-114%99%-78%-29%-53%-95%14%-86%-15%38%-103%79%42%103%-79%-108%90%12%67%-18%-125%-51%82%76%-53%103%-79%-124%27%-37%122%104%84%22%119%-54%-57%34%112%89%110%-83%88%30%70%85%3%-47%-46%74%-28%-109%-63%-38%43%4%-43%-65%-30%113%77%-22%-20%12%58%-120%62%74%107%80%115%-48%105%-83%-41%-83%-117%-98%-89%19%43%65%113%-112%-41%-91%-54%112%-121%65%15%81%67%93%94%14%81%113%-85%21%2%-94%118%-38%-118%112%-6%94%65%-57%64%-14%16%-55%-31%27%72%28%-76%-21%-87%92%-35%-81%52%-14%-2%-46%-119%-123%-10%91%-111%94%69%40%-53%65%104%51%-126%-121%14%81%122%-36%38%-86%-54%-57%-63%-111%80%116%-60%9%57%-25%111%44%-106%63%-125%-38%-127%73%114%42%84%12%12%-21%-55%80%45%56%-51%78%-123%30%-30%-126%-24%-8%4%-56%72%-68%-20%6%-89%37%-105%114%66%111%-6%-26%81%-112%-109%-54%-117%-62%50%-10%65%94%96%-26%81%45%39%13%-78%-68%-75%56%14%58%43%-5%26%-33%61%17%26%-11%2%-35%-103%60%13%-86%-122%106%110%-30%36%40%21%46%-109%-2%81%67%66%41%9%88%-26%95%55%-50%-20%107%45%-41%36%44%-44%116%21%43%-89%92%9%32%-95%-124%123%93%-3%63%-22%22%-29%-96%-110%-104%-77%-26%-103%-102%-63%66%124%-57%73%-54%-91%40%7%7%-119%5%87%5%88%4%98%-96%-30%-73%-34%65%65%124%-28%-83%47%-64%65%65%108%-37%2%47%-109%49%16%-33%-58%-107%-31%109%18%2%-30%-101%-19%103%-48%65%64%35%54%23%87%-102%125%-101%30%-30%-101%-19%46%-123%67%15%-99%51%72%-77%71%70%64%108%105%100%106%28%5%52%-99%-7%-29%-18%-16%-21%-57%-15%-112%58%-46%113%65%-16%108%-4%95%-48%117%92%-48%107%92%-48%-80%16%13%-127%-81%-75%-126%-48%-18%-2%-68%-32%-117%-73%-105%-106%27%-20%21%-76%-26%117%20%-26%-19%113%-102%53%-87%-88%73%-45%67%-4%85%-61%86%-109%-90%-121%28%6%93%-1%24%18%5%82%-13%-42%6%1%-15%89%-95%-71%73%16%-112%-63%42%-101%-75%0%-77%48%31%15%-82%88%-109%-32%-94%-115%-127%120%-115%-124%-117%36%-22%-69%-56%59%-105%-96%119%82%40%-56%48%-11%18%-18%-109%79%91%-36%114%-23%-56%126%66%126%59%18%-53%17%82%-114%26%59%36%52%114%-117%94%-93%-89%94%2%96%63%-117%21%-35%-3%44%33%-123%-74%-30%21%55%22%-94%-122%36%17%82%-97%78%38%19%-33%-73%9%52%68%-115%80%-39%-13%125%-100%-64%67%-69%103%110%-61%15%-7%-54%-17%49%16%117%62%99%-126%-88%-99%24%-57%3%-19%98%-47%-81%-57%3%-19%-30%-95%-35%43%-49%119%113%46%-1%-8%15%83%120%-125%-89%63%57%-45%-36%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%32%-103%-56%60%27%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
-        <icon xmi:type="uml:Image" xmi:id="_WTUY0ENnEeGoAtSeIK7WLg" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%72%0%0%0%104%8%3%0%0%0%101%-97%70%67%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%103%103%103%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%-34%-34%-34%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-51%-46%-59%107%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%-13%73%68%65%84%88%-123%-75%-39%109%67%-86%48%20%0%-32%-39%53%75%-67%105%26%-23%-51%74%52%73%45%-13%-86%13%-13%37%-55%-105%-44%-1%-1%-109%-82%-70%13%6%-116%-77%-93%113%-49%-73%-28%-12%48%-74%113%-40%-128%80%116%12%55%-39%-4%116%78%-56%-14%-13%-6%-9%-13%40%120%-108%32%21%-69%121%85%39%82%52%-14%109%-65%-123%-124%-102%-9%36%20%-85%-92%125%44%84%-67%13%51%-5%-72%-33%30%7%117%-44%-52%62%-78%110%-93%-12%-48%-80%31%-19%16%82%40%98%-95%-30%-89%-12%111%-26%52%-105%-51%-68%79%-66%-91%-97%-26%51%28%100%23%-68%-50%-51%-82%-59%-123%84%47%-67%-50%-65%27%-95%-96%-116%-56%-81%-65%-7%-122%-37%62%119%-101%-107%-73%17%-48%-117%-37%23%70%-24%-102%-35%-66%-21%-22%33%-93%-63%115%51%-74%-30%104%-57%-30%71%23%90%72%-100%-76%-93%62%-36%-30%-121%-57%58%-56%-31%-89%-20%71%37%116%-71%-76%-47%64%57%-106%118%59%-116%-52%-56%-77%-116%50%12%-35%-16%6%-43%-12%109%126%0%-95%54%75%-54%65%-115%-50%-120%-127%-125%-96%-100%56%-101%-66%-43%101%8%26%-78%-79%-81%64%14%-91%31%-20%108%14%0%85%-7%20%-126%-95%36%-53%106%6%-96%-46%-52%-117%95%-18%-48%66%-15%-59%-78%82%62%40%41%-33%-42%34%28%24%-78%89%86%90%-122%54%10%-122%-112%80%-103%15%4%59%-7%64%-122%6%74%72%-29%-48%-54%33%107%34%-25%77%-108%-112%-22%118%-107%99%-50%38%-101%30%-102%105%32%-106%-107%-43%67%-64%13%-78%15%-125%101%117%-62%80%-91%-59%-29%-110%-91%-92%96%40%-63%-78%90%97%104%18%56%-41%68%-15%-33%82%-16%17%122%4%32%58%61%-4%109%-35%64%-114%-51%70%-1%-101%66%16%127%48%-66%65%16%-81%16%61%16%90%-80%-92%70%-88%-18%123%49%92%-79%-100%45%8%-15%-71%-74%59%93%100%-16%70%-101%67%24%58%-29%51%-96%29%-27%60%89%-18%-56%-126%16%-17%110%98%85%-43%-114%99%-78%-29%-53%-95%14%-86%-15%38%-103%79%42%103%-79%-108%90%12%67%-18%-125%-51%82%76%-53%103%-79%-124%27%-37%122%104%84%22%119%-54%-57%34%112%89%110%-83%88%30%70%85%3%-47%-46%74%-28%-109%-63%-38%43%4%-43%-65%-30%113%77%-22%-20%12%58%-120%62%74%107%80%115%-48%105%-83%-41%-83%-117%-98%-89%19%43%65%113%-112%-41%-91%-54%112%-121%65%15%81%67%93%94%14%81%113%-85%21%2%-94%118%-38%-118%112%-6%94%65%-57%64%-14%16%-55%-31%27%72%28%-76%-21%-87%92%-35%-81%52%-14%-2%-46%-119%-123%-10%91%-111%94%69%40%-53%65%104%51%-126%-121%14%81%122%-36%38%-86%-54%-57%-63%-111%80%116%-60%9%57%-25%111%44%-106%63%-125%-38%-127%73%114%42%84%12%12%-21%-55%80%45%56%-51%78%-123%30%-30%-126%-24%-8%4%-56%72%-68%-20%6%-89%37%-105%114%66%111%-6%-26%81%-112%-109%-54%-117%-62%50%-10%65%94%96%-26%81%45%39%13%-78%-68%-75%56%14%58%43%-5%26%-33%61%17%26%-11%2%-35%-103%60%13%-86%-122%106%110%-30%36%40%21%46%-109%-2%81%67%66%41%9%88%-26%95%55%-50%-20%107%45%-41%36%44%-44%116%21%43%-89%92%9%32%-95%-124%123%93%-3%63%-22%22%-29%-96%-110%-104%-77%-26%-103%-102%-63%66%124%-57%73%-54%-91%40%7%7%-119%5%87%5%88%4%98%-96%-30%-73%-34%65%65%124%-28%-83%47%-64%65%65%108%-37%2%47%-109%49%16%-33%-58%-107%-31%109%18%2%-30%-101%-19%103%-48%65%64%35%54%23%87%-102%125%-101%30%-30%-101%-19%46%-123%67%15%-99%51%72%-77%71%70%64%108%105%100%106%28%5%52%-99%-7%-29%-18%-16%-21%-57%-15%-112%58%-46%113%65%-16%108%-4%95%-48%117%92%-48%107%92%-48%-80%16%13%-127%-81%-75%-126%-48%-18%-2%-68%-32%-117%-73%-105%-106%27%-20%21%-76%-26%117%20%-26%-19%113%-102%53%-87%-88%73%-45%67%-4%85%-61%86%-109%-90%-121%28%6%93%-1%24%18%5%82%-13%-42%6%1%-15%89%-95%-71%73%16%-112%-63%42%-101%-75%0%-77%48%31%15%-82%88%-109%-32%-94%-115%-127%120%-115%-124%-117%36%-22%-69%-56%59%-105%-96%119%82%40%-56%48%-11%18%-18%-109%79%91%-36%114%-23%-56%126%66%126%59%18%-53%17%82%-114%26%59%36%52%114%-117%94%-93%-89%94%2%96%63%-117%21%-35%-3%44%33%-123%-74%-30%21%55%22%-94%-122%36%17%82%-97%78%38%19%-33%-73%9%52%68%-115%80%-39%-13%125%-100%-64%67%-69%103%110%-61%15%-7%-54%-17%49%16%117%62%99%-126%-88%-99%24%-57%3%-19%98%-47%-81%-57%3%-19%-30%-95%-35%43%-49%119%113%46%-1%-8%15%83%120%-125%-89%63%57%-45%-36%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%32%-103%-56%60%27%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Stereotype" xmi:id="_GjnlcC8qEeKx7OxAiA06uw" name="PushProdPullCons">
-        <icon xmi:type="uml:Image" xmi:id="_0I0rMEMLEeKGIL695HkFYQ" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%112%0%0%0%103%8%0%0%0%0%-3%88%-103%-76%0%0%7%56%73%68%65%84%104%-127%-75%-102%123%80%21%85%28%-57%-9%-18%-67%92%121%-91%40%-124%38%70%64%-26%11%-33%-118%-29%115%124%84%-90%83%106%-91%-93%2%-115%83%-90%102%-90%-7%-56%-55%-41%-104%58%-26%-116%-40%56%-102%-64%-116%-88%53%101%62%-54%102%-14%81%26%86%102%-58%4%78%102%-120%14%89%62%72%5%-15%9%72%112%-111%-57%-62%-23%42%23%-10%123%118%-49%-18%-98%-35%-69%-2%-2%-29%-100%-33%-2%62%-105%-35%-13%123%-100%-33%57%2%-31%23%-23%-20%-87%-101%-116%-31%-102%-69%38%108%16%-127%31%-105%-38%78%16%-100%83%47%-46%-93%-43%-97%116%17%-59%94%-23%53%-10%3%-85%-34%116%9%15%36%-106%34%86%39%63%28%20%-109%-1%-77%29%-72%-92%-111%39%8%-29%-85%96%52%-75%105%116%90%-75%-51%-64%-116%22%62%-53%66%-28%101%121%-76%122%96%-45%-88%-72%-76%-34%86%-32%-31%80%-95%89%-66%-105%-121%47%61%-39%60%-22%78%-77%19%120%-90%-83%-52%19%-14%-28%-15%-62%56%121%56%116%-97%125%-64%-62%-98%-64%-21%120%93%-98%-88%26%12%19%109%-114%-39%5%44%123%22%-52%10%91%112%-22%-101%64%-104%-119%62%103%15%80%74%114%-128%-43%23%-53%113%-50%-25%22%62%-23%117%-51%22%-32%42%39%-40%-20%83%76%79%-106%-67%-128%-60%81%-58%65%-57%24%-72%-93%5%88%-20%-112%-81%-100%-66%-103%-128%-60%-55%30%-65%-127%-103%-32%16%66%-21%-29%106%-123%11%79%-125%-126%56%-73%-42%79%96%126%52%-104%11%-38%-55%82%-55%121%28%84%2%-42%-7%7%-68%-34%11%95%-40%-70%58%-90%-46%-63%-57%64%39%-28%115%127%-128%-98%-25%-112%55%-29%-66%-122%-38%118%-4%-52%97%-121%-83%3%-91%-23%-24%16%99%52%51%66%-3%-121%34%-24%69%-99%-78%12%92%-29%2%59%61%-117%-75%21%107%-26%-32%-101%-24%-10%-113%69%-32%23%24%70%-94%114%-11%126%90%-59%68%36%14%101%21%6%-58%-64%19%-83%-64%70%-85%31%-12%120%-124%-108%12%69%-30%-72%50%11%64%72%61%-34%-46%-30%-45%6%125%32%-71%26%15%-22%-30%76%-83%-11%-91%13%-68%-35%7%127%-14%74%-74%67%-96%-28%70%-127%126%-64%7%-110%73%-96%-121%-118%-111%111%104%-2%96%-112%-93%97%-16%68%96%-70%73%-32%76%116%-120%81%-9%56%120%-124%-20%13%-126%103%66%-65%50%5%92%-113%14%-47%-11%10%23%-113%-44%111%-62%-68%18%-98%101%2%-72%-41%13%79%70%-98%-26%-29%121%-35%113%41%126%-121%-40%-13%-36%-64%-109%-24%16%-63%-103%-68%60%66%42%95%67%98%127%86%-88%96%1%11%48%67%56%-73%25%57%4%74%-39%88%36%14%47%-27%2%-106%80%14%-79%-62%-40%33%80%-118%-6%-31%-61%83%-85%84%10%106%-96%-12%18%46%-48%100%-11%35%-6%-110%31%11%79%59%22%-87%-36%81%13%-100%-117%-111%127%-104%118%-116%-46%-110%19%88%-61%6%108%52%4%110%70%-121%-120%-27%116%8%74%14%-32%-110%11%82%-26%99%37%112%63%58%68%-60%31%22%120%-92%126%43%102%-103%-106%-118%-88%-81%0%-2%-114%-31%41%-8%59%43%60%66%106%87%99%0%104%-105%71%77%-46%-64%43%88%-127%9%105%90%1%-40%72%60%-77%-48%76%-89%34%77%96%101%95%84%92%96%84%-15%105%75%-7%-85%104%104%48%-106%-57%8%-84%-101%-128%106%-109%121%-73%-104%44%-71%51%4%77%-31%30%22%-127%-117%-47%1%19%-52%59%4%-54%-91%46%96%-53%49%67%-2%56%0%-92%98%125%76%-127%95%60%-17%-14%123%2%-84%57%87%49%-128%-103%-104%-51%-38%-24%-106%122%92%114%-76%53%-40%115%103%-88%-128%-25%-38%-64%-68%-21%-96%-103%-120%-83%33%-69%-15%63%8%57%-92%0%-34%-120%-63%-81%-68%-103%-77%67%-96%43%13%31%81%-7%56%-121%2%86%12%66%-34%60%-21%14%-127%82%-77%16%-115%-58%92%4%96%-35%100%-100%-102%-32%-113%67%-96%84%38%-94%-39%-34%55%101%-32%10%116%-120%-34%37%54%-15%-68%-7%120%36%18%71%120%-102%-128%59%-112%-41%94%111%103%96%86%-118%-79%-1%-31%72%-108%26%-127%-57%48%67%-124%-8%-17%16%40%-25%-79%60%118%-66%-1%16%120%1%-13%-105%75%-93%-100%-76%44%89%-24%110%-31%69%94%96%113%71%124%-49%41%118%56%4%37%-5%-63%29%-59%84%47%-112%-6%-82%-13%-52%-107%76%60%-46%-112%14%-18%56%64%18%-14%112%-63%-116%54%-20%122%88%-112%44%-8%100%125%37%97%62%-16%-30%-17%60%2%-34%5%-88%114%29%-21%-119%-48%94%-2%51%-20%-46%35%-32%-35%-22%15%-1%81%-40%95%68%-64%125%-28%86%27%66%-74%66%42%38%-127%125%71%-94%-41%45%54%-94%79%88%-84%-102%-76%-91%-10%61%92%-110%-61%-68%-91%-65%112%59%0%70%66%-71%55%74%124%-46%-80%5%19%70%-41%-85%-28%-127%-29%83%91%-84%-88%-117%-122%70%-52%-56%1%76%-119%17%15%-1%27%111%-92%-103%-126%-60%78%-73%108%-28%-3%22%1%-106%-125%15%18%31%-16%-2%112%-22%61%87%-40%-58%43%120%6%-20%-70%55%-111%38%32%41%-19%-122%-60%41%-4%-89%44%-6%82%58%2%-84%58%23%18%25%72%10%-80%37%35%44%-78%39%-68%121%-110%-48%-24%-53%77%-91%105%99%2%-2%19%-73%20%-62%70%59%2%120%-35%114%52%57%-80%-71%-8%-10%-43%52%71%-80%1%-23%-38%-25%127%0%104%-56%64%-121%-120%-109%79%115%-102%-86%-74%109%-72%13%13%57%-18%55%48%19%-33%89%120%-74%60%-47%92%-105%-82%68%98%100%30%-53%-120%9%57%-35%14%-84%5%-19%-127%25%-71%-14%-98%-123%121%42%-90%72%109%-60%-124%20%-10%0%91%1%41%56%37%3%-21%-88%-114%-57%0%127%-10%50%-9%-80%115%-19%-104%69%109%51%97%51%83%-47%-101%90%-57%60%-3%60%-74%120%94%71%67%99%-24%62%8%110%-41%-118%-30%80%-15%109%-85%1%64%90%-125%11%52%-31%6%61%75%-19%-128%-13%-15%4%66%88%109%113%-57%77%117%-82%-97%82%30%-27%-48%123%-4%-97%67%64%-41%-75%-35%-110%59%-2%68%117%-82%127%84%78%43%-70%24%123%48%59%90%-22%98%-100%-61%70%93%-32%103%-86%121%101%-97%-122%-38%98%69%-28%-104%-26%81%-67%54%-41%90%-75%-126%-86%19%-75%0%3%64%-76%-39%124%124%15%-5%18%-30%116%-58%-70%83%1%-21%38%82%59%41%115%-123%99%-19%108%92%117%35%24%-35%75%70%115%-81%18%-49%117%-123%-25%-71%111%4%120%-91%-98%-6%32%-35%-103%71%57%-116%126%-23%45%-20%120%-16%53%-12%125%-14%101%48%60%24%-59%-114%-57%-52%-114%112%123%36%46%-31%-34%127%-1%18%14%-113%-75%-44%88%-30%-58%61%111%-25%22%-50%124%76%29%-107%6%102%104%104%-79%-69%-6%-5%49%88%4%127%-51%-59%-93%-70%93%-30%50%-109%39%51%105%24%0%-62%127%-27%-32%81%53%-67%-112%100%-6%-20%105%57%-70%99%7%-29%-126%-68%6%119%97%-62%112%-19%-66%-124%22%80%-102%-122%-18%-40%-29%95%35%-32%-57%88%20%-59%-21%-88%107%-98%-82%-47%-57%-65%35%13%2%-64%1%60%119%-114%-52%-42%-47%-44%62%63%-92%-49%-13%18%43%-11%120%39%35%65%53%84%119%-111%-23%-100%-112%-46%-3%-24%-7%58%1%-32%114%103%80%12%-40%-84%-57%-45%61%3%-50%69%71%118%-90%104%22%-28%119%71%-127%-98%-72%80%-33%109%117%79%-71%-113%96%62%14%-38%-87%-111%-113%-85%-88%19%-82%-119%6%-101%33%-3%-117%3%25%-72%-10%90%-79%-113%-39%-22%-105%-95%7%13%49%-38%-18%25%92%-115%88%-117%-25%52%109%-103%-7%120%43%54%-50%-30%12%27%117%6%64%-23%29%-4%-7%-99%24%-7%-8%80%75%80%-32%-120%73%70%-73%77%60%-44%9%-60%32%-43%11%59%-125%-103%37%100%-105%33%-49%-8%62%-51%93%-22%4%-30%21%69%62%46%-60%-30%-39%-99%-62%54%97%14%72%-82%117%71%-30%108%-86%91%92%54%26%-25%-34%-30%-23%36%115%-36%-119%58%-117%45%79%-9%-73%56%-75%1%121%-29%-54%-75%44%-104%4%-110%99%-104%-113%-57%-62%-65%113%37%6%38%-6%-23%-36%70%49%9%36%-69%-96%86%-23%12%123%-123%108%8%12%-86%-102%-34%31%32%-39%36%7%-128%104%-72%-69%-106%41%-13%-62%-114%-14%-15%56%-127%-46%-30%-26%0%48%6%-118%-37%-13%-51%-25%75%-116%-102%-34%47%-96%55%94%-6%-14%-79%115%55%-116%-42%-114%-9%-15%-60%85%-36%-115%15%-34%-5%-91%37%-109%26%-119%115%-88%-22%-35%87%-88%-119%-17%62%-126%43%-69%82%90%127%-105%-69%-25%94%-123%-27%-53%-55%-34%72%26%-67%-61%68%99%-121%-1%82%50%33%-27%-84%-46%-81%-28%-52%-33%-90%-6%72%-1%3%78%-120%-67%33%108%33%82%26%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
-        <icon xmi:type="uml:Image" xmi:id="_12mboEMLEeKGIL695HkFYQ" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%112%0%0%0%103%8%0%0%0%0%-3%88%-103%-76%0%0%7%56%73%68%65%84%104%-127%-75%-102%123%80%21%85%28%-57%-9%-18%-67%92%121%-91%40%-124%38%70%64%-26%11%-33%-118%-29%115%124%84%-90%83%106%-91%-93%2%-115%83%-90%102%-90%-7%-56%-55%-41%-104%58%-26%-116%-40%56%-102%-64%-116%-88%53%101%62%-54%102%-14%81%26%86%102%-58%4%78%102%-120%14%89%62%72%5%-15%9%72%112%-111%-57%-62%-23%42%23%-10%123%118%-49%-18%-98%-35%-69%-2%-2%-29%-100%-33%-2%62%-105%-35%-13%123%-100%-33%57%2%-31%23%-23%-20%-87%-101%-116%-31%-102%-69%38%108%16%-127%31%-105%-38%78%16%-100%83%47%-46%-93%-43%-97%116%17%-59%94%-23%53%-10%3%-85%-34%116%9%15%36%-106%34%86%39%63%28%20%-109%-1%-77%29%-72%-92%-111%39%8%-29%-85%96%52%-75%105%116%90%-75%-51%-64%-116%22%62%-53%66%-28%101%121%-76%122%96%-45%-88%-72%-76%-34%86%-32%-31%80%-95%89%-66%-105%-121%47%61%-39%60%-22%78%-77%19%120%-90%-83%-52%19%-14%-28%-15%-62%56%121%56%116%-97%125%-64%-62%-98%-64%-21%120%93%-98%-88%26%12%19%109%-114%-39%5%44%123%22%-52%10%91%112%-22%-101%64%-104%-119%62%103%15%80%74%114%-128%-43%23%-53%113%-50%-25%22%62%-23%117%-51%22%-32%42%39%-40%-20%83%76%79%-106%-67%-128%-60%81%-58%65%-57%24%-72%-93%5%88%-20%-112%-81%-100%-66%-103%-128%-60%-55%30%-65%-127%-103%-32%16%66%-21%-29%106%-123%11%79%-125%-126%56%-73%-42%79%96%126%52%-104%11%-38%-55%82%-55%121%28%84%2%-42%-7%7%-68%-34%11%95%-40%-70%58%-90%-46%-63%-57%64%39%-28%115%127%-128%-98%-25%-112%55%-29%-66%-122%-38%118%-4%-52%97%-121%-83%3%-91%-23%-24%16%99%52%51%66%-3%-121%34%-24%69%-99%-78%12%92%-29%2%59%61%-117%-75%21%107%-26%-32%-101%-24%-10%-113%69%-32%23%24%70%-94%114%-11%126%90%-59%68%36%14%101%21%6%-58%-64%19%-83%-64%70%-85%31%-12%120%-124%-108%12%69%-30%-72%50%11%64%72%61%-34%-46%-30%-45%6%125%32%-71%26%15%-22%-30%76%-83%-11%-91%13%-68%-35%7%127%-14%74%-74%67%-96%-28%70%-127%126%-64%7%-110%73%-96%-121%-118%-111%111%104%-2%96%-112%-93%97%-16%68%96%-70%73%-32%76%116%-120%81%-9%56%120%-124%-20%13%-126%103%66%-65%50%5%92%-113%14%-47%-11%10%23%-113%-44%111%-62%-68%18%-98%101%2%-72%-41%13%79%70%-98%-26%-29%121%-35%113%41%126%-121%-40%-13%-36%-64%-109%-24%16%-63%-103%-68%60%66%42%95%67%98%127%86%-88%96%1%11%48%67%56%-73%25%57%4%74%-39%88%36%14%47%-27%2%-106%80%14%-79%-62%-40%33%80%-118%-6%-31%-61%83%-85%84%10%106%-96%-12%18%46%-48%100%-11%35%-6%-110%31%11%79%59%22%-87%-36%81%13%-100%-117%-111%127%-104%118%-116%-46%-110%19%88%-61%6%108%52%4%110%70%-121%-120%-27%116%8%74%14%-32%-110%11%82%-26%99%37%112%63%58%68%-60%31%22%120%-92%126%43%102%-103%-106%-118%-88%-81%0%-2%-114%-31%41%-8%59%43%60%66%106%87%99%0%104%-105%71%77%-46%-64%43%88%-127%9%105%90%1%-40%72%60%-77%-48%76%-89%34%77%96%101%95%84%92%96%84%-15%105%75%-7%-85%104%104%48%-106%-57%8%-84%-101%-128%106%-109%121%-73%-104%44%-71%51%4%77%-31%30%22%-127%-117%-47%1%19%-52%59%4%-54%-91%46%96%-53%49%67%-2%56%0%-92%98%125%76%-127%95%60%-17%-14%123%2%-84%57%87%49%-128%-103%-104%-51%-38%-24%-106%122%92%114%-76%53%-40%115%103%-88%-128%-25%-38%-64%-68%-21%-96%-103%-120%-83%33%-69%-15%63%8%57%-92%0%-34%-120%-63%-81%-68%-103%-77%67%-96%43%13%31%81%-7%56%-121%2%86%12%66%-34%60%-21%14%-127%82%-77%16%-115%-58%92%4%96%-35%100%-100%-102%-32%-113%67%-96%84%38%-94%-39%-34%55%101%-32%10%116%-120%-34%37%54%-15%-68%-7%120%36%18%71%120%-102%-128%59%-112%-41%94%111%103%96%86%-118%-79%-1%-31%72%-108%26%-127%-57%48%67%-124%-8%-17%16%40%-25%-79%60%118%-66%-1%16%120%1%-13%-105%75%-93%-100%-76%44%89%-24%110%-31%69%94%96%113%71%124%-49%41%118%56%4%37%-5%-63%29%-59%84%47%-112%-6%-82%-13%-52%-107%76%60%-46%-112%14%-18%56%64%18%-14%112%-63%-116%54%-20%122%88%-112%44%-8%100%125%37%97%62%-16%-30%-17%60%2%-34%5%-88%114%29%-21%-119%-48%94%-2%51%-20%-46%35%-32%-35%-22%15%-1%81%-40%95%68%-64%125%-28%86%27%66%-74%66%42%38%-127%125%71%-94%-41%45%54%-94%79%88%-84%-102%-76%-91%-10%61%92%-110%-61%-68%-91%-65%112%59%0%70%66%-71%55%74%124%-46%-80%5%19%70%-41%-85%-28%-127%-29%83%91%-84%-88%-117%-122%70%-52%-56%1%76%-119%17%15%-1%27%111%-92%-103%-126%-60%78%-73%108%-28%-3%22%1%-106%-125%15%18%31%-16%-2%112%-22%61%87%-40%-58%43%120%6%-20%-70%55%-111%38%32%41%-19%-122%-60%41%-4%-89%44%-6%82%58%2%-84%58%23%18%25%72%10%-80%37%35%44%-78%39%-68%121%-110%-48%-24%-53%77%-91%105%99%2%-2%19%-73%20%-62%70%59%2%120%-35%114%52%57%-80%-71%-8%-10%-43%52%71%-80%1%-23%-38%-25%127%0%104%-56%64%-121%-120%-109%79%115%-102%-86%-74%109%-72%13%13%57%-18%55%48%19%-33%89%120%-74%60%-47%92%-105%-82%68%98%100%30%-53%-120%9%57%-35%14%-84%5%-19%-127%25%-71%-14%-98%-123%121%42%-90%72%109%-60%-124%20%-10%0%91%1%41%56%37%3%-21%-88%-114%-57%0%127%-10%50%-9%-80%115%-19%-104%69%109%51%97%51%83%-47%-101%90%-57%60%-3%60%-74%120%94%71%67%99%-24%62%8%110%-41%-118%-30%80%-15%109%-85%1%64%90%-125%11%52%-31%6%61%75%-19%-128%-13%-15%4%66%88%109%113%-57%77%117%-82%-97%82%30%-27%-48%123%-4%-97%67%64%-41%-75%-35%-110%59%-2%68%117%-82%127%84%78%43%-70%24%123%48%59%90%-22%98%-100%-61%70%93%-32%103%-86%121%101%-97%-122%-38%98%69%-28%-104%-26%81%-67%54%-41%90%-75%-126%-86%19%-75%0%3%64%-76%-39%124%124%15%-5%18%-30%116%-58%-70%83%1%-21%38%82%59%41%115%-123%99%-19%108%92%117%35%24%-35%75%70%115%-81%18%-49%117%-123%-25%-71%111%4%120%-91%-98%-6%32%-35%-103%71%57%-116%126%-23%45%-20%120%-16%53%-12%125%-14%101%48%60%24%-59%-114%-57%-52%-114%112%123%36%46%-31%-34%127%-1%18%14%-113%-75%-44%88%-30%-58%61%111%-25%22%-50%124%76%29%-107%6%102%104%104%-79%-69%-6%-5%49%88%4%127%-51%-59%-93%-70%93%-30%50%-109%39%51%105%24%0%-62%127%-27%-32%81%53%-67%-112%100%-6%-20%105%57%-70%99%7%-29%-126%-68%6%119%97%-62%112%-19%-66%-124%22%80%-102%-122%-18%-40%-29%95%35%-32%-57%88%20%-59%-21%-88%107%-98%-82%-47%-57%-65%35%13%2%-64%1%60%119%-114%-52%-42%-47%-44%62%63%-92%-49%-13%18%43%-11%120%39%35%65%53%84%119%-111%-23%-100%-112%-46%-3%-24%-7%58%1%-32%114%103%80%12%-40%-84%-57%-45%61%3%-50%69%71%118%-90%104%22%-28%119%71%-127%-98%-72%80%-33%109%117%79%-71%-113%96%62%14%-38%-87%-111%-113%-85%-88%19%-82%-119%6%-101%33%-3%-117%3%25%-72%-10%90%-79%-113%-39%-22%-105%-95%7%13%49%-38%-18%25%92%-115%88%-117%-25%52%109%-103%-7%120%43%54%-50%-30%12%27%117%6%64%-23%29%-4%-7%-99%24%-7%-8%80%75%80%-32%-120%73%70%-73%77%60%-44%9%-60%32%-43%11%59%-125%-103%37%100%-105%33%-49%-8%62%-51%93%-22%4%-30%21%69%62%46%-60%-30%-39%-99%-62%54%97%14%72%-82%117%71%-30%108%-86%91%92%54%26%-25%-34%-30%-23%36%115%-36%-119%58%-117%45%79%-9%-73%56%-75%1%121%-29%-54%-75%44%-104%4%-110%99%-104%-113%-57%-62%-65%113%37%6%38%-6%-23%-36%70%49%9%36%-69%-96%86%-23%12%123%-123%108%8%12%-86%-102%-34%31%32%-39%36%7%-128%104%-72%-69%-106%41%-13%-62%-114%-14%-15%56%-127%-46%-30%-26%0%48%6%-118%-37%-13%-51%-25%75%-116%-102%-34%47%-96%55%94%-6%-14%-79%115%55%-116%-42%-114%-9%-15%-60%85%-36%-115%15%-34%-5%-91%37%-109%26%-119%115%-88%-22%-35%87%-88%-119%-17%62%-126%43%-69%82%90%127%-105%-69%-25%94%-123%-27%-53%-55%-34%72%26%-67%-61%68%99%-121%-1%82%50%33%-27%-84%-46%-81%-28%-52%-33%-90%-6%72%-1%3%78%-120%-67%33%108%33%82%26%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_HmnpEJsrEd61Eo3nmu3JhQ" name="StdPorts">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_Yq-O8Nt2Ed6nqsBVkgJEEA" annotatedElement="_-WNegNtxEd6nqsBVkgJEEA">
-        <body>Is called during component activation &amp; deactivation. The two functions may not block i.e. return control to the caller after &quot;a very short&quot; period</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_OcN78Nt2Ed6nqsBVkgJEEA" annotatedElement="_N6fa4JsrEd61Eo3nmu3JhQ">
-        <body>Is called during startup. Expected to block. Only one component instance per node may define it.</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Class" xmi:id="_N6fa4JsrEd61Eo3nmu3JhQ" name="Cstart" isAbstract="true">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_OfiosJsrEd61Eo3nmu3JhQ" name="start" aggregation="composite">
-          <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3cU3wCS-Ed-A_I32T0fkaA" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3cXUACS-Ed-A_I32T0fkaA" value="1"/>
-        </ownedAttribute>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_xtlE8ARAEd--t-uhRn9OBA" name="ContainerServices">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_hGEOAMT8Ed-zx4a_r4xAYw" annotatedElement="_SiY_AP-EEd6628OhKk_dpg">
-        <body>A thread service supporting the LifeCycle port. Once started, it calls the activate operation (via the required port rLC) of a connected component in a new thread of a specific priority (a configuration attribute). This C++ implementation is based on the POSIX pthread library. It will further assume that the execution is done with root privileges, since these are required to set the thread priority. The thread properties assume round-robin (SCHED_RR) scheduling.
-</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_EuvHYCXREeGX6PuSE-DJlQ" annotatedElement="_5J9coCXQEeGX6PuSE-DJlQ">
-        <body> Interceptor variant of thread (inherits all, only difference to Thread superclass: tagged as connector)</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Class" xmi:id="_SiY_AP-EEd6628OhKk_dpg" clientDependency="_lrFSQDz9Ed-v9PxuTj6Elw _wCkVcNYGEd-CgJIavLpOxQ" name="Thread">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_lCtoICnOEeGxrprK9wB9iA" annotatedElement="_rVfYoMGJEd-Mveea1W_olA">
-          <body>Priority of the thread. The interpretation of the value is OS specific. In case of POSIX; priorities are only taken into accound for threads with a FIFO and round-robin scheduliung policy.</body>
-        </ownedComment>
-        <generalization xmi:type="uml:Generalization" xmi:id="_6bsEkARAEd--t-uhRn9OBA" general="_-WNegNtxEd6nqsBVkgJEEA"/>
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_ZjdOAP-EEd6628OhKk_dpg" name="rLC" aggregation="composite">
-          <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_rVfYoMGJEd-Mveea1W_olA" name="priority" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_e6XsEFjmEeKaM_PspnG53g" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_e6ckkFjmEeKaM_PspnG53g" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_e6njsFjmEeKaM_PspnG53g">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_lrFSQDz9Ed-v9PxuTj6Elw" name="derived realization of ILifeCycle" client="_SiY_AP-EEd6628OhKk_dpg">
-          <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-          <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-        </interfaceRealization>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_MWW4MAQyEd--t-uhRn9OBA" name="staticAct" specification="_yv198P-EEd6628OhKk_dpg">
-          <language>C/C++</language>
-          <body>((Thread*) arg)->rLC->activate();
-return NULL;
-</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_oP6UcED4Ed-_DOja_sRgWA" name="activate" specification="_JmxyMD16Ed-Bk-AHd6yyoA">
-          <language>C/C++</language>
-          <body>// create thread
-pthread_t pt;
-pthread_create (&amp;pt, NULL, staticAct, (void *) this);
-
-// set priority of thread
-struct sched_param schedParam;
-schedParam.sched_priority = priority;
-pthread_setschedparam (pt, SCHED_RR, &amp;schedParam);
-// TODO: check return code (in particular, SCHED_RR only works for root)
-</body>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_yv198P-EEd6628OhKk_dpg" name="staticAct" isStatic="true" method="_MWW4MAQyEd--t-uhRn9OBA">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_1TXqoP-EEd6628OhKk_dpg" name="arg">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3MCccP-EEd6628OhKk_dpg" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3MDDgP-EEd6628OhKk_dpg" value="1"/>
-            <defaultValue xmi:type="uml:LiteralString" xmi:id="_3MDqkP-EEd6628OhKk_dpg">
-              <value xsi:nil="true"/>
-            </defaultValue>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_BywjgP-FEd6628OhKk_dpg" name="ret" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_JmxyMD16Ed-Bk-AHd6yyoA" name="activate" method="_oP6UcED4Ed-_DOja_sRgWA"/>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_JqB6gD16Ed-Bk-AHd6yyoA" name="deactivate"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Dependency" xmi:id="_wCkVcNYGEd-CgJIavLpOxQ" name="ImplRequirement" client="_SiY_AP-EEd6628OhKk_dpg" supplier="_ea234NYGEd-CgJIavLpOxQ"/>
-      <packagedElement xmi:type="uml:Class" xmi:id="_WkkjoPNUEeCovO8AYZymZQ" name="CallEvent_">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_YKtbAPNUEeCovO8AYZymZQ" name="operationID" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aDHHEPNUEeCovO8AYZymZQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aDIVMPNUEeCovO8AYZymZQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_aDKxcPNUEeCovO8AYZymZQ">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_gQGNwPNUEeCovO8AYZymZQ" name="kind" visibility="public" type="_jQjHAPNUEeCovO8AYZymZQ">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_imLUUPNUEeCovO8AYZymZQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_imL7YPNUEeCovO8AYZymZQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_imuG4PNUEeCovO8AYZymZQ">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_-_HCMBI0EeGU49ezpRnvLg" name="portID">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-_LToBI0EeGU49ezpRnvLg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-_L6sBI0EeGU49ezpRnvLg" value="1"/>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_qzHgkPNUEeCovO8AYZymZQ" name="params" visibility="public" type="_OU5asFaNEeKxltxu9uR4dg">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sMOBgPNUEeCovO8AYZymZQ"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sMPPoPNUEeCovO8AYZymZQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_sMRE0PNUEeCovO8AYZymZQ">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_JRmo0PNAEeCovO8AYZymZQ" clientDependency="_mI0xEPQXEeCovO8AYZymZQ" name="EventPool">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_MzO8gPNAEeCovO8AYZymZQ" name="control" visibility="public" type="_omxU4PNAEeCovO8AYZymZQ" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_N-OI8PNAEeCovO8AYZymZQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_N-PXEPNAEeCovO8AYZymZQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_N-RzUPNAEeCovO8AYZymZQ">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_k-OpoPN8EeCovO8AYZymZQ" name="events" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mr7hkPN8EeCovO8AYZymZQ" value="20"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mr-k4PN8EeCovO8AYZymZQ" value="20"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_msGgsPN8EeCovO8AYZymZQ">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="__a1A0PQXEeCovO8AYZymZQ" name="m_size" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_A1N7MPQYEeCovO8AYZymZQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_A1OiQPQYEeCovO8AYZymZQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_A1QXcPQYEeCovO8AYZymZQ">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_KnS5QPQYEeCovO8AYZymZQ" name="m_cond" visibility="public">
-          <type xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_QWlVgPRTEeCUGrV0Hl4JwQ"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KyZ9EPQYEeCovO8AYZymZQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KyakIPQYEeCovO8AYZymZQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_KydncPQYEeCovO8AYZymZQ">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_Ig_MUCSlEeG6GJ4vU06VYQ" name="ID_TIMEOUT" isStatic="true">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IjAlkCSlEeG6GJ4vU06VYQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IjCawCSlEeG6GJ4vU06VYQ" value="1"/>
-          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_SjUM4CSlEeG6GJ4vU06VYQ" name="" value="-1"/>
-        </ownedAttribute>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_mI0xEPQXEeCovO8AYZymZQ" name="derived realization of IPoolControl" client="_JRmo0PNAEeCovO8AYZymZQ" supplier="_omxU4PNAEeCovO8AYZymZQ" contract="_omxU4PNAEeCovO8AYZymZQ"/>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_2HjeoPQXEeCovO8AYZymZQ" name="writeEvent" specification="_f1HmEPQREeCovO8AYZymZQ0">
-          <language>C/C++</language>
-          <body>events[0] = event;
-m_size = 1;
-m_cond.signal();
-</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_5Sw2YPQXEeCovO8AYZymZQ" name="size" specification="_FBMo4PQXEeCovO8AYZymZQ0">
-          <language>C/C++</language>
-          <body>return m_size;</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_9xRCAPQXEeCovO8AYZymZQ" name="readEvent" specification="_tK0poPQWEeCovO8AYZymZQ0">
-          <language>C/C++</language>
-          <body>OS_AL::Time::TimeVal wakeup = OS_AL::Time::TimeVal::current();
-wakeup += timeout;
-int retCode = m_cond.waitUpto (wakeup);
-if (retCode == ETIMEDOUT) {
-	CallEvent_ event;
-	event.operationID = ID_TIMEOUT;
-	return event;
-}
-m_size = 0;
-return events[0];</body>
-        </ownedBehavior>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_JoG14PRUEeCKVJwdD4MMsg" name="EventPool" specification="_lrF08PRTEeCUGrV0Hl4JwQ">
-          <language>C/C++</language>
-          <body>m_cond.lock();</body>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_tK0poPQWEeCovO8AYZymZQ0" name="readEvent" method="_9xRCAPQXEeCovO8AYZymZQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_HUTnoCVyEeGaL60JjVj19Q" name="timeout">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUWq8CVyEeGaL60JjVj19Q" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUXSACVyEeGaL60JjVj19Q" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_HUZHMCVyEeGaL60JjVj19Q" type="_WkkjoPNUEeCovO8AYZymZQ" direction="return">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUbjcCVyEeGaL60JjVj19Q" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUcxkCVyEeGaL60JjVj19Q" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_FBMo4PQXEeCovO8AYZymZQ0" name="size" method="_5Sw2YPQXEeCovO8AYZymZQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mKtAYPQXEeCovO8AYZymZQ" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mKvcoPQXEeCovO8AYZymZQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mKwqwPQXEeCovO8AYZymZQ" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_f1HmEPQREeCovO8AYZymZQ0" name="writeEvent" method="_2HjeoPQXEeCovO8AYZymZQ">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_HRdvACVyEeGaL60JjVj19Q" name="event" type="_WkkjoPNUEeCovO8AYZymZQ">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUNhACVyEeGaL60JjVj19Q" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUOvICVyEeGaL60JjVj19Q" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_lrF08PRTEeCUGrV0Hl4JwQ" name="EventPool" method="_JoG14PRUEeCKVJwdD4MMsg"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Interface" xmi:id="_elkpwPQREeCovO8AYZymZQ" name="IWriteEvent">
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_f1HmEPQREeCovO8AYZymZQ" name="writeEvent" visibility="public" isAbstract="true">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_wAdzUPQREeCovO8AYZymZQ">
-            <body>&lt;&lt;TextualRepresentation>>public abstract writeEvent (in event:BasicCalls::ContainerServices::Event) ;</body>
-          </ownedComment>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="__4qMgCUQEeGXBt65HZzY7g" name="event" type="_WkkjoPNUEeCovO8AYZymZQ">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__4raoCUQEeGXBt65HZzY7g" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__4sowCUQEeGXBt65HZzY7g" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Enumeration" xmi:id="_jQjHAPNUEeCovO8AYZymZQ" name="EventKind">
-        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_jv4uYPNUEeCovO8AYZymZQ" name="CallEvent"/>
-        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_kuDm0PNUEeCovO8AYZymZQ" name="SignalEvent"/>
-        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_ljD8MPNUEeCovO8AYZymZQ" name="TimeEvent"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Interface" xmi:id="_omxU4PNAEeCovO8AYZymZQ" name="IPoolControl">
-        <generalization xmi:type="uml:Generalization" xmi:id="_feaHgPQXEeCovO8AYZymZQ" general="_elkpwPQREeCovO8AYZymZQ"/>
-        <generalization xmi:type="uml:Generalization" xmi:id="_GwxT0CUREeGXBt65HZzY7g" general="_DY2VwCUREeGXBt65HZzY7g"/>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_FBMo4PQXEeCovO8AYZymZQ" name="size" visibility="public" isAbstract="true">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_NaRMoPQXEeCovO8AYZymZQ">
-            <body>&lt;&lt;TextualRepresentation>>public abstract size () : BasicCalls::Long ;</body>
-          </ownedComment>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_RlkvcPQXEeCovO8AYZymZQ" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rll9kPQXEeCovO8AYZymZQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RlmkoPQXEeCovO8AYZymZQ" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Interface" xmi:id="_DY2VwCUREeGXBt65HZzY7g" name="IReadEvent">
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_tK0poPQWEeCovO8AYZymZQ" name="readEvent" visibility="public" isAbstract="true">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_xPdjwPQWEeCovO8AYZymZQ">
-            <body>&lt;&lt;TextualRepresentation>>public abstract readEvent(in timeout : BasicCalls::Long) : BasicCalls::ContainerServices::Event ;</body>
-          </ownedComment>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_PnwykPRREeCUGrV0Hl4JwQ" name="timeout">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PofyYPRREeCUGrV0Hl4JwQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Pow4IPRREeCUGrV0Hl4JwQ" value="1"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_Po7QMPRREeCUGrV0Hl4JwQ" type="_WkkjoPNUEeCovO8AYZymZQ" direction="return">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PpWG8PRREeCUGrV0Hl4JwQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ppl-kPRREeCUGrV0Hl4JwQ" value="1"/>
-          </ownedParameter>
-        </ownedOperation>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_5J9coCXQEeGX6PuSE-DJlQ" name="ThreadInterceptor">
-        <generalization xmi:type="uml:Generalization" xmi:id="_9thucCXQEeGX6PuSE-DJlQ" general="_SiY_AP-EEd6628OhKk_dpg"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_9V8OQCjYEeGFbebITJYb9g" clientDependency="_F9_-UCjbEeGFbebITJYb9g _SXkHQCo0EeGxrprK9wB9iA" name="PeriodicTimer">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_zLeSkCnOEeGxrprK9wB9iA" annotatedElement="_tmNeoCjbEeGFbebITJYb9g">
-          <body>The period length of the perdioci timer in ticks. Currently, a tick corresponds to 1 ms (simulation time in the underlying OS abstraction layer). It is planned to support VSL expressions, i.e. a value/unit pair.</body>
-        </ownedComment>
-        <generalization xmi:type="uml:Generalization" xmi:id="_Y6lPACjZEeGFbebITJYb9g" general="_-WNegNtxEd6nqsBVkgJEEA"/>
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_ATRiECjZEeGFbebITJYb9g" name="tick" visibility="public" aggregation="composite">
-          <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_E3y2ICjZEeGFbebITJYb9g" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_E30EQCjZEeGFbebITJYb9g" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_E33HkCjZEeGFbebITJYb9g">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_tmNeoCjbEeGFbebITJYb9g" name="periodLength" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tmmgMCjbEeGFbebITJYb9g" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tmnHQCjbEeGFbebITJYb9g" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_w262ACnOEeGxrprK9wB9iA">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_F9_-UCjbEeGFbebITJYb9g" name="derived realization of ILifeCycle" client="_9V8OQCjYEeGFbebITJYb9g">
-          <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-          <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-        </interfaceRealization>
-        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_RMkvkCjbEeGFbebITJYb9g" name="activate" specification="_F-cDMCjbEeGFbebITJYb9g">
-          <language>C/C++</language>
-          <body>OS_AL::Time::Timer timer;
-OS_AL::Time::TimeVal time = OS_AL::Time::TimeVal::current();
-OS_AL::Time::TimeVal period(periodLength);
-for (;;) {
-	tick->tick();
-	time += period;
-	timer.wakeUp(time);
-}</body>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_F-cDMCjbEeGFbebITJYb9g" name="activate" method="_RMkvkCjbEeGFbebITJYb9g"/>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_F-iJ0CjbEeGFbebITJYb9g" name="deactivate"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_1sCBICjZEeGFbebITJYb9g" name="PeriodicTimerRule">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_6yVMkCjZEeGFbebITJYb9g" name="timer" visibility="public" type="_9V8OQCjYEeGFbebITJYb9g">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_54aFgCjaEeGFbebITJYb9g" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_54bToCjaEeGFbebITJYb9g" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_54eW8CjaEeGFbebITJYb9g">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_-X6zMCjZEeGFbebITJYb9g" name="PeriodicTimerWithThread">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_ARs_UCjaEeGFbebITJYb9g" name="timer" visibility="public" type="_9V8OQCjYEeGFbebITJYb9g" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_k_FtQCjaEeGFbebITJYb9g" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_k_G7YCjaEeGFbebITJYb9g" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_k_J-sCjaEeGFbebITJYb9g">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_RMqEkCjaEeGFbebITJYb9g" name="thread" visibility="public" type="_SiY_AP-EEd6628OhKk_dpg" aggregation="composite">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_j8bWYCjaEeGFbebITJYb9g" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_j8ckgCjaEeGFbebITJYb9g" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_j8eZsCjaEeGFbebITJYb9g">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Port" xmi:id="_3NSGwCkAEeGDDbdzqSb4UA" name="tick" visibility="public" aggregation="composite">
-          <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_30IrYCkAEeGDDbdzqSb4UA" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_30LusCkAEeGDDbdzqSb4UA" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_30QnMCkAEeGDDbdzqSb4UA">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedConnector xmi:type="uml:Connector" xmi:id="_iDCL0CjaEeGFbebITJYb9g" name="Connector1">
-          <end xmi:type="uml:ConnectorEnd" xmi:id="_iDCy4CjaEeGFbebITJYb9g" partWithPort="_RMqEkCjaEeGFbebITJYb9g" role="_ZjdOAP-EEd6628OhKk_dpg">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iDCy4ijaEeGFbebITJYb9g" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iDCy4SjaEeGFbebITJYb9g" value="1"/>
-          </end>
-          <end xmi:type="uml:ConnectorEnd" xmi:id="_iDCy4yjaEeGFbebITJYb9g" partWithPort="_ARs_UCjaEeGFbebITJYb9g" role="__SLXgNtxEd6nqsBVkgJEEA">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iDCy5SjaEeGFbebITJYb9g" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iDCy5CjaEeGFbebITJYb9g" value="1"/>
-          </end>
-        </ownedConnector>
-        <ownedConnector xmi:type="uml:Connector" xmi:id="_84IJsCkAEeGDDbdzqSb4UA" name="Connector2">
-          <end xmi:type="uml:ConnectorEnd" xmi:id="_84JX0CkAEeGDDbdzqSb4UA" partWithPort="_ARs_UCjaEeGFbebITJYb9g" role="_ATRiECjZEeGFbebITJYb9g">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_84JX0ikAEeGDDbdzqSb4UA" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_84JX0SkAEeGDDbdzqSb4UA" value="1"/>
-          </end>
-          <end xmi:type="uml:ConnectorEnd" xmi:id="_84L0ECkAEeGDDbdzqSb4UA" role="_3NSGwCkAEeGDDbdzqSb4UA">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_84L0EikAEeGDDbdzqSb4UA" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_84L0ESkAEeGDDbdzqSb4UA" value="1"/>
-          </end>
-        </ownedConnector>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Dependency" xmi:id="_SXkHQCo0EeGxrprK9wB9iA" name="Dependency1" client="_9V8OQCjYEeGFbebITJYb9g">
-        <supplier xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_ETakYDj8Edy0Rd6V_tf1-Q"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:DataType" xmi:id="_OU5asFaNEeKxltxu9uR4dg" name="ParamValues">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_RW82cFaNEeKxltxu9uR4dg" name="values" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_IYEXcB-VEd6nGq8wpI2tjg"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TAmU0FaNEeKxltxu9uR4dg" value="200"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TAqmQFaNEeKxltxu9uR4dg" value="200"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_TCDGUFaNEeKxltxu9uR4dg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:DataType" xmi:id="_Y8dPQFaNEeKxltxu9uR4dg" name="QoS">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_fYeQcFaNEeKxltxu9uR4dg" name="deadline" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gFUvYFaNEeKxltxu9uR4dg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gFYZwFaNEeKxltxu9uR4dg" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_gFfHcFaNEeKxltxu9uR4dg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_oUVYMFaNEeKxltxu9uR4dg" name="period" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rUQF8FaNEeKxltxu9uR4dg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rUSiMFaNEeKxltxu9uR4dg" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_rW6_cFaNEeKxltxu9uR4dg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_xXGZMFaNEeKxltxu9uR4dg" name="readyTime" visibility="public">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yjbCYFaNEeKxltxu9uR4dg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yjcQgFaNEeKxltxu9uR4dg" value="1"/>
-          <defaultValue xmi:type="uml:LiteralString" xmi:id="_yjeswFaNEeKxltxu9uR4dg">
-            <value xsi:nil="true"/>
-          </defaultValue>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_-WNegNtxEd6nqsBVkgJEEA" name="LifeCycle" isAbstract="true">
-        <ownedAttribute xmi:type="uml:Port" xmi:id="__SLXgNtxEd6nqsBVkgJEEA" name="lc" aggregation="composite">
-          <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_57__MCS-Ed-A_I32T0fkaA" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_58tJ0CS-Ed-A_I32T0fkaA" value="1"/>
-        </ownedAttribute>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_y4qB4ARJEd--t-uhRn9OBA" name="containerRules">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_q-kFUMTJEd-cLazKlAeYsQ" annotatedElement="_14WtMARJEd--t-uhRn9OBA">
-        <body>This rule adds an interceptor for the lifecycle (lc) port. It will use the Thread implementation that executes the activate method in a new thread of a given priority (property of the interceptor implementation)</body>
-      </ownedComment>
-      <ownedComment xmi:type="uml:Comment" xmi:id="_H0IrsDbgEeGdqp2YT1LwWw" annotatedElement="_1sCBICjZEeGFbebITJYb9g">
-        <body>Adds a periodic timer to the container</body>
-      </ownedComment>
-      <packagedElement xmi:type="uml:Class" xmi:id="_14WtMARJEd--t-uhRn9OBA" name="runStartThread">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_mvN04PTWEeCn1-FCrfecFg" name="start" visibility="public" type="_5J9coCXQEeGX6PuSE-DJlQ">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nPVfYPTWEeCn1-FCrfecFg" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nPXUkPTWEeCn1-FCrfecFg" value="1"/>
-        </ownedAttribute>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="__4GvgPQTEeCovO8AYZymZQ" name="AddEventPool"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_wSPIcF0NEd-12d_h0i1xhQ" name="deployment">
-      <packagedElement xmi:type="uml:Package" xmi:id="_dKFEcCp9EeG1Y7BvjQ0T-w" name="operatingSystems">
-        <packagedElement xmi:type="uml:Class" xmi:id="_17yx8F0NEd-12d_h0i1xhQ" name="vxWorks"/>
-        <packagedElement xmi:type="uml:Class" xmi:id="_zVs5cF0NEd-12d_h0i1xhQ" name="Linux"/>
-        <packagedElement xmi:type="uml:Class" xmi:id="_4RuHgF0NEd-12d_h0i1xhQ" name="ose/ck"/>
-        <packagedElement xmi:type="uml:Class" xmi:id="__1uEcF0NEd-12d_h0i1xhQ" name="OSEK"/>
-        <packagedElement xmi:type="uml:Class" xmi:id="_onKy0Cp9EeG1Y7BvjQ0T-w" name="Cygwin"/>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_f2AfMCp9EeG1Y7BvjQ0T-w" name="architectures">
-        <packagedElement xmi:type="uml:Class" xmi:id="_PFcW8F0OEd-12d_h0i1xhQ" name="GenericPowerPC"/>
-        <packagedElement xmi:type="uml:Class" xmi:id="_CxQBcF0OEd-12d_h0i1xhQ" name="StandardPC"/>
-        <packagedElement xmi:type="uml:Class" xmi:id="_KjufQF0OEd-12d_h0i1xhQ" name="GenericARM7"/>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_uFRRUH7dEd-FNNgSS03RxQ" name="configOptions">
-      <packagedElement xmi:type="uml:Class" xmi:id="_29YhgH7dEd-FNNgSS03RxQ" name="Distribution">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_INNDgH7eEd-FNNgSS03RxQ">
-          <body>Use for distributed applications</body>
-        </ownedComment>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_3myD0H7dEd-FNNgSS03RxQ" name="Debug">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_9u2OQH7dEd-FNNgSS03RxQ">
-          <body>Use for debugging in general</body>
-        </ownedComment>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_7JeHcH7dEd-FNNgSS03RxQ" name="Trace">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_MzHesH7eEd-FNNgSS03RxQ">
-          <body>Use for tracing.</body>
-        </ownedComment>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_I19MANYGEd-CgJIavLpOxQ" name="pthread">
-      <packagedElement xmi:type="uml:Class" xmi:id="_ea234NYGEd-CgJIavLpOxQ" name="pthread"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_m7SIwOUYEd-P08Bciq_LqQ" name="perClass">
-      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_rNm5kOUYEd-P08Bciq_LqQ" parameter="_wfwIoOUYEd-P08Bciq_LqQ">
-        <ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_wfwIoOUYEd-P08Bciq_LqQ" parameteredElement="_6uRBMOuqEeCTfOY57pgE3w">
-          <ownedParameteredElement xmi:type="uml:Class" xmi:id="_6uRBMOuqEeCTfOY57pgE3w" name="T" templateParameter="_wfwIoOUYEd-P08Bciq_LqQ"/>
-        </ownedParameter>
-      </ownedTemplateSignature>
-      <packagedElement xmi:type="uml:Enumeration" xmi:id="_QQPDUCQeEeGj_4swHBbKwg" name="PortIDs">
-        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_QQPDUSQeEeGj_4swHBbKwg" name="PORTID_[name/]"/>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_RPCMoOxIEd-2rr_yAeKkjQ" name="methodCall_comp">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_q1w5MK8qEeCXIcykFPsB8Q" annotatedElement="_RPCMoOxIEd-2rr_yAeKkjQ">
-        <body>Elements in this package depend not only on the Interface I (which is a non-owned template parameter taken from the methodCall signature), but also on a class parameter T, which is bound to the component within a container binding.
-Be aware that the number of instantiated template packages will be considerably larger compared to a dependency of the interface only</body>
-      </ownedComment>
-      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_ewC6kOxIEd-2rr_yAeKkjQ" parameter="_WzWVUPfBEd2TbIfwytOyPA _QBCTAOxJEd-2rr_yAeKkjQ">
-        <ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_QBCTAOxJEd-2rr_yAeKkjQ" parameteredElement="_zILRsPPlEd-BP4i7K5Y1eA">
-          <ownedParameteredElement xmi:type="uml:Class" xmi:id="_zILRsPPlEd-BP4i7K5Y1eA" name="T" templateParameter="_QBCTAOxJEd-2rr_yAeKkjQ"/>
-        </ownedParameter>
-      </ownedTemplateSignature>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="__lTvkPN0EeCovO8AYZymZQ" name="methodCall_size">
-      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_EfH-MPN1EeCovO8AYZymZQ" parameter="_WzWVUPfBEd2TbIfwytOyPA _TbLb4PN3EeCovO8AYZymZQ">
-        <ownedParameter xmi:type="uml:TemplateParameter" xmi:id="_TbLb4PN3EeCovO8AYZymZQ" parameteredElement="_VGE3cPN3EeCovO8AYZymZQ">
-          <ownedParameteredElement xmi:type="uml:LiteralInteger" xmi:id="_VGE3cPN3EeCovO8AYZymZQ" name="size" templateParameter="_TbLb4PN3EeCovO8AYZymZQ"/>
-        </ownedParameter>
-      </ownedTemplateSignature>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_gEZXADY7EeKvFqG4YPX3sg" name="methodCall_port">
-      <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_kCZdoDY7EeKvFqG4YPX3sg" parameter="_WzWVUPfBEd2TbIfwytOyPA _udDzwDY9EeKvFqG4YPX3sg">
-        <ownedParameter xmi:type="uml:ConnectableElementTemplateParameter" xmi:id="_udDzwDY9EeKvFqG4YPX3sg" parameteredElement="_9GMAUDY9EeKvFqG4YPX3sg">
-          <ownedParameteredElement xmi:type="uml:Port" xmi:id="_9GMAUDY9EeKvFqG4YPX3sg" name="P" templateParameter="_udDzwDY9EeKvFqG4YPX3sg"/>
-        </ownedParameter>
-      </ownedTemplateSignature>
-    </packagedElement>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/StandardL2.profile.uml#_0"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ugrx4AHIEd6pm-KfUZMnnQ">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ugztsAHIEd6pm-KfUZMnnQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
-    </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_u03PkFRxEd6GqrP6fkWBoQ">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u1sWAFRxEd6GqrP6fkWBoQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
-    </profileApplication>
-  </uml:Model>
-  <FCM:Port xmi:id="_u1uLMFRxEd6GqrP6fkWBoQ" base_Port="_P4xVsNtuEd2eM5kqcby5ZA" kind="_9Fif4FRxEd6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="_u1uLMVRxEd6GqrP6fkWBoQ" base_Port="_Qk0jYNtuEd2eM5kqcby5ZA" kind="_wySlkFRxEd6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="_u1uLM1RxEd6GqrP6fkWBoQ" base_Port="_rSCxUAytEd6it_RkGhz_AA" kind="_9Fif4FRxEd6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="_u1uyQFRxEd6GqrP6fkWBoQ" base_Port="_r5Va0AytEd6it_RkGhz_AA" kind="_wySlkFRxEd6GqrP6fkWBoQ"/>
-  <FCM:PortKind xmi:id="_wySlkFRxEd6GqrP6fkWBoQ" base_Class="_Wtq4sFDlEd6cwecVIgl9nw" providedInterface="_ZzlzMPfBEd2TbIfwytOyPA" providedMappingRule="_nh0TwFdmEd6EBOtlOYpqKw"/>
-  <FCM:PortKind xmi:id="_x5mL4FRxEd6GqrP6fkWBoQ" base_Class="_Wtq4sVDlEd6cwecVIgl9nw" requiredMappingRule="_ZpvdUHU5Ed6R5tffIPrlPg"/>
-  <FCM:PortKind xmi:id="_9Fif4FRxEd6GqrP6fkWBoQ" base_Class="_Wtrfw1DlEd6cwecVIgl9nw" requiredInterface="_ZzlzMPfBEd2TbIfwytOyPA" requiredMappingRule="_hluocFdpEd6EBOtlOYpqKw"/>
-  <FCM:PortKind xmi:id="_pE6GUFR1Ed6GqrP6fkWBoQ" base_Class="_Wtq4slDlEd6cwecVIgl9nw" providedMappingRule="_eKwKYHU5Ed6R5tffIPrlPg"/>
-  <FCM:PortKind xmi:id="_qOK0cFR1Ed6GqrP6fkWBoQ" base_Class="_WtrfwlDlEd6cwecVIgl9nw" requiredMappingRule="_dW32YHU5Ed6R5tffIPrlPg"/>
-  <FCM:InteractionComponent xmi:id="_s8OWIFR1Ed6GqrP6fkWBoQ" base_Class="_KxQBELuXEd2TTr3gJIvazw"/>
-  <FCM:InteractionComponent xmi:id="_vEYVcFR1Ed6GqrP6fkWBoQ" base_Class="_Zx2ZUA1jEd6tvthBDl600Q"/>
-  <FCM:InteractionComponent xmi:id="_wT-8IFR1Ed6GqrP6fkWBoQ" base_Class="_jOU60A1jEd6tvthBDl600Q"/>
-  <l2:ModelLibrary xmi:id="_CQiMQFtQEd6p9KQoJ8hRoA" base_Package="_O6TiIDLUEd26WNosUASSSw"/>
-  <C_Cpp:Include xmi:id="_sJry0JsqEd61Eo3nmu3JhQ" body="BootLoader bootloader;&#xA;&#xA;int main (int argc, char* argv[])&#xA;{&#xA;    bootloader.init ();&#xA;    return 0;&#xA;}&#xA;" base_class="_1RehUAGpEd6eR-dxi5su4Q"/>
-  <FCM:Port xmi:id="_OfjPwJsrEd61Eo3nmu3JhQ" base_Port="_OfiosJsrEd61Eo3nmu3JhQ" kind="_wySlkFRxEd6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="__SL-kNtxEd6nqsBVkgJEEA" base_Port="__SLXgNtxEd6nqsBVkgJEEA" kind="_wySlkFRxEd6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="_Zjd1EP-EEd6628OhKk_dpg" base_Port="_ZjdOAP-EEd6628OhKk_dpg" kind="_9Fif4FRxEd6GqrP6fkWBoQ"/>
-  <C_Cpp:Ptr xmi:id="_Aw8hMP-FEd6628OhKk_dpg" base_parameter="_1TXqoP-EEd6628OhKk_dpg"/>
-  <C_Cpp:Ptr xmi:id="_NjCToP-FEd6628OhKk_dpg" base_parameter="_BywjgP-FEd6628OhKk_dpg"/>
-  <FCM:DerivedElement xmi:id="_u9zyYARIEd--t-uhRn9OBA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:InteractionComponent xmi:id="_5hzVkARIEd--t-uhRn9OBA" base_Class="_cxVEsK-iEd6DndT7kDY1-A"/>
-  <FCM:ContainerRule xmi:id="_3Jq5MARLEd-OidZzGKCpzg" base_Class="_14WtMARJEd--t-uhRn9OBA" portSet="__SL-kNtxEd6nqsBVkgJEEA" interceptor="_u9ykQARIEd--t-uhRn9OBA" interceptorImpl="_u9ykQARIEd--t-uhRn9OBA"/>
-  <C_Cpp:Include xmi:id="_Q7TVYBJcEd-QgZm_R1AKbA" body="#include &lt;pthread.h>" base_class="_SiY_AP-EEd6628OhKk_dpg"/>
-  <FCM:Port xmi:id="_WhfjKylYEd-eoo60eNyGlg"/>
-  <FCM:DerivedElement xmi:id="_CvwokClZEd-eoo60eNyGlg">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_FzffUClZEd-eoo60eNyGlg">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_M0_fQClxEd-eoo60eNyGlg">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_TDYesClyEd-eoo60eNyGlg">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_T2uAIClyEd-eoo60eNyGlg">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_W_pf8ClyEd-eoo60eNyGlg">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_egrzAClzEd-eoo60eNyGlg">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:InteractionComponent xmi:id="_efp4QClzEd-eoo60eNyGlg" base_Class="_Whe8EClYEd-eoo60eNyGlg"/>
-  <FCM:DerivedElement xmi:id="_cWdkwCsAEd-uZPFNCty7PQ">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:Port xmi:id="_N0to8Cu4Ed-uZPFNCty7PQ" base_Port="_N0tB4Cu4Ed-uZPFNCty7PQ" kind="_9Fif4FRxEd6GqrP6fkWBoQ"/>
-  <l2:Create xmi:id="_WFy8ECu9Ed-uZPFNCty7PQ" base_BehavioralFeature="_JM4I4Cu9Ed-uZPFNCty7PQ"/>
-  <C_Cpp:External xmi:id="_EbeZ8Cu-Ed-uZPFNCty7PQ" name="semaphore.h" base_class="_BY-fwCnxEd-eoo60eNyGlg"/>
-  <C_Cpp:External xmi:id="_7tUvUCvDEd-uZPFNCty7PQ" name="pthread.h" base_class="_5KatsCvDEd-uZPFNCty7PQ"/>
-  <C_Cpp:Ptr xmi:id="_G6PMUCvHEd-uZPFNCty7PQ" base_parameter="_Dn-xYCvHEd-uZPFNCty7PQ"/>
-  <C_Cpp:Ptr xmi:id="_NPp2QCvHEd-uZPFNCty7PQ" base_parameter="_IdnDkCvHEd-uZPFNCty7PQ"/>
-  <C_Cpp:Const xmi:id="_dtZbECvHEd-uZPFNCty7PQ" base_property="_Xq00oCvHEd-uZPFNCty7PQ"/>
-  <FCM:DerivedElement xmi:id="_uCGF8DAXEd-lz72LqmDbzA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_fYvj8DNZEd-0bO2vHbUkEA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:Template xmi:id="_iOmWwDNZEd-0bO2vHbUkEA" base_Element="_KOvHsPiREd2UhpY2Y3WUyg" kind="LoopOperations" templateParam="_ZzlzMPfBEd2TbIfwytOyPA"/>
-  <FCM:Template xmi:id="_qcrLcDNZEd-0bO2vHbUkEA" base_Element="__y0hwJ08Ed6l5bTPBsl00Q" kind="LoopOperations" formalParam="_ZzlzMPfBEd2TbIfwytOyPA" templateParam="_ZzlzMPfBEd2TbIfwytOyPA"/>
-  <FCM:DerivedElement xmi:id="_K9PRoDNwEd-1k-POY2IaLg">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_JqAFUD16Ed-Bk-AHd6yyoA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_JqEWwD16Ed-Bk-AHd6yyoA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_RTu-gED2Ed-_DOja_sRgWA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_RUIAEED2Ed-_DOja_sRgWA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <C_Cpp:Ptr xmi:id="_5048MED6Ed-_DOja_sRgWA" base_property="_2fcqYED6Ed-_DOja_sRgWA"/>
-  <FCM:DerivedElement xmi:id="_xsrykEJFEd-Ps4Bfh0j9LQ" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_xs0VcEJFEd-Ps4Bfh0j9LQ" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_qBaUMFJEEd-OfYmxqPWG5g" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_qBeloFJEEd-OfYmxqPWG5g" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_t--FUF0NEd-12d_h0i1xhQ" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_t_EzAF0NEd-12d_h0i1xhQ" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:OperatingSystem xmi:id="_1eULwF0NEd-12d_h0i1xhQ" base_Class="_zVs5cF0NEd-12d_h0i1xhQ"/>
-  <FCM:OperatingSystem xmi:id="_3MI_gF0NEd-12d_h0i1xhQ" base_Class="_17yx8F0NEd-12d_h0i1xhQ"/>
-  <FCM:OperatingSystem xmi:id="_8h8mkF0NEd-12d_h0i1xhQ" base_Class="_4RuHgF0NEd-12d_h0i1xhQ"/>
-  <FCM:OperatingSystem xmi:id="_BL7pcF0OEd-12d_h0i1xhQ" base_Class="__1uEcF0NEd-12d_h0i1xhQ"/>
-  <FCM:TargetArchitecture xmi:id="_FYOqwF0OEd-12d_h0i1xhQ" base_Class="_CxQBcF0OEd-12d_h0i1xhQ"/>
-  <FCM:TargetArchitecture xmi:id="_W5gJIF0OEd-12d_h0i1xhQ" base_Class="_KjufQF0OEd-12d_h0i1xhQ"/>
-  <FCM:TargetArchitecture xmi:id="_YHIZ4F0OEd-12d_h0i1xhQ" base_Class="_PFcW8F0OEd-12d_h0i1xhQ"/>
-  <FCM:DerivedElement xmi:id="_FWe6IG4sEd-0rs2VEGIwsA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_FWlAwG4sEd-0rs2VEGIwsA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_9Kl8IG4-Ed-J1L578xi-WA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_9K4QAG4-Ed-J1L578xi-WA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_Si_2kG5fEd-5CZIeuHpHAg" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_SjXqAG5fEd-5CZIeuHpHAg" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:ConfigOption xmi:id="_tA2KcH7eEd-FNNgSS03RxQ" base_Class="_3myD0H7dEd-FNNgSS03RxQ"/>
-  <FCM:ConfigOption xmi:id="_t2ziEH7eEd-FNNgSS03RxQ" base_Class="_29YhgH7dEd-FNNgSS03RxQ"/>
-  <FCM:ConfigOption xmi:id="_u6LqoH7eEd-FNNgSS03RxQ" base_Class="_7JeHcH7dEd-FNNgSS03RxQ"/>
-  <FCM:Template xmi:id="_3IqLUKE1Ed-r8p-5QgO3cg" base_Element="_pXzxjkJ1Ed-Ps4Bfh0j9LQ" kind="LoopOperations"/>
-  <FCM:Template xmi:id="_9u11IKE1Ed-r8p-5QgO3cg" base_Element="_2bwsEClzEd-eoo60eNyGlg" kind="LoopOperations"/>
-  <FCM:PortKind xmi:id="_H5-aQLqOEd-SedGzMDDkww" base_Class="_AQZZwLqOEd-SedGzMDDkww"/>
-  <FCM:PortKind xmi:id="_KtgR0LqOEd-SedGzMDDkww" base_Class="__nMrwLqNEd-SedGzMDDkww"/>
-  <FCM:ConfigurationProperty xmi:id="_s0fGMMGJEd-Mveea1W_olA" base_Property="_rVfYoMGJEd-Mveea1W_olA"/>
-  <C_Cpp:ExternLibrary xmi:id="_OQ81ENYGEd-CgJIavLpOxQ" base_Package="_I19MANYGEd-CgJIavLpOxQ">
-    <libs>pthread</libs>
-  </C_Cpp:ExternLibrary>
-  <C_Cpp:External xmi:id="_p8NbMNYGEd-CgJIavLpOxQ" name="pthread.h" base_class="_ea234NYGEd-CgJIavLpOxQ"/>
-  <FCM:InteractionComponent xmi:id="_8BUh8NdwEd-ZnqCk2P2ZKg" base_Class="_3itBkNdwEd-ZnqCk2P2ZKg"/>
-  <FCM:Template xmi:id="_CTIeQNdxEd-ZnqCk2P2ZKg" base_Element="_3itBoddwEd-ZnqCk2P2ZKg" kind="LoopOperations"/>
-  <C_Cpp:Typedef xmi:id="_68Aa4No9Ed-wvpj-p-V_QQ" definition="union {&#xA;&lt;%for (ownedOperations) {%>&#xA;struct Op_&lt;%name%> {&#xA;&lt;%for (ownedParameters) {%>&#xA;&lt;%cppType%> &lt;%name%>;&#xA;&lt;%}%>&#xA;} op_&lt;%name%>;&#xA;&lt;%}%>&#xA;};" base_primitivetype="_xOqL0No9Ed-wvpj-p-V_QQ"/>
-  <FCM:InteractionComponent xmi:id="_xaHRQDJKEeCAhMtIsY9HwA" base_Class="_pXzKcEJ1Ed-Ps4Bfh0j9LQ"/>
-  <FCM:Port xmi:id="_wz4-ULaaEeCj_-LEBuGpmA" base_Port="__SLXgNtxEd6nqsBVkgJEEA"/>
-  <FCM:Port xmi:id="_xdIvoLaaEeCj_-LEBuGpmA" base_Port="_OfiosJsrEd61Eo3nmu3JhQ"/>
-  <FCM:Port xmi:id="_MzPjkPNAEeCovO8AYZymZQ" base_Port="_MzO8gPNAEeCovO8AYZymZQ" kind="_wySlkFRxEd6GqrP6fkWBoQ"/>
-  <FCM:Template xmi:id="_c_dkcPNJEeCovO8AYZymZQ" base_Element="_aGt1sPNJEeCovO8AYZymZQ" kind="LoopOperations"/>
-  <FCM:ImplementationProperties xmi:id="_WIe68PQMEeCovO8AYZymZQ" base_Class="__uJRYPNGEeCovO8AYZymZQ"/>
-  <FCM:ContainerRule xmi:id="_F1wZsPQUEeCovO8AYZymZQ" base_Class="__4GvgPQTEeCovO8AYZymZQ" extensionKind="Aggregation" extension="_WhKAAPQUEeCovO8AYZymZQ"/>
-  <FCM:DerivedElement xmi:id="_mKpWAPQXEeCovO8AYZymZQ" base_Element="_tK0poPQWEeCovO8AYZymZQ0" source="_tK0poPQWEeCovO8AYZymZQ"/>
-  <FCM:DerivedElement xmi:id="_mK0VIPQXEeCovO8AYZymZQ" base_Element="_FBMo4PQXEeCovO8AYZymZQ0" source="_FBMo4PQXEeCovO8AYZymZQ"/>
-  <FCM:DerivedElement xmi:id="_mK7C0PQXEeCovO8AYZymZQ" base_Element="_f1HmEPQREeCovO8AYZymZQ0" source="_f1HmEPQREeCovO8AYZymZQ"/>
-  <l2:Create xmi:id="_o4VNAPRTEeCUGrV0Hl4JwQ" base_BehavioralFeature="_lrF08PRTEeCUGrV0Hl4JwQ"/>
-  <FCM:InterceptionRule xmi:id="_qlcF8AJzEeG0Lb1KYG16fA" interceptionSet="__SLXgNtxEd6nqsBVkgJEEA" base_Property="_mvN04PTWEeCn1-FCrfecFg" portSet="__SL-kNtxEd6nqsBVkgJEEA"/>
-  <FCM:Template xmi:id="_QUZxoCQeEeGj_4swHBbKwg" base_Element="_QQPDUSQeEeGj_4swHBbKwg" kind="LoopPorts"/>
-  <C_Cpp:Const xmi:id="_MGjk0CSlEeG6GJ4vU06VYQ" base_property="_Ig_MUCSlEeG6GJ4vU06VYQ"/>
-  <C_Cpp:Include xmi:id="_Yx49gCaeEeG4fZdVXNtoOQ" body="#include &lt;errno.h>" base_class="_JRmo0PNAEeCovO8AYZymZQ"/>
-  <FCM:InteractionComponent xmi:id="_OXit8CfwEeG6iME5Q8XPKw" base_Class="_5J9coCXQEeGX6PuSE-DJlQ"/>
-  <FCM:Port xmi:id="_ATRiESjZEeGFbebITJYb9g" base_Port="_ATRiECjZEeGFbebITJYb9g" kind="_9Fif4FRxEd6GqrP6fkWBoQ"/>
-  <FCM:ContainerRule xmi:id="_MS45QCjaEeGFbebITJYb9g" base_Class="_1sCBICjZEeGFbebITJYb9g"/>
-  <FCM:DerivedElement xmi:id="_F-g7sCjbEeGFbebITJYb9g" base_Element="_F-cDMCjbEeGFbebITJYb9g">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_F-l0MCjbEeGFbebITJYb9g" base_Element="_F-iJ0CjbEeGFbebITJYb9g">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:ConfigurationProperty xmi:id="_zVumMCjbEeGFbebITJYb9g" base_Property="_tmNeoCjbEeGFbebITJYb9g"/>
-  <FCM:Port xmi:id="_3NSGwSkAEeGDDbdzqSb4UA" base_Port="_3NSGwCkAEeGDDbdzqSb4UA" kind="_9Fif4FRxEd6GqrP6fkWBoQ"/>
-  <FCM:OperatingSystem xmi:id="_r4nVcCp9EeG1Y7BvjQ0T-w" base_Class="_onKy0Cp9EeG1Y7BvjQ0T-w"/>
-  <FCM:Port xmi:id="_-nlmgENqEeGoAtSeIK7WLg" base_Port="_-nk_cENqEeGoAtSeIK7WLg" kind="_qOK0cFR1Ed6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="_9gJEAENvEeGoAtSeIK7WLg" base_Port="_9gIc8ENvEeGoAtSeIK7WLg" kind="_pE6GUFR1Ed6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="_MhIhgENxEeGoAtSeIK7WLg" base_Port="_MhH6cENxEeGoAtSeIK7WLg" kind="_pE6GUFR1Ed6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="_Zd6hAENxEeGoAtSeIK7WLg" base_Port="_Zd558ENxEeGoAtSeIK7WLg" kind="_qOK0cFR1Ed6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="_i6QeoEN8EeGfhclnRyNzoA" base_Port="_i5SOQEN8EeGfhclnRyNzoA" kind="_qOK0cFR1Ed6GqrP6fkWBoQ"/>
-  <FCM:Port xmi:id="_0KaqgF7pEeGEmrrwB1vhPg" base_Port="_0KY1UF7pEeGEmrrwB1vhPg" kind="_wySlkFRxEd6GqrP6fkWBoQ"/>
-  <FCM:Template xmi:id="_GNBM8F7tEeGEmrrwB1vhPg" base_Element="_ChD4kF7tEeGEmrrwB1vhPg" kind="LoopOperations"/>
-  <FCM:InteractionComponent xmi:id="_UBcmIF7tEeGEmrrwB1vhPg" base_Class="_Mo2kwF7pEeGEmrrwB1vhPg"/>
-  <FCM:InteractionComponent xmi:id="_Z3Zs4F7tEeGEmrrwB1vhPg" base_Class="_TLShkF7qEeGEmrrwB1vhPg"/>
-  <FCM:PortKind xmi:id="_SrCqQC8qEeKx7OxAiA06uw" base_Class="_GjnlcC8qEeKx7OxAiA06uw"/>
-  <C_Cpp:ExternLibrary xmi:id="_xVwkUNqCEeKrRY-H1kHnNA" base_package="_I19MANYGEd-CgJIavLpOxQ">
-    <libs>pthread</libs>
-    <libs>rt</libs>
-  </C_Cpp:ExternLibrary>
-</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/fifo.notation b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/fifo.notation
index 1e89887..c4d8966 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/fifo.notation
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/fifo.notation
@@ -431,7 +431,7 @@
       <styles xmi:type="notation:FontStyle" xmi:id="_tAMReSiLEeC_VbmKpDkWDw"/>
       <element xmi:type="uml:Generalization" href="fifo.uml#_6zGSwHLnEd6R5tffIPrlPg"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tAM4cCiLEeC_VbmKpDkWDw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tAM4cSiLEeC_VbmKpDkWDw" id="(0.1407035175879397,0.06)"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tAM4cSiLEeC_VbmKpDkWDw" id="(0.16080402010050251,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tAM4ciiLEeC_VbmKpDkWDw" id="(0.8440366972477065,0.92)"/>
     </edges>
     <edges xmi:type="notation:Connector" xmi:id="_tAM4cyiLEeC_VbmKpDkWDw" type="Generalization_Edge" source="_tAH_8yiLEeC_VbmKpDkWDw" target="_tALqUyiLEeC_VbmKpDkWDw">
@@ -461,7 +461,7 @@
       <styles xmi:type="notation:FontStyle" xmi:id="_tAM4hCiLEeC_VbmKpDkWDw"/>
       <element xmi:type="uml:Generalization" href="fifo.uml#_ELTYQHLoEd6R5tffIPrlPg"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tAM4hSiLEeC_VbmKpDkWDw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tAM4hiiLEeC_VbmKpDkWDw" id="(0.8994974874371859,0.06)"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tAM4hiiLEeC_VbmKpDkWDw" id="(0.9045226130653267,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tAM4hyiLEeC_VbmKpDkWDw" id="(0.19310344827586207,0.96)"/>
     </edges>
     <edges xmi:type="notation:Connector" xmi:id="_XAfg1GzsEeWdOZKmOtT48A" type="StereotypeCommentLink" source="_tAH_8yiLEeC_VbmKpDkWDw" target="_XAfg0GzsEeWdOZKmOtT48A">
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/fifo.uml b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/fifo.uml
index bd32f41..c2c5ae0 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/fifo.uml
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/fifo.uml
@@ -1,17 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:standard="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:Transformation="http://www.eclipse.org/papyrus/Transformation/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:standard="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
   <uml:Model xmi:id="_ePwqkHLmEd6R5tffIPrlPg" name="fifo">
-    <elementImport xmi:type="uml:ElementImport" xmi:id="_mcPj0HLmEd6R5tffIPrlPg" alias="BasicCalls">
-      <importedElement xmi:type="uml:Model" href="core.uml#_O6TiIDLUEd26WNosUASSSw"/>
-    </elementImport>
     <packageImport xmi:type="uml:PackageImport" xmi:id="_ePwqkXLmEd6R5tffIPrlPg">
       <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
     </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_cBFXEHLnEd6R5tffIPrlPg">
-      <importedPackage xmi:type="uml:Package" href="core.uml#_QwvnQFDlEd6cwecVIgl9nw"/>
-    </packageImport>
     <packageImport xmi:type="uml:PackageImport" xmi:id="_svKG8F72EeGerN33d-RdRg">
-      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/core.uml#_O6TiIDLUEd26WNosUASSSw"/>
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_C_CORE/componentlib.uml#_O6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_LV2kgG6LEeaxr7fYazRp4A">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_TRAFO/trafos.uml#_Q6TiIDLUEd26WNosUASSSw"/>
     </packageImport>
     <packagedElement xmi:type="uml:Package" xmi:id="_uBS5sK8tEeCXIcykFPsB8Q" name="DataExchange_size">
       <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_1AfgcK8tEeCXIcykFPsB8Q" parameter="_diTcwHLoEd6R5tffIPrlPg _H5vB4K8vEeCXIcykFPsB8Q">
@@ -123,7 +120,7 @@
           </ownedComment>
           <generalization xmi:type="uml:Generalization" xmi:id="_Z4Oq8HPpEd6R5tffIPrlPg" general="_wh_EwHLmEd6R5tffIPrlPg"/>
           <generalization xmi:type="uml:Generalization" xmi:id="_ws_1gF72EeGerN33d-RdRg">
-            <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
+            <general xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
           </generalization>
           <ownedAttribute xmi:type="uml:Property" xmi:id="_6iV9wHUHEd6R5tffIPrlPg" name="m_push_pos" isUnique="false" aggregation="composite">
             <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
@@ -141,12 +138,12 @@
             <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
           </ownedAttribute>
           <ownedAttribute xmi:type="uml:Property" xmi:id="_zNeIsBGZEd-rfYlCjUOxJQ" name="m_fifo" visibility="public" type="_j_050HLoEd6R5tffIPrlPg" isUnique="false" aggregation="composite">
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q8o1YBGcEd-rfYlCjUOxJQ"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q8vjEBGcEd-rfYlCjUOxJQ" value="*"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q8o1YBGcEd-rfYlCjUOxJQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q8vjEBGcEd-rfYlCjUOxJQ" value="1"/>
           </ownedAttribute>
           <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_y6XsAF72EeGerN33d-RdRg" name="derived realization of ILifeCycle" client="_Y1jF8HPpEd6R5tffIPrlPg">
-            <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
-            <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+            <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+            <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
           </interfaceRealization>
           <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_Qu_ZUCzVEea77cD6dZ298w" name="derived realization of Push_T" client="_Y1jF8HPpEd6R5tffIPrlPg" supplier="_QuhfQCzVEea77cD6dZ298w" contract="_QuhfQCzVEea77cD6dZ298w"/>
           <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_QvBOgCzVEea77cD6dZ298w" name="derived realization of PullConsumer_T" client="_Y1jF8HPpEd6R5tffIPrlPg" supplier="_Qu0aMCzVEea77cD6dZ298w" contract="_Qu0aMCzVEea77cD6dZ298w"/>
@@ -194,7 +191,7 @@
           </ownedBehavior>
           <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_QzOqwK8yEeCXIcykFPsB8Q" name="activate" specification="_5IpEwK8xEeCXIcykFPsB8Q">
             <language>C/C++</language>
-            <body>!xtend FIFO.activate</body>
+            <body>!template FIFO.activate</body>
           </ownedBehavior>
           <ownedOperation xmi:type="uml:Operation" xmi:id="_5IpEwK8xEeCXIcykFPsB8Q" name="activate" method="_QzOqwK8yEeCXIcykFPsB8Q"/>
           <ownedOperation xmi:type="uml:Operation" xmi:id="_y7cqEF72EeGerN33d-RdRg" name="deactivate"/>
@@ -324,47 +321,54 @@
       </eAnnotations>
       <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
     </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_rWuAUG6IEeabY4GUQBuEyA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rW0G8G6IEeabY4GUQBuEyA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Transformation/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://TRAFO_PROFILE/Transformation.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/>
+    </profileApplication>
   </uml:Model>
   <standard:ModelLibrary xmi:id="_eex-AHLmEd6R5tffIPrlPg" base_Package="_ePwqkHLmEd6R5tffIPrlPg"/>
   <FCM:Port xmi:id="_42zlMHLnEd6R5tffIPrlPg" base_Port="_xHb7MHLmEd6R5tffIPrlPg" type="_j_050HLoEd6R5tffIPrlPg">
-    <kind xmi:type="FCM:PortKind" href="core.uml#_qOK0cFR1Ed6GqrP6fkWBoQ"/>
+    <kind xmi:type="FCM:PortKind" href="componentlib.uml#_qOK0cFR1Ed6GqrP6fkWBoQ"/>
   </FCM:Port>
   <FCM:Port xmi:id="_57KlMHLnEd6R5tffIPrlPg" base_Port="_xcu1wHLmEd6R5tffIPrlPg" type="_j_050HLoEd6R5tffIPrlPg">
-    <kind xmi:type="FCM:PortKind" href="core.uml#_x5mL4FRxEd6GqrP6fkWBoQ"/>
+    <kind xmi:type="FCM:PortKind" href="componentlib.uml#_x5mL4FRxEd6GqrP6fkWBoQ"/>
   </FCM:Port>
   <FCM:Port xmi:id="_TRtWsHLoEd6R5tffIPrlPg" base_Port="_TRsvoHLoEd6R5tffIPrlPg" type="_j_050HLoEd6R5tffIPrlPg">
-    <kind xmi:type="FCM:PortKind" href="core.uml#_pE6GUFR1Ed6GqrP6fkWBoQ"/>
+    <kind xmi:type="FCM:PortKind" href="componentlib.uml#_pE6GUFR1Ed6GqrP6fkWBoQ"/>
   </FCM:Port>
   <FCM:InteractionComponent xmi:id="_xQ_ccHUuEd6R5tffIPrlPg" base_Class="_Y1jF8HPpEd6R5tffIPrlPg"/>
   <FCM:InteractionComponent xmi:id="_IwT2cP6_Ed6Zw96O-tCw7A" base_Class="_wh_EwHLmEd6R5tffIPrlPg"/>
   <FCM:InteractionComponent xmi:id="_KcV6cP6_Ed6Zw96O-tCw7A" base_Class="_zc4voHLmEd6R5tffIPrlPg"/>
   <FCM:InteractionComponent xmi:id="_hp8gEDqNEeCd_O2fHA8dPg" base_Class="_dr0doDqNEeCd_O2fHA8dPg"/>
   <FCM:InteractionComponent xmi:id="_MyvicK4iEeCXIcykFPsB8Q" base_Class="_DA0VYK4iEeCXIcykFPsB8Q"/>
-  <FCM:Template xmi:id="_53zBoK-xEeC6ALhykKLu_g" base_Element="_5IpEwK8xEeCXIcykFPsB8Q"/>
   <FCM:ConfigurationProperty xmi:id="_FxN9cLC0EeCaaIdtw75MLg" base_Property="_XDRnoHUIEd6R5tffIPrlPg"/>
-  <FCM:DerivedElement xmi:id="_y7XKgF72EeGerN33d-RdRg" base_Element="_5IpEwK8xEeCXIcykFPsB8Q">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_y7vlAF72EeGerN33d-RdRg" base_Element="_y7cqEF72EeGerN33d-RdRg">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
-  </FCM:DerivedElement>
+  <Transformation:DerivedElement xmi:id="_y7vlAF72EeGerN33d-RdRg" base_Element="_y7cqEF72EeGerN33d-RdRg">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </Transformation:DerivedElement>
   <C_Cpp:Include xmi:id="_fUHyQF8DEeGerN33d-RdRg" body="#include &lt;iostream>&#xA;using namespace std;" base_class="_Y1jF8HPpEd6R5tffIPrlPg"/>
   <FCM:InteractionComponent xmi:id="_Ha4s8C_gEeKl_vDGXh-OPw" base_Class="_gKLGoC_fEeKl_vDGXh-OPw"/>
   <FCM:InteractionComponent xmi:id="_qZSwkC_gEeKl_vDGXh-OPw" base_Class="_qZQUUC_gEeKl_vDGXh-OPw"/>
   <FCM:Port xmi:id="_9Pv5MC_gEeKl_vDGXh-OPw" base_Port="_jaXsEC_fEeKl_vDGXh-OPw" type="_j_050HLoEd6R5tffIPrlPg" conjugated="true">
-    <kind xmi:type="FCM:PortKind" href="core.uml#_SrCqQC8qEeKx7OxAiA06uw"/>
+    <kind xmi:type="FCM:PortKind" href="componentlib.uml#_SrCqQC8qEeKx7OxAiA06uw"/>
   </FCM:Port>
   <FCM:Port xmi:id="_DPPWcC_hEeKl_vDGXh-OPw" base_Port="_h9XikC_fEeKl_vDGXh-OPw" type="_j_050HLoEd6R5tffIPrlPg" conjugated="true">
-    <kind xmi:type="FCM:PortKind" href="core.uml#_SrCqQC8qEeKx7OxAiA06uw"/>
+    <kind xmi:type="FCM:PortKind" href="componentlib.uml#_SrCqQC8qEeKx7OxAiA06uw"/>
   </FCM:Port>
-  <FCM:DerivedElement xmi:id="_qCAZwIegEeO4jYNrBbiXBw" base_Element="_qB4d8IegEeO4jYNrBbiXBw">
-    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_ns4qsClUEeO4bs_nkcnKOg"/>
-  </FCM:DerivedElement>
-  <FCM:DerivedElement xmi:id="_Qum-0CzVEea77cD6dZ298w" base_Element="_QuhfQCzVEea77cD6dZ298w" source="_j_050HLoEd6R5tffIPrlPg"/>
-  <FCM:DerivedElement xmi:id="_Qur3UCzVEea77cD6dZ298w" base_Element="_Qunl4CzVEea77cD6dZ298w" source="_j_050HLoEd6R5tffIPrlPg"/>
-  <FCM:DerivedElement xmi:id="_QuzzICzVEea77cD6dZ298w" base_Element="_QuuTkCzVEea77cD6dZ298w" source="_j_050HLoEd6R5tffIPrlPg"/>
-  <FCM:DerivedElement xmi:id="_Qu5SsCzVEea77cD6dZ298w" base_Element="_Qu0aMCzVEea77cD6dZ298w" source="_j_050HLoEd6R5tffIPrlPg"/>
-  <FCM:DerivedElement xmi:id="_QvRGICzVEea77cD6dZ298w" base_Element="_QvCcoCzVEea77cD6dZ298w" source="_QutFcCzVEea77cD6dZ298w"/>
-  <FCM:DerivedElement xmi:id="_QvfvoCzVEea77cD6dZ298w" base_Element="_QvSUQCzVEea77cD6dZ298w" source="_Qu7H4CzVEea77cD6dZ298w"/>
-  <FCM:DerivedElement xmi:id="_QvwOUCzVEea77cD6dZ298w" base_Element="_Qvg9wCzVEea77cD6dZ298w" source="_Qu9kICzVEea77cD6dZ298w"/>
+  <Transformation:DerivedElement xmi:id="_qCAZwIegEeO4jYNrBbiXBw" base_Element="_qB4d8IegEeO4jYNrBbiXBw">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_ns4qsClUEeO4bs_nkcnKOg"/>
+  </Transformation:DerivedElement>
+  <Transformation:DerivedElement xmi:id="_Qum-0CzVEea77cD6dZ298w" base_Element="_QuhfQCzVEea77cD6dZ298w" source="_j_050HLoEd6R5tffIPrlPg"/>
+  <Transformation:DerivedElement xmi:id="_Qur3UCzVEea77cD6dZ298w" base_Element="_Qunl4CzVEea77cD6dZ298w" source="_j_050HLoEd6R5tffIPrlPg"/>
+  <Transformation:DerivedElement xmi:id="_QuzzICzVEea77cD6dZ298w" base_Element="_QuuTkCzVEea77cD6dZ298w" source="_j_050HLoEd6R5tffIPrlPg"/>
+  <Transformation:DerivedElement xmi:id="_Qu5SsCzVEea77cD6dZ298w" base_Element="_Qu0aMCzVEea77cD6dZ298w" source="_j_050HLoEd6R5tffIPrlPg"/>
+  <Transformation:DerivedElement xmi:id="_QvRGICzVEea77cD6dZ298w" base_Element="_QvCcoCzVEea77cD6dZ298w" source="_QutFcCzVEea77cD6dZ298w"/>
+  <Transformation:DerivedElement xmi:id="_QvfvoCzVEea77cD6dZ298w" base_Element="_QvSUQCzVEea77cD6dZ298w" source="_Qu7H4CzVEea77cD6dZ298w"/>
+  <Transformation:DerivedElement xmi:id="_QvwOUCzVEea77cD6dZ298w" base_Element="_Qvg9wCzVEea77cD6dZ298w" source="_Qu9kICzVEea77cD6dZ298w"/>
+  <Transformation:DerivedElement xmi:id="_2dT9cG6MEeaxr7fYazRp4A" base_Element="_5IpEwK8xEeCXIcykFPsB8Q"/>
+  <Transformation:ApplyTransformation xmi:id="_x0--EG6lEea28Jw2WrLiEw" base_Element="_QzOqwK8yEeCXIcykFPsB8Q">
+    <trafo xmi:type="Transformation:M2MTrafo" href="pathmap://DML_TRAFO/trafos.uml#_pytwwG6lEea28Jw2WrLiEw"/>
+  </Transformation:ApplyTransformation>
+  <C_Cpp:Ptr xmi:id="_pgiSAG9dEeaNUqiIiEhUfA" base_property="_zNeIsBGZEd-rfYlCjUOxJQ"/>
 </xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/plugin.xml b/components/org.eclipse.papyrus.designer.components.modellibs.core/plugin.xml
index 8649343..44431ef 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/plugin.xml
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/plugin.xml
@@ -50,30 +50,32 @@
       <client class="org.eclipse.papyrus.designer.components.modellibs.core.mappingrules.AMIpoll" portKindName="AMIpoll">
       </client>
    </extension>
-   <extension point="org.eclipse.papyrus.designer.components.fcm.profile.fcmEmbeddingRule">
-      <client class="org.eclipse.papyrus.designer.components.modellibs.core.embeddingrules.AccordCall" portKindName="AccordCall">
-      </client>
-   </extension>
-   <extension id="QML_CORE" point="org.eclipse.emf.ecore.uri_mapping">
-      <mapping source="pathmap://QML_CORE/" target="platform:/plugin/org.eclipse.papyrus.designer.components.modellibs.core/models/library/">
-      </mapping>
-   </extension>
-    <extension name="Designer core library" point="org.eclipse.papyrus.uml.extensionpoints.UMLLibrary">
-      <library description="Designer core library" iconpath="platform:/plugin/org.eclipse.papyrus.designer.ui/icons/designer-16x16.gif" name="Designer model library: basic" path="pathmap://QML_CORE/core.uml" provider="CEA LIST">
-      </library>
-   </extension>
-   <extension name="FIFO" point="org.eclipse.papyrus.uml.extensionpoints.UMLLibrary">
-      <library iconpath="platform:/plugin/org.eclipse.papyrus.designer.ui/icons/designer-16x16.gif" name="Designer model library: FIFO" path="pathmap://QML_CORE/fifo.uml" provider="CEA LIST">
-      </library>
+	<extension id="DML_CORE" point="org.eclipse.emf.ecore.uri_mapping">
+		<mapping source="pathmap://DML_C_CORE/" target="platform:/plugin/org.eclipse.papyrus.designer.components.modellibs.core/models/library/">
+		</mapping>
 	</extension>
-	<extension name="OS-AL" point="org.eclipse.papyrus.uml.extensionpoints.UMLLibrary">
-		<library iconpath="platform:/plugin/org.eclipse.papyrus.designer.ui/icons/designer-16x16.gif" name="Designer model library: OS abstraction layer (OS-AL)" path="pathmap://QML_CORE/osal.uml" provider="CEA LIST">
+	<extension name="Designer component library" point="org.eclipse.papyrus.uml.extensionpoints.UMLLibrary">
+		<library description="Designer component library" iconpath="platform:/plugin/org.eclipse.papyrus.designer.ui/icons/designer-16x16.gif" name="Designer model library: port kinds and interactions" path="pathmap://DML_C_CORE/componentlib.uml" provider="CEA LIST">
 		</library>
 	</extension>
-	<extension name="StateMachine" point="org.eclipse.papyrus.uml.extensionpoints.UMLLibrary">
-		<library iconpath="platform:/plugin/org.eclipse.papyrus.designer.ui/icons/designer-16x16.gif" name="Designer model library: State-machines" path="pathmap://QML_CORE/statemachine.uml" provider="CEA LIST">
+	<extension name="FIFO" point="org.eclipse.papyrus.uml.extensionpoints.UMLLibrary">
+		<library iconpath="platform:/plugin/org.eclipse.papyrus.designer.ui/icons/designer-16x16.gif" name="Designer model library: FIFO" path="pathmap://DML_C_CORE/fifo.uml" provider="CEA LIST">
 		</library>
 	</extension>
+
+	<extension point="org.eclipse.papyrus.designer.transformation.extensions.m2mTrafo">
+		<transformation
+			transformationID="componentlib::transformations::ConnectorReification"
+			class="org.eclipse.papyrus.designer.components.modellibs.core.transformations.ConnectorReification">
+		</transformation>
+	</extension>
+	<extension point="org.eclipse.papyrus.designer.transformation.extensions.m2mTrafo">
+		<transformation
+			transformationID="componentlib::transformations::ExecuteOOTrafo"
+			class="org.eclipse.papyrus.designer.components.modellibs.core.transformations.ExecuteOOTrafo">
+		</transformation>
+	</extension>
+
 	<extension point="org.eclipse.papyrus.uml.diagram.wizards.templates">
 		<template
 			id="org.eclipse.papyrus.designer.components.transformation.modelibs.core.wizardTemplates.DesignerCBForMARTE"
@@ -92,14 +94,6 @@
 			notation_file="models/wizardTemplates/DesignerCBSimple.notation">
 		</template>
 	</extension>
-	<extension point="org.eclipse.papyrus.designer.components.transformation.core.instanceConfig">
-		<client class="org.eclipse.papyrus.designer.components.modellibs.core.iconfigurators.CallEventConfigurator" configuratorID="CallEventConfigurator">
-		</client>
-	</extension>
-	<extension point="org.eclipse.papyrus.designer.components.transformation.core.instanceConfig">
-		<client class="org.eclipse.papyrus.designer.components.modellibs.core.iconfigurators.AnimServiceConfigurator" configuratorID="AnimServiceConfigurator">
-		</client>
-	</extension>
 	<extension point="org.eclipse.ui.newWizards">
 		<wizard
 			category="org.eclipse.ui.Examples/org.eclipse.papyrus.examples"
@@ -138,46 +132,9 @@
 			<selection class="org.eclipse.core.resources.IResource"/>
 		</wizard>
 	</extension>
-	<extension id="LoopOperations" point="org.eclipse.papyrus.designer.components.fcm.profile.fcmBindingHelper">
-		<client
-			bindingHelperName="LoopOperations"
-			class="org.eclipse.papyrus.designer.components.modellibs.core.bindinghelpers.LoopOperations">
-		</client>
-	</extension>
-	<extension id="BindOperation" point="org.eclipse.papyrus.designer.components.fcm.profile.fcmBindingHelper">
-		<client
-			bindingHelperName="BindOperation"
-			class="org.eclipse.papyrus.designer.components.modellibs.core.bindinghelpers.BindOperation">
-		</client>
-	</extension>
-	<extension
-  			id="BindCppIncludeToFirstActual"
-			point="org.eclipse.papyrus.designer.components.fcm.profile.fcmBindingHelper">
-		<client
-			bindingHelperName="BindCppIncludeToFirstActual"
-			class="org.eclipse.papyrus.designer.components.modellibs.core.bindinghelpers.BindCppIncludeToFirstActual">
-		</client>
-	</extension>
 	<extension
 			point="org.eclipse.help.toc">
 		<toc file="help/modellibs-core-examples.xml"/>
 		<toc file="help/modellibs-core-library.xml"/>
 	</extension>
-	<extension
-			point="org.eclipse.papyrus.designer.components.transformation.core.xtendGenerator">
-		<client class="org.eclipse.papyrus.designer.components.modellibs.core.xtend.StateMachineGen" templateID="StateMachineGen">
-		</client>
-	</extension>
-	<extension
-			point="org.eclipse.papyrus.designer.components.transformation.core.xtendGenerator">
-		<client class="org.eclipse.papyrus.designer.components.modellibs.core.xtend.CppUtils" templateID="CppUtils">
-		</client>
- </extension>
- <extension
-       point="org.eclipse.papyrus.designer.components.transformation.core.customTrafo">
-    <transformation
-          class="org.eclipse.papyrus.designer.components.modellibs.core.statemachine.CompleteStatemachine"
-          transformationID="statemachine::rules::CompleteSM">
-    </transformation>
- </extension>
 </plugin>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/bindinghelpers/BindCppIncludeToFirstActual.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/bindinghelpers/BindCppIncludeToFirstActual.java
deleted file mode 100644
index 4358d24..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/bindinghelpers/BindCppIncludeToFirstActual.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.modellibs.core.bindinghelpers;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.FCM.util.IBindingHelper;
-import org.eclipse.papyrus.designer.components.transformation.core.listeners.PostCopyListener;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TemplateUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TextTemplateBinding;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationContext;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Include;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.TemplateBinding;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * Instantiate (bind Acceleo template) the text within a C++Include stereotype.
- *
- * The actual is the first actual within the template binding. This function does not check
- * whether the classifier has the template stereotype.
- *
- * Note: this function is C++ specific, but many parts of the model library are C++ specific as well
- *
- */
-public class BindCppIncludeToFirstActual implements PostCopyListener, IBindingHelper {
-
-	@Override
-	public void postCopyEObject(LazyCopier copy, EObject targetEObj) {
-		// if (copy.get(sourceEObj) isWithinTemplate)
-		if (targetEObj instanceof Classifier) {
-
-			Classifier targetCl = (Classifier) targetEObj;
-			try {
-				Classifier actual = TemplateUtils.getFirstActualFromBinding(binding);
-				Include cppInclude = UMLUtil.getStereotypeApplication(targetCl, Include.class);
-				if ((actual != null) && (cppInclude != null)) {
-					TransformationContext.classifier = targetCl;
-					String newBody = TextTemplateBinding.bind(cppInclude.getBody(), actual, null);
-					String newPreBody = TextTemplateBinding.bind(cppInclude.getPreBody(), actual, null);
-					String newHeader = TextTemplateBinding.bind(cppInclude.getHeader(), actual, null);
-					cppInclude.setBody(newBody);
-					cppInclude.setPreBody(newPreBody);
-					cppInclude.setHeader(newHeader);
-				}
-			} catch (TransformationException e) {
-				// create nested exception
-				throw new RuntimeException(e);
-			}
-		}
-	}
-
-	protected TemplateBinding binding;
-
-	@Override
-	public void handleElement(TemplateBinding binding, Element object) {
-		this.binding = binding;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/bindinghelpers/BindOperation.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/bindinghelpers/BindOperation.java
deleted file mode 100644
index 66d5165..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/bindinghelpers/BindOperation.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.modellibs.core.bindinghelpers;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.transformation.core.listeners.PreCopyListener;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.BindingUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TemplateUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.designer.components.FCM.util.IBindingHelper;
-import org.eclipse.papyrus.designer.components.modellibs.core.Activator;
-import org.eclipse.uml2.uml.Behavior;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.OpaqueBehavior;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.TemplateBinding;
-
-/**
- * Bind an operation to an actual, i.e. evaluate the Acceleo template within the opaque behavior associated with
- * the operation.
- */
-public class BindOperation implements IBindingHelper, PreCopyListener {
-
-	private TemplateBinding binding;
-
-	@Override
-	public EObject preCopyEObject(LazyCopier copy, EObject sourceEObj) {
-
-		if (sourceEObj instanceof Operation) {
-			Operation operation = (Operation) sourceEObj;
-			Classifier actual = TemplateUtils.getFirstActualFromBinding(binding);
-
-			Operation newOperation = BindingUtils.instantiateOperation(copy, actual, operation);
-			for (Behavior method : operation.getMethods()) {
-				if (method instanceof OpaqueBehavior) {
-					try {
-						Behavior newBehavior =
-								BindingUtils.instantiateBehavior(copy, actual, (OpaqueBehavior) method);
-						newBehavior.setSpecification(newOperation);
-					} catch (TransformationException e) {
-						Activator.log.error(e);
-					}
-				}
-			}
-			return newOperation;
-		}
-		return sourceEObj;
-	}
-
-	@Override
-	public void handleElement(TemplateBinding binding, Element object) {
-		this.binding = binding;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/bindinghelpers/InstantiateCppIncludeWithItSelf.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/bindinghelpers/InstantiateCppIncludeWithItSelf.java
deleted file mode 100644
index 087163b..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/bindinghelpers/InstantiateCppIncludeWithItSelf.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.modellibs.core.bindinghelpers;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.FCM.Template;
-import org.eclipse.papyrus.designer.components.FCM.util.IBindingHelper;
-import org.eclipse.papyrus.designer.components.transformation.core.listeners.PostCopyListener;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TextTemplateBinding;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationContext;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Include;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.TemplateBinding;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * Instantiate (bind Acceleo template) the text within a C++Include stereotype.
- *
- * Difference to InstantiateCppInclude: This function does not obtain the actual from a template
- * binding. Instead it takes the classifier having the Template stereotype as actual.
- * TODO: What's the use of this function. The classifier is known at this time - unless in a template?
- *
- * Note: this function is C++ specific, but many parts of the model library are C++ specific as well
- *
- */
-@Deprecated
-public class InstantiateCppIncludeWithItSelf implements PostCopyListener, IBindingHelper {
-
-	@Override
-	public void postCopyEObject(LazyCopier copy, EObject targetEObj) {
-		// if (copy.get(sourceEObj) isWithinTemplate)
-		if (targetEObj instanceof Classifier) {
-			// TODO: C++ specific code!
-			Classifier targetCl = (Classifier) targetEObj;
-			Template template = UMLUtil.getStereotypeApplication(targetCl, Template.class);
-			// apply, in case of pass-classifier
-			if ((template != null) && (template.getHelper() == null)) {
-				try {
-					Include cppInclude = UMLUtil.getStereotypeApplication(targetCl, Include.class);
-					TransformationContext.classifier = targetCl;
-					String newBody = TextTemplateBinding.bind(cppInclude.getBody(), targetCl, null);
-					String newPreBody = TextTemplateBinding.bind(cppInclude.getPreBody(), targetCl, null);
-					String newHeader = TextTemplateBinding.bind(cppInclude.getHeader(), targetCl, null);
-					cppInclude.setBody(newBody);
-					cppInclude.setPreBody(newPreBody);
-					cppInclude.setHeader(newHeader);
-				} catch (TransformationException e) {
-					// create nested exception
-					throw new RuntimeException(e);
-				}
-			}
-		}
-	}
-
-	@Override
-	public void handleElement(TemplateBinding binding, Element object) {
-		// don't need to handle binding
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/bindinghelpers/LoopOperations.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/bindinghelpers/LoopOperations.java
deleted file mode 100644
index 67889d2..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/bindinghelpers/LoopOperations.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.modellibs.core.bindinghelpers;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.transformation.core.listeners.PreCopyListener;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.BindingUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TemplateUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TextTemplateBinding;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.designer.components.FCM.util.IBindingHelper;
-import org.eclipse.papyrus.designer.components.modellibs.core.Activator;
-import org.eclipse.uml2.uml.Behavior;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.EnumerationLiteral;
-import org.eclipse.uml2.uml.Interface;
-import org.eclipse.uml2.uml.OpaqueBehavior;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.TemplateBinding;
-import org.eclipse.uml2.uml.Type;
-
-/**
- * This binding helper loops over all operations of the actual template parameter
- * (typically an interface)
- *
- */
-public class LoopOperations implements IBindingHelper, PreCopyListener {
-
-	private TemplateBinding binding;
-
-	@Override
-	public EObject preCopyEObject(LazyCopier copy, EObject sourceEObj) {
-
-		if (sourceEObj instanceof Operation) {
-			Operation operation = (Operation) sourceEObj;
-
-			Classifier actual = TemplateUtils.getFirstActualFromBinding(binding);
-
-			if (!(actual instanceof Interface)) {
-				return sourceEObj;
-			}
-			Interface passedActualIntf = (Interface) actual;
-			Operation last = null;
-			EList<Element> removalList = new BasicEList<Element>();
-			for (Operation intfOperation : passedActualIntf.getAllOperations()) {
-				for (Element removalElement : removalList) {
-					copy.removeForCopy(removalElement); // enable subsequent instantiations
-				}
-				removalList.clear();
-				last = BindingUtils.instantiateOperation(copy, intfOperation, operation);
-				removalList.add(operation);
-				for (Behavior method : operation.getMethods()) {
-					if (method instanceof OpaqueBehavior) {
-						try {
-							Behavior newBehavior =
-									BindingUtils.instantiateBehavior(copy, intfOperation, (OpaqueBehavior) method);
-							newBehavior.setSpecification(last);
-						} catch (TransformationException e) {
-							Activator.log.error(e);
-							;
-						}
-						// removalList.add(method);
-						copy.removeForCopy(method); // enable subsequent instantiations
-					}
-				}
-			}
-			// from a logical viewpoint, we need to copy parameters & name, but not the
-			// operation identity.
-			copy.put(operation, last);
-			return last;
-			/*
-			 * else { // not LOOP_OPERATIONS
-			 * Operation newOperation = instantiateOperation(actual, template, operation, boundClass);
-			 * for(Behavior method : operation.getMethods()) {
-			 * if(method instanceof OpaqueBehavior) {
-			 * Behavior newBehavior =
-			 * instantiateBehavior(actual, template, (OpaqueBehavior)method);
-			 * newBehavior.setSpecification(newOperation);
-			 * }
-			 * }
-			 * return newOperation;
-			 */
-		}
-		else if (sourceEObj instanceof EnumerationLiteral) {
-			EnumerationLiteral literal = (EnumerationLiteral) sourceEObj;
-			Classifier actual = TemplateUtils.getFirstActualFromBinding(binding);
-			// Type passedActual = getPassedActual(template, actual, boundClass);
-			Type passedActual = actual;
-			if (!(passedActual instanceof Interface)) {
-				return sourceEObj;
-			}
-			Interface passedActualIntf = (Interface) passedActual;
-			EnumerationLiteral newLiteral = null;
-			for (Operation intfOperation : passedActualIntf.getAllOperations()) {
-				copy.removeForCopy(literal);
-				newLiteral = copy.getCopy(literal);
-				try {
-					String newName = TextTemplateBinding.bind(literal.getName(), intfOperation, null);
-					newLiteral.setName(newName);
-				} catch (TransformationException e) {
-					Activator.log.error(e);
-					newLiteral.setName("none"); //$NON-NLS-1$
-				}
-			}
-			return newLiteral;
-		}
-		return null;
-	}
-
-	@Override
-	public void handleElement(TemplateBinding binding, Element object) {
-		this.binding = binding;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/iconfigurators/AnimServiceConfigurator.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/iconfigurators/AnimServiceConfigurator.java
deleted file mode 100644
index d2e2a9a..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/iconfigurators/AnimServiceConfigurator.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.modellibs.core.iconfigurators;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.AllocUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.IInstanceConfigurator;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Property;
-
-/**
- * Configurator for the Eclipse animation server. This instance is systematically
- * allocated to a node named "Eclipse" call event (for a state machine): it sets the
- * portID attribute of the call event interceptor. The interceptor uses this
- * attribute to initialize the portID attribute within the produced CallEvent
- * data structure.
- *
- * @author ansgar
- *
- */
-public class AnimServiceConfigurator implements IInstanceConfigurator {
-
-	public final static String eclipseAnimService = "Eclipse"; //$NON-NLS-1$
-
-	/**
-	 * Configure the instance of the animation service.
-	 *
-	 * @see org.eclipse.papyrus.designer.components.transformation.core.extensions.IInstanceConfigurator#configureInstance(org.eclipse.uml2.uml.InstanceSpecification, org.eclipse.uml2.uml.InstanceSpecification, org.eclipse.uml2.uml.Port)
-	 *
-	 * @param instance
-	 *            the instance that should be configured
-	 * @param componentPart
-	 *            the part representing this instance
-	 * @param parentInstance
-	 *            The instance specification for the parent (container). If null, no configuration is done (may indicates that the call is done from a lightweight container) 
-	 */
-	@Override
-	public void configureInstance(InstanceSpecification instance, Property componentPart, InstanceSpecification parentInstance)
-	{
-		if (parentInstance != null) {
-			EList<InstanceSpecification> nodes = AllocUtils.getAllNodesOrThreadsParent(parentInstance);
-			if (nodes.size() > 0) {
-				InstanceSpecification node = nodes.get(0);
-				// problem: instance specification is within intermediate model, thus incomplete.
-				// option: explicitly pre-create singletons (and allocate these?)
-				NamedElement animService = node.getNearestPackage().getMember(eclipseAnimService);
-				if (animService instanceof InstanceSpecification) {
-					AllocUtils.allocate(instance, (InstanceSpecification) animService);
-					return;
-				}
-			}
-		}
-		// throw new TransformationRTException(String.format("Cannot find node <%s> in platform definition", eclipseAnimService));
-	}
-
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/iconfigurators/CallEventConfigurator.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/iconfigurators/CallEventConfigurator.java
deleted file mode 100644
index 8a5705e..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/iconfigurators/CallEventConfigurator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.modellibs.core.iconfigurators;
-
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepPlanUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.IInstanceConfigurator;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Property;
-
-/**
- * Configurator of a call event (for a state machine): it sets the
- * portID attribute of the call event interceptor. The interceptor uses this
- * attribute to initialize the portID attribute within the produced CallEvent
- * data structure.
- *
- * @author ansgar
- *
- */
-public class CallEventConfigurator implements IInstanceConfigurator {
-
-	public final static String portAttribute = "portID"; //$NON-NLS-1$
-
-	/**
-	 * Configure the instance of a CallEvent interceptor. The configuration parameter is the
-	 * index of the port which gets intercepted. It is obtained via an enumeration
-	 *
-	 * @see org.eclipse.papyrus.designer.components.transformation.core.extensions.IInstanceConfigurator#configureInstance(org.eclipse.uml2.uml.InstanceSpecification, org.eclipse.uml2.uml.InstanceSpecification, org.eclipse.uml2.uml.Port)
-	 *
-	 * @param instance
-	 *            the instance that should be configured
-	 * @param componentPart
-	 *            the part representing this instance
-	 * @param context
-	 *            container context
-	 */
-	@Override
-	public void configureInstance(InstanceSpecification instance, Property componentPart, InstanceSpecification parentInstance)
-	{
-		if (parentInstance != null) {
-			// make sure that there is an enum par port
-			// String literalName = "port_" + UMLTool.varName(context.port); //$NON-NLS-1$
-
-			// the associated enumeration is declared by the statemachine (which is included by the bootloader as well)
-
-			DepPlanUtils.configureProperty(instance, portAttribute, 0);
-		}
-	}
-
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/AMIcallback.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/AMIcallback.java
index e0c19df..6c25c70 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/AMIcallback.java
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/AMIcallback.java
@@ -9,8 +9,9 @@
 import java.util.Iterator;
 
 import org.eclipse.papyrus.designer.components.FCM.Port;
-import org.eclipse.papyrus.designer.components.FCM.util.IMappingRule;
-import org.eclipse.papyrus.designer.components.FCM.util.MapUtil;
+import org.eclipse.papyrus.designer.components.FCM.profile.IMappingRule;
+import org.eclipse.papyrus.designer.components.FCM.profile.PortMapUtil;
+import org.eclipse.papyrus.designer.transformation.base.utils.RealizationUtils;
 import org.eclipse.uml2.uml.Class;
 import org.eclipse.uml2.uml.Interface;
 import org.eclipse.uml2.uml.Operation;
@@ -33,11 +34,11 @@
 		}
 
 		Interface typingInterface = (Interface) type;
-		Class derivedType = MapUtil.getDerivedClass(p, AMI_CB);
-		Interface derivedRequestInterface = MapUtil.getDerivedInterface(p, _REQUEST);
-		Interface derivedReplyInterface = MapUtil.getDerivedInterface(p, _REPLY);
-		MapUtil.addUsage(derivedType, derivedRequestInterface);			// caller can use (require) the request interface
-		MapUtil.addRealization(derivedType, derivedReplyInterface);		// callers must implement (provide) the reply interface
+		Class derivedType = PortMapUtil.getDerivedClass(p, AMI_CB);
+		Interface derivedRequestInterface = PortMapUtil.getDerivedInterface(p, _REQUEST);
+		Interface derivedReplyInterface = PortMapUtil.getDerivedInterface(p, _REPLY);
+		RealizationUtils.addUsage(derivedType, derivedRequestInterface);			// caller can use (require) the request interface
+		RealizationUtils.addRealization(derivedType, derivedReplyInterface);		// callers must implement (provide) the reply interface
 		
 		if (!update) {
 			return derivedType;
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/AMIpoll.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/AMIpoll.java
index d0be315..cf417fa 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/AMIpoll.java
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/AMIpoll.java
@@ -17,8 +17,9 @@
 import java.util.Iterator;
 
 import org.eclipse.papyrus.designer.components.FCM.Port;
-import org.eclipse.papyrus.designer.components.FCM.util.IMappingRule;
-import org.eclipse.papyrus.designer.components.FCM.util.MapUtil;
+import org.eclipse.papyrus.designer.components.FCM.profile.IMappingRule;
+import org.eclipse.papyrus.designer.components.FCM.profile.PortMapUtil;
+import org.eclipse.papyrus.designer.transformation.base.utils.RealizationUtils;
 import org.eclipse.uml2.uml.Class;
 import org.eclipse.uml2.uml.Interface;
 import org.eclipse.uml2.uml.Operation;
@@ -49,10 +50,10 @@
 			return null;
 		}
 
-		Class derivedType = MapUtil.getDerivedClass(p, AMI_POLL);
+		Class derivedType = PortMapUtil.getDerivedClass(p, AMI_POLL);
 		Interface typingInterface = (Interface) type;
-		Interface derivedInterface = MapUtil.getDerivedInterface(p, IAMI_POLL);
-		MapUtil.addUsage(derivedType, derivedInterface);
+		Interface derivedInterface = PortMapUtil.getDerivedInterface(p, IAMI_POLL);
+		RealizationUtils.addUsage(derivedType, derivedInterface);
 
 		if (!update) {
 			return derivedType;
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/ExtendedPort.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/ExtendedPort.java
index 5479cde..5156161 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/ExtendedPort.java
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/ExtendedPort.java
@@ -14,10 +14,10 @@
 
 package org.eclipse.papyrus.designer.components.modellibs.core.mappingrules;
 
-import org.eclipse.papyrus.designer.components.FCM.util.IMappingRule;
-import org.eclipse.papyrus.designer.components.FCM.util.MapUtil;
-import org.eclipse.papyrus.designer.components.transformation.core.OperationUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.PortUtils;
+import org.eclipse.papyrus.designer.components.FCM.profile.IMappingRule;
+import org.eclipse.papyrus.designer.components.FCM.profile.PortMapUtil;
+import org.eclipse.papyrus.designer.components.transformation.PortUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.OperationUtils;
 import org.eclipse.uml2.uml.Class;
 import org.eclipse.uml2.uml.Classifier;
 import org.eclipse.uml2.uml.Interface;
@@ -75,7 +75,7 @@
 		Class extendedPort = p.getKind().getBase_Class();
 
 		String prefix = extendedPort.getName() + "_" + (p.getBase_Port().isConjugated() ? REQ_PREFIX : PROV_PREFIX); //$NON-NLS-1$
-		Interface derivedInterface = MapUtil.getDerivedInterface(p, prefix, true);
+		Interface derivedInterface = PortMapUtil.getDerivedInterface(p, prefix, true);
 		if (!update) {
 			return derivedInterface;
 		}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/ExtendedPort2.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/ExtendedPort2.java
index 77eed35..7bfa679 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/ExtendedPort2.java
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/ExtendedPort2.java
@@ -14,10 +14,10 @@
 
 package org.eclipse.papyrus.designer.components.modellibs.core.mappingrules;
 
-import org.eclipse.papyrus.designer.components.FCM.util.IMappingRule;
-import org.eclipse.papyrus.designer.components.FCM.util.MapUtil;
-import org.eclipse.papyrus.designer.components.transformation.core.PortUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.PrefixConstants;
+import org.eclipse.papyrus.designer.components.FCM.profile.IMappingRule;
+import org.eclipse.papyrus.designer.components.FCM.profile.PortMapUtil;
+import org.eclipse.papyrus.designer.components.transformation.PortUtils;
+import org.eclipse.papyrus.designer.components.transformation.component.PrefixConstants;
 import org.eclipse.uml2.uml.Class;
 import org.eclipse.uml2.uml.Interface;
 import org.eclipse.uml2.uml.Operation;
@@ -58,9 +58,9 @@
 		Class extendedPort = (Class) type;
 		boolean isConjugated = p.getBase_Port().isConjugated();
 		String prefix = isConjugated ? CONJ_PREFIX : NORM_PREFIX;
-		Class derivedClass = MapUtil.getDerivedClass(p, prefix, update);
-		Interface providedInterface = MapUtil.getDerivedInterface(p, prefix, update);
-		Interface requiredInterface = MapUtil.getDerivedInterface(p, prefix, update);
+		Class derivedClass = PortMapUtil.getDerivedClass(p, prefix, update);
+		Interface providedInterface = PortMapUtil.getDerivedInterface(p, prefix, update);
+		Interface requiredInterface = PortMapUtil.getDerivedInterface(p, prefix, update);
 		if (!update) {
 			return derivedClass;
 		}
@@ -111,7 +111,7 @@
 
 		Class extendedPort = (Class) type;
 		String prefix = isConjugated ? CONJ_PREFIX : NORM_PREFIX;
-		Interface derivedInterface = MapUtil.getDerivedInterface(p, prefix);
+		Interface derivedInterface = PortMapUtil.getDerivedInterface(p, prefix);
 
 		if (derivedInterface == null) {
 			return true;
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/ProvideInterface.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/ProvideInterface.java
index e806f73..998f31c 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/ProvideInterface.java
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/ProvideInterface.java
@@ -15,7 +15,7 @@
 package org.eclipse.papyrus.designer.components.modellibs.core.mappingrules;
 
 import org.eclipse.papyrus.designer.components.FCM.Port;
-import org.eclipse.papyrus.designer.components.FCM.util.IMappingRule;
+import org.eclipse.papyrus.designer.components.FCM.profile.IMappingRule;
 import org.eclipse.uml2.uml.Interface;
 import org.eclipse.uml2.uml.Type;
 
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/PullConsumer.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/PullConsumer.java
index 5c44aba..d34df65 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/PullConsumer.java
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/PullConsumer.java
@@ -14,13 +14,13 @@
 
 package org.eclipse.papyrus.designer.components.modellibs.core.mappingrules;
 
-import org.eclipse.core.runtime.IStatus;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.papyrus.designer.components.FCM.Port;
-import org.eclipse.papyrus.designer.components.FCM.util.IMappingRule;
-import org.eclipse.papyrus.designer.components.FCM.util.MapUtil;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
+import org.eclipse.papyrus.designer.components.FCM.profile.IMappingRule;
+import org.eclipse.papyrus.designer.components.FCM.profile.PortMapUtil;
+import org.eclipse.papyrus.designer.components.modellibs.core.Activator;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.RealizationUtils;
 import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
 import org.eclipse.uml2.uml.Class;
 import org.eclipse.uml2.uml.DataType;
@@ -58,7 +58,7 @@
 
 		if ((type instanceof PrimitiveType) || (type instanceof DataType) || (type instanceof Signal)) {
 
-			Interface derivedInterface = MapUtil.getDerivedInterface(p, PULL_I_PREFIX);
+			Interface derivedInterface = PortMapUtil.getDerivedInterface(p, PULL_I_PREFIX);
 			if (derivedInterface == null) {
 				return true;
 			}
@@ -97,15 +97,15 @@
 		if (owner instanceof NamedElement) {
 			ownerStr = " of class " + ((NamedElement) owner).getQualifiedName(); //$NON-NLS-1$
 		}
-		Log.log(IStatus.INFO, Log.CALC_PORTKIND,
+		Activator.log.info(
 				p.getKind().getBase_Class().getName() + " => GetRequired on " + umlPort.getName() + ownerStr);
 		Type type = p.getType();
 
 		if ((type instanceof PrimitiveType) || (type instanceof DataType) || (type instanceof Signal)) {
 
-			Class derivedClass = MapUtil.getDerivedClass(p, PULL_C_PREFIX, update);
-			Interface derivedInterface = MapUtil.getDerivedInterface(p, PULL_I_PREFIX, update);
-			MapUtil.addUsage(derivedClass, derivedInterface);
+			Class derivedClass = PortMapUtil.getDerivedClass(p, PULL_C_PREFIX, update);
+			Interface derivedInterface = PortMapUtil.getDerivedInterface(p, PULL_I_PREFIX, update);
+			RealizationUtils.addUsage(derivedClass, derivedInterface);
 			if (!update) {
 				return derivedClass;
 			}
@@ -128,7 +128,7 @@
 				}
 			}
 			Package model = PackageUtil.getRootPackage(umlPort);
-			Element element = Utils.getQualifiedElement(model, BOOL_QNAME);
+			Element element = ElementUtils.getQualifiedElementFromRS(model, BOOL_QNAME);
 			Type booleanType = null;
 			if (element instanceof Type) {
 				booleanType = (Type) element;
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/PushConsumer.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/PushConsumer.java
index 085784d..0a5b9aa 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/PushConsumer.java
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/PushConsumer.java
@@ -14,12 +14,11 @@
 
 package org.eclipse.papyrus.designer.components.modellibs.core.mappingrules;
 
-import org.eclipse.core.runtime.IStatus;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.papyrus.designer.components.FCM.Port;
-import org.eclipse.papyrus.designer.components.FCM.util.IMappingRule;
-import org.eclipse.papyrus.designer.components.FCM.util.MapUtil;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
+import org.eclipse.papyrus.designer.components.FCM.profile.IMappingRule;
+import org.eclipse.papyrus.designer.components.FCM.profile.PortMapUtil;
+import org.eclipse.papyrus.designer.components.modellibs.core.Activator;
 import org.eclipse.uml2.uml.DataType;
 import org.eclipse.uml2.uml.Interface;
 import org.eclipse.uml2.uml.Operation;
@@ -48,7 +47,7 @@
 
 		if ((type instanceof PrimitiveType) || (type instanceof DataType) || (type instanceof Signal)) {
 
-			Interface derivedInterface = MapUtil.getDerivedInterface(p, PushProducer.PUSH_I_PREFIX);
+			Interface derivedInterface = PortMapUtil.getDerivedInterface(p, PushProducer.PUSH_I_PREFIX);
 			if (derivedInterface == null) {
 				return true;
 			}
@@ -75,13 +74,13 @@
 
 	@Override
 	public Type calcDerivedType(Port p, boolean update) {
-		Log.log(IStatus.INFO, Log.CALC_PORTKIND,
+		Activator.log.info(
 				p.getKind().getBase_Class().getName() + " => GetProvided on " + p.getBase_Port().getName());
 		Type type = p.getType();
 
 		if ((type instanceof PrimitiveType) || (type instanceof DataType) || (type instanceof Signal)) {
 
-			Interface derivedInterface = MapUtil.getDerivedInterface(p, PushProducer.PUSH_I_PREFIX, update);
+			Interface derivedInterface = PortMapUtil.getDerivedInterface(p, PushProducer.PUSH_I_PREFIX, update);
 			if (!update) {
 				return derivedInterface;
 			}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/PushProdPullCons.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/PushProdPullCons.java
index ba2c45e..ccec6b5 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/PushProdPullCons.java
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/PushProdPullCons.java
@@ -15,8 +15,8 @@
 package org.eclipse.papyrus.designer.components.modellibs.core.mappingrules;
 
 import org.eclipse.papyrus.designer.components.FCM.Port;
-import org.eclipse.papyrus.designer.components.FCM.util.IMappingRule;
-import org.eclipse.papyrus.designer.components.FCM.util.MapUtil;
+import org.eclipse.papyrus.designer.components.FCM.profile.IMappingRule;
+import org.eclipse.papyrus.designer.components.FCM.profile.PortMapUtil;
 import org.eclipse.uml2.uml.Class;
 import org.eclipse.uml2.uml.DataType;
 import org.eclipse.uml2.uml.PrimitiveType;
@@ -37,7 +37,7 @@
 
 		if ((type instanceof PrimitiveType) || (type instanceof DataType) || (type instanceof Signal)) {
 
-			Class derivedClass = MapUtil.getDerivedClass(p, "PushProdPullcons", update);
+			Class derivedClass = PortMapUtil.getDerivedClass(p, "PushProdPullcons", update);
 			if (!update) {
 				return derivedClass;
 			}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/PushProducer.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/PushProducer.java
index 13a0e67..0df393f 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/PushProducer.java
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/PushProducer.java
@@ -14,12 +14,12 @@
 
 package org.eclipse.papyrus.designer.components.modellibs.core.mappingrules;
 
-import org.eclipse.core.runtime.IStatus;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.papyrus.designer.components.FCM.Port;
-import org.eclipse.papyrus.designer.components.FCM.util.IMappingRule;
-import org.eclipse.papyrus.designer.components.FCM.util.MapUtil;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
+import org.eclipse.papyrus.designer.components.FCM.profile.IMappingRule;
+import org.eclipse.papyrus.designer.components.FCM.profile.PortMapUtil;
+import org.eclipse.papyrus.designer.components.modellibs.core.Activator;
+import org.eclipse.papyrus.designer.transformation.base.utils.RealizationUtils;
 import org.eclipse.uml2.uml.Class;
 import org.eclipse.uml2.uml.DataType;
 import org.eclipse.uml2.uml.Interface;
@@ -60,7 +60,7 @@
 
 		if ((type instanceof PrimitiveType) || (type instanceof DataType) || (type instanceof Signal)) {
 
-			Interface derivedInterface = MapUtil.getDerivedInterface(p, PUSH_I_PREFIX);
+			Interface derivedInterface = PortMapUtil.getDerivedInterface(p, PUSH_I_PREFIX);
 			if (derivedInterface == null) {
 				return true;
 			}
@@ -87,14 +87,14 @@
 
 	@Override
 	public Type calcDerivedType(Port p, boolean update) {
-		Log.log(IStatus.INFO, Log.CALC_PORTKIND, p.getKind().getBase_Class().getName() + " => GetRequired on " + p.getBase_Port().getName());
+		Activator.log.info(p.getKind().getBase_Class().getName() + " => GetRequired on " + p.getBase_Port().getName());
 		Type type = p.getType();
 
 		if ((type instanceof PrimitiveType) || (type instanceof DataType) || (type instanceof Signal)) {
 
-			Interface derivedInterface = MapUtil.getDerivedInterface(p, PUSH_I_PREFIX, update);
-			Class derivedType = MapUtil.getDerivedClass(p, PUSH_C_PREFIX, update);
-			MapUtil.addUsage(derivedType, derivedInterface);
+			Interface derivedInterface = PortMapUtil.getDerivedInterface(p, PUSH_I_PREFIX, update);
+			Class derivedType = PortMapUtil.getDerivedClass(p, PUSH_C_PREFIX, update);
+			RealizationUtils.addUsage(derivedType, derivedInterface);
 			if (!update) {
 				return derivedType;
 			}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/TemplatePort.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/TemplatePort.java
index 8ad1a41..1bb567e 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/TemplatePort.java
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/TemplatePort.java
@@ -16,14 +16,13 @@
 
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.papyrus.designer.components.FCM.PortKind;
-import org.eclipse.papyrus.designer.components.FCM.util.ITemplateMappingRule;
+import org.eclipse.papyrus.designer.components.FCM.profile.ITemplateMappingRule;
 import org.eclipse.papyrus.designer.components.modellibs.core.Activator;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TemplateInstantiation;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TemplateUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.filters.FixTemplateSync;
+import org.eclipse.papyrus.designer.components.transformation.component.filters.FixTemplateSync;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.templates.TemplateInstantiation;
+import org.eclipse.papyrus.designer.transformation.core.templates.TemplateUtils;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
 import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
 import org.eclipse.uml2.uml.Class;
 import org.eclipse.uml2.uml.Classifier;
@@ -88,8 +87,7 @@
 			Package model = PackageUtil.getRootPackage(port);
 			Package pkg = model.getNestedPackage(name);
 			if (pkg == null) {
-				model = Utils.getFirstLevel(port); // try whether package template exists here
-				// required for target model with additional "root" folder
+				model = PackageUtil.getRootPackage(port); // try whether package template exists here
 				pkg = model.getNestedPackage(name);
 			}
 			if (pkg != null) {
@@ -132,8 +130,8 @@
 				}
 
 				// create a bound element of the extended port. Add bound class to derived interface class
-			Class tst = ti.bindElement(extendedPort);
-			System.err.println("tst: "+ tst.getQualifiedName()); //$NON-NLS-1$
+				Class tst = ti.bindElement(extendedPort);
+				System.err.println("tst: "+ tst.getQualifiedName()); //$NON-NLS-1$
 			} catch (TransformationException e) {
 				Activator.log.error("Could not create template binding", e);
 			}
@@ -160,8 +158,7 @@
 			Package model = PackageUtil.getRootPackage(port);
 			Package pkg = model.getNestedPackage(name);
 			if (pkg == null) {
-				model = Utils.getFirstLevel(port); // try whether package template exists here
-				// required for target model with additional "root" folder
+				model = PackageUtil.getRootPackage(port); // try whether package template exists here
 				pkg = model.getNestedPackage(name);
 			}
 			if (pkg != null) {
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/UseConjIntf.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/UseConjIntf.java
index 2a23525..12507d5 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/UseConjIntf.java
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/UseConjIntf.java
@@ -17,8 +17,9 @@
 import java.util.Iterator;
 
 import org.eclipse.papyrus.designer.components.FCM.Port;
-import org.eclipse.papyrus.designer.components.FCM.util.IMappingRule;
-import org.eclipse.papyrus.designer.components.FCM.util.MapUtil;
+import org.eclipse.papyrus.designer.components.FCM.profile.IMappingRule;
+import org.eclipse.papyrus.designer.components.FCM.profile.PortMapUtil;
+import org.eclipse.papyrus.designer.transformation.base.utils.RealizationUtils;
 import org.eclipse.uml2.uml.Class;
 import org.eclipse.uml2.uml.Interface;
 import org.eclipse.uml2.uml.Operation;
@@ -50,15 +51,15 @@
 		}
 
 		Interface typingInterface = (Interface) type;
-		Interface derivedInterface = MapUtil.getDerivedInterface(p, CONJ_INTF, update);
-		Class derivedType = MapUtil.getDerivedClass(p, CONJ_INTF_TYPE, update);
+		Interface derivedInterface = PortMapUtil.getDerivedInterface(p, CONJ_INTF, update);
+		Class derivedType = PortMapUtil.getDerivedClass(p, CONJ_INTF_TYPE, update);
 		if (!update) {
 			return derivedType;
 		}
 		if (derivedInterface == null) {
 			return null;
 		}
-		MapUtil.addUsage(derivedType, derivedInterface);
+		RealizationUtils.addUsage(derivedType, derivedInterface);
 		for (Operation operation : typingInterface.getOwnedOperations()) {
 			String name = operation.getName();
 
@@ -131,8 +132,8 @@
 		}
 
 		Interface typingInterface = (Interface) type;
-		Interface derivedInterface = MapUtil.getOrCreateDerivedInterface(p, CONJ_INTF);
-		Class derivedType = MapUtil.getOrCreateDerivedClass(p, CONJ_INTF_TYPE);
+		Interface derivedInterface = PortMapUtil.getOrCreateDerivedInterface(p, CONJ_INTF);
+		Class derivedType = PortMapUtil.getOrCreateDerivedClass(p, CONJ_INTF_TYPE);
 		if ((derivedInterface == null) || (derivedType == null)) {
 			return true;
 		}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/UseInterface.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/UseInterface.java
index bf1dd42..526e658 100644
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/UseInterface.java
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/mappingrules/UseInterface.java
@@ -15,8 +15,9 @@
 package org.eclipse.papyrus.designer.components.modellibs.core.mappingrules;
 
 import org.eclipse.papyrus.designer.components.FCM.Port;
-import org.eclipse.papyrus.designer.components.FCM.util.IMappingRule;
-import org.eclipse.papyrus.designer.components.FCM.util.MapUtil;
+import org.eclipse.papyrus.designer.components.FCM.profile.IMappingRule;
+import org.eclipse.papyrus.designer.components.FCM.profile.PortMapUtil;
+import org.eclipse.papyrus.designer.transformation.base.utils.RealizationUtils;
 import org.eclipse.uml2.uml.Class;
 import org.eclipse.uml2.uml.Interface;
 import org.eclipse.uml2.uml.Type;
@@ -28,8 +29,9 @@
 	public Type calcDerivedType(Port p, boolean update) {
 		Type type = p.getType();
 		if (type instanceof Interface) {
-			Class useType = MapUtil.getDerivedClass(p, "Use_", update); //$NON-NLS-1$
-			MapUtil.addUsage(useType, (Interface) type);
+			Class useType = PortMapUtil.getDerivedClass(p, "Use_", update); //$NON-NLS-1$
+			// markNoCodeGen(useType);
+			RealizationUtils.addUsage(useType, (Interface) type);
 			return useType;
 		}
 		return null;
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/CDefinitions.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/CDefinitions.xtend
deleted file mode 100644
index 960c9e2..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/CDefinitions.xtend
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.modellibs.core.statemachine
-
-import org.eclipse.uml2.uml.Class
-
-class CDefinitions {
-	new (Class contextClass) {
-		this.contextClass = contextClass;
-	}
-	Class contextClass
-	
-	public def String TIME_EVENT_LOWER_BOUND() {
-		macro("TIME_EVENT_LOWER_BOUND")
-	}
-	
-	public def String CHANGE_EVENT_LOWER_BOUND() {
-		macro("CHANGE_EVENT_LOWER_BOUND")
-	}
-	
-	public def String TE_INDEX() {
-		macro("TE_INDEX")
-	}
-	
-	public def String CHE_INDEX() {
-		macro("CHE_INDEX")
-	}
-	
-	/**
-	 * return "qualified" macro name, i.e. macro name prefixed with class name
-	 */
-	def macro(String shortMacroName) {
-		return contextClass.name.toUpperCase + "_" + shortMacroName
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/ChangeEventTransformation.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/ChangeEventTransformation.xtend
deleted file mode 100644
index c4aa9be..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/ChangeEventTransformation.xtend
+++ /dev/null
@@ -1,105 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.modellibs.core.statemachine
-
-import org.eclipse.uml2.uml.ChangeEvent
-import org.eclipse.uml2.uml.Class
-import org.eclipse.uml2.uml.OpaqueExpression
-import org.eclipse.uml2.uml.Package
-
-import static org.eclipse.papyrus.designer.components.modellibs.core.statemachine.SMCodeGeneratorConstants.*
-
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.statemachine.TransformationUtil.*
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Array
-import org.eclipse.uml2.uml.util.UMLUtil
-
-class ChangeEventTransformation {
-	protected extension CDefinitions cdefs;
-	private SM2ClassesTransformationCore core
-	PThreadTypes ptTypes
-	Class superContext
-	Package targetPack
-	new (SM2ClassesTransformationCore core) {
-		this.core = core
-		this.superContext = core.superContext
-		this.targetPack = core.targetPacket
-		this.ptTypes = core.ptTypes
-		this.cdefs = core.cdefs
-	}
-	
-	public def createChangeEvents() {
-		if (core.changeEvents.empty) {
-			return
-		}
-		
-		var threads = superContext.createOwnedAttribute(THREADS_CHANGE_EVENT, ptTypes.pthread)
-		StereotypeUtil.apply(threads, Array)
-		UMLUtil.getStereotypeApplication(threads, Array).definition = '''[«core.changeEvents.size»]'''
-		
-		var threadStructs = superContext.createOwnedAttribute(THREAD_STRUCTS_FOR_CHANGEEVENT, core.concurrency.threadStructType)
-		StereotypeUtil.apply(threadStructs, Array)
-		UMLUtil.getStereotypeApplication(threadStructs, Array).definition = '''[«core.changeEvents.size»]''' 
-		
-		var WAIT_TIME = "10" //ms
-		core.appendIncludeHeader('''
-		#ifdef WIN32
-		#include <windows.h>
-		#elif _POSIX_C_SOURCE >= 199309L
-		#include <time.h>   // for nanosleep
-		#else
-		#include <unistd.h> // for usleep
-		#endif''')
-		//create changeEvent function sleep during an amount of time and check values of boolean expressions
-		var changeEventOp = superContext.createOwnedOperation(CHANGE_EVENT_LISTEN_FUNCTION, null, null)
-		changeEventOp.createOwnedParameter("id", core.intType)
-		core.createOpaqueBehavior(superContext, changeEventOp, '''
-		struct timeval tv;
-		struct timespec ts;
-		bool oldValue;
-		bool newValue;
-		bool isFirstTime = true;
-		bool periodic = «WAIT_TIME»; //ms
-		while(true) {
-			switch(id) {
-				«FOR ch:core.changeEvents»
-					case «ch.eventID»:
-						newValue = «ch.changeEventExpression»;
-						break;
-				«ENDFOR»
-			}
-			if (isFirstTime) {
-				oldValue = newValue;
-				isFirstTime = false;
-			} else {
-				#ifdef WIN32
-					Sleep(periodic);
-				#elif _POSIX_C_SOURCE >= 199309L
-				    struct timespec ts;
-				    ts.tv_sec = periodic / 1000;
-				    ts.tv_nsec = (periodic % 1000) * 1000000;
-				    nanosleep(&ts, NULL);
-				#else
-				    usleep(periodic * 1000);
-				#endif
-			}
-			if (oldValue != newValue) {
-				//the expression is changed, push an event to the queue
-				«EVENT_QUEUE».push(statemachine::PRIORITY_2, NULL, id, statemachine::CHANGE_EVENT, 0);
-			}
-			oldValue = newValue;
-		}''')
-	}
-	
-	def String getChangeEventExpression(ChangeEvent e) {
-		if (e.changeExpression == null || !(e.changeExpression instanceof OpaqueExpression)) {
-			return "false"
-		} else {
-			return (e.changeExpression as OpaqueExpression).bodies.head
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/CompleteStatemachine.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/CompleteStatemachine.java
deleted file mode 100644
index 9932cd3..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/CompleteStatemachine.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.modellibs.core.statemachine;
-
-import org.eclipse.papyrus.designer.components.FCM.ContainerRule;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.AbstractContainerTrafo;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.StateMachine;
-import org.eclipse.uml2.uml.Type;
-
-public class CompleteStatemachine extends AbstractContainerTrafo {
-
-	private static final String THREAD_FUNCTIONS = "ThreadFunctions"; //$NON-NLS-1$
-	private static final String SYSTEM_STATE_ENUM_T = "SystemStateEnum_t"; //$NON-NLS-1$
-	public static String STRUCT_FOR_THREAD = "StructForThread_t";
-
-	@Override
-	public void createContainer(Class smClass, Class tmClass) throws TransformationException {
-		if (smClass.getClassifierBehavior() instanceof StateMachine) {
-			StateMachine sm = (StateMachine) smClass.getClassifierBehavior();
-			trafoCore = new SM2ClassesTransformationCore(copier, smClass, sm, tmClass);
-		}
-	}
- 
-	@Override
-	public InstanceSpecification createContainerInstance(Class tmClass, InstanceSpecification tmExecutorIS) throws TransformationException {
-		// no configuration is done
-		return tmExecutorIS;
-	}
-
-	@Override
-	public void applyRule(ContainerRule smContainerRule, Class smClass, Class tmClass) throws TransformationException {
-		Package smModel = (Package) smContainerRule.getBase_Class().getPackage().getOwner();
-		NamedElement stateEnum = smModel.getPackagedElement(SYSTEM_STATE_ENUM_T);
-		NamedElement threadFuncEnum = smModel.getPackagedElement(THREAD_FUNCTIONS);
-		Type structForThread = (Type) smModel.getPackagedElement(STRUCT_FOR_THREAD);
-		trafoCore.setThreadStructType(structForThread);
-		trafoCore.setSmPack(smModel);
-		tmClass.createOwnedAttribute(SMCodeGeneratorConstants.SYSTEM_STATE_ATTR, (Type) stateEnum);
-		tmClass.createDependency(threadFuncEnum);
-		trafoCore.transform();
-	}
-	
-	SM2ClassesTransformationCore trafoCore;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/ConcurrencyGenerator.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/ConcurrencyGenerator.xtend
deleted file mode 100644
index 78ba562..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/ConcurrencyGenerator.xtend
+++ /dev/null
@@ -1,323 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.modellibs.core.statemachine
-
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Array
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Ptr
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Typedef
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
-import org.eclipse.uml2.uml.Class
-import org.eclipse.uml2.uml.Package
-import org.eclipse.uml2.uml.ParameterDirectionKind
-import org.eclipse.uml2.uml.Region
-import org.eclipse.uml2.uml.Transition
-import org.eclipse.uml2.uml.Type
-import org.eclipse.uml2.uml.UMLPackage
-import org.eclipse.uml2.uml.util.UMLUtil
-
-import static org.eclipse.papyrus.designer.components.modellibs.core.statemachine.SMCodeGeneratorConstants.*
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.statemachine.TransformationUtil.*
-
-class ConcurrencyGenerator {
-	protected extension CDefinitions cdefs;
-	private SM2ClassesTransformationCore core
-	PThreadTypes ptTypes
-	public Type threadStructType
-	Class superContext
-	Package targetPack
-	
-	new (SM2ClassesTransformationCore core) {
-		this.core = core
-		this.superContext = core.superContext
-		this.targetPack = core.targetPacket
-		this.ptTypes = core.ptTypes
-		this.cdefs = core.cdefs
-	}
-	def createThreadBasedParallelism() {
-		//we should create wrapper functions (static) to create pthreads
-		//We should have: 1 wrapper for doActivity: DO_ACTIVITY_FOR_STATE
-		//1 wrapper for regions: WRAPPER_REGION: similar to DO_ACTIVITY_FOR_STATE
-		//1 wrapper for time event detection: WRAPPER_TIME_EVENT => run and wait as doActivity similar to DO_ACTIVITY_FOR_STATE
-		//1 wrapper for change event detection: WRAPPER_TIME_EVENT => run, check value difference, write event similar to DO_ACTIVITY_FOR_STATE
-		
-		core.appendIncludeHeader("#include \"time.h\"")
-		core.appendIncludeHeader("#include \"pthread.h\"")
-		
-		var threads = superContext.createOwnedAttribute(THREADS, ptTypes.pthread)
-		StereotypeUtil.apply(threads, Array)
-		UMLUtil.getStereotypeApplication(threads, Array).definition = '''[«STATE_MAX»]'''
-		
-		var flags = superContext.createOwnedAttribute(FLAGS_ACTIVITY, core.boolType)
-		StereotypeUtil.apply(flags, Array)
-		UMLUtil.getStereotypeApplication(flags, Array).definition = '''[«STATE_MAX»]'''
-		
-		var conds = superContext.createOwnedAttribute(CONDITIONS, ptTypes.pthreadCond)
-		StereotypeUtil.apply(conds, Array)
-		UMLUtil.getStereotypeApplication(conds, Array).definition = '''[«STATE_MAX»]'''
-		
-		var mutexes = superContext.createOwnedAttribute(MUTEXES, ptTypes.pthreadMutex)
-		StereotypeUtil.apply(mutexes, Array)
-		UMLUtil.getStereotypeApplication(mutexes, Array).definition = '''[«STATE_MAX»]'''
-		
-		threadStructType = core.threadStructType
-		//threadStructType = superContext.createNestedClassifier(STRUCT_FOR_THREAD, UMLPackage.Literals.PRIMITIVE_TYPE)
-//		StereotypeUtil.apply(threadStructType, Typedef)
-//		UMLUtil.getStereotypeApplication(threadStructType, Typedef).definition = '''
-//		struct «STRUCT_FOR_THREAD» {
-//			void* ptr;
-//			int id; //id or index used to specify the corresponding function in a table
-//			char enter_mode; //used for specifying how a region is entered
-//			char func_type; // doActivity/enter region/exit region/time event/change event/ transition
-//			int duration; //in millisecond which is used for time events
-//			«STRUCT_FOR_THREAD»(«superContext.name»* ptr, int id, char enter_mode, char func_type, int duration): ptr(ptr), id(id), enter_mode(enter_mode), func_type(func_type), duration(duration){}
-//			«STRUCT_FOR_THREAD»(){}
-//		} '''
-		
-		var threadStructs = superContext.createOwnedAttribute(THREAD_STRUCTS, threadStructType)
-		StereotypeUtil.apply(threadStructs, Array)
-		UMLUtil.getStereotypeApplication(threadStructs, Array).definition = '''[«STATE_MAX»]''' 
-		
-		var threadFuncWrapper = superContext.createOwnedOperation(THREAD_FUNC_WRAPPER, null, null)
-		threadFuncWrapper.isStatic = true
-		var inParam = threadFuncWrapper.createOwnedParameter("data", core.voidType)
-		StereotypeUtil.apply(inParam, Ptr)
-		var outParam = threadFuncWrapper.createOwnedParameter("ret", core.voidType)
-		StereotypeUtil.apply(outParam, Ptr)
-		outParam.direction = ParameterDirectionKind.RETURN_LITERAL
-		core.createOpaqueBehavior(superContext, threadFuncWrapper, '''
-		«STRUCT_FOR_THREAD»* cptr = («STRUCT_FOR_THREAD»*)data;
-		«superContext.name»* ptr = («superContext.name»*) cptr->ptr;
-		switch(cptr->func_type) {
-			«IF core.doActivityList.size > 0»
-				case «THREAD_FUNC_DOACTIVITY_TYPE»:
-					ptr->«DO_CALL_ACTIVITY»(cptr->id);
-					break;	
-			«ENDIF»
-			«IF core.timeEvents.size > 0»
-				case «THREAD_FUNC_TIMEEVENT_TYPE»:
-					ptr->«TIME_EVENT_LISTEN_FUNCTION»(«TE_INDEX»(cptr->id), cptr->duration);
-					break;
-				«ENDIF»
-			«IF core.orthogonalRegions.size > 0»
-				case «THREAD_FUNC_ENTER_REGION_TYPE»:
-					ptr->regionCall(cptr->id, cptr->enter_mode);
-					break;
-				case «THREAD_FUNC_EXIT_REGION_TYPE»:
-					ptr->exitRegionCall(cptr->id);
-					break;
-			«ENDIF»
-			«IF core.parallelTransitions.size > 0»
-				case «THREAD_FUNC_TRANSITION_TYPE»:
-					ptr->transitionCall(cptr->id);
-					break;
-			«ENDIF»
-			«IF core.changeEvents.size > 0»
-				case «THREAD_FUNC_CHANGEEVENT_TYPE»:
-					ptr->«CHANGE_EVENT_LISTEN_FUNCTION»(cptr->id);
-					break;
-			«ENDIF»
-				case «THREAD_FUNC_STATE_MACHINE_TYPE»:
-					ptr->«EVENT_DISPATCH»();
-					break;
-		}
-		return NULL;''')
-		
-		//function pointer
-		core.fptr = superContext.createNestedClassifier(FPT_POINTER_FOR_TABLE, UMLPackage.Literals.PRIMITIVE_TYPE)
-		StereotypeUtil.apply(core.fptr, Typedef)
-		UMLUtil.getStereotypeApplication(core.fptr, Typedef).definition = '''
-		void («superContext.name»::*typeName)()'''
-		
-		var doActivityTable = superContext.createOwnedAttribute(DO_ACTIVITY_TABLE, core.fptr)
-		StereotypeUtil.apply(doActivityTable, Array)
-		UMLUtil.getStereotypeApplication(doActivityTable, Array).definition = '''[«STATE_MAX»]'''
-		
-		var doCallActivity = superContext.createOwnedOperation(DO_CALL_ACTIVITY, null, null)
-		doCallActivity.createOwnedParameter("id", core.intType)
-		core.createOpaqueBehavior(superContext, doCallActivity, '''
-		«FLAGS_ACTIVITY»[id] = false;
-		while(true) {
-			pthread_mutex_lock(&«MUTEXES»[id]);
-			while(!flags[id]) {
-				pthread_cond_wait(&«CONDITIONS»[id], &«MUTEXES»[id]);
-			}
-			(this->*«DO_ACTIVITY_TABLE»[id])();
-			bool commitEvent = false;
-			if (flags[id]) {
-				commitEvent = true;
-				flags[id] = false;
-			}
-			pthread_cond_signal(&«CONDITIONS»[id]);
-			pthread_mutex_unlock(&«MUTEXES»[id]);
-			«IF core.states.filter[!it.composite && it.hasTriggerlessTransition].size > 0»
-			if (commitEvent) {
-				if(«FOR s:core.states.filter[!it.composite && it.hasTriggerlessTransition] SEPARATOR ' || '»id == «s.name.toUpperCase»_ID«ENDFOR») {
-					//processCompletionEvent();
-					«EVENT_QUEUE».push(statemachine::PRIORITY_1, NULL, COMPLETIONEVENT_ID, statemachine::COMPLETION_EVENT, id);
-				}
-			}
-			«ENDIF»
-		}''')
-		
-		var setFlag = superContext.createOwnedOperation(SET_FLAG, null, null)
-		setFlag.createOwnedParameter("id", core.intType)
-		setFlag.createOwnedParameter("func_type", core.charType)
-		setFlag.createOwnedParameter("value", core.boolType)
-		core.createOpaqueBehavior(superContext, setFlag, '''
-		//value = true => start activity
-		//value = false => stop activity
-		«IF core.timeEvents.size > 0»
-		if (func_type == «THREAD_FUNC_TIMEEVENT_TYPE») {
-			pthread_mutex_lock(&«MUTEXES_TIME_EVENT»[«TE_INDEX»(id)]);
-			«FLAGS_TIME_EVENT»[«TE_INDEX»(id)] = value;
-			pthread_cond_signal(&«CONDITIONS_TIME_EVENT»[«TE_INDEX»(id)]);
-			pthread_mutex_unlock(&«MUTEXES_TIME_EVENT»[«TE_INDEX»(id)]);
-			return;
-		}
-		«ENDIF»
-		if (func_type == «THREAD_FUNC_DOACTIVITY_TYPE») {
-			«IF core.doActivityList.size > 0»
-				if («STATE_ARRAY_ATTRIBUTE»[id].doActivity != &«superContext.name»::doActivity_dft) {
-					//state has doActivity => if value = true => should
-					pthread_mutex_lock(&«MUTEXES»[id]);
-					if (value) {
-						«FLAGS_ACTIVITY»[id] = true;
-					} else {
-						//wait until doActivity exit
-						while(«FLAGS_ACTIVITY»[id]) {
-							pthread_cond_wait(&«CONDITIONS»[id], &«MUTEXES»[id]);
-						}
-					}
-					pthread_cond_signal(&«CONDITIONS»[id]);
-					pthread_mutex_unlock(&«MUTEXES»[id]);
-				} else {
-					«IF core.states.filter[!it.composite && it.hasTriggerlessTransition].size > 0»
-					//push completion event
-					if (value) {
-						if(«FOR s:core.states.filter[!it.composite && it.hasTriggerlessTransition] SEPARATOR ' || '»id == «s.name.toUpperCase»_ID«ENDFOR») {
-							«EVENT_QUEUE».push(statemachine::PRIORITY_1, NULL, COMPLETIONEVENT_ID, statemachine::COMPLETION_EVENT, id);
-						}
-					}
-					«ENDIF»
-				}
-				return;
-			«ELSE»
-				«IF core.states.filter[!it.composite && it.hasTriggerlessTransition].size > 0»
-				//push completion event
-					if (value) {
-						if(«FOR s:core.states.filter[!it.composite && it.hasTriggerlessTransition] SEPARATOR ' || '»id == «s.name.toUpperCase»_ID«ENDFOR») {
-							«EVENT_QUEUE».push(statemachine::PRIORITY_1, NULL, COMPLETIONEVENT_ID, statemachine::COMPLETION_EVENT, id);
-						}
-						return;
-					} 
-				«ENDIF» 
-			«ENDIF»
-		}
-		''')
-		
-		
-		//create utility fork and join for regions
-		//fork has two parameters: threadId and data (thread struct)
-//		var forkOp = superContext.createOwnedOperation(FORK_NAME, null, null)
-//		var threadIdParam = forkOp.createOwnedParameter("tId", pThreadType)
-//		StereotypeUtil.apply(threadIdParam, Ptr)
-//		var data = forkOp.createOwnedParameter("data", core.voidType)
-//		StereotypeUtil.apply(data, Ptr)
-//		core.createOpaqueBehavior(superContext, forkOp, '''
-//		pthread_create(tId, NULL, &«superContext.name»::«THREAD_FUNC_WRAPPER», data);''')
-//		
-//		var joinOp = superContext.createOwnedOperation(JOIN_NAME, null, null)
-//		joinOp.createOwnedParameter("tId", pThreadType)
-//		core.createOpaqueBehavior(superContext, joinOp, '''
-//		pthread_join(tId, NULL);''')
-		new TimeEventTransformation(core).createTimeEvents
-		createRegionParallel
-	}
-	
-	def createRegionParallel() {
-		if (core.orthogonalRegions.empty)
-			return
-		var regionFptr = superContext.createNestedClassifier(REGION_FUNCTION_PTR, UMLPackage.Literals.PRIMITIVE_TYPE)
-		StereotypeUtil.apply(regionFptr, Typedef)
-		UMLUtil.getStereotypeApplication(regionFptr, Typedef).definition = '''
-		void («superContext.name»::*typeName)(char enter_mode)'''
-		
-		var regionTable = superContext.createOwnedAttribute(REGION_TABLE, regionFptr)
-		StereotypeUtil.apply(regionTable, Array)
-		UMLUtil.getStereotypeApplication(regionTable, Array).definition = '''[«core.orthogonalRegions.size»]'''
-		var regionCallOp = superContext.createOwnedOperation("regionCall", null, null)
-		regionCallOp.createOwnedParameter("id", core.intType)
-		regionCallOp.createOwnedParameter("enter_mode", core.charType)
-		core.createOpaqueBehavior(superContext, regionCallOp, '''
-		(this->*«REGION_TABLE»[id])(enter_mode);''')
-		
-		var regionExitTable = superContext.createOwnedAttribute(REGION_TABLE_EXIT, core.fptr)
-		StereotypeUtil.apply(regionExitTable, Array)
-		UMLUtil.getStereotypeApplication(regionExitTable, Array).definition = '''[«core.orthogonalRegions.size»]'''
-		var regionCallExitOp = superContext.createOwnedOperation("exitRegionCall", null, null)
-		regionCallExitOp.createOwnedParameter("id", core.charType)
-		core.createOpaqueBehavior(superContext, regionCallExitOp, '''
-		(this->*«REGION_TABLE_EXIT»[id])();''')
-	}
-	
-	def createConcurrencyForTransitions() {
-		if (core.parallelTransitions.empty) {
-			return
-		}
-		for(var i = 0; i < core.parallelTransitions.size; i++) {
-			core.appendIncludeHeader('''
-			#define «core.parallelTransitions.get(i).parallelTransitionId» («i»)''')
-			var op = superContext.createOwnedOperation(core.parallelTransitions.get(i).parallelTransitionMethodName, null, null)
-			core.createOpaqueBehavior(superContext, op, '''
-			«TransformationUtil.getTransitionEffect(core.parallelTransitions.get(i))»''')
-		}
-		
-		var transitionTable = superContext.createOwnedAttribute(PARALLEL_TRANSITION_TABLE, core.fptr)
-		StereotypeUtil.apply(transitionTable, Array)
-		UMLUtil.getStereotypeApplication(transitionTable, Array).definition = '''[«core.parallelTransitions.size»]'''
-		var transitionCallOp = superContext.createOwnedOperation("transitionCall", null, null)
-		transitionCallOp.createOwnedParameter("id", core.intType)
-		core.createOpaqueBehavior(superContext, transitionCallOp, '''
-		(this->*«PARALLEL_TRANSITION_TABLE»[id])();''')		
-	}
-	
-	def parallelTransitionMethodName(Transition t) {
-		return '''paralleTransition«core.parallelTransitions.indexOf(t)»'''
-	}
-	
-	def parallelTransitionId(Transition t) {
-		return '''PARALLEL_TRANSITION_ID_«core.parallelTransitions.indexOf(t)»'''
-	}
-	
-	def generateForkCall(Region r, boolean isEnter, String enteringMode) {
-		var paramThreadName = '''«r.state.name»_«r.name»_enter_thread'''
-		var threadStructParam = '''«r.state.name»_«r.name»_enter_thread_struct'''
-		if (!isEnter) {
-			paramThreadName = '''«r.state.name»_«r.name»_exit_thread'''
-			threadStructParam = '''«r.state.name»_«r.name»_exit_thread_struct'''
-		}
-//		«superContext.name»* ptr;
-//			int id; //id or index used to specify the corresponding function in a table
-//			char enter_mode; //used for specifying how a region is entered
-//			char func_type; // doActivity/enter region/exit region/time event/change event/ transition
-//			int duration; //in millisecond which is used for time events
-		var ret = '''
-			pthread_t «paramThreadName»;
-			«STRUCT_FOR_THREAD» «threadStructParam»(this, «core.getRegionMacroId(r)», «enteringMode», «IF isEnter»«THREAD_FUNC_ENTER_REGION_TYPE»«ELSE»«THREAD_FUNC_EXIT_REGION_TYPE»«ENDIF», 0);
-			«superContext.name»_THREAD_CREATE(«paramThreadName», «threadStructParam»)'''
-		return ret
-	}
-	
-	def generateJoinCall(Region r, boolean isEnter) {
-		var paramThreadName = '''«r.state.name»_«r.name»_enter_thread'''
-		if (!isEnter) {
-			paramThreadName = '''«r.state.name»_«r.name»_exit_thread'''
-		}
-		return '''«JOIN_NAME»(«paramThreadName», NULL);'''
-	}
-	
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/EventTransformation.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/EventTransformation.xtend
deleted file mode 100644
index 8ef3373..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/EventTransformation.xtend
+++ /dev/null
@@ -1,434 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.modellibs.core.statemachine
-
-import java.util.ArrayList
-import java.util.HashMap
-import java.util.List
-import java.util.Map
-import org.eclipse.papyrus.designer.components.modellibs.core.xtend.BehaviorUtil
-import org.eclipse.papyrus.designer.languages.cpp.codegen.utils.CppGenUtils
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Ref
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
-import org.eclipse.uml2.uml.CallEvent
-import org.eclipse.uml2.uml.Class
-import org.eclipse.uml2.uml.Event
-import org.eclipse.uml2.uml.FinalState
-import org.eclipse.uml2.uml.OpaqueBehavior
-import org.eclipse.uml2.uml.Package
-import org.eclipse.uml2.uml.Pseudostate
-import org.eclipse.uml2.uml.PseudostateKind
-import org.eclipse.uml2.uml.SignalEvent
-import org.eclipse.uml2.uml.State
-import org.eclipse.uml2.uml.Transition
-import org.eclipse.uml2.uml.TransitionKind
-import org.eclipse.uml2.uml.Vertex
-
-import static org.eclipse.papyrus.designer.components.modellibs.core.statemachine.SMCodeGeneratorConstants.*
-
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.statemachine.TransformationUtil.eventName
-
-class EventTransformation {
-	protected extension CDefinitions cdefs;
-	SM2ClassesTransformationCore core
-	Class superContext
-	Package targetPack
-	new (SM2ClassesTransformationCore core) {
-		this.core = core
-		this.superContext = core.superContext
-		this.targetPack = core.targetPacket
-	}
-	
-	def List<Event> getDeferredEvents(State s) {
-		s.deferrableTriggers.map[it.event].toList
-	}
-	
-	def completionEventCheck(String eventName, String stateId) {
-		if (eventName == "CompletionEvent") {
-			return ''' && (currentEvent->associatedState == «stateId»)'''
-		}
-		return ''''''
-	}
-	
-	def createEventMethod(String eventName, List<Transition> transitions) {
-		var method = superContext.createOwnedOperation("process" + eventName, null, null)
-		val tempSources = transitions.map[it.source].filter(State).toList;
-		val sources = new ArrayList<State>
-		tempSources.forEach[
-			if (!sources.contains(it)) {
-				sources.add(it)
-			}
-		]
-		
-		val Map<State, List<State>> map = new HashMap
-		for(source:sources) {
-			if (source.container.state != null) {
-				if (!map.containsKey(source.container.state)) {
-					map.put(source.container.state, new ArrayList) 
-				}
-				//if (!map.get(source.container.state).contains(source)) {
-					map.get(source.container.state).add(source)
-				//}
-				
-			}
-		}
-		var arraySet = map.keySet.toList	
-		var size = arraySet.size
-		for(var i = 0; i < size; i++) {
-			for(var j = i + 1; j < size; j++) {
-				if (core.calculateDepth(arraySet.get(i)) <= core.calculateDepth(arraySet.get(j))) {
-					var tmp = arraySet.remove(j)
-					arraySet.add(i, tmp)
-				}
-			}
-		}
-		
-		var rootSourceStates = core.getRootStates(sources)
-		val passeds = new ArrayList<Transition>
-		var statesDeferredEvent = core.states.filter[it.deferredEvents.filter[it.name == eventName].size > 0]
-		var notInSources = statesDeferredEvent.filter[!sources.contains(it)]
-		val notInConcurrentState = notInSources.filter[it.container.state == null || it.container.state.orthogonal].toList
-		var inConcurrentState = notInSources.filter[!notInConcurrentState.contains(it)]
-		var isCallEvent = core.callEvents.filter[it.eventName == eventName].size > 0
-		var body = '''
-		«IF isCallEvent»
-			«superContext.name.toUpperCase»_GET_CONTROL
-		«ENDIF»
-		«SYSTEM_STATE_ATTR» = statemachine::EVENT_PROCESSING;
-		«FOR s:arraySet»
-			«IF s.orthogonal»
-				«FOR sub:map.get(s).getActualStateList(transitions)»
-					«IF transitions.filter[it.source == sub].filter[!passeds.contains(it)].size > 0»
-					«IF eventName == "CompletionEvent" && transitions.filter[it.source == sub && (it.target instanceof Pseudostate) && (it.target as Pseudostate).kind == PseudostateKind.JOIN_LITERAL].size > 0»
-						«var trans = transitions.filter[it.source == sub && (it.target instanceof Pseudostate) && (it.target as Pseudostate).kind == PseudostateKind.JOIN_LITERAL]»
-						«var join = trans.filter[!joins.contains(it.target)].map[it.target].head»
-						«var sourcesOfJoin = join.incomings.map[it.source]»
-						if («FOR src:sourcesOfJoin SEPARATOR ' || '»(currentEvent->associatedState == «src.name.toUpperCase»_ID)«ENDFOR») {
-							«FOR t:transitions.filter[it.source == sub].filter[!passeds.contains(it)]»
-								«var b = passeds.add(t)»
-								«generateTransitionCode(sub, t)»
-							«ENDFOR»
-						}
-					«ELSE»					
-						if («core.hasSubstatesAcceptingEvent(sub, sources)»«STATE_ARRAY_ATTRIBUTE»[«s.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«core.getRegionNumber(sub)»] == «sub.name.toUpperCase»_ID«completionEventCheck(eventName, sub.name.toUpperCase + "_ID")») {
-							«IF sub.deferredEvents.filter[it.name == eventName].size > 0»
-								«SYSTEM_STATE_ATTR» = statemachine::EVENT_DEFERRED;
-							«ELSE»
-							«FOR t:transitions.filter[it.source == sub].filter[!passeds.contains(it)]»
-								«var b = passeds.add(t)»
-								«generateTransitionCode(sub, t)»
-							«ENDFOR»
-							«ENDIF»
-						}
-					«ENDIF»
-					«ENDIF»
-				«ENDFOR»
-			«ELSE»
-				«FOR sub:map.get(s) SEPARATOR ' else '»
-				if («core.hasSubstatesAcceptingEvent(sub, sources)»«STATE_ARRAY_ATTRIBUTE»[«s.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0] == «sub.name.toUpperCase»_ID«completionEventCheck(eventName, sub.name.toUpperCase + "_ID")») {
-					«IF sub.deferredEvents.filter[it.name == eventName].size > 0»
-						«SYSTEM_STATE_ATTR» = statemachine::EVENT_DEFERRED;
-					«ELSE»
-						«var hasGuards = transitions.filter[it.source == sub && it.guard != null]»
-						«FOR t:transitions.filter[it.source == sub && it.guard != null] SEPARATOR ' else '»
-						«generateTransitionCode(sub, t)»
-						«ENDFOR»
-						«IF hasGuards.empty» 
-							«generateTransitionCode(sub, transitions.filter[it.source == sub && it.guard == null].head)»
-						«ELSEIF transitions.filter[it.source == sub && it.guard == null].head != null»
-							else {
-								«generateTransitionCode(sub, transitions.filter[it.source == sub && it.guard == null].head)»
-							}
-						«ENDIF»
-					«ENDIF»
-				}
-				«ENDFOR»
-			«ENDIF»
-		«ENDFOR»
-		«IF rootSourceStates.size > 0»
-			if («SYSTEM_STATE_ATTR» == statemachine::EVENT_PROCESSING«completionEventCheck(eventName, ACTIVE_ROOT_STATE_ID)») {
-				switch(«ACTIVE_ROOT_STATE_ID») {
-					«FOR root:rootSourceStates»
-						case «root.name.toUpperCase»_ID: 
-							«IF root.deferredEvents.filter[it.name == eventName].size > 0»
-								«SYSTEM_STATE_ATTR» = statemachine::EVENT_DEFERRED;
-							«ELSE»
-							«FOR t:transitions.filter[it.source == root] SEPARATOR ' else '»
-								«generateTransitionCode(root, t)»
-							«ENDFOR»
-							«ENDIF»
-							break;
-					«ENDFOR»
-					default:
-						//do nothing
-						break;
-				}
-			}
-		«ENDIF»
-		«IF isCallEvent»
-			«superContext.name.toUpperCase»_RELEASE_CONTROL
-		«ENDIF»'''
-		core.createOpaqueBehavior(superContext, method, body)
-		return method
-	}
-	
-	private def List<State> getActualStateList(List<State> l, List<Transition> trans) {
-		var transComingToJoin = trans.filter[(it.target instanceof Pseudostate) && (it.target as Pseudostate).kind == PseudostateKind.JOIN_LITERAL]
-		val ret = new ArrayList<State>
-		ret.addAll(l)
-		if (transComingToJoin.size > 0) {
-			val joins = new ArrayList<Pseudostate>
-			transComingToJoin.map[it.target].filter(Pseudostate).forEach[
-				if (!joins.contains(it)) {
-					joins.add(it)
-				}
-			]
-			joins.forEach[
-				var toRemoveds = it.incomings.map[source].filter(State).toList
-				toRemoveds.remove(toRemoveds.head)
-				ret.removeAll(toRemoveds)
-			]
-		}		
-		return ret
-	}
-	
-	def String generateTransitionCode(State s, Transition t) {
-		var ret = ''''''
-		var hasGuard = (t.guard != null)
-		if (t.target instanceof State) {
-			var callCompletionEvent = '''process«COMPLETION_EVENT»();'''
-			if (t.target instanceof FinalState) {
-				var composite = t.target.container.state
-				if (composite == null) {
-					callCompletionEvent = ''''''
-				} else {
-					callCompletionEvent = '''
-					if («FOR r:composite.regions SEPARATOR ' && '»(«STATE_ARRAY_ATTRIBUTE»[«composite.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«composite.regions.indexOf(r)»] == «STATE_MAX»)«ENDFOR») {
-						«EVENT_QUEUE».push(statemachine::PRIORITY_1, NULL, COMPLETIONEVENT_ID, statemachine::COMPLETION_EVENT, «composite.name.toUpperCase»_ID);
-					}'''
-				}
-			}
-			if (t.kind == TransitionKind.INTERNAL_LITERAL) {
-				ret = '''
-				«IF t.effect != null»
-				«(t.effect as OpaqueBehavior).bodies.head»
-				«ENDIF»'''
-			} else if (t.kind == TransitionKind.LOCAL_LITERAL) {
-				var State parent
-				var State child
-				if (TransformationUtil.transitiveSubStates(s).contains(t.target)) {
-					parent = s
-					child = t.target as State
-					val finalChild = child
-					ret = '''
-					«core.generateExitingSubStates(s, false)»
-					«TransformationUtil.getTransitionEffect(t)»
-					«IF t.target instanceof FinalState»
-						«IF t.target.container == core.topRegion»
-						«ACTIVE_ROOT_STATE_ID» = «STATE_MAX»;
-						«ELSE»
-						«STATE_ARRAY_ATTRIBUTE»[«t.target.container.state.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«t.target.container.state.regions.indexOf(t.target.container)»] = «STATE_MAX»;
-						«ENDIF»
-						«callCompletionEvent»;
-					«ELSE»
-						«var region = parent.regions.filter[core.allSubVertexes(it).contains(finalChild)].head»
-						«core.getRegionMethodName(region)»(«core.getVertexMacroName(child)»);
-					«ENDIF»
-					'''					
-				} else if (TransformationUtil.transitiveSubStates((t.target as State)).contains(s)) {
-					parent = t.target as State
-					child = s
-					val finalChild = child
-					ret = '''
-					«core.generateExitingSubStates(s, false)»
-					«TransformationUtil.getTransitionEffect(t)»
-					«IF t.target instanceof FinalState»
-						«IF t.target.container == core.topRegion»
-							«ACTIVE_ROOT_STATE_ID» = «STATE_MAX»;
-						«ELSE»
-							«STATE_ARRAY_ATTRIBUTE»[«t.target.container.state.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«t.target.container.state.regions.indexOf(t.target.container)»] = «STATE_MAX»;
-						«ENDIF»
-						«callCompletionEvent»;
-					«ELSE»
-						«var region = parent.regions.filter[core.allSubVertexes(it).contains(finalChild)].head»
-						«core.getRegionMethodName(region)»(«core.getInitialMacroName(region)»);
-					«ENDIF»
-					'''				
-				}				
-			} else {
-
-				ret = '''
-				«core.pseudostateGenerator.generateBetweenVertex(s, t.target, t)»'''
-			}
-			
-			ret = '''
-				//from «t.source.name» to «t.target.name»
-				if («IF hasGuard»«core.getGuard(t)»«ELSE»true«ENDIF») {
-				«ret»
-				«SYSTEM_STATE_ATTR» = statemachine::EVENT_CONSUMED;
-				}'''
-		} else {
-			ret = '''
-				//from «t.source.name» to «t.target.name»
-				if («IF hasGuard»«core.getGuard(t)»«ELSE»true«ENDIF») {
-				«generateTransitionGraphCode(s, t)»
-				«SYSTEM_STATE_ATTR» = statemachine::EVENT_CONSUMED;
-				}'''
-		}
-		
-		return ret
-	}
-	
-	def int getIndexOfUnguardTransition(Pseudostate junction) {
-		var ungaurds = junction.outgoings.filter[it.guard == null]
-		if (ungaurds.empty || ungaurds.size > 1) {
-			
-		}
-		var unguard = ungaurds.head
-		return junction.outgoings.indexOf(unguard)
-	}
-	
-	private List<Pseudostate> joins = new ArrayList
-	
-	def createEventMethod(Event e, List<Transition> transitions) {
-		var evMethod= createEventMethod(e.eventName, transitions)
-		if (e instanceof CallEvent) {
-			var op = core.copier.getCopy((e as CallEvent).operation)
-			core.copyParameters(op, evMethod, false)
-			var params = evMethod.ownedParameters
-			var body = '''
-					this->process«e.eventName»(«FOR p:params SEPARATOR ', '»«p.name»«ENDFOR»);'''
-			
-			var String existingBody = null
-			if (op.methods.size > 0) {
-				val existingMethod = op.methods.get(0)
-				existingBody = BehaviorUtil.body(existingMethod, "C++")
-				if (existingBody == null) {
-					// try C/C++ tag
-					existingBody = BehaviorUtil.body(existingMethod, "C/C++")
-				}
-			}
-			if (existingBody != null) {
-				body += "\n// original method code\n" + existingBody;
-			}
-			core.createOpaqueBehavior(superContext, op, body)
-		} else if (e instanceof SignalEvent) {
-			var send = superContext.createOwnedOperation("send" + e.name, null, null)
-			if (e.signal != null) {
-				StereotypeUtil.apply(send.createOwnedParameter("sig", core.copier.getCopy(e.signal)), Ref)
-				StereotypeUtil.apply(evMethod.createOwnedParameter("sig", core.copier.getCopy(e.signal)), Ref)
-				
-			}
-			core.createOpaqueBehavior(superContext, send, '''
-			«EVENT_QUEUE».push(statemachine::PRIORITY_2, «IF e.signal != null»&sig«ELSE»NULL«ENDIF», «e.name.toUpperCase»_ID, statemachine::SIGNAL_EVENT, 0«IF e.signal != null», sizeof(«CppGenUtils.cppQualifiedName(core.copier.getCopy(e.signal))»)«ENDIF»);''')
-		}		
-	}
-	
-	def String generateTransitionGraphCode(State s, Transition t) {
-		var graph = core.calculateTransitionGraphs(s, t)
-		var target = t.target as Pseudostate
-		var junctions = graph.P.filter[it.kind == PseudostateKind.JUNCTION_LITERAL].toList
-		var Pseudostate join = null
-		if (target.kind == PseudostateKind.JOIN_LITERAL) {
-			join = target
-		}
-		if (join != null && joins.contains(join)) {
-			return ''''''
-		}
-		joins.add(join)
-		var ret = ''''''
-		var exits = new ArrayList<Vertex>
-		var enters = new ArrayList<Vertex>
-		
-		calculateExitsEnters(t, exits, enters)
-		var cpEx = exits.last		
-		var cpEn = enters.last
-		var bodyInside = '''
-		«FOR junction:junctions»
-			«junction.name» = «getIndexOfUnguardTransition(junction)»;
-			«FOR tr:junction.outgoings.filter[it.guard != null] SEPARATOR ' else '»
-				if («core.getGuard(tr)») {
-					«junction.name» = «junction.outgoings.indexOf(tr)»;
-				}
-			«ENDFOR»
-		«ENDFOR»
-		«ret»
-		«IF cpEx instanceof State»
-			«core.generateExitingSubStates(cpEx as State, true)»
-		«ENDIF»
-		«IF join != null»
-			//TODO: concurrency
-			«FOR in:join.incomings»
-				«TransformationUtil.getTransitionEffect(in)»
-			«ENDFOR»
-		«ELSE»
-			«TransformationUtil.getTransitionEffect(t)»
-		«ENDIF»'''
-		
-		var innermost = enters.head
-		if (innermost instanceof State) {
-			bodyInside = '''
-			«bodyInside»
-			«IF innermost instanceof FinalState»
-				«IF innermost.container == core.topRegion»
-					«ACTIVE_ROOT_STATE_ID» = «STATE_MAX»;
-					«ELSE»
-					«STATE_ARRAY_ATTRIBUTE»[«ACTIVE_ROOT_STATE_ID»].«ACTIVE_SUB_STATES»[«innermost.container.state.regions.indexOf(innermost.container)»] = «STATE_MAX»;
-					«core.generateCompletionCall(innermost)»
-				«ENDIF»
-			«ELSE»
-				«core.generateEnteringOnSubVertex(cpEn as State, innermost)»
-			«ENDIF»'''
-		} else {
-			bodyInside = '''
-			«bodyInside»
-			«IF cpEn instanceof State»
-				«core.generateEnteringOnSubVertex(cpEn, innermost)»
-			«ELSE»
-				«core.pseudostateGenerator.generatePseudo(innermost as Pseudostate)»
-			«ENDIF»'''
-		}
-		
-		ret = '''
-		«IF join != null»
-		if («FOR src:join.incomings.map[it.source] SEPARATOR ' && '»(«STATE_ARRAY_ATTRIBUTE»[«src.container.state.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«src.container.state.regions.indexOf(src.container)»] == «src.name.toUpperCase»_ID)«ENDFOR») {
-		«ENDIF»
-			«bodyInside»
-		«IF join != null»
-		}
-		«ENDIF»'''
-		
-		return ret
-	}
-	
-	def calculateExitsEnters(Transition t, List<Vertex> exits, List<Vertex> enters) {
-		//step 1
-		var tp1 = new ArrayList<Vertex>
-		tp1.addAll(core.getTransitiveParentStates(t.source))
-		tp1.add(0, t.source)
-		
-		var tp2 = new ArrayList<Vertex>
-		tp2.addAll(core.getTransitiveParentStates(t.target))
-		tp2.add(0, t.target)
-		
-		//step2
-		var Vertex bound1 = null
-		var Vertex bound2 = null
-		for(v:tp1) {
-			var tp = tp2.filter[it.container == v.container].head
-			if (bound1 == null && bound2 == null && tp != null) {
-				bound1 = v
-				bound2 = tp
-			}
-		}
-		
-		var index1 = tp1.indexOf(bound1)
-		var index2 = tp2.indexOf(bound2)
-		exits.addAll(tp1.subList(0, index1 + 1))
-		enters.addAll(tp2.subList(0, index2 + 1))
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/PThreadTypes.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/PThreadTypes.xtend
deleted file mode 100644
index 4efa604..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/PThreadTypes.xtend
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.modellibs.core.statemachine
-
-import org.eclipse.uml2.uml.Type
-import org.eclipse.uml2.uml.Model
-import org.eclipse.uml2.uml.Package
-
-class PThreadTypes {
-	Package mPthreadPkg
-	
-	new (Model target) {
-		for (pkg : target.importedPackages) {
-			if (pkg.name.equals("core")) {
-				val pthreadPkgCandidate = pkg.getMember("pthread")
-				if (pthreadPkgCandidate instanceof Package) {
-					mPthreadPkg = pthreadPkgCandidate as Package
-				}
-			}
-		}
-	}
-	
-	def public getPthreadCond() {
-		if (mPthreadPkg != null) {
-			mPthreadPkg.getPackagedElement("pthread_cond_t") as Type
-		}
-	}
-	
-	def public getPthreadMutex() {
-		if (mPthreadPkg != null) {
-			mPthreadPkg.getPackagedElement("pthread_mutex_t") as Type
-		}
-	}
-	
-	def public getPthread() {
-		if (mPthreadPkg != null) {
-			mPthreadPkg.getPackagedElement("pthread_t") as Type
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/PseudostateGenerator.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/PseudostateGenerator.xtend
deleted file mode 100644
index d216af4..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/PseudostateGenerator.xtend
+++ /dev/null
@@ -1,318 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.modellibs.core.statemachine
-
-import org.eclipse.uml2.uml.Pseudostate
-import org.eclipse.uml2.uml.PseudostateKind
-import org.eclipse.uml2.uml.Vertex
-import org.eclipse.uml2.uml.Transition
-import java.util.ArrayList
-import org.eclipse.uml2.uml.State
-import org.eclipse.uml2.uml.FinalState
-import org.eclipse.uml2.uml.Region
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.statemachine.SMCodeGeneratorConstants.*
-import java.util.List
-
-class PseudostateGenerator {
-	protected extension CDefinitions cdefs;
-	private SM2ClassesTransformationCore core
-	org.eclipse.uml2.uml.Class superContext
-	org.eclipse.uml2.uml.Package targetPack
-	new (SM2ClassesTransformationCore core) {
-		this.core = core
-		this.superContext = core.superContext
-		this.targetPack = core.targetPacket
-		this.cdefs = core.cdefs
-	}
-	
-	def String generatePseudo(Pseudostate p) {
-		var ret = ''''''
-		switch(p.kind) {
-			case PseudostateKind.JUNCTION_LITERAL: {
-				ret = p.generateJunction
-			}
-			
-			case PseudostateKind.JOIN_LITERAL: {
-				ret = p.generateJoin
-			}
-			case PseudostateKind.FORK_LITERAL: {
-				ret = p.generateFork
-			}
-			
-			case PseudostateKind.CHOICE_LITERAL: {
-				ret = p.generateChoice
-			}
-			
-			case PseudostateKind.SHALLOW_HISTORY_LITERAL: {
-				ret = p.generateShallowHistory
-			}
-			
-			case PseudostateKind.DEEP_HISTORY_LITERAL: {
-				ret = p.generateDeepHistory
-			}
-			
-			case PseudostateKind.ENTRY_POINT_LITERAL: {
-				ret = p.generateEntryPoint
-			}
-			
-			case PseudostateKind.EXIT_POINT_LITERAL: {
-				ret = p.generateExitPoint
-			}
-			case INITIAL_LITERAL: {
-			}
-			case TERMINATE_LITERAL: {
-			}
-		}
-		
-		return ret
-	}
-	
-	def String generateJunction(Pseudostate p) {
-		var ret = '''
-		«FOR out:p.outgoings SEPARATOR ' else '»
-		if («p.name» == «p.outgoings.indexOf(out)») {
-			«generateBetweenVertex(p, out.target, out)»
-		}
-		«ENDFOR»'''
-		return ret
-	}
-	
-	
-	def String generateBetweenVertex(Vertex v1, Vertex v2, Transition t) {
-		var exits = new ArrayList<Vertex>
-		var enters = new ArrayList<Vertex>
-		var ret = ''''''
-		core.eventTransform.calculateExitsEnters(t, exits, enters)
-		var cpEx = exits.last
-		ret = '''
-		«ret»
-		«IF cpEx instanceof State»
-		«core.generateExitingSubStates(cpEx as State, true)»
-		«ENDIF»
-		«TransformationUtil.getTransitionEffect(t)»'''
-		
-		var cpEn = enters.last
-		var innermost = enters.head
-		if (innermost instanceof State) {
-			ret = '''
-			«ret»
-			«IF innermost instanceof FinalState»
-				«IF innermost.container == core.topRegion»
-					«ACTIVE_ROOT_STATE_ID» = «STATE_MAX»;
-				«ELSE»
-					«STATE_ARRAY_ATTRIBUTE»[«ACTIVE_ROOT_STATE_ID»].«ACTIVE_SUB_STATES»[«innermost.container.state.regions.indexOf(innermost.container)»] = «STATE_MAX»;
-					«core.generateCompletionCall(innermost)»
-				«ENDIF»
-			«ELSE»
-				«core.generateEnteringOnSubVertex(cpEn as State, innermost)»
-			«ENDIF»'''
-		} else {
-			ret = '''
-			«ret»
-			«IF cpEn instanceof State»
-				«core.generateEnteringOnSubVertex(cpEn, innermost)»
-			«ELSE»
-				«generatePseudo(innermost as Pseudostate)»
-			«ENDIF»'''
-		}
-		return ret
-	}
-	
-	def String generateDeepHistory(Pseudostate p) {
-		var regionIndex = p.container.state.regions.indexOf(p.container)
-		var subCompositeStates = p.container.subvertices.filter(State).filter[!(it instanceof FinalState) && it.composite]
-		var parentId = p.container.state.name.toUpperCase + "_ID"
-		var subAtomics = p.container.subvertices.filter(State).filter[!(it instanceof FinalState) && !it.composite]
-		var atomicsWithTimeEvent = subAtomics.filter[core.states2TimeEvents.get(it) != null && !core.states2TimeEvents.get(it).empty]
-		var ret = '''
-		unsigned int «p.container.getDeepHistoryVariableName(p)»;
-		if («STATE_ARRAY_ATTRIBUTE»[«parentId»].«PREVIOUS_STATES»[«regionIndex»] != «STATE_MAX») {
-			//restore active sub-state of «p.container.state.name»
-			«p.container.getDeepHistoryVariableName(p)» = «STATE_ARRAY_ATTRIBUTE»[«parentId»].«PREVIOUS_STATES»[«regionIndex»];
-			(this->*«STATE_ARRAY_ATTRIBUTE»[«p.container.getDeepHistoryVariableName(p)»].«ENTRY_NAME»)();
-			«FOR a:atomicsWithTimeEvent SEPARATOR ' else '»
-				if («a.name.toUpperCase»_ID == «p.container.getDeepHistoryVariableName(p)») {
-					«core.generateActivateTimeEvent(a)»
-				}
-			«ENDFOR»
-			«SET_FLAG»(«p.container.getDeepHistoryVariableName(p)», «THREAD_FUNC_DOACTIVITY_TYPE», true);
-			«FOR comp:subCompositeStates SEPARATOR ' else '»
-				if («comp.name.toUpperCase»_ID == «p.container.getDeepHistoryVariableName(p)») {
-					«generateRestoreString(comp, p)»
-				}
-			«ENDFOR»
-		} else {
-			//for the first time, the history should be initialized
-			«IF p.outgoings.size > 0»
-				«generateBetweenVertex(p, p.outgoings.head.target, p.outgoings.head)»
-			«ELSE»
-				«core.getRegionMethodName(p.container)»(«core.getInitialMacroName(p.container)»);
-			«ENDIF»
-		}'''
-		return ret
-	}
-	
-	private def String generateRestoreString(State s, Pseudostate p) {
-		var subAtomics = p.container.subvertices.filter(State).filter[!(it instanceof FinalState) && !it.composite]
-		var atomicsWithTimeEvent = subAtomics.filter[core.states2TimeEvents.get(it) != null && !core.states2TimeEvents.get(it).empty]
-		var ret = '''
-		//restore active-stub state of «s.name»
-		«FOR r:s.regions»
-			unsigned int «r.getDeepHistoryVariableName(p)» = «STATE_ARRAY_ATTRIBUTE»[«s.name.toUpperCase»_ID].«PREVIOUS_STATES»[«s.regions.indexOf(r)»];
-			(this->*«STATE_ARRAY_ATTRIBUTE»[«r.getDeepHistoryVariableName(p)»].«ENTRY_NAME»)();
-			«FOR a:atomicsWithTimeEvent SEPARATOR ' else '»
-				if («a.name.toUpperCase»_ID == «r.getDeepHistoryVariableName(p)») {
-					«core.generateActivateTimeEvent(a)»
-				}
-			«ENDFOR»
-			«SET_FLAG»(«r.getDeepHistoryVariableName(p)», «THREAD_FUNC_DOACTIVITY_TYPE», true);
-			«var subCompositeStates = r.subvertices.filter(State).filter[!(it instanceof FinalState) && it.composite]»
-			«FOR comp:subCompositeStates SEPARATOR ' else '»
-				if («comp.name.toUpperCase»_ID == «r.getDeepHistoryVariableName(p)») {
-					«generateRestoreString(comp, p)»
-				}
-			«ENDFOR»
-		«ENDFOR»
-		'''
-		return ret
-	}
-	
-	def getDeepHistoryVariableName(Region r, Pseudostate p) {
-		return '''«r.state.name»_«r.name»_«p.name»'''
-	}
-	
-	def String generateShallowHistory(Pseudostate p) {
-		var regionIndex = p.container.state.regions.indexOf(p.container)
-		var subCompositeStates = p.container.subvertices.filter(State).filter[!(it instanceof FinalState) && it.composite]
-		var pseudoInitial = TransformationUtil.firstPseudoState(p.container, PseudostateKind.INITIAL_LITERAL)
-		var parentId = p.container.state.name.toUpperCase + "_ID"
-		var subAtomics = p.container.subvertices.filter(State).filter[!(it instanceof FinalState) && !it.composite]
-		var atomicsWithTimeEvent = subAtomics.filter[core.states2TimeEvents.get(it) != null && !core.states2TimeEvents.get(it).empty]
-		var ret = '''
-		unsigned int loc_ActiveId;
-		if («STATE_ARRAY_ATTRIBUTE»[«parentId»].«PREVIOUS_STATES»[«regionIndex»] != «STATE_MAX») {
-			loc_ActiveId = «STATE_ARRAY_ATTRIBUTE»[«parentId»].«PREVIOUS_STATES»[«regionIndex»];
-		} else {
-			//for the first time, the history should be initialized
-			«IF p.outgoings.size > 0»
-				«TransformationUtil.getTransitionEffect(p.outgoings.head)»
-				loc_ActiveId = «p.outgoings.head.target.name.toUpperCase»_ID;
-			«ELSE»
-				«TransformationUtil.getTransitionEffect(pseudoInitial.outgoings.head)»
-				loc_ActiveId = «pseudoInitial.outgoings.head.target.name.toUpperCase»_ID;
-			«ENDIF»
-		}
-		«STATE_ARRAY_ATTRIBUTE»[«parentId»].«ACTIVE_SUB_STATES»[«regionIndex»] = loc_ActiveId;
-		«FOR comp:subCompositeStates SEPARATOR ' else '»
-			if («comp.name.toUpperCase»_ID == loc_ActiveId) {
-				«core.generateEnteringOnSubVertex(comp, null)»
-			}
-		«ENDFOR» «IF subCompositeStates.size > 0» else { «ENDIF»
-			(this->*«STATE_ARRAY_ATTRIBUTE»[loc_ActiveId].«ENTRY_NAME»)();
-			«FOR a:atomicsWithTimeEvent SEPARATOR ' else '»
-			if («a.name.toUpperCase»_ID == loc_ActiveId) {
-				«core.generateActivateTimeEvent(a)»
-			}
-			«ENDFOR»
-			«SET_FLAG»(loc_ActiveId, «THREAD_FUNC_DOACTIVITY_TYPE», true);
-		«IF subCompositeStates.size > 0»}«ENDIF»'''
-		return ret
-	}
-	
-	def String generateChoice(Pseudostate p) {
-		var ret = '''
-		«FOR out:p.outgoings.filter[it.guard != null] SEPARATOR ' else '»
-		if («core.getGuard(out)») {
-			«generateBetweenVertex(p, out.target, out)»
-		}«ENDFOR» else {
-			«var t = p.outgoings.filter[it.guard == null].head»
-			«generateBetweenVertex(p, t.target, t)»
-		}'''
-		return ret
-	}
-	
-	def intersect(List<Vertex> l1, List<Vertex> l2) {
-		return l1.filter[l2.contains(it)].toList
-	}
-	
-	def String generateEntryPoint(Pseudostate p) {
-		var ret = '''
-		'''	
-		val targets = p.outgoings.map[it.target].toList
-		val enteredRegions = (p.eContainer as State).regions.filter[
-			core.allSubVertexes(it).toList.intersect(targets).size > 0
-		].toList
-		var defaultRegions = (p.eContainer as State).regions.filter[!enteredRegions.contains(it)]
-		ret = '''
-			«FOR out:p.outgoings»
-				«TransformationUtil.getTransitionEffect(out)»
-			«ENDFOR»
-			«FOR r:defaultRegions.filter[TransformationUtil.findInitialState(it) != null]»
-				«core.getRegionMethodName(r)»(«core.getInitialMacroName(r)»);
-			«ENDFOR»
-			«FOR r:enteredRegions»
-				«core.getRegionMethodName(r)»(«core.getVertexMacroName(targets.filter[r.allNamespaces.contains(it)].head)»);
-			«ENDFOR»'''		
-		return ret
-	}
-	
-	def String generateExitPoint(Pseudostate p) {
-		var ret = '''
-		'''	
-		ret = '''
-		«generateBetweenVertex(p, p.outgoings.head.target, p.outgoings.head)»
-		'''		
-		return ret
-	}
-	
-	def String generateFork(Pseudostate p) {
-		var targets = p.outgoings.map[it.target]
-		var ret = ''''''
-		//look for the orthogonal parent state
-		
-		var exits = new ArrayList<Vertex>
-		var enters = new ArrayList<Vertex>
-		core.eventTransform.calculateExitsEnters(p.outgoings.head, exits, enters)
-		var cpEx = exits.last
-		var parent = enters.last as State
-		if (!parent.orthogonal) {
-			throw new Exception("state machine is ill-formed")
-		}
-		
-		ret = '''
-		«ret»
-		«IF cpEx instanceof State»
-		«core.generateExitingSubStates(cpEx as State, true)»
-		«ENDIF»
-		//need to be concurrently executed
-		«FOR out:p.outgoings»
-		«TransformationUtil.getTransitionEffect(out)»
-		«ENDFOR»
-		'''
-		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
-		ret = '''
-		«ret»
-		«core.generateChangeState(parent)»
-		«core.getFptrCall(pAttr, false, ENTRY_NAME)»;
-		//start activity of «parent.name» by calling setFlag
-		«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
-		«FOR r:parent.regions»
-			«FOR target:targets»
-				«IF core.allSubVertexes(r).contains(target)»
-					«core.concurrency.generateForkCall(r, true, core.getVertexMacroName(target))»
-				«ENDIF»
-			«ENDFOR»
-		«ENDFOR»
-		'''		
-		return ret
-	}
-	
-	def String generateJoin(Pseudostate p) {
-		return '''
-		«generateBetweenVertex(p, p.outgoings.head.target, p.outgoings.head)»'''
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/SM2ClassesTransformationCore.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/SM2ClassesTransformationCore.xtend
deleted file mode 100644
index 0d92337..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/SM2ClassesTransformationCore.xtend
+++ /dev/null
@@ -1,1648 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.modellibs.core.statemachine
-
-import java.util.ArrayList
-import java.util.HashMap
-import java.util.List
-import java.util.Map
-import java.util.Map.Entry
-import org.eclipse.emf.common.util.URI
-import org.eclipse.emf.common.util.UniqueEList
-import org.eclipse.emf.ecore.resource.ResourceSet
-import org.eclipse.papyrus.designer.components.FCM.DerivedElement
-import org.eclipse.papyrus.designer.components.transformation.core.OperationUtils
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier
-import org.eclipse.papyrus.designer.components.vsl.ParseVSL
-import org.eclipse.papyrus.designer.languages.cpp.codegen.utils.CppGenUtils
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Array
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.External
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Include
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Ptr
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Typedef
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Virtual
-import org.eclipse.papyrus.uml.tools.utils.PackageUtil
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
-import org.eclipse.uml2.uml.AnyReceiveEvent
-import org.eclipse.uml2.uml.Behavior
-import org.eclipse.uml2.uml.CallEvent
-import org.eclipse.uml2.uml.ChangeEvent
-import org.eclipse.uml2.uml.Class
-import org.eclipse.uml2.uml.Enumeration
-import org.eclipse.uml2.uml.Event
-import org.eclipse.uml2.uml.FinalState
-import org.eclipse.uml2.uml.Model
-import org.eclipse.uml2.uml.OpaqueBehavior
-import org.eclipse.uml2.uml.OpaqueExpression
-import org.eclipse.uml2.uml.Operation
-import org.eclipse.uml2.uml.Package
-import org.eclipse.uml2.uml.ParameterDirectionKind
-import org.eclipse.uml2.uml.Pseudostate
-import org.eclipse.uml2.uml.PseudostateKind
-import org.eclipse.uml2.uml.Region
-import org.eclipse.uml2.uml.SignalEvent
-import org.eclipse.uml2.uml.State
-import org.eclipse.uml2.uml.StateMachine
-import org.eclipse.uml2.uml.TimeEvent
-import org.eclipse.uml2.uml.Transition
-import org.eclipse.uml2.uml.Trigger
-import org.eclipse.uml2.uml.Type
-import org.eclipse.uml2.uml.UMLPackage
-import org.eclipse.uml2.uml.Vertex
-import org.eclipse.uml2.uml.util.UMLUtil
-
-import static org.eclipse.papyrus.designer.components.modellibs.core.statemachine.SMCodeGeneratorConstants.*
-
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.statemachine.TransformationUtil.*
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.statemachine.TransformationUtil.eventID
-import org.eclipse.uml2.uml.Profile
-import org.eclipse.uml2.uml.Element
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.NoCodeGen
-
-class SM2ClassesTransformationCore {
-	protected extension CDefinitions cdefs;
-	public int MAX_NUMBER_ORTHOGONAL_REGIONS = 1
-	private Class mContainerClass
-	private StateMachine sm
-	public Type boolType
-	public Class superContext
-	private List<Transition> transitions = new ArrayList
-	private List<OpaqueBehavior> actions = new ArrayList
-	public Region topRegion
-	public List<State> states = new ArrayList
-	private List<Vertex> vertexes = new ArrayList
-	public LazyCopier copier
-	private String langID = "C++"
-	private Type stateStruct
-
-	public boolean generateActionLog = false
-	private boolean createDoActivity = true
-	private boolean useThreadCpp11 = true
-	Type threadCpp11
-	public Type voidType
-	private Enumeration stateIdEnum
-	public Type intType
-	public Type charType
-	Enumeration eventIdEnum
-	public Type fptr
-	public PThreadTypes ptTypes
-	
-	public List<TimeEvent> timeEvents = new ArrayList
-	public List<ChangeEvent> changeEvents = new ArrayList
-	public List<CallEvent> callEvents = new ArrayList
-	List<SignalEvent> signalEvents = new ArrayList
-	List<AnyReceiveEvent> anyEvents = new ArrayList
-	List<Pseudostate> junctions = new ArrayList
-	public ConcurrencyGenerator concurrency
-	public EventTransformation eventTransform
-	public PseudostateGenerator pseudostateGenerator
-	public static String ansiUri = "pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml"
-
-	public static String smLibraryUri = "platform:/resource/org.eclipse.papyrus.designer.codegen.statemachine/models/SmLibrary.uml"
-	public List<Behavior> doActivityList = new ArrayList
-	public Package smPack
-	private List<Region> regions = new ArrayList
-	public List<Transition> parallelTransitions = new ArrayList
-	public Map<State, List<TimeEvent>> states2TimeEvents = new HashMap
-	private Type threadStructType
-
-	new(LazyCopier copier, Class smClass, StateMachine sm, Class tmClass) {
-		this.copier = copier
-		this.mContainerClass = smClass
-		this.superContext = tmClass
-		
-		// perClassPackage = copier.target.createNestedPackage("PerClass_" + mContainerClass.name)
-		// perClassPackage = copier.target
-		this.sm = sm
-		
-		val ResourceSet resourceSet = targetPacket.eResource.resourceSet
-		boolType = getPrimitiveType("bool", resourceSet)
-		voidType = getPrimitiveType("void", resourceSet)
-		intType = getPrimitiveType("int", resourceSet)
-		charType = getPrimitiveType("char", resourceSet)
-		ptTypes = new PThreadTypes(targetPacket as Model)
-		this.cdefs = new CDefinitions(superContext)
-	}
-	
-	def setSmPack(Package smPack) {
-		this.smPack = smPack
-	}
-	
-	def getThreadStructType() {
-		return threadStructType
-	}
-	
-	def setThreadStructType(Type threadStructType) {
-		this.threadStructType = threadStructType;
-	}
-
-	def getPrimitiveType(String name, ResourceSet resourceSet) {
-		val Package ansiCLibrary = PackageUtil.loadPackage(URI.createURI("pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml"), resourceSet)
-		val Element element = ansiCLibrary.getPackagedElement(name)
-		if (element instanceof Type) {
-			return element
-		}
-		return null
-	}
-	
-	def getTargetPacket() {
-		copier.target;
-	}
-	
-	def getExternalPackage(Package parentPack) {
-		if (parentPack.getNestedPackage("external") == null) {
-			var createdPack = parentPack.createNestedPackage("external")
-			StereotypeUtil.apply(createdPack, NoCodeGen)
-		}
-		return parentPack.getNestedPackage("external")
-	}
-	
-	// each state class has a super context and ancestor context
-	def transform() {
-		val targetPack = getTargetPacket;
-		// copier = new SM2ClassCopier(mContainerClass.model, targetPack, false, true, mContainerClass, superContext, sm)
-		val ResourceSet resourceSet = targetPack.eResource.resourceSet
-		
-		PackageUtil.loadPackage(URI.createURI("pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml"), resourceSet)
-		val Package profile = PackageUtil.loadPackage(URI.createURI("pathmap://UML_PROFILES/Standard.profile.uml"), resourceSet)
-		if (profile instanceof Profile) {
-			PackageUtil.applyProfile(targetPack, profile as Profile, true)
-		}
-		
-		if (useThreadCpp11) {
-			var externalPackage = getExternalPackage(targetPack)
-			threadCpp11 = externalPackage.createOwnedType("std::thread", UMLPackage.Literals.DATA_TYPE)
-			StereotypeUtil.apply(threadCpp11, External)
-		}
-		topRegion = sm.regions.head
-		concurrency = new ConcurrencyGenerator(this)
-		eventTransform = new EventTransformation(this)
-		pseudostateGenerator = new PseudostateGenerator(this)
-		
-		var eventMap = topRegion.allEvents
-		eventMap.forEach[e, k|
-			if (e instanceof TimeEvent) {
-				timeEvents.add(e)
-			} else if (e instanceof CallEvent) {
-				callEvents.add(e)
-			} else if (e instanceof SignalEvent) {
-				signalEvents.add(e)
-			} else if (e instanceof ChangeEvent) {
-				changeEvents.add(e)
-			} else if (e instanceof AnyReceiveEvent) {
-				anyEvents.add(e)
-			}
-		]
-		eventIdEnum = superContext.createNestedClassifier(EVENT_ID, UMLPackage.Literals.ENUMERATION) as Enumeration
-
-		appendIncludeHeader('''#define «TIME_EVENT_LOWER_BOUND» (0)''')
-		timeEvents.forEach[
-			eventIdEnum.createOwnedLiteral(it.eventID)
-		]		
-		changeEvents.forEach[
-			eventIdEnum.createOwnedLiteral(it.eventID)
-		]			
-		appendIncludeHeader('''#define «CHANGE_EVENT_LOWER_BOUND» («timeEvents.size»)''')
-		
-		appendIncludeHeader('''#define «TE_INDEX»(id) (id - «TIME_EVENT_LOWER_BOUND»)''')
-		appendIncludeHeader('''#define «CHE_INDEX»(id) (id - «CHANGE_EVENT_LOWER_BOUND»)''')
-		
-		signalEvents.forEach[
-			eventIdEnum.createOwnedLiteral(it.eventID)
-		]	
-		callEvents.forEach[
-			eventIdEnum.createOwnedLiteral(it.eventID)
-		]		
-		anyEvents.forEach[
-			eventIdEnum.createOwnedLiteral(it.eventID)
-		]	
-		
-		eventIdEnum.createOwnedLiteral(COMPLETION_EVENT.toUpperCase + "_ID")
-		
-		topRegion.allActionsTransitionsStates
-		states.filter[it.orthogonal].forEach[
-			if (it.regions.size > MAX_NUMBER_ORTHOGONAL_REGIONS) {
-				MAX_NUMBER_ORTHOGONAL_REGIONS = it.regions.size 
-			}
-		]
-		
-		states.forEach[
-			val triggers = new ArrayList<Trigger>
-			it.outgoings.forEach[
-				triggers.addAll(it.triggers)
-			]
-			val events = triggers.map[it.event]
-			val timeEvents = events.filter(TimeEvent).toList
-			states2TimeEvents.put(it, timeEvents)
-		]
-		
-		vertexes.filter(Pseudostate).forEach[
-			if (it.kind == PseudostateKind.JUNCTION_LITERAL) {
-				junctions.add(it)
-			}
-		]
-		
-		//for each junction, create a class variable
-		junctions.forEach[
-			superContext.createOwnedAttribute(it.name, intType)
-		]
-		
-		//create state ID enumeration
-		//val stateIdEnum = targetPack.createOwnedEnumeration("StateIDEnum") as Enumeration
-		stateIdEnum = superContext.createNestedClassifier("StateIDEnum", UMLPackage.Literals.ENUMERATION) as Enumeration
-		
-		//create state struct
-		createStateStruct		
-
-		var stateArrayAttr = superContext.createOwnedAttribute(STATE_ARRAY_ATTRIBUTE, stateStruct)
-		StereotypeUtil.apply(stateArrayAttr, Array)
-		//StereotypeUtil.apply(stateArrayAttr, Ptr)
-		UMLUtil.getStereotypeApplication(stateArrayAttr, Array).definition = '''[«states.size»]'''
-		//create root active state ID
-		superContext.createOwnedAttribute(ACTIVE_ROOT_STATE_ID, stateIdEnum)
-		
-		createRegionMethods
-				
-		var sourceCtors = mContainerClass.ownedOperations.filter[StereotypeUtil.isApplied(it, "StandardProfile::Create") && it.name == mContainerClass.name]
-		var targetCtors = sourceCtors.map[copier.getCopy(it)]	
-		if (targetCtors.empty) {
-			//create constructor
-			var ctor = superContext.createOwnedOperation(superContext.name, null, null)
-			StereotypeUtil.apply(ctor, "StandardProfile::Create")
-			superContext.createOpaqueBehavior(ctor, '''startBehavior();''')
-		} else {
-			targetCtors.forEach[
-				var opaque = it.methods.head as OpaqueBehavior
-				if (opaque != null) {
-					var body = opaque.bodies.get(0)
-					superContext.createOpaqueBehavior(it, '''
-					«body»
-					startBehavior();''')
-				} else {
-					superContext.createOpaqueBehavior(it, '''startBehavior();''')
-				}
-			]
-		}	
-		
-		var startBehavior = superContext.createOwnedOperation("startBehavior", null, null)
-		superContext.createOpaqueBehavior(startBehavior, '''
-		«SYSTEM_STATE_ATTR» = statemachine::IDLE;
-		«FOR s:states»
-			«IF s.entry.isBehaviorExist»
-				«STATE_ARRAY_ATTRIBUTE»[«s.name.toUpperCase»_ID].«ENTRY_NAME» = &«superContext.name»::«s.name + "_" + ENTRY_NAME»;
-			«ENDIF»
-			«IF s.exit.isBehaviorExist»
-				«STATE_ARRAY_ATTRIBUTE»[«s.name.toUpperCase»_ID].«EXIT_NAME» = &«superContext.name»::«s.name + "_" + EXIT_NAME»;
-			«ENDIF»
-			«IF s.doActivity.isBehaviorExist»
-				«STATE_ARRAY_ATTRIBUTE»[«s.name.toUpperCase»_ID].«DO_ACTIVITY_NAME» = &«superContext.name»::«s.name + "_" + DO_ACTIVITY_NAME»;
-			«ENDIF»		
-			«DO_ACTIVITY_TABLE»[«s.name.toUpperCase»_ID] =  «STATE_ARRAY_ATTRIBUTE»[«s.name.toUpperCase»_ID].«DO_ACTIVITY_NAME»;
-		«ENDFOR»
-		
-		// initialize all threads, the threads wait until the associated flag is set
-		for(int i = 0; i < (int) «STATE_MAX»; i++) {
-			if («STATE_ARRAY_ATTRIBUTE»[i].«DO_ACTIVITY_NAME» != &«superContext.name»::doActivity_dft) {
-				«THREAD_STRUCTS»[i].id = i;
-				«THREAD_STRUCTS»[i].ptr = this;
-				«THREAD_STRUCTS»[i].func_type = «THREAD_FUNC_DOACTIVITY_TYPE»;
-				«MUTEXES»[i] = PTHREAD_MUTEX_INITIALIZER;
-				«CONDITIONS»[i] = PTHREAD_COND_INITIALIZER;
-				«FORK_NAME»(&«THREADS»[i], NULL, &«superContext.name»::«THREAD_FUNC_WRAPPER», &«THREAD_STRUCTS»[i]);
-			}
-		}
-		
-		«IF timeEvents.size > 0»
-			«FOR e:timeEvents»
-				«var duration = ParseVSL.getMsDurationFromVSL((e.when.expr as OpaqueExpression).bodies.get(0))»
-				«THREAD_STRUCTS_FOR_TIMEEVENT»[«TE_INDEX»(«e.eventID»)].duration = «duration»;
-			«ENDFOR»
-			for(int i = «TIME_EVENT_LOWER_BOUND»; i < «timeEvents.size»; i++) {
-				«THREAD_STRUCTS_FOR_TIMEEVENT»[«TE_INDEX»(i)].id = i;
-				«THREAD_STRUCTS_FOR_TIMEEVENT»[«TE_INDEX»(i)].ptr = this;
-				«THREAD_STRUCTS_FOR_TIMEEVENT»[«TE_INDEX»(i)].func_type = «THREAD_FUNC_TIMEEVENT_TYPE»;
-				«MUTEXES_TIME_EVENT»[«TE_INDEX»(i)] = PTHREAD_MUTEX_INITIALIZER;
-				«CONDITIONS_TIME_EVENT»[«TE_INDEX»(i)] = PTHREAD_COND_INITIALIZER;
-				«FORK_NAME»(&«THREADS_TIME_EVENT»[«TE_INDEX»(i)], NULL, &«superContext.name»::«THREAD_FUNC_WRAPPER», &«THREAD_STRUCTS_FOR_TIMEEVENT»[«TE_INDEX»(i)]);
-				while(«FLAGS_TIME_EVENT»[«TE_INDEX»(i)]) {}
-			}
-		«ENDIF»
-		
-		«IF !orthogonalRegions.empty»
-			«FOR r:orthogonalRegions»
-				«REGION_TABLE»[«r.regionMacroId»] = &«superContext.name»::«r.regionMethodName»;
-				«REGION_TABLE_EXIT»[«r.regionMacroId»] = &«superContext.name»::«r.regionMethodExitName»;
-			«ENDFOR»
-		«ENDIF»
-		
-		«IF !parallelTransitions.empty»
-			«FOR t:parallelTransitions»
-				«PARALLEL_TRANSITION_TABLE»[«concurrency.parallelTransitionId(t)»] = &«superContext.name»::«concurrency.parallelTransitionMethodName(t)»;
-			«ENDFOR»
-		«ENDIF»
-		
-		«RUN_TO_COMPLETION_MUTEX» = PTHREAD_MUTEX_INITIALIZER;
-		«RUN_TO_COMPLETION_COND» = PTHREAD_COND_INITIALIZER;
-		
-		dispatchStruct = «STRUCT_FOR_THREAD»(this, 0, 0, «THREAD_FUNC_STATE_MACHINE_TYPE», 0);
-		«superContext.name»_THREAD_CREATE(dispatchThread, dispatchStruct)
-		while(!dispatchFlag) {}
-		
-		«IF changeEvents.size > 0»
-			// threads for changeEvent
-			for(int i = «CHANGE_EVENT_LOWER_BOUND»; i < «CHANGE_EVENT_LOWER_BOUND» + «changeEvents.size»; i++) {
-				«THREAD_STRUCTS_FOR_CHANGEEVENT»[«CHE_INDEX»(i)].id = i;
-				«THREAD_STRUCTS_FOR_CHANGEEVENT»[«CHE_INDEX»(i)].ptr = this;
-				«THREAD_STRUCTS_FOR_CHANGEEVENT»[«CHE_INDEX»(i)].func_type = «THREAD_FUNC_CHANGEEVENT_TYPE»;
-				«FORK_NAME»(&«THREADS_CHANGE_EVENT»[«CHE_INDEX»(i)], NULL, &«superContext.name»::«THREAD_FUNC_WRAPPER», &«THREAD_STRUCTS_FOR_CHANGEEVENT»[«CHE_INDEX»(i)]);
-			}
-		«ENDIF»
-		
-		//initialze root active state
-		//execute initial effect
-		«getRegionMethodName(topRegion)»(«topRegion.initialMacroName»);
-		''')
-		
-		superContext.createOwnedAttribute("dispatchFlag", boolType)
-		
-		
-		eventMap.forEach[e, trans|
-			eventTransform.createEventMethod(e, trans)
-		]
-		
-		val autoTrans = new ArrayList<Transition>
-		transitions.forEach[
-			if (it.source instanceof State && it.triggers.map[it.event].size == 0) {
-				autoTrans.add(it)
-			}
-		]
-		
-		eventTransform.createEventMethod(COMPLETION_EVENT, autoTrans)
-		
-		//create entry/exit/doactivity of each state
-		states.forEach[
-			stateIdEnum.createOwnedLiteral(it.name.toUpperCase + "_ID")
-			if (it.entry.isBehaviorExist) {
-				var entry = superContext.createOwnedOperation(it.name + "_" + ENTRY_NAME, null, null)
-				var opaque = superContext.createOpaqueBehavior(entry, (it.entry as OpaqueBehavior).bodies.head)
-				opaque.languages.add(langID)
-			}
-			if (it.exit.isBehaviorExist) {
-				var exit = superContext.createOwnedOperation(it.name + "_" + EXIT_NAME, null, null)
-				var opaque = superContext.createOpaqueBehavior(exit, (it.exit as OpaqueBehavior).bodies.head)
-				opaque.languages.add(langID)
-			}
-			if (it.doActivity.isBehaviorExist) {
-				doActivityList.add(it.doActivity)
-				var doActivity = superContext.createOwnedOperation(it.name + "_" + DO_ACTIVITY_NAME, null, null)
-				var callCompletionEvent = ''''''
-				if (!it.composite) {
-					//callCompletionEvent = '''process«COMPLETION_EVENT»();'''
-				}
-				var opaque = superContext.createOpaqueBehavior(doActivity, (it.doActivity as OpaqueBehavior).bodies.head + "\n" + callCompletionEvent)
-				opaque.languages.add(langID)
-			} else {
-//				var doActivity = superContext.createOwnedOperation(it.name + "_" + DO_ACTIVITY_NAME, null, null)
-//				var callCompletionEvent = ''''''
-//				if (!it.composite) {
-//					//callCompletionEvent = '''process«COMPLETION_EVENT»();'''
-//				}
-//				var opaque = superContext.createOpaqueBehavior(doActivity, callCompletionEvent)
-//				opaque.languages.add(langID)
-			}
-		]
-		stateIdEnum.createOwnedLiteral(STATE_MAX)
-		copier.copy(mContainerClass)
-		concurrency.createThreadBasedParallelism
-		
-		appendIncludeHeader('''
-		#define CHECKPOINT if («SYSTEM_STATE_ATTR» == statemachine::EVENT_PROCESSING) {return;}
-		#define «superContext.name»_THREAD_CREATE(thThread, str) «FORK_NAME»(&thThread, NULL, &«superContext.name»::«THREAD_FUNC_WRAPPER», &str);
-		#define «superContext.name.toUpperCase»_GET_CONTROL /*mutex synchronization to protect run-to-completion semantics*/ \
-				pthread_mutex_lock(&«RUN_TO_COMPLETION_MUTEX»); \
-				while («SYSTEM_STATE_ATTR» != statemachine::IDLE) {\
-					pthread_cond_wait(&«RUN_TO_COMPLETION_COND», &«RUN_TO_COMPLETION_MUTEX»);\
-				}
-		#define «superContext.name.toUpperCase»_RELEASE_CONTROL «SYSTEM_STATE_ATTR» = statemachine::IDLE; pthread_cond_signal(&«RUN_TO_COMPLETION_COND»); \
-						pthread_mutex_unlock(&«RUN_TO_COMPLETION_MUTEX»);''')
-		
-		var eventClass = smPack.getOwnedType("Event_t")
-		var copiedType = copier.copy(eventClass) as Type
-		var eventQueueClass = smPack.getOwnedType("EventPriorityQueue")
-		var copiedEventQueueType = copier.copy(eventQueueClass) as Type
-		superContext.createOwnedAttribute(EVENT_QUEUE, copiedEventQueueType)
-		StereotypeUtil.apply(superContext.createOwnedAttribute("currentEvent", copiedType), Ptr);
-		
-		
-		var eventDispatch = superContext.createOwnedOperation(EVENT_DISPATCH, null, null)
-		superContext.createOpaqueBehavior(eventDispatch, '''
-		bool popDeferred = false;
-		while(true) {
-			//run-to-completion: need to have a mutex here
-			currentEvent = «EVENT_QUEUE».pop(popDeferred);
-			dispatchFlag = true;
-			if (currentEvent != NULL) {
-				«superContext.name.toUpperCase»_GET_CONTROL
-				switch(currentEvent->eventID) {
-					«FOR e:eventMap.keySet.filter[!(it instanceof CallEvent)]»
-						case «e.eventID»:
-							«IF e instanceof SignalEvent»
-								«IF e.signal != null»
-									«CppGenUtils.cppQualifiedName(copier.getCopy(e.signal))» sig_«e.eventID»;
-									memcpy(&sig_«e.eventID», currentEvent->data, sizeof(«CppGenUtils.cppQualifiedName(copier.getCopy(e.signal))»));
-									process«e.eventName»(sig_«e.eventID»);
-								«ELSE»
-									process«e.eventName»();
-								«ENDIF»
-							«ELSE»
-							process«e.eventName»();
-							«ENDIF»
-							break;
-					«ENDFOR»
-						case COMPLETIONEVENT_ID: 
-							processCompletionEvent();
-						break;
-				}
-				if («SYSTEM_STATE_ATTR» == statemachine::EVENT_DEFERRED) {
-					«EVENT_QUEUE».saveDeferred(*currentEvent);
-				}
-				popDeferred = («SYSTEM_STATE_ATTR» != statemachine::EVENT_DEFERRED);
-				«SYSTEM_STATE_ATTR» = statemachine::IDLE;
-				«superContext.name.toUpperCase»_RELEASE_CONTROL
-			}
-		}''')
-		
-		concurrency.createConcurrencyForTransitions
-		superContext.createOwnedAttribute("dispatchThread", ptTypes.pthread)
-		superContext.createOwnedAttribute("dispatchStruct", concurrency.threadStructType)
-		
-		superContext.createOwnedAttribute(RUN_TO_COMPLETION_MUTEX, ptTypes.pthreadMutex)
-		superContext.createOwnedAttribute(RUN_TO_COMPLETION_COND, ptTypes.pthreadCond)
-		createChangeEvents
-	}
-	
-	
-	
-	def appendIncludeHeader(String appended) {
-		if (UMLUtil.getStereotypeApplication(superContext, Include) == null) {
-			StereotypeUtil.apply(superContext, Include)
-		}
-		var header = UMLUtil.getStereotypeApplication(superContext, Include).header
-		header = '''
-		«header»
-		«appended»'''
-		UMLUtil.getStereotypeApplication(superContext, Include).header = header
-	}
-	
-	
-	
-	private def createChangeEvents() {
-		new ChangeEventTransformation(this).createChangeEvents
-	}
-	
-	def String generateChangeState(State s) {
-		if (s.container == topRegion) {
-			return '''«ACTIVE_ROOT_STATE_ID» = «s.name.toUpperCase»_ID;'''
-		}
-		var rIndex = s.container.state.regions.indexOf(s.container)
-		return '''«STATE_ARRAY_ATTRIBUTE»[«s.container.state.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«rIndex»] = «s.name.toUpperCase»_ID;'''
-	}
-	
-	
-	
-	def String generateExitingSubStates(State parent, boolean exitParent) {
-		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
-		return '''
-		«IF parent.orthogonal»
-			//exiting concurrent state «parent.name»
-			«FOR r:parent.regions»
-				«concurrency.generateForkCall(r, false, "0")»
-			«ENDFOR»
-			«FOR r:parent.regions»
-				«concurrency.generateJoinCall(r, false)»
-			«ENDFOR»
-		«ELSEIF parent.composite»
-			«parent.regions.head.regionMethodExitName»();
-		«ELSE»
-		«ENDIF»
-		«IF exitParent»
-			«IF parent.doActivity.isBehaviorExist»
-			//signal to exit the doActivity of «parent.name»
-			«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», false);
-			«ENDIF»
-			«parent.generateDeactivateTimeEvent»
-			«IF parent.exit.isBehaviorExist»
-			//exit action of «parent.name»
-			«getFptrCall(pAttr, false, EXIT_NAME)»;
-			«ENDIF»
-		«ENDIF»'''
-	}
-	
-	public def generateActivateTimeEvent(State s) {
-		if (states2TimeEvents.get(s) == null) {
-			return ''''''
-		}
-		return '''
-		«FOR te:states2TimeEvents.get(s)»
-			«SET_FLAG»(«TE_INDEX»(«te.eventID»), «THREAD_FUNC_TIMEEVENT_TYPE», true);
-		«ENDFOR»'''
-	}
-	
-	def generateDeactivateTimeEvent(State s) {
-		if (states2TimeEvents.get(s) == null) {
-			return ''''''
-		}
-		return '''
-		«FOR te:states2TimeEvents.get(s)»
-			«SET_FLAG»(«TE_INDEX»(«te.eventID»), «THREAD_FUNC_TIMEEVENT_TYPE», false);
-		«ENDFOR»'''
-	}
-	
-	@Deprecated
-	def String generateExitingSubStatesWithTransition(State parent, boolean exitParent, Transition t) {
-		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
-		return '''
-		«IF parent.orthogonal»
-		«FOR r:parent.regions»
-			«FOR s:r.subvertices.filter(State).filter[!(it instanceof FinalState) && it.composite] SEPARATOR ' else '»
-				if («STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«parent.regions.indexOf(r)»] == &«STATE_ARRAY_ATTRIBUTE»[«s.name.toUpperCase»_ID]) {
-					«generateExitingSubStates(s, true)»
-				}
-			«ENDFOR»
-			if («STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«parent.regions.indexOf(r)»] != NULL) {
-				«FOR sub:r.subvertices.filter(State).filter[!(it instanceof FinalState)] SEPARATOR ' else '»
-				if («STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«parent.regions.indexOf(r)»] == &«STATE_ARRAY_ATTRIBUTE»[«sub.name.toUpperCase»_ID]) {
-					«SET_FLAG»(«sub.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», false);
-				}
-				«ENDFOR»
-				«getFptrCall(STATE_ARRAY_ATTRIBUTE+"["+parent.name.toUpperCase+"_ID]."+ACTIVE_SUB_STATES+"["+parent.regions.indexOf(r)+"]", true, EXIT_NAME)»;
-			}
-			«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«parent.regions.indexOf(r)»] = NULL;
-		«ENDFOR»
-		«ELSEIF parent.composite»
-			«FOR s:parent.regions.head.subvertices.filter(State).filter[!(it instanceof FinalState) && it.composite] SEPARATOR ' else '»
-				if («STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0] == &«STATE_ARRAY_ATTRIBUTE»[«s.name.toUpperCase»_ID]) {
-					«generateExitingSubStates(s, true)»
-				}
-			«ENDFOR»
-			if («STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0] != NULL) {
-				«FOR sub:parent.regions.head.subvertices.filter(State).filter[!(it instanceof FinalState)] SEPARATOR ' else '»
-				if («STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0] == &«STATE_ARRAY_ATTRIBUTE»[«sub.name.toUpperCase»_ID]) {
-					«SET_FLAG»(«sub.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», false);
-				}
-				«ENDFOR»
-				«getFptrCall(STATE_ARRAY_ATTRIBUTE+"["+parent.name.toUpperCase+"_ID]."+ACTIVE_SUB_STATES+"[0]", true, EXIT_NAME)»;
-			}
-			«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0] = NULL;
-		«ELSE»
-		«ENDIF»
-		«IF exitParent»
-		«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», false);
-		«getFptrCall(pAttr, false, EXIT_NAME)»;
-		«ENDIF»
-		«TransformationUtil.getTransitionEffect(t)»'''
-	}
-	
-	@Deprecated
-	def String generateEnteringSubStates(State parent, boolean enterParent) {
-		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
-		return '''
-		«IF enterParent»
-		«generateChangeState(parent)»
-		«getFptrCall(pAttr, false, ENTRY_NAME)»;
-		//start activity of «parent.name» by calling setFlag
-		«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
-		«ENDIF»
-		«IF parent.orthogonal»
-		«FOR r:parent.regions»
-			«IF TransformationUtil.findInitialState(r) != null»
-				«TransformationUtil.getInitialEffect(r)»
-				«generateEnteringSubStates(TransformationUtil.findInitialState(r), true)»
-			«ENDIF»
-		«ENDFOR»
-		«ELSEIF parent.composite»
-			«IF TransformationUtil.findInitialState(parent.regions.head) != null»
-				«TransformationUtil.getInitialEffect(parent.regions.head)»
-				«generateEnteringSubStates(TransformationUtil.findInitialState(parent.regions.head), true)»
-			«ENDIF»
-		«ELSE»
-		«ENDIF»'''
-	}
-	
-	@Deprecated
-	def String generateEnteringSubStates(State parent, State child, boolean enterParent, boolean gotoSubstate) {
-		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
-		return '''
-		«IF enterParent»
-		«generateChangeState(parent)»
-		«getFptrCall(pAttr, false, ENTRY_NAME)»;
-		//start activity of «parent.name» by calling setFlag
-		«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
-		«ENDIF»
-		«IF parent.orthogonal»
-		«FOR r:parent.regions»
-			«IF child.container == r»
-				«IF gotoSubstate»
-				«generateEnteringSubStates(child, true)»
-				«ENDIF»
-			«ELSEIF TransformationUtil.findInitialState(r) != null»
-				«TransformationUtil.getInitialEffect(r)»
-				«generateEnteringSubStates(TransformationUtil.findInitialState(r), true)»
-			«ENDIF»
-		«ENDFOR»
-		«ELSEIF parent.composite»
-			//«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0] = &«STATE_ARRAY_ATTRIBUTE»[«child.name.toUpperCase»_ID];
-			«generateEnteringSubStates(child, true)»
-		«ELSE»
-		«ENDIF»'''
-	}
-	
-	@Deprecated
-	def String generateEnteringTransitiveSubStates(State parent, State child) {
-		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
-		return '''
-		«generateChangeState(parent)»
-		«getFptrCall(pAttr, false, ENTRY_NAME)»;
-		//start activity of «parent.name» by calling setFlag
-		«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
-		«IF parent.orthogonal»
-		«FOR r:parent.regions»
-			«IF child.container == r»
-				«generateEnteringSubStates(child, true)»
-			«ELSEIF TransformationUtil.transitiveSubStates(r).contains(child)»
-				«var nextParent = r.subvertices.filter(State).filter[TransformationUtil.transitiveSubStates(it).contains(child)].head»
-				«generateEnteringTransitiveSubStates(nextParent, child)»
-			«ELSEIF TransformationUtil.findInitialState(r) != null»
-				«TransformationUtil.getInitialEffect(r)»
-				«generateEnteringSubStates(TransformationUtil.findInitialState(r), true)»
-			«ENDIF»
-		«ENDFOR»
-		«ELSEIF parent.composite»
-			«IF child.container.state == parent»
-				«generateEnteringSubStates(parent, child, false, false)»
-			«ELSE»
-				«var nextParent = parent.regions.head.subvertices.filter(State).filter[TransformationUtil.transitiveSubStates(it).contains(child)].head»
-				«generateEnteringTransitiveSubStates(nextParent, child)»
-			«ENDIF»
-		«ELSE»
-		«ENDIF»'''
-	}
-	
-	@Deprecated
-	def String generateEnteringTransitiveSubStates(State parent, State child, boolean enterParent, boolean gotoChild) {
-		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
-		return '''
-		«IF enterParent»
-		«generateChangeState(parent)»
-		«getFptrCall(pAttr, false, ENTRY_NAME)»;
-		//start activity of «parent.name» by calling setFlag
-		«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
-		«ENDIF»
-		«IF parent.orthogonal»
-		«FOR r:parent.regions»
-			«IF child.container == r»
-				«IF gotoChild»
-				«generateEnteringSubStates(child, true)»
-				«ENDIF»
-			«ELSEIF TransformationUtil.transitiveSubStates(r).contains(child)»
-				«var nextParent = r.subvertices.filter(State).filter[TransformationUtil.transitiveSubStates(it).contains(child)].head»
-				«generateEnteringTransitiveSubStates(nextParent, child)»
-			«ELSEIF TransformationUtil.findInitialState(r) != null»
-				«TransformationUtil.getInitialEffect(r)»
-				«generateEnteringSubStates(TransformationUtil.findInitialState(r), true)»
-			«ENDIF»
-		«ENDFOR»
-		«ELSEIF parent.composite»
-			«IF child.container.state == parent»
-				«IF gotoChild»
-				«generateEnteringSubStates(parent, child, enterParent, false)»
-				«ENDIF»
-			«ELSE»
-				«var nextParent = parent.regions.head.subvertices.filter(State).filter[TransformationUtil.transitiveSubStates(it).contains(child)].head»
-				«generateEnteringTransitiveSubStates(nextParent, child)»
-			«ENDIF»
-		«ELSE»
-		«ENDIF»'''
-	}
-		
-	
-	
-	def String hasSubstatesAcceptingEvent(State parent, List<State> states) {
-		var transitives = TransformationUtil.transitiveSubStates(parent)
-		var intersects = transitives.filter[states.contains(it)]
-		if (intersects.size > 0) {
-			return '!isProcessed && '
-		} else {
-			return ''''''
-		}
-	}
-	
-	
-	@Deprecated
-	def String generateEntryWithPseudo(State cp, Pseudostate p, List<Vertex> enters) {
-		var ret = ''''''
-		if (cp == p) {
-			ret = pseudostateGenerator.generatePseudo(p)
-		} else {
-			ret = generateEnteringSpecial(cp, p)
-		}
-	}
-	
-	private def transitiveSubStates(Region r) {
-		return TransformationUtil.transitiveSubStates(r)
-	}
-	
-	private def transitiveSubStates(State s) {
-		return TransformationUtil.transitiveSubStates(s)
-	}
-	
-	@Deprecated
-	def String generateEnteringSpecial(State parent, Pseudostate child) {
-		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
-		return '''
-		«generateChangeState(parent)»
-		«getFptrCall(pAttr, false, ENTRY_NAME)»;
-		//start activity of «parent.name» by calling setFlag
-		«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
-		«IF parent.orthogonal»
-		«FOR r:parent.regions»
-			«IF child.container == r»
-				«pseudostateGenerator.generatePseudo(child)»
-			«ELSEIF r.transitiveSubStates.contains(child)»
-				«var nextParent = r.subvertices.filter(State).filter[it.transitiveSubStates.contains(child)].head»
-				«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«parent.regions.indexOf(r)»] = «nextParent.name.toUpperCase»_ID;
-				«generateEnteringSpecial(nextParent, child)»
-			«ELSEIF TransformationUtil.findInitialState(r) != null»
-				«TransformationUtil.getInitialEffect(r)»
-				«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«parent.regions.indexOf(r)»] = «TransformationUtil.findInitialState(r).name.toUpperCase»_ID;
-				«generateEnteringSubStates(TransformationUtil.findInitialState(r), true)»
-			«ENDIF»
-		«ENDFOR»
-		«ELSEIF parent.composite»
-			«IF child.container.state == parent»
-				«pseudostateGenerator.generatePseudo(child)»
-			«ELSE»
-				«var nextParent = parent.regions.head.subvertices.filter(State).filter[it.transitiveSubStates.contains(child)].head»
-				«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0] = «nextParent.name.toUpperCase»_ID;
-				«generateEnteringSpecial(nextParent, child)»
-			«ENDIF»
-		«ELSE»
-		«ENDIF»'''
-	}
-	
-	@Deprecated
-	def String generateEnteringSpecial(State parent, Pseudostate child, Transition t) {
-		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
-		return '''
-		«generateChangeState(parent)»
-		«TransformationUtil.getTransitionEffect(t)»
-		«getFptrCall(pAttr, false, ENTRY_NAME)»;
-		//start activity of «parent.name» by calling setFlag
-		«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
-		
-		«IF parent.orthogonal»
-		«FOR r:parent.regions»
-			«IF child.container == r»
-				«pseudostateGenerator.generatePseudo(child)»
-			«ELSEIF r.transitiveSubStates.contains(child)»
-				«var nextParent = r.subvertices.filter(State).filter[it.transitiveSubStates.contains(child)].head»
-				«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«parent.regions.indexOf(r)»] = «nextParent.name.toUpperCase»_ID;
-				«generateEnteringSpecial(nextParent, child)»
-			«ELSEIF TransformationUtil.findInitialState(r) != null»
-				«TransformationUtil.getInitialEffect(r)»
-				«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«parent.regions.indexOf(r)»] = «TransformationUtil.findInitialState(r).name.toUpperCase»_ID;
-				«generateEnteringSubStates(TransformationUtil.findInitialState(r), true)»
-			«ENDIF»
-		«ENDFOR»
-		«ELSEIF parent.composite»
-			«IF child.container.state == parent»
-				«pseudostateGenerator.generatePseudo(child)»
-			«ELSE»
-				«var nextParent = parent.regions.head.subvertices.filter(State).filter[it.transitiveSubStates.contains(child)].head»
-				«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0] = «nextParent.name.toUpperCase»_ID;
-				«generateEnteringSpecial(nextParent, child)»
-			«ENDIF»
-		«ELSE»
-		«ENDIF»'''
-	}
-	
-	
-	
-	
-	def String generateCompletionCall(State state) {
-		var callCompletionEvent = ''''''
-		var composite = state.container.state
-		if (composite == null) {
-			callCompletionEvent = ''''''
-		} else {
-			callCompletionEvent = '''
-			if («FOR r:composite.regions SEPARATOR ' && '»(«STATE_ARRAY_ATTRIBUTE»[«composite.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«composite.regions.indexOf(r)»] == «STATE_MAX»)«ENDFOR») {
-				«EVENT_QUEUE».push(statemachine::PRIORITY_1, NULL, COMPLETIONEVENT_ID, statemachine::COMPLETION_EVENT, «composite.name.toUpperCase»_ID);
-			}'''
-		}
-		return callCompletionEvent
-	}
-	
-	def TransitionGraph calculateTransitionGraphs(State s, Transition t) {
-		var ret = new TransitionGraph
-		ret.P.add(t.target as Pseudostate)
-		ret.T.add(t)
-		ret.S.add(s)
-		var target = t.target as Pseudostate
-		if (target.kind == PseudostateKind.JOIN_LITERAL) {
-			var ins = target.incomings.filter[it.source.container.state == s.container.state].toList
-			ret.S.addAll(ins.map[it.source].filter(State))
-			ret.T.addAll(ins)
-		}
-		var nexts = t.target.findTrans
-		ret.T.addAll(nexts)
-		var H = nexts.map[t.target].filter(Pseudostate).filter[
-			it.kind == PseudostateKind.DEEP_HISTORY_LITERAL || it.kind == PseudostateKind.SHALLOW_HISTORY_LITERAL
-		]
-		ret.P.addAll(H)
-		ret.P.addAll(nexts.map[it.source].filter(Pseudostate))
-		ret.L.addAll(nexts.map[it.target].filter(State))
-		return ret
-	}
-	
-	def List<Transition> findTrans(Vertex v) {
-		var ret= new UniqueEList<Transition>
-		ret.addAll(v.outgoings)
-		for(out:v.outgoings) {
-			if (!(out.target instanceof State)) {
-				ret.addAll(out.target.findTrans)
-			}
-		}
-		return ret
-	}
-	
-	def List<State> getRootStates(List<State> states) {
-		val ret = new ArrayList<State>
-		ret.addAll(states.filter[it.container == topRegion])
-		return ret
-	}
-	
-	def State getRootState(State state) {
-		var ret = state
-		while (ret.container.state != null) {
-			ret = ret.container.state
-		}
-		return ret
-	}
-	
-	
-	def getRegionNumber(State child) {
-		if (child.container == topRegion) {
-			return 0
-		}
-		return child.container.state.regions.indexOf(child.container)
-	}
-	
-	@Deprecated
-	def String generateHierarchy(List<State> hie, List<State> ins, int mode, List<Transition> ts) {
-		var ret = ""
-		var tmpHie = new ArrayList<State>
-		tmpHie.addAll(hie)
-		if (tmpHie.size == 1) {
-			if (mode == 0) {
-				ret = '''
-				«FOR s:ins SEPARATOR ' else '»
-				if (!isProcessed && «STATE_ARRAY_ATTRIBUTE»[«tmpHie.head.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«s.regionNumber»] == «s.name.toUpperCase»_ID) {
-					«eventTransform.generateTransitionCode(s, ts.filter[it.source == s].head)»
-				}
-				«ENDFOR»
-				'''
-			} else {
-				ret = '''
-				if (isProcessed) {
-					«FOR s:ins SEPARATOR ' else '»
-					if («STATE_ARRAY_ATTRIBUTE»[«tmpHie.head.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«s.regionNumber»] == «s.name.toUpperCase»_ID) {
-						«eventTransform.generateTransitionCode(s, ts.filter[it.source == s].head)»
-					}
-					«ENDFOR»
-				}
-				'''
-			}
-			
-		} else if (tmpHie.size > 1) {
-			var head = tmpHie.head
-			tmpHie.remove(head)
-			ret = '''
-			if (!isProcessed && «STATE_ARRAY_ATTRIBUTE»[«head.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«tmpHie.head.regionNumber»] == «tmpHie.head.name.toUpperCase»_ID) {
-				«generateHierarchy(tmpHie, ins, mode, ts)»
-			}'''
-		} else {
-			ret = '''«FOR s:ins SEPARATOR ' else '»
-					«eventTransform.generateTransitionCode(s, ts.filter[it.source == s].head)»
-				«ENDFOR»'''
-		}
-		return ret
-	}
-	
-	//get transitive parent states
-	def List<State> getTransitiveParentStates(Vertex s) {
-		var ret = new ArrayList<State>
-		var parent = s.container.state
-		while(parent != null) {
-			ret.add(parent)
-			parent = parent.container.state
-		}
-		return ret
-	}
-	
-	def List<State> getStateHierarchy(State s) {
-		var ret = new ArrayList<State>
-		var parent = s.container.state
-		while(parent != null && parent.container != topRegion) {
-			ret.add(0, parent)
-			parent = parent.container.state
-		}
-		return ret
-	}
-	
-	def List<Entry<List<State>, Integer>> calculateAcceptingStates(State parent, List<State> acceptingStates) {
-		var transitiveSubstates = parent.transitiveSubStates
-		val retTmp = new ArrayList<State>
-		transitiveSubstates.forEach[
-			if (acceptingStates.contains(it)) {
-				retTmp.add(it)
-			}
-		]
-		
-		//0->sequential, 1->parallel
-		val List<Entry<List<State>, Integer>> ret = new ArrayList
-		//sorting the result, the first item is the deepest state
-		val Map<Integer, List<State>> map = new HashMap
-		retTmp.forEach[
-			var depth = it.calculateDepth
-			if (!map.containsKey(depth)) {
-				map.put(depth, new ArrayList)
-			}
-			map.get(depth).add(it)
-		]		
-		
-		var maxDepth = findMax(map.keySet.toList)
-		for(var i = 0; i <= maxDepth; i++) {
-			if (map.containsKey(i)) {
-				if (map.get(i).size == 1) {
-					var newList = new ArrayList<State>
-					newList.addAll(map.get(i))
-					var mapEntry = new HashMap<List<State>, Integer>
-					mapEntry.put(newList, 0)
-					ret.addAll(mapEntry.entrySet)
-				} else {
-					val Map<State, List<State>> m = new HashMap
-					for(s:map.get(i)) {
-						if (!m.containsKey(s.container.state)) {
-							m.put(s.container.state, new ArrayList)
-						}
-						m.get(s.container.state).add(s)
-					}
-					for(en:m.entrySet) {
-						var mapEntry = new HashMap<List<State>, Integer>
-						var newList = new ArrayList<State>
-						newList.addAll(en.value)
-						if (en.key.orthogonal) {
-							mapEntry.put(newList, 1)
-							ret.addAll(mapEntry.entrySet)
-						} else {
-							mapEntry.put(newList, 0)
-							ret.addAll(mapEntry.entrySet)
-						}
-					}
-				}
-			}
-		}
-		
-		return ret
-	}
-	
-	private def int findMax(List<Integer> l) {
-		var ret = l.head
-		for (i : l) {
-			if (i > ret) {
-				ret = i
-			}
-		}
-		return ret
-	}
-
-	def int calculateDepth(State s) {
-		if (s.container == topRegion) {
-			return 1
-		} else {
-			return 1 + s.container.state.calculateDepth
-		}
-	}
-	
-	def generateDelegation(State s, List<Transition> transitions) {
-		return '''
-		«IF checkTransitiveSubStatesAcceptEvent(s, transitions)»
-		«IF s.orthogonal»
-		«ELSE»
-		
-		«ENDIF»
-		«ENDIF»'''
-	}
-	
-	//check whether the substate of a parent state accepts the event
-	def checkSubStatesAcceptEvent(State parent, List<Transition> transitions) {
-		val substates = new ArrayList<State>
-		parent.regions.forEach[
-			substates.addAll(it.subvertices.filter(State))
-		]
-		var ret = false
-		for(t:transitions) {
-			if (!ret && substates.contains(t.source)) {
-				ret = true
-			}
-		}
-		return ret
-	}
-	
-	//check whether the transitive substates of a parent state accepts the event
-	def checkTransitiveSubStatesAcceptEvent(State parent, List<Transition> transitions) {
-		val substates = TransformationUtil.transitiveSubStates(parent)
-		var ret = false
-		for(t:transitions) {
-			if (!ret && substates.contains(t.source)) {
-				ret = true
-			}
-		}
-		return ret
-	}
-	
-	//create State_t struct
-	def createStateStruct() {
-		superContext.createOwnedOperation("entry_dft", null, null)
-		superContext.createOwnedOperation("exit_dft", null, null)
-		superContext.createOwnedOperation("doActivity_dft", null, null)
-		
-		//stateStruct = targetPack.createOwnedPrimitiveType(STATE_STRUCT_NAME)
-		stateStruct = superContext.createNestedClassifier(STATE_STRUCT_NAME, UMLPackage.Literals.PRIMITIVE_TYPE)
-		StereotypeUtil.apply(stateStruct, Typedef)
-		UMLUtil.getStereotypeApplication(stateStruct, Typedef).definition = '''
-		struct «STATE_STRUCT_NAME» {
-			//«MAX_NUMBER_ORTHOGONAL_REGIONS» is configured as the maximum number of orthogonal regions a composite states can have
-			unsigned int /*«STATE_ID_ENUM»*/ «PREVIOUS_STATES»[«MAX_NUMBER_ORTHOGONAL_REGIONS»]; //for history states
-			unsigned int /*«STATE_ID_ENUM»*/ «ACTIVE_SUB_STATES»[«MAX_NUMBER_ORTHOGONAL_REGIONS»];
-			void («superContext.name»::*entry)();
-			void («superContext.name»::*exit)();
-			void («superContext.name»::*doActivity)();
-			«STATE_STRUCT_NAME»() {
-				entry = &«superContext.name»::entry_dft;
-				exit = &«superContext.name»::exit_dft;
-				doActivity = &«superContext.name»::doActivity_dft;
-				for(int i = 0; i < «MAX_NUMBER_ORTHOGONAL_REGIONS»; i++) {
-					«PREVIOUS_STATES»[i] = «STATE_MAX»;
-					«ACTIVE_SUB_STATES»[i] = «STATE_MAX»;
-				}
-			}
-		} '''
-		stateStruct.createDependency(stateIdEnum)
-	}
-	
-	def getFptrCall(String attr, boolean isPointer, String fptrName) {
-		if (isPointer) {
-			return '''(this->*«attr»->«fptrName»)()'''
-		} 
-		return '''(this->*«attr».«fptrName»)()'''
-	}
-
-	private def Map<Event, List<Transition>> getAllEvents(Region region) {
-		val Map<Event, List<Transition>> ret = new HashMap
-		var subVertices = region.subvertices
-		var transitions = region.transitions
-
-		transitions.forEach [
-			for (trigger : it.triggers) {
-				if (trigger.event != null) {
-					if (!ret.containsKey(trigger.event)) {
-						ret.put(trigger.event, new ArrayList)
-					}
-					if (!ret.get(trigger.event).contains(it)) {
-						ret.get(trigger.event).add(it)
-					}
-				}
-			}
-		]
-
-		subVertices.filter(typeof(State)).forEach [
-			for (subRe : it.regions) {
-				var m = subRe.allEvents
-				for (e : m.entrySet) {
-					if (!ret.containsKey(e.key)) {
-						ret.put(e.key, e.value)
-					} else {
-						ret.get(e.key).addAll(e.value)
-					}
-				}
-
-			}
-		]
-
-		return ret
-	}
-
-	private def void getAllActionsTransitionsStates(Region region) {
-		if (!regions.contains(region)) {
-			regions.add(region)
-		}
-		transitions.addAll(region.transitions.filter[it.source != null && it.target != null])
-		
-		transitions.filter[!parallelTransitions.contains(it)].forEach[
-			if (it.source instanceof Pseudostate) {
-				if ((it.source as Pseudostate).kind == PseudostateKind.FORK_LITERAL && it.effect != null) {
-					parallelTransitions.add(it)
-				}  
-			}
-			
-			if (it.target instanceof Pseudostate) {
-				if ((it.target as Pseudostate).kind == PseudostateKind.JOIN_LITERAL && it.effect != null) {
-					parallelTransitions.add(it)
-				}
-			}
-		]
-		
-		for (s : region.subvertices) {
-			vertexes.add(s)
-			if (s instanceof State) {
-				if (!(s instanceof FinalState)) {
-					states.add(s)
-				}
-				
-				if (s.entry != null && s.entry instanceof OpaqueBehavior) {
-					actions.add(s.entry as OpaqueBehavior)
-				}
-
-				if (s.exit != null && s.exit instanceof OpaqueBehavior) {
-					actions.add(s.exit as OpaqueBehavior)
-				}
-
-				if (createDoActivity && s.doActivity != null && s.doActivity instanceof OpaqueBehavior) {
-					actions.add(s.doActivity as OpaqueBehavior)
-				}
-
-				s.regions.forEach [
-					it.getAllActionsTransitionsStates
-				]
-			}
-
-		}
-	}
-	
-	public List<Region> orthogonalRegions = new ArrayList
-	
-	private def createRegionMethods() {
-		//create macro for regions
-		//regions.remove(topRegion)
-		var macros = ''''''
-		for(var i = 0; i < regions.size; i++) {
-			macros = '''
-			«macros»
-			#define «regions.get(i).regionMacroName» («i»)'''
-			regions.get(i).createRegionMethod
-			createRegionMethodExit(regions.get(i))
-			
-			if (regions.get(i).state != null && regions.get(i).state.orthogonal) {
-				orthogonalRegions.add(regions.get(i))
-			}
-		}
-		
-		for(var i = 0; i < orthogonalRegions.size; i++) {
-			appendIncludeHeader('''
-			#define «orthogonalRegions.get(i).regionMacroId» («i»)''')
-		}
-		
-		if (!StereotypeUtil.isApplied(superContext, Include)) {
-			StereotypeUtil.apply(superContext, Include)
-		}
-		var header = UMLUtil.getStereotypeApplication(superContext, Include).header
-		UMLUtil.getStereotypeApplication(superContext, Include).header = '''
-		«header»
-		«macros»'''
-		
-	}
-	
-	def getRegionMacroId(Region r) {
-		return '''REGION_ID_«r.state.name.toUpperCase»_«r.name.toUpperCase»'''
-	}
-	
-	def getRegionMethodName(Region r) {
-		if (r == topRegion) {
-			return '''«r.stateMachine.name»_«r.name»_Enter'''
-		}
-		return '''«r.state.name»_«r.name»_Enter'''
-	}
-	
-	def getRegionMacroName(Region r) {
-		if (r == topRegion) {
-			return '''«r.stateMachine.name.toUpperCase»_«r.name.toUpperCase»'''
-		}
-		return '''«r.state.name.toUpperCase»_«r.name.toUpperCase»'''
-	}
-	
-	def getVertexMacroName(Vertex v) {
-		if (v.container == topRegion) {
-			return '''«topRegion.stateMachine.name.toUpperCase»_«v.container.name.toUpperCase»_«v.name.toUpperCase»'''
-		}
-		return '''«v.container.state.name.toUpperCase»_«v.container.name.toUpperCase»_«v.name.toUpperCase»'''
-	}
-	
-	def getInitialMacroName(Region r) {
-		if (r == topRegion) {
-			return '''«r.stateMachine.name.toUpperCase»_«r.name.toUpperCase»_DEFAULT'''
-		}
-		return '''«r.state.name.toUpperCase»_«r.name.toUpperCase»_DEFAULT'''
-	}
-	
-	private String paramName = "enter_mode"
-	
-	private def getSubVertexes(State state) {
-		val ret = new ArrayList<Vertex>
-		state.regions.forEach[
-			ret.addAll(it.subvertices)
-		]
-		return ret
-	}
-	
-	private def void createRegionMethod(Region r) {
-		var endVertexs = new ArrayList<Vertex>
-		
-		//state2TransSubVertices maps from a sub-state sub of r to its sub-vertices (of sub) which
-		// have incoming transitions outgoing from a vertex which is not a transitive sub-vertex of r 
-		var Map<State, List<Vertex>> state2TransSubVertices = new HashMap
-		//looking for vertexes having transitions incoming from vertexes which are not direct or indirect sub-vertex of r
-		for(v:r.subvertices) {
-			val incomings = v.incomings.filter[it.container != v.container || (it.source instanceof State && (it.source as State).subVertexes.contains(it.target))]
-			val sources = incomings.map[it.source]
-			if (sources.size > 0) {
-				if (!endVertexs.contains(v)) {
-					endVertexs.add(v)
-				}
-			}
-			
-			//looking for vertex
-			
-			if (v instanceof State) {
-				val subvertices = new ArrayList<Vertex>
-				v.regions.forEach[subvertices.addAll(it.allSubVertexes)]
-				for(subV:subvertices) {
-					var sourcesOfIncomings = subV.incomings.map[it.source]
-					
-					//sourcesOutSideOfR is a list of vertices having transitions targeting subV
-					var sourcesOutSideOfR = sourcesOfIncomings.filter[!subvertices.contains(it)]
-					if (sourcesOutSideOfR.size > 0) {
-						if (!state2TransSubVertices.containsKey(v)) {
-							state2TransSubVertices.put(v, new ArrayList)
-						}
-						state2TransSubVertices.get(v).add(subV)
-					}
-				}
-			}
-		}
-		var switchBody = ''''''
-		var body = ''''''
-		var macros = ''''''
-		//create macros for vertexes which are used to differentiate ways entering the region/state
-		if (TransformationUtil.firstPseudoState(r, PseudostateKind.INITIAL_LITERAL) != null) {
-			var initialP = TransformationUtil.firstPseudoState(r, PseudostateKind.INITIAL_LITERAL)
-			var initialState = initialP.outgoings.head.target as State
-			var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«initialState.name.toUpperCase»_ID]'''
-			macros = '''
-			«macros»
-			#define «r.initialMacroName» (0)'''
-			body = '''
-			«body»
-			case «r.initialMacroName»:
-				«TransformationUtil.getTransitionEffect(initialP.outgoings.head)»
-				«generateChangeState(initialState)»
-				
-				«IF initialState.entry.isBehaviorExist»
-				«getFptrCall(pAttr, false, ENTRY_NAME)»;
-				//starting the counters for time events
-				«ENDIF»
-				«generateActivateTimeEvent(initialState)»
-				
-				«IF initialState.doActivity.isBehaviorExist || initialState.hasTriggerlessTransition»
-				//start activity of «initialState.name» by calling setFlag
-				«SET_FLAG»(«initialState.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
-				«ENDIF»
-				«IF initialState.composite»
-					«IF initialState.orthogonal»
-					//TODO: fork region funtions
-					«FOR subRegion: initialState.regions»
-						//«subRegion.regionMethodName»(«subRegion.initialMacroName»);
-						«concurrency.generateForkCall(subRegion, true, subRegion.initialMacroName)»
-					«ENDFOR»
-					//TODO: join region functions
-					«FOR subRegion: initialState.regions»
-						//«subRegion.regionMethodName»(«subRegion.initialMacroName»);
-						«concurrency.generateJoinCall(subRegion, true)»
-					«ENDFOR»
-					«ELSE»
-						«initialState.regions.head.regionMethodName»(«initialState.regions.head.initialMacroName»);
-					«ENDIF»
-				«ENDIF»
-				//TODO: set systemState to EVENT_CONSUMED
-				break;'''
-		}
-		for(var i = 0; i < endVertexs.size; i++) {
-			macros = '''
-			«macros»
-			#define «endVertexs.get(i).vertexMacroName» («i + 1»)'''
-		}
-		if (UMLUtil.getStereotypeApplication(superContext, Include) == null) {
-			StereotypeUtil.apply(superContext, Include)
-		}
-		var header = UMLUtil.getStereotypeApplication(superContext, Include).header
-		UMLUtil.getStereotypeApplication(superContext, Include).header = '''
-		«header»
-		«macros»'''
-		
-		
-		var regionMethod = superContext.createOwnedOperation(r.regionMethodName, null, null)
-		regionMethod.createOwnedParameter(paramName, charType)
-		for(v:endVertexs) {
-			if (v instanceof State) {
-				var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«v.name.toUpperCase»_ID]'''
-				body = '''
-				«body»
-				case «v.vertexMacroName»:
-					«generateChangeState(v)»
-					«IF v.entry.isBehaviorExist»
-					«getFptrCall(pAttr, false, ENTRY_NAME)»;
-					«ENDIF»
-					//starting the counters for time events
-					«generateActivateTimeEvent(v)»
-					«IF v.doActivity.isBehaviorExist || v.hasTriggerlessTransition»
-					//start activity of «v.name» by calling setFlag
-					«SET_FLAG»(«v.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
-					«ENDIF»
-					«IF v.composite»
-						«IF v.orthogonal»
-						//TODO: fork region funtions
-						«FOR subRegion: v.regions»
-							//«subRegion.regionMethodName»(«subRegion.initialMacroName»);
-							«concurrency.generateForkCall(subRegion, true, subRegion.initialMacroName)»
-						«ENDFOR»
-						//TODO: join region functions
-						«FOR subRegion: v.regions»
-							//«subRegion.regionMethodName»(«subRegion.initialMacroName»);
-							«concurrency.generateJoinCall(subRegion, true)»
-						«ENDFOR»
-						«ELSE»
-							«v.regions.head.regionMethodName»(«v.regions.head.initialMacroName»);
-						«ENDIF»
-					«ENDIF»
-					//TODO: set systemState to EVENT_CONSUMED
-					break;'''
-			} else {
-				body = '''
-				«body»
-				case «v.vertexMacroName»: 
-					«pseudostateGenerator.generatePseudo(v as Pseudostate)»
-					//TODO: set systemState to EVENT_CONSUMED
-					break;'''
-			}
-		}
-		if (r != topRegion) {
-			for(e:state2TransSubVertices.entrySet) {
-				var state = e.key
-				for(transitiveSubVertex:e.value) {
-					body = '''
-					«body»
-					case «transitiveSubVertex.vertexMacroName»:
-						«generateEnteringOnSubVertex(state, transitiveSubVertex)»
-						break;'''
-				}
-			}
-		}
-		switchBody = '''
-		switch(«paramName») {
-			«body»
-		}'''
-		superContext.createOpaqueBehavior(regionMethod, switchBody)
-	}
-	
-	def generateEnteringOnSubVertex(State parent, Vertex subVertex) {
-		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
-		return '''
-		«generateChangeState(parent)»
-		«IF parent.entry.isBehaviorExist»
-			«getFptrCall(pAttr, false, ENTRY_NAME)»;
-		«ENDIF»
-		//starting the counters for time events
-		«generateActivateTimeEvent(parent)»
-		«IF parent.doActivity.isBehaviorExist || parent.hasTriggerlessTransition»
-			//start activity of «parent.name» by calling setFlag
-			«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
-		«ENDIF»
-		«IF parent.composite && parent != subVertex»
-			«IF parent.orthogonal»
-				«var toJoinList = new ArrayList<Region>»
-				«FOR r:parent.regions»
-					«IF subVertex != null»
-						«IF subVertex.container == r»
-							«var b = toJoinList.add(r)»
-							//«getRegionMethodName(r)»(«subVertex.vertexMacroName»);
-							«concurrency.generateForkCall(r, true, subVertex.vertexMacroName)»
-						«ELSEIF r.allSubVertexes.contains(subVertex)»
-							«var b = toJoinList.add(r)»
-							//«getRegionMethodName(r)»(«subVertex.vertexMacroName»);
-							«concurrency.generateForkCall(r, true, subVertex.vertexMacroName)»
-						«ELSEIF TransformationUtil.findInitialState(r) != null»
-							«var b = toJoinList.add(r)»
-							//«getRegionMethodName(r)»(«r.initialMacroName»);
-							«concurrency.generateForkCall(r, true, r.initialMacroName)»
-						«ENDIF»
-					«ELSEIF subVertex != null && subVertex.container == null»
-						«IF subVertex.eContainer == parent»
-							«var b = toJoinList.add(r)»
-							«concurrency.generateForkCall(r, true, subVertex.vertexMacroName)»
-						«ELSE»
-							«var b = toJoinList.add(r)»
-							«concurrency.generateForkCall(r, true, subVertex.vertexMacroName)»
-						«ENDIF»
-					«ELSE»
-						«IF TransformationUtil.findInitialState(r) != null»
-							«var b = toJoinList.add(r)»
-							//«getRegionMethodName(r)»(«r.initialMacroName»);
-							«concurrency.generateForkCall(r, true, r.initialMacroName)»
-						«ENDIF»
-					«ENDIF»
-				«ENDFOR»
-				«FOR r:toJoinList»
-					«concurrency.generateJoinCall(r, true)»
-				«ENDFOR»
-			«ELSEIF parent.composite»
-				«IF subVertex != null»
-					«IF subVertex.container == null && subVertex.eContainer instanceof State»
-						«getRegionMethodName(parent.regions.head)»(«subVertex.vertexMacroName»);
-					«ELSEIF subVertex.container.state == parent»
-						«getRegionMethodName(parent.regions.head)»(«subVertex.vertexMacroName»);
-					«ELSE»
-						«var containingRegion = parent.regions.filter[it.allSubVertexes.contains(subVertex)].head»
-						«getRegionMethodName(containingRegion)»(«subVertex.vertexMacroName»);
-					«ENDIF»
-				«ELSE»
-					«getRegionMethodName(parent.regions.head)»(«parent.regions.head.initialMacroName»);
-				«ENDIF»
-			«ELSE»
-			«ENDIF»
-		«ELSEIF parent.composite && parent == subVertex»
-			«IF parent.orthogonal»
-				«var toJoinList = new ArrayList<Region>»
-				«FOR r:parent.regions»
-					«IF TransformationUtil.findInitialState(r) != null»
-						«var b = toJoinList.add(r)»
-						//«getRegionMethodName(r)»(«r.initialMacroName»);
-						«concurrency.generateForkCall(r, true, r.initialMacroName)»
-					«ENDIF»
-				«ENDFOR»
-				«FOR r:toJoinList»
-					«concurrency.generateJoinCall(r, true)»
-				«ENDFOR»
-			«ELSE»
-				«IF TransformationUtil.findInitialState(parent.regions.head) != null»
-					«getRegionMethodName(parent.regions.head)»(«parent.regions.head.initialMacroName»);
-				«ENDIF»
-			«ENDIF»
-		«ENDIF»'''
-		
-	}
-	
-	private def createRegionMethodExit(Region r) {
-		if (r.state == null || !r.state.composite) {
-			return
-		}
-		
-		//todo: save states for history
-		
-		var parent = r.state
-		var body = '''
-		//exiting region «r.name»
-		«var regionIndex = r.state.regions.indexOf(r)»
-		«FOR s:r.subvertices.filter(State).filter[!(it instanceof FinalState) && it.composite] SEPARATOR ' else '»
-			if («STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«regionIndex»] == «s.name.toUpperCase»_ID) {
-				«IF s.orthogonal»
-				«FOR subRegion:s.regions»
-					«concurrency.generateForkCall(subRegion, false, "0")»
-				«ENDFOR»
-				«FOR subRegion:s.regions»
-					«concurrency.generateJoinCall(subRegion, false)»
-				«ENDFOR»
-				«ELSE»
-					«getRegionMethodExitName(s.regions.head)»();
-				«ENDIF»
-			}
-		«ENDFOR»
-		if («STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«regionIndex»] != «STATE_MAX») {
-			//signal to exit the doActivity of sub-state of «parent.name»
-			«SET_FLAG»(«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0], «THREAD_FUNC_DOACTIVITY_TYPE», false);
-			«FOR sub:r.subvertices.filter(State) SEPARATOR ' else '»
-				«IF states2TimeEvents.get(sub) != null»
-				if («sub.name.toUpperCase»_ID == «STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«regionIndex»]) {
-					«sub.generateDeactivateTimeEvent»
-				}
-				«ENDIF»	
-			«ENDFOR»
-			//exit action of sub-state of «parent.name»
-			(this->*«STATE_ARRAY_ATTRIBUTE»[«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0]].«EXIT_NAME»)();
-			«IF TransformationUtil.isSavehistory(topRegion, r)»
-				//save history region «r.name» of state «parent.name»
-				«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«PREVIOUS_STATES»[«regionIndex»] = «STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«regionIndex»];
-			«ENDIF»
-			//set active sub-state of «parent.name» to «STATE_MAX» meaning NULL
-			«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«regionIndex»] = «STATE_MAX»;
-		}'''
-		var exitOp = superContext.createOwnedOperation(r.regionMethodExitName, null, null)
-		superContext.createOpaqueBehavior(exitOp, body)
-	}
-	
-	
-	
-	private def getRegionMethodExitName(Region r) {
-		if (r == topRegion) {
-			return '''«r.stateMachine.name»_«r.name»_Exit'''
-		}
-		return '''«r.state.name»_«r.name»_Exit'''
-	}
-	
-	def List<Vertex> allSubVertexes(Region r) {
-		val ret = new ArrayList<Vertex>
-		ret.addAll(r.subvertices)
-		r.subvertices.filter(State).forEach[
-			it.regions.forEach[
-				ret.addAll(it.allSubVertexes)
-			]
-		] 
-		return ret
-	}
-	
-	private def List<Vertex> allSubVertexes(State s) {
-		val ret = new ArrayList<Vertex>
-		s.regions.forEach[
-			ret.addAll(it.allSubVertexes)
-		]
-		return ret
-	}
-
-	private def createOpaqueBehavior(Class container, Operation op) {
-		var opaque = op.methods.filter(typeof(OpaqueBehavior)).head
-		if (opaque == null) {
-			opaque = container.createClassifierBehavior(op.name, UMLPackage.Literals.OPAQUE_BEHAVIOR) as OpaqueBehavior
-			op.methods.add(opaque)
-			opaque.languages.add(langID)
-		}
-		return opaque
-	}
-
-	def createOpaqueBehavior(Class container, Operation op, String body) {
-		var opaque = container.createOpaqueBehavior(op)
-		if (opaque.bodies.size > 0) {
-			opaque.bodies.set(0, body)
-		} else {
-			opaque.languages.add(langID)
-			opaque.bodies.add(body)
-		}
-		return opaque
-	}
-
-	public def createDerivedOperation(Class clz, Operation source) {
-		var name = source.name
-		var derivedOp = clz.createOwnedOperation(name, null, null)
-		OperationUtils.syncOperation(source, derivedOp)
-		derivedOp.name = name
-		StereotypeUtil.apply(derivedOp, DerivedElement)
-		UMLUtil.getStereotypeApplication(derivedOp, DerivedElement).source = source
-		derivedOp.setVirtual
-		derivedOp
-
-	}
-	
-	public def copyParameters(Operation source, Operation target, boolean isCopyReturn) {
-		var name = target.name
-		OperationUtils.syncOperation(source, target)
-		if (!isCopyReturn) {
-			var ret = target.ownedParameters.filter[it.direction == ParameterDirectionKind.RETURN_LITERAL]
-			target.ownedParameters.removeAll(ret)
-		}
-		for(stt:target.stereotypeApplications) {
-			StereotypeUtil.applyApp(target, stt.class)
-		}
-		target.name = name
-	}
-
-	private def setVirtual(Operation op) {
-		StereotypeUtil.apply(op, Virtual)
-	}
-	
-	def getGuard(Transition t) {
-		return (t.guard.specification as OpaqueExpression).bodies.head
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/SMCodeGeneratorConstants.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/SMCodeGeneratorConstants.xtend
deleted file mode 100644
index 01bb075..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/SMCodeGeneratorConstants.xtend
+++ /dev/null
@@ -1,118 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.modellibs.core.statemachine
-
-class SMCodeGeneratorConstants {
-	public static String PROCESSFROM = "processFrom"
-	public static String PROCESSEVENT = "processEvent"
-	public static String ACTIVE_SUB_STATE = "activeSubState"
-	public static String PREVIOUS_SUB_STATE = "previouSubState"
-	public static String RESTORE_DEEP_HISTORY_FUNC_NAME = "restoreDeepHistory"
-	public static String RESTORE_SHALLOW_HISTORY_FUNC_NAME = "restoreShallowHistory"
-	public static String ON_ENTRY_ACTION_FUNC_NAME = "onEntryAction"
-	public static String ON_EXIT_ACTION_FUNC_NAME = "onExitAction"
-	public static String SET_INIDEFAULT_STATE_FUNC_NAME = "setInitDefaultState"
-	public static String SET_SHALLOW_HISTORY_DEFAULT_STATE_FUNC_NAME = "setShallowHistoryDefaultState"
-	public static String SET_DEEP_HISTORY_DEFAULT_STATE_FUNC_NAME = "setDeepHistoryDefaultState"
-	public static String CONTEXT = "context"
-	public static String ANCESTOR = "ancestor"
-	public static String ASSIGNMENT_OPERATOR = "operator="
-	public static String ORTHOGONAL_STATE_CLASS_NAME = "OrthogonalState"
-	public static String ENTRY_COMPOSITE_ON_HISTORY = "entryCompositeOnHistory"
-	public static String ENTRY_COMPOSITE_ON_PARTICULAR_SUBSTATE = "entryCompositeOnSubState"
-	public static String TIMED_STATE_INTERFACE_NAME = "TimedState"
-	public static String TIMER_CLASS_NAME = "Timer"
-	public static String TIMEOUT_NAME = "timeout"
-	public static String TIMEOUT_MILISECOND_NAME = "milisec"
-	public static String TIMED_STATE_ATTR_NAME = "timedState"
-	public static String START_THREAD_FUNC_NAME = "startThread"
-	public static String WAIT_THREAD_FUNC_NAME = "waitThread"
-	public static String START_INTERNAL_THREAD_NAME = "startInternalThread"
-	public static String INTERNAL_THREAD_ENTRY_NAME = "startInternalThreadEntry"
-	public static String PTHREAD_ATTR_NAME = "mThread"
-	public static String EVENT_POOL_NAME = "eventPool"
-	public static String TIMER_POOL_NAME = "timerPool"
-	public static String MAX_NUMER_EVENT = "50"
-	public static String MAX_NUMBER_TIME_EVENT = "50"
-	public static String MAX_NUMBER_EVENT_NAME = "MAX_EVENT"
-	public static String MAX_NUMBER_TIME_EVENT_NAME = "MAX_TIME_EVENT"
-	public static String NUMBER_EVENT_NAME = "numberEvent"
-	public static String NUMBER_TIME_EVENT_NAME = "numberTimeEvent"
-	public static String EVENT_READ_POS_NAME = "eventReadPos"
-	public static String TIME_EVENT_READ_POS_NAME = "timeEventReadPos"
-	public static String EVENT_WRITE_POS_NAME = "eventWritePos"
-	public static String TIME_EVENT_WRITE_POS_NAME = "timeEventWritePos"
-	public static String POP_EVENT = "popEvent"
-	public static String POP_TIME_EVENT = "popTimeEvent"
-	public static String PROCESSTIMEEVENT = "processTimeEvent"
-	public static String SIGNAL_EVENT_NAME = "signal_name"
-	public static String CALL_OPERATION_NAME = "operation_name"
-	public static String ENTRY_COMPOSITE_ON_POINT = "entryOn_"
-	public static String EXIT_COMPOSITE_ON_POINT = "exitOn_"
-	public static String TRANSITION_ON_EXP = "transitionOn_"
-	public static String ENTRY_ON_FORK = "entryOn_"
-	public static String DO_ACTIVITY_NAME = "doActivity"
-	public static String ON_ACTIVITY_THREAD = "onActivityThread"
-	public static String TRIGGERLESS_TRANSITION = "triggerlessTransition"
-	public static String ENTRY_NAME = "entry"
-	public static String EXIT_NAME = "exit"
-	public static String STATE_STRUCT_NAME = "State_t"
-
-	public static String ON_ACTIVITY_ACTION_NAME = "onActivityAction"
-	public static String ON_EXIT_ACTIVITY = "onExitActivity"
-	public static String cpp11ThreadAttributeName = "theThread"
-	public static String STATE_ARRAY_ATTRIBUTE = "states"
-	public static String ACTIVE_ROOT_STATE_ID = "activeStateID"
-	public static String STATE_MAX = "STATE_MAX"
-	public static String PREVIOUS_STATES = "previousStates"
-	public static String ACTIVE_SUB_STATES = "actives"
-	public static String COMPLETION_EVENT = "CompletionEvent"
-	public static String THREADS = "threads"
-	public static String THREADS_TIME_EVENT = "timeEventThreads"
-	public static String THREADS_CHANGE_EVENT = "changeEventThreads"
-	public static String FLAGS_ACTIVITY = "flags"
-	public static String FLAGS_TIME_EVENT = "timeEventFlags"
-	
-	public static String MUTEXES = "mutexes"
-	public static String MUTEXES_TIME_EVENT = "timeEventMutexes"
-	public static String CONDITIONS = "conds"
-	public static String CONDITIONS_TIME_EVENT = "timeEventConds"
-	public static String STRUCT_FOR_THREAD = "statemachine::StructForThread_t"
-	public static String THREAD_STRUCTS = "threadStructs"
-	public static String THREAD_STRUCTS_FOR_TIMEEVENT = "timeEventThreadStructs"
-	public static String THREAD_STRUCTS_FOR_CHANGEEVENT = "changeEventThreadStructs"
-	public static String THREAD_FUNC_WRAPPER = "thread_func_wrapper"
-	public static String FPT_POINTER_FOR_TABLE = "FptPointer"
-	public static String DO_ACTIVITY_TABLE = "doActivityTable"
-	public static String TIME_EVENT_TABLE = "timeEventTable"
-	public static String REGION_TABLE = "regionTable"
-	public static String PARALLEL_TRANSITION_TABLE = "transitionTable"
-	public static String REGION_TABLE_EXIT = "regionExitTable"
-	public static String REGION_FUNCTION_PTR = "RegionFunctionPtr_t"
-	public static String CHANGE_EVENT_TABLE = "changeEventTable"
-	public static String DO_CALL_ACTIVITY = "doCallActivity"
-	public static String SET_FLAG = "setFlag"
-	public static String STATE_ID_ENUM = "StateIDEnum"
-	public static String FORK_NAME = "pthread_create"
-	public static String JOIN_NAME = "pthread_join"
-	public static String EVENT_ID = "EventId_t"
-	public static String THREAD_FUNC_TIMEEVENT_TYPE = "statemachine::TF_TIME_EVENT"
-	public static String THREAD_FUNC_CHANGEEVENT_TYPE = "statemachine::TF_CHANGE_EVENT"
-	public static String THREAD_FUNC_DOACTIVITY_TYPE = "statemachine::TF_DO_ACTIVITY"
-	public static String THREAD_FUNC_ENTER_REGION_TYPE = "statemachine::TF_ENTER_REGION"
-	public static String THREAD_FUNC_EXIT_REGION_TYPE = "statemachine::TF_EXIT_REGION"
-	public static String THREAD_FUNC_TRANSITION_TYPE = "statemachine::TF_TRANSITION"
-	
-	public static String TIME_EVENT_LISTEN_FUNCTION = "listenTimeEvent"
-	public static String CHANGE_EVENT_LISTEN_FUNCTION = "listenChangeEvent"
-	public static String SYSTEM_STATE_ATTR = "systemState"
-	public static String EVENT_DISPATCH = "dispatchEvent"
-	public static String THREAD_FUNC_STATE_MACHINE_TYPE = "statemachine::TF_STATE_MACHINE_TYPE"
-	public static String EVENT_QUEUE = "eventQueue"
-	public static String RUN_TO_COMPLETION_MUTEX = "runToCompletionMutex"
-	public static String RUN_TO_COMPLETION_COND = "runToCompletionCond"
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/TimeEventTransformation.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/TimeEventTransformation.xtend
deleted file mode 100644
index 4e94a5f..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/TimeEventTransformation.xtend
+++ /dev/null
@@ -1,94 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.modellibs.core.statemachine
-
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
-import org.eclipse.uml2.uml.util.UMLUtil
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Array
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.statemachine.SMCodeGeneratorConstants.*
-
-class TimeEventTransformation {
-	protected extension CDefinitions cdefs;
-	private SM2ClassesTransformationCore core
-	PThreadTypes ptTypes
-	org.eclipse.uml2.uml.Class superContext
-	org.eclipse.uml2.uml.Package targetPack
-	new (SM2ClassesTransformationCore core) {
-		this.core = core
-		this.superContext = core.superContext
-		this.targetPack = core.targetPacket
-		this.ptTypes = core.ptTypes
-		this.cdefs = core.cdefs
-	}
-	
-	public def createTimeEvents() {
-		if (core.timeEvents.empty) {
-			return
-		}
-		core.appendIncludeHeader('''#include "time.h"
-		#include "sys/time.h"''')
-		var timeEventTable = superContext.createOwnedAttribute(TIME_EVENT_TABLE, core.fptr)
-		StereotypeUtil.apply(timeEventTable, Array)
-		UMLUtil.getStereotypeApplication(timeEventTable, Array).definition = '''[«core.timeEvents.size»]'''
-		
-		var threads = superContext.createOwnedAttribute(THREADS_TIME_EVENT, ptTypes.pthread)
-		StereotypeUtil.apply(threads, Array)
-		UMLUtil.getStereotypeApplication(threads, Array).definition = '''[«core.timeEvents.size»]'''
-		
-		var timeEventFlags = superContext.createOwnedAttribute(FLAGS_TIME_EVENT, core.boolType)
-		StereotypeUtil.apply(timeEventFlags, Array)
-		UMLUtil.getStereotypeApplication(timeEventFlags, Array).definition = '''[«core.timeEvents.size»]'''
-		
-		var timeEvnetConds = superContext.createOwnedAttribute(CONDITIONS_TIME_EVENT, ptTypes.pthreadCond)
-		StereotypeUtil.apply(timeEvnetConds, Array)
-		UMLUtil.getStereotypeApplication(timeEvnetConds, Array).definition = '''[«core.timeEvents.size»]'''
-		
-		var timeEventMutexes = superContext.createOwnedAttribute(MUTEXES_TIME_EVENT, ptTypes.pthreadMutex)
-		StereotypeUtil.apply(timeEventMutexes, Array)
-		UMLUtil.getStereotypeApplication(timeEventMutexes, Array).definition = '''[«core.timeEvents.size»]'''
-		
-		var threadStructs = superContext.createOwnedAttribute(THREAD_STRUCTS_FOR_TIMEEVENT, core.concurrency.threadStructType)
-		StereotypeUtil.apply(threadStructs, Array)
-		UMLUtil.getStereotypeApplication(threadStructs, Array).definition = '''[«core.timeEvents.size»]''' 
-		
-		//create timeEvent function sleep during an amount of time
-		var timeEventOp = superContext.createOwnedOperation(TIME_EVENT_LISTEN_FUNCTION, null, null)
-		timeEventOp.createOwnedParameter("id", core.intType)
-		timeEventOp.createOwnedParameter("duration", core.intType)
-		core.createOpaqueBehavior(superContext, timeEventOp, '''
-		struct timeval tv;
-		struct timespec ts;
-		int timedWaitResult;
-		while(true) {
-			pthread_mutex_lock(&«MUTEXES_TIME_EVENT»[id]);
-			while(!«FLAGS_TIME_EVENT»[id]) {
-				pthread_cond_wait(&«CONDITIONS_TIME_EVENT»[id], &«MUTEXES_TIME_EVENT»[id]);
-			}
-			
-			gettimeofday(&tv, NULL);
-			ts.tv_sec = time(NULL) + duration / 1000;
-			ts.tv_nsec = tv.tv_usec * 1000 + 1000 * 1000 * (duration % 1000);
-			ts.tv_sec += ts.tv_nsec / (1000 * 1000 * 1000);
-			ts.tv_nsec %= (1000 * 1000 * 1000);
-			
-			timedWaitResult = pthread_cond_timedwait(&«CONDITIONS_TIME_EVENT»[id], &«MUTEXES_TIME_EVENT»[id], &ts);
-			
-		  	bool commitEvent = false;
-		  	if (timedWaitResult != 0) {
-		  		//timeout
-		  		commitEvent = true;
-		  	}
-			«FLAGS_TIME_EVENT»[id] = false;
-			pthread_cond_signal(&«CONDITIONS_TIME_EVENT»[id]);
-			pthread_mutex_unlock(&«MUTEXES_TIME_EVENT»[id]);
-			if (commitEvent) {
-				//the state does not change, push time event to the queue
-				«EVENT_QUEUE».push(statemachine::PRIORITY_2, NULL, id, statemachine::TIME_EVENT, id);
-			}
-		}''')
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/TransformationUtil.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/TransformationUtil.xtend
deleted file mode 100644
index d8e8e0b..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/TransformationUtil.xtend
+++ /dev/null
@@ -1,186 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.modellibs.core.statemachine
-
-import java.util.Map
-import org.eclipse.uml2.uml.StateMachine
-import java.util.HashMap
-import org.eclipse.uml2.uml.Class
-import org.eclipse.uml2.uml.Pseudostate
-import org.eclipse.uml2.uml.Vertex
-import org.eclipse.uml2.uml.Region
-import org.eclipse.uml2.uml.PseudostateKind
-import java.util.List
-import org.eclipse.uml2.uml.State
-import java.util.ArrayList
-import org.eclipse.uml2.uml.OpaqueBehavior
-import org.eclipse.uml2.uml.Transition
-import org.eclipse.uml2.uml.FinalState
-import org.eclipse.uml2.uml.Event
-import org.eclipse.uml2.uml.Behavior
-import org.eclipse.papyrus.designer.components.modellibs.core.xtend.CppUtils
-
-class TransformationUtil {
-
-	static def getStateMachineClass(org.eclipse.uml2.uml.Package pack) {
-		val Map<Class, StateMachine> map = new HashMap
-		
-		pack.ownedElements.filter(typeof(Class)).forEach[
-			var behavior = it.ownedBehaviors.filter(typeof(StateMachine)).head
-			if (behavior != null) {
-				map.put(it, behavior)
-			}
-		]
-		
-		return map
-	}
-	
-	public static def Pseudostate firstPseudoState(Region region, PseudostateKind kind) {
-		for (Vertex vertex : region.getSubvertices()) {
-			if (vertex instanceof Pseudostate) {
-				var pseudoState = vertex as Pseudostate
-				if (pseudoState.getKind() == kind) {
-					return pseudoState;
-				}
-			}
-		}
-		return null;
-	}
-	
-	public static def List<State> findCompositeStatesInRegion(Vertex des1, Vertex des2) {
-		var ret = new ArrayList<State>
-		val path1 = new ArrayList<State>
-		if (des1 instanceof State) {
-			path1.add(des1)
-		}
-		var owner1 = des1.container.state
-		while(owner1 != null) {
-			path1.add(owner1)
-			owner1 = owner1.container.state
-		}
-
-		var owner2 = des2
-		while(owner2 != null && ret.empty) {
-			for(s:path1) {
-				if (s.container == owner2.container && owner2 instanceof State) {
-					ret.add(s)
-					ret.add(owner2 as State)
-				}
-			}
-			owner2 = owner2.container.state
-		}
-
-		return ret
-	}
-	
-	def static State findInitialState(Region r) {
-		var pseudoDefault = TransformationUtil.firstPseudoState(r, PseudostateKind.INITIAL_LITERAL)
-		if (pseudoDefault != null) {
-			return pseudoDefault.outgoings.head.target as State
-		}
-		return null
-	}
-	
-	def static String getInitialEffect(Region r) {
-		var pseudoDefault = TransformationUtil.firstPseudoState(r, PseudostateKind.INITIAL_LITERAL)
-		if (pseudoDefault != null) {
-			var t = pseudoDefault.outgoings.head
-			if (t.effect != null && t.effect instanceof OpaqueBehavior) {
-				return (t.effect as OpaqueBehavior).bodies.head
-			}
-		}
-		return "//no initial effect is defined"
-	}
-	
-	def static String getTransitionEffect(Transition t) {
-		if (t.effect != null && t.effect instanceof OpaqueBehavior) {
-			return (t.effect as OpaqueBehavior).bodies.head
-		}
-		return ''''''
-	}
-	
-	def static List<State> transitiveSubStates(State parent) {
-		val ret = new ArrayList<State>
-		if (parent.composite) {
-			for(r:parent.regions) {
-				ret.addAll(r.subvertices.filter(State))
-				r.subvertices.filter(State).forEach[
-					ret.addAll(it.transitiveSubStates)
-				]
-			}
-		}
-		return ret
-	}
-	
-	def static List<State> transitiveSubStates(Region parent) {
-		val ret = new ArrayList<State>
-		parent.subvertices.filter(State).filter[!(it instanceof FinalState)].forEach[
-			ret.add(it)
-			ret.addAll(it.transitiveSubStates)
-		]
-		return ret
-	}
-
-	/**
-	 * Return the name of an event (remove non-ASCII characters)
-	 */
-	public def static eventName(Event event) {
-		var name = ""
-		var repeat = false
-		for (c : event.name.toCharArray) {
-			if (Character.isAlphabetic(c) || Character.isDigit(c)) {
-				name += c
-				repeat = false;
-			}
-			else if (!repeat) {
-				name += "_";
-				repeat = true;
-			}
-		}
-		name
-	}
-
-	/**
-	 * Return the ID of an event
-	 */
-	public def static eventID(Event event) {
-		event.eventName.toUpperCase + "_ID"
-	}
-	
-	def static isSavehistory(Region topRegion, Region r) {
-		if (r.subvertices.filter(Pseudostate).filter[it.kind == PseudostateKind.SHALLOW_HISTORY_LITERAL].size > 0) {
-			return true
-		}
-		
-		return topRegion.isSaveDeepHistory(r)
-	}
-	
-	def static isBehaviorExist(Behavior b) {
-		var ret = false
-		if (b != null && b instanceof OpaqueBehavior) {
-			if (!(b as OpaqueBehavior).bodies.head.trim.empty) {
-				ret = true
-			}
-		}
-		return ret
-	}
-	
-	def static hasTriggerlessTransition(State s) {
-		return s.outgoings.filter[it.triggers.map[it.event].empty].size > 0
-	}
-	
-	def static boolean isSaveDeepHistory(Region topRegion, Region r) {
-		if (r.subvertices.filter(Pseudostate).filter[it.kind == PseudostateKind.DEEP_HISTORY_LITERAL].size > 0) {
-			return true
-		}
-		if (r != topRegion) {
-			var nextRegion = r.state.container
-			return topRegion.isSaveDeepHistory(nextRegion)
-		}		
-		return false
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/TransitionGraph.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/TransitionGraph.xtend
deleted file mode 100644
index 30d5bf2..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/statemachine/TransitionGraph.xtend
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.modellibs.core.statemachine
-
-
-import org.eclipse.uml2.uml.State
-import java.util.List
-import org.eclipse.uml2.uml.Pseudostate
-import org.eclipse.uml2.uml.Transition
-import org.eclipse.emf.common.util.UniqueEList
-
-class TransitionGraph {
-	public List<State> S = new UniqueEList
-	public List<State> L = new UniqueEList
-	public List<Pseudostate> P = new UniqueEList<Pseudostate>
-	public List<Transition> T = new UniqueEList
-}
\ No newline at end of file
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/transformations/ConnectorAllocation.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/transformations/ConnectorAllocation.java
new file mode 100644
index 0000000..ad1d37a
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/transformations/ConnectorAllocation.java
@@ -0,0 +1,104 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.components.modellibs.core.transformations;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.components.FCM.Fragment;
+import org.eclipse.papyrus.designer.components.FCM.InteractionComponent;
+import org.eclipse.papyrus.designer.deployment.tools.AllocUtils;
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoElem;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.Type;
+
+public class ConnectorAllocation implements IM2MTrafoElem {
+	/**
+	 * Propagate node allocation into a reified connector (identified via its part)
+	 *
+	 * The allocation algorithm works as follows.
+	 * - get a connector (simple) originating from the passed part
+	 * - get the opposite end of this simple connector and identify the connected part
+	 * (other part, e.g. a part typed with an application component)
+	 * - obtain the nodes to which this other part is allocated:
+	 * - in case of a composite, connections are followed up to a monolithic component
+	 * - propagate the node allocation into the connector (propagation will finally
+	 * allocate leafs within a (composite) connector.
+	 *
+	 * @param composite
+	 *            the composite class (e.g. system) in which a connector is reified
+	 * @param compositeIS
+	 *            the associated instance specification
+	 * @param partSlot
+	 *            the slot associated with the part that is typed with the reified connector.
+	 */
+	public static void propagateNodeAllocation(Class composite, InstanceSpecification compositeIS, Slot partSlot) {
+		Property part = (Property) partSlot.getDefiningFeature();
+
+		// loop over connectors of composite that originate from passed part.
+		for (Connector connector : composite.getOwnedConnectors()) {
+			ConnectorEnd myEnd = ConnectorUtil.connEndForPart(connector, part);
+			if (myEnd == null) {
+				// the connector does not connect this part
+				continue;
+			}
+			ConnectorEnd otherEnd = ConnectorUtil.connEndNotPart(connector, part);
+
+			Property otherPart = otherEnd.getPartWithPort();
+			Port otherPort = (Port) otherEnd.getRole();
+			// Property myPart = myEnd.getPartWithPort();
+			Port myPort = (Port) myEnd.getRole();
+
+			// find instance that is associated with other part.
+			for (Slot slot : compositeIS.getSlots()) {
+				if (slot.getDefiningFeature() == otherPart) {
+					InstanceSpecification containedInstance = DepUtils.getInstance(slot);
+					EList<InstanceSpecification> nodes = AllocUtils.getAllNodesForPort(containedInstance, otherPort);
+					AllocUtils.propagateNodesViaPort(DepUtils.getInstance(partSlot), myPort, nodes);
+					break;
+				}
+			}
+		}
+	}
+
+	@Override
+	public void transformElement(M2MTrafo trafo, Element element) throws TransformationException {
+		if (element instanceof Slot) {
+			Slot partSlot = (Slot) element;
+			Property part = (Property) partSlot.getDefiningFeature();
+			// get part and type referenced by the slot
+			Type type = part.getType();
+			if (StereotypeUtil.isApplied(type,  InteractionComponent.class) ||
+				StereotypeUtil.isApplied(type,  Fragment.class)) {
+				// the part is for an interaction component. Retrieve instance of enclosing composite 
+				InstanceSpecification is = partSlot.getOwningInstance();
+				Classifier composite = DepUtils.getClassifier(is);
+				if (composite instanceof Class) {
+					propagateNodeAllocation((Class) composite, is, partSlot);
+				}
+			}
+		}
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/transformations/ConnectorReification.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/transformations/ConnectorReification.java
new file mode 100644
index 0000000..7a4668b
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/transformations/ConnectorReification.java
@@ -0,0 +1,373 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.modellibs.core.transformations;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.components.FCM.InteractionComponent;
+import org.eclipse.papyrus.designer.components.modellibs.core.utils.CompDepUtils;
+import org.eclipse.papyrus.designer.components.transformation.Messages;
+import org.eclipse.papyrus.designer.components.transformation.PortUtils;
+import org.eclipse.papyrus.designer.components.transformation.sync.CompImplSync;
+import org.eclipse.papyrus.designer.components.transformation.templates.ConnectorBinding;
+import org.eclipse.papyrus.designer.components.transformation.templates.TemplateUtils;
+import org.eclipse.papyrus.designer.deployment.tools.AllocUtils;
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.CopyUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoCDP;
+import org.eclipse.papyrus.designer.transformation.core.templates.TemplateInstantiation;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.designer.transformation.core.transformations.TransformationContext;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.papyrus.infra.core.Activator;
+import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.EncapsulatedClassifier;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * This class enables the reification of connectors, i.e. the replacement of
+ * a UML connector with an interaction component. Reification is primarily
+ * done on the level of a composite class.
+ */
+public class ConnectorReification implements IM2MTrafoCDP {
+
+	/**
+	 * Find a port that would match a connection
+	 *
+	 * @param connectorType
+	 *            a connector type, i.e. a component with ports
+	 * @param the
+	 *            port on the other side of the connection
+	 * @return the first port (of all ports owned or inherited by the type) that
+	 *         is compatible with the passed otherPort.
+	 */
+	public static Port getConnectorPort(EncapsulatedClassifier connectorType, Port otherPort, boolean isAssembly) {
+		EList<Port> ports = PortUtils.getAllPorts(connectorType);
+		// try to find matching port
+		for (Port port : ports) {
+			if (PortUtils.isCompatible(port, otherPort, isAssembly)) {
+				return port;
+			}
+		}
+		throw new RuntimeException(String.format(Messages.ConnectorReification_CannotFindMatchingPort, connectorType.getName(), otherPort.getQualifiedName()));
+	}
+
+	/**
+	 * Simple helper function that finds the opposite connector end when one is given.
+	 * If returns the first connector end that is not equal to the passed one, but results
+	 * will not be useful in general for n-ary connectors (n!=2)
+	 * 
+	 * @param connector
+	 *            a connector
+	 * @param myEnd
+	 *            one end of a connector.
+	 * @return the connector end that is associated with the "other" end of a
+	 *         connection, i.e. the end that differs from the passed connector end
+	 */
+	public static ConnectorEnd oppositeConnEnd(Connector connector, ConnectorEnd myEnd) {
+		// look for the other end (connectedEnd != myEnd)
+		for (ConnectorEnd end : connector.getEnds()) {
+			if (end != myEnd) {
+				return end;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Reify a connector already represented in form of a part (useful for n-ary connectors)
+	 * 
+	 * @param composite
+	 *            containing composite in target target model
+	 * @param connectorPart
+	 *            Part representing the connector
+	 * @param compositeIS
+	 *            target instance specification of the composite passed as 2nd parameter
+	 *            (required for obtaining node allocation and choosing the right implementation.
+	 *            Main use: decide whether a distributed implementation of an interaction component needs to be used)
+	 * @return The created part within tmComponent that represents the reified
+	 *         connector
+	 * @throws TransformationException
+	 */
+	public Property reifyConnector(Class composite, Property connectorPart, InstanceSpecification compositeIS) throws TransformationException {
+
+		LazyCopier copier = TransformationContext.current.copier;
+
+		if (!(connectorPart.getType() instanceof Class)) {
+			// type is not a class, now check whether it is an interaction component
+			return null;
+		}
+		Class connImplementation = (Class) connectorPart.getType();
+		if (!StereotypeUtil.isApplied(connImplementation, InteractionComponent.class)) {
+			return null;
+		}
+
+		// choose an implementation
+		Class connectorImplemTemplate = CompDepUtils.chooseImplementation(connImplementation, AllocUtils.getAllNodes(compositeIS), null);
+
+		TemplateBinding binding = ConnectorBinding.obtainBinding(composite, connectorPart, connectorImplemTemplate, true);
+		Class connectorImplem;
+
+		if (binding != null) {
+			TemplateUtils.adaptActualsToTargetModel(copier, binding);
+			TemplateInstantiation ti = new TemplateInstantiation(binding);
+			connectorImplem = ti.bindElement(connectorImplemTemplate);
+		} else {
+			// no binding, class is not a template => copy as it is
+			connectorImplem = copier.getCopy(connectorImplemTemplate);
+		}
+		Property tmConnectorPart = copier.getCopy(connectorPart);
+		tmConnectorPart.setType(connectorImplem);
+		// now re-target connectors towards this part
+		TemplateUtils.retargetConnectors(composite, tmConnectorPart);
+		return tmConnectorPart;
+	}
+
+	/**
+	 * Reify a connector
+	 *
+	 * @param composite
+	 *            containing composite
+	 * @param connector
+	 *            connector within the passed composite. If connector reification is successful, the passed connector will be destroyed
+	 *            (since replaced by a new connector-part-connector combination)
+	 * @param compositeIS
+	 *            instance specification of the composite passed as 2nd parameter
+	 *            (required for obtaining node allocation and choosing the right implementation.
+	 *            Main use: decide whether a distributed implementation of an interaction component needs to be used)
+	 * @return the created part within the composite or null, if no reification could be executed.
+	 * @throws TransformationException
+	 */
+	public Property reifyConnector(Class composite, Connector connector, InstanceSpecification compositeIS) throws TransformationException {
+
+		InteractionComponent connType = null;
+		org.eclipse.papyrus.designer.components.FCM.Connector fcmConn = UMLUtil.getStereotypeApplication(connector, org.eclipse.papyrus.designer.components.FCM.Connector.class);
+		if (fcmConn != null) {
+			connType = fcmConn.getIc();
+		}
+		if (connType == null) {
+			return null;
+		}
+
+		LazyCopier copier = TransformationContext.current.copier;
+		String name = ElementUtils.varName(connector);
+
+		// choose an implementation
+		Class connectorImplemTemplate = DepUtils.chooseImplementation(connType.getBase_Class(), AllocUtils.getAllNodes(compositeIS), null);
+
+		// ---- obtain binding & instantiate template type ...
+		TemplateBinding binding = ConnectorBinding.obtainBinding(composite, connector, connectorImplemTemplate, true);
+		Class connectorImplem;
+
+		if (binding != null) {
+			TemplateUtils.adaptActualsToTargetModel(copier, binding);
+			// make copy of bound package and restore it later. Required for nested template instantiations, in particular
+			// the bound package is set within container transformations and is (by default) restored to "null" afterwards.
+			// TODO: TemplateInstantiation should do this automatically
+			copier.pushPackageTemplate();
+			TemplateInstantiation ti = new TemplateInstantiation(binding);
+			connectorImplem = ti.bindElement(connectorImplemTemplate);
+			copier.popPackageTemplate();
+		} else {
+			// no binding, class is not a template => copy as it is
+			connectorImplem = copier.getCopy(connectorImplemTemplate);
+		}
+
+		if (connectorImplem == null) {
+			throw new TransformationException(String.format(Messages.ConnectorReification_CouldNotBind, connectorImplemTemplate.getName()));
+		}
+
+		Property tmConnectorPart = composite.createOwnedAttribute(name, connectorImplemTemplate);
+		// copy id, but prefix it with "p" (for part)
+		CopyUtils.copyID(connector, tmConnectorPart, "p"); //$NON-NLS-1$
+		tmConnectorPart.setIsComposite(true);
+
+		Activator.log.info(String.format(Messages.ConnectorReification_InfoAddConnectorPart, connectorImplemTemplate.getName(), connectorImplem.getName()));
+
+		// now create (simple) connections towards the new part
+		int i = 0;
+		for (ConnectorEnd smEnd : connector.getEnds()) {
+			Connector tmConnector = composite.createOwnedConnector("c " //$NON-NLS-1$
+					+ name + " " + String.valueOf(i)); //$NON-NLS-1$
+			CopyUtils.copyID(connector, tmConnector);
+			i++;
+			// the new connector connects the existing end with an end of the
+			// reified connector (the newly created property.)
+
+			// --- first end, connected with the existing end (of another non-connector part)
+			ConnectorEnd tmEnd1 = tmConnector.createEnd();
+			Property smPartWithPort = smEnd.getPartWithPort();
+			Property tmPartWithPort = copier.getCopy(smPartWithPort);
+			ConnectableElement smRole = smEnd.getRole();
+			ConnectableElement tmRole = copier.getCopy(smRole);
+			tmEnd1.setPartWithPort(tmPartWithPort);
+			tmEnd1.setRole(tmRole);
+
+			// --- 2nd end, connected with the reified connector (new part)
+			ConnectorEnd tmEnd2 = tmConnector.createEnd();
+			tmEnd2.setPartWithPort(tmConnectorPart);
+			// inheritance between connector type and implementation (ports should be identical)
+			// TODO: check whether filter condition is unique? (first returned by getConnectorPort is "good" one)
+			if (tmRole instanceof Port) {
+				tmEnd2.setRole(getConnectorPort(connectorImplem, (Port) tmRole, (tmPartWithPort != null)));
+			} else {
+				throw new TransformationException(Messages.ConnectorReification_RequiresUseOfPorts);
+			}
+		}
+
+		tmConnectorPart.setType(connectorImplem);
+		// updatePorts(tmComponent, connectorPart, connectorImplem);
+		// connectContainerPorts(tmComponent, connectorPart);
+		connector.destroy();
+
+		return tmConnectorPart;
+	}
+
+	/**
+	 * Components can contain additional ports that are inherited via the
+	 * container extension. These ports should typically be connected with
+	 * additional ports of the (reified) connector. This connection is based on
+	 * equal port types and is done automatically by this function, i.e. it
+	 * cannot be done by the developer.
+	 *
+	 * @param composite
+	 *            the composite in which a connector has been reified.
+	 * @param reifiedConnector
+	 *            the part associated with the reifiedConnector
+	 */
+	public void connectContainerPorts(Class composite, Property reifiedConnector) {
+		// This function is based on the assumption that the additional ports of the reified
+		// connector need to be connected with a port of a component that is already
+		// connected via the "normal" connectors (explicitly modeled by the user).
+		// For instance, in case of ACCORD-calls, the server component provides the additional
+		// RTU port via its container.
+
+		// Create a subset of connectors that are connected with the reified connector
+		EList<Connector> connSubset = new BasicEList<Connector>();
+		for (Connector connector : composite.getOwnedConnectors()) {
+			if (ConnectorUtil.connectsPart(connector, reifiedConnector)) {
+				connSubset.add(connector);
+			}
+		}
+
+		for (Port port : PortUtils.getAllPorts((Class) reifiedConnector.getType())) {
+			// check, if port is unconnected.
+			boolean connected = false;
+			// check whether a port of the reified connector is not yet
+			// connected.
+			for (Connector connector : connSubset) {
+				if (ConnectorUtil.connectsPort(connector, port)) {
+					connected = true;
+				}
+			}
+			if (!connected) {
+				// port is not connected yet. Check to find a connectable port
+				// among all ports of connected parts.
+				// In the moment, we assume the processes is stopped, as soon as
+				// the port is connected, i.e. we do not want to connect the port to
+				// potentially set of ports (todo: restriction always useful?)
+				for (Connector connector : connSubset) {
+					ConnectorEnd connEnd = ConnectorUtil.connEndNotPart(connector, reifiedConnector);
+					Property otherPart = connEnd.getPartWithPort();
+					// this is a part which is connected with the reified
+					// connector check whether one of its ports is compatible with the
+					// non-connected port.
+					if (!(otherPart.getType() instanceof EncapsulatedClassifier)) {
+						continue;
+					}
+
+					for (Port otherPort : PortUtils.getAllPorts((EncapsulatedClassifier) otherPart.getType())) {
+						Activator.log.info(String.format(Messages.ConnectorReification_InfoPortTypes, otherPort.getType().getQualifiedName(), port.getType().getQualifiedName()));
+						if (otherPort.getType() == port.getType()) {
+							Connector newConnector = composite.createOwnedConnector("connector - container of " //$NON-NLS-1$
+									+ otherPart.getName());
+							ConnectorEnd end1 = newConnector.createEnd();
+							ConnectorEnd end2 = newConnector.createEnd();
+							end1.setPartWithPort(reifiedConnector);
+							end1.setRole(port);
+							end2.setPartWithPort(otherPart);
+							end2.setRole(otherPort);
+							connected = true;
+							break;
+						}
+					}
+					if (connected) {
+						break;
+					}
+				}
+				if (!connected) {
+					if (port.getType() == null) {
+						Activator.log.debug(String.format(Messages.ConnectorReification_CouldNotConnectPort, port.getName()));
+					} else {
+						Activator.log.debug(String.format(Messages.ConnectorReification_CouldNotConnectPortOfType, port.getName(), port.getType().getName()));
+					}
+				}
+			}
+		}
+	}
+
+	@Override
+	public void applyTrafo(M2MTrafo trafo, Package deploymentPlan) throws TransformationException {
+		for (InstanceSpecification is : DepUtils.getInstances(deploymentPlan)) {
+			Classifier cl = DepUtils.getClassifier(is);
+			if (cl instanceof Class) {
+				Class clazz = (Class) cl;
+				EList<Connector> connectorListCopy = new BasicEList<Connector>();
+				connectorListCopy.addAll(clazz.getOwnedConnectors());
+				for (Connector connector : connectorListCopy) {
+					Class tmComponent = (Class) connector.getOwner();
+					Property newPart = reifyConnector(tmComponent, connector, is);
+					// update value specification (to the one just created)
+					// InstanceSpecification tmPartIS = EcoreUtil.copy(DepUtils.getInstance(slot));
+					// if (tmPartIS.getClassifiers().size() > 0) {
+					// replace classifier referenced from instance with type of reified connector
+					// tmPartIS.getClassifiers().set(0, (Classifier) tmPart.getType());
+					// TransformationUtil.updateDerivedInterfaces(tmPartIS);
+					// }
+					if (newPart != null) {
+						Type implCandidate = newPart.getType();
+						if (implCandidate instanceof Class) {
+							Class implementation = (Class) implCandidate;
+							CompImplSync.updatePorts(implementation);
+							CompImplSync.syncRealizations(implementation);
+						}
+					}
+				}
+
+				EList<Property> attributeListCopy = new BasicEList<Property>();
+				attributeListCopy.addAll(clazz.getAttributes());
+				for (Property attribute : attributeListCopy) {
+
+					Class tmComponent = (Class) attribute.getOwner();
+					reifyConnector(tmComponent, attribute, is);
+				}
+			}
+		}
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/transformations/ExecuteOOTrafo.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/transformations/ExecuteOOTrafo.java
new file mode 100644
index 0000000..0f88ae6
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/transformations/ExecuteOOTrafo.java
@@ -0,0 +1,151 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.modellibs.core.transformations;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.components.FCM.CodeGenOptions;
+import org.eclipse.papyrus.designer.components.FCM.PortKind;
+import org.eclipse.papyrus.designer.components.transformation.extensions.IOOTrafo;
+import org.eclipse.papyrus.designer.components.transformation.extensions.OOTrafo;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoCDP;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoElem;
+import org.eclipse.papyrus.designer.transformation.core.transformations.ApplyRecursive;
+import org.eclipse.papyrus.designer.transformation.core.transformations.TransformationContext;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.EncapsulatedClassifier;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.StructuredClassifier;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+public class ExecuteOOTrafo implements IM2MTrafoCDP {
+
+	/**
+	 * Add OO elements that correspond to ports and connectors
+	 */
+	public class AddOOElements implements IM2MTrafoElem {
+
+		public AddOOElements(IOOTrafo ooTrafo) {
+			this.ooTrafo = ooTrafo;
+		}
+		
+		@Override
+		public void transformElement(M2MTrafo trafo, Element element) throws TransformationException {
+			if (element instanceof Class) {
+				Class implementation = (Class) element;
+				// do not apply transformation to port-kinds
+				if (!StereotypeUtil.isApplied(implementation, PortKind.class)) {
+					ooTrafo.addPortOperations(implementation);
+					ooTrafo.addConnectionOperation(implementation);
+					ooTrafo.transformParts(implementation);
+				}
+			}
+		}
+		
+		IOOTrafo ooTrafo;
+	}
+
+	/**
+	 * Delete connectors and ports
+	 * Removal is not done after all additions and not after the addition of a single element.
+	 * Otherwise it would be possible that inherited ports have already been removed.
+	 */
+	public class RemoveComponentElements implements IM2MTrafoElem {
+		
+		@Override
+		public void transformElement(M2MTrafo trafo, Element element) throws TransformationException {
+			if (element instanceof StructuredClassifier) {
+				removeConnectors((StructuredClassifier) element);
+			}
+			if (element instanceof EncapsulatedClassifier) {
+				removePorts((EncapsulatedClassifier) element);
+			}
+		}
+		
+		/**
+		 * Remove connectors from a structured classifier (in most cases a class)
+		 * 
+		 * @param implementation
+		 *            A component
+		 */
+		public void removeConnectors(StructuredClassifier implementation) {
+			EList<Connector> connectors = new BasicEList<Connector>();
+			connectors.addAll(implementation.getOwnedConnectors());
+			for (Connector connector : connectors) {
+				connector.destroy();
+			}
+		}
+
+		/**
+		 * Remove ports from a from an encapsulated classifier (in most
+		 * cases a class)
+		 * 
+		 * @param implementation
+		 *            A component
+		 */
+		public void removePorts(EncapsulatedClassifier implementation) {
+			EList<Port> portListCopy = new BasicEList<Port>();
+			portListCopy.addAll(implementation.getOwnedPorts());
+			// avoid dangling references by calling destroy on the port list
+			for (Port port : portListCopy) {
+				port.destroy();
+			}
+		}
+	}
+	
+	/**
+	 * Determine the component to OO language. The stereotype CodeGenOptions
+	 * (which could be on any owning package) is evaluated.
+	 *
+	 * @param pkg
+	 *            a classifier
+	 * @return the programming language
+	 */
+	public static String getOOTransformationFromPackage(Package pkg) {
+		CodeGenOptions codeGenOpt = UMLUtil.getStereotypeApplication(pkg, CodeGenOptions.class);
+		if ((codeGenOpt != null) && (codeGenOpt.getCompToOOmapping() != null)) {
+			return codeGenOpt.getCompToOOmapping().getBase_Class().getName();
+		}
+		else {
+			return null;
+		}
+	}
+
+    
+	/**
+	 * Transform a component model into an object oriented model.
+	 */
+	@Override
+	public void applyTrafo(M2MTrafo trafo, Package deploymentPlan) throws TransformationException {
+		String ooTransformation = getOOTransformationFromPackage(TransformationContext.current.modelRoot);
+		if (ooTransformation == null) {
+			// default OO transformation
+			ooTransformation = "StaticCpp"; //$NON-NLS-1$
+		}
+		IOOTrafo ooTrafo = OOTrafo.getOOTrafo(ooTransformation);
+		ooTrafo.init(TransformationContext.current.copier, null);
+		ApplyRecursive add = new ApplyRecursive(trafo, new AddOOElements(ooTrafo));
+		ApplyRecursive remove = new ApplyRecursive(trafo, new RemoveComponentElements());
+		add.applyRecursive(TransformationContext.current.modelRoot);
+		remove.applyRecursive(TransformationContext.current.modelRoot);
+		// complete access operations?
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/transformations/FlattenInteractionComponents.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/transformations/FlattenInteractionComponents.java
new file mode 100644
index 0000000..a41790c
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/transformations/FlattenInteractionComponents.java
@@ -0,0 +1,183 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.modellibs.core.transformations;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.components.FCM.InteractionComponent;
+import org.eclipse.papyrus.designer.deployment.tools.DepPlanUtils;
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoElem;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Flatten interaction components for distributed communication, i.e. remove the enclosing interaction component
+ * and only deploy the fragments.
+ * This is required, since the interaction component itself cannot be deployed on several nodes.
+ */
+public class FlattenInteractionComponents implements IM2MTrafoElem {
+
+	private static final String FLATTEN_SEP = "_"; //$NON-NLS-1$
+
+	/**
+	 *
+	 * Flatten a composite interaction component, i.e. replace it by the containing fragments. This includes the following actions
+	 * 1. Parts typed with the interaction component must be replaced with a set of parts typed with the fragment.
+	 * 2. Connectors must be redirected.
+	 *
+	 * Please note that we do not delete the original interaction component, but it will not appear in a model generated for a specific node.
+	 * TODO: We need to re-target connectors in all containing composites, but the same containingComposite might have several instances within an application. In this case,
+	 * we only need to move slots.
+	 *
+	 * Well, there are different classes: first: the flattened interaction component and other components that reference the flattened interaction component.
+	 *
+	 * @param composite
+	 *            a composite class
+	 * @param instance
+	 *            the instance associated with the composite class (1st parameter)
+	 * @param containingInstance
+	 *            an instance of the containing composite
+	 * @param containingSlot
+	 *            the slot associated with the instance (2nd parameter)
+	 */
+	public void flattenAssembly(Class composite, InstanceSpecification instance, InstanceSpecification containingInstance, Slot containingSlot)
+	{
+		Classifier containingCompositeCl = DepUtils.getClassifier(containingInstance);
+		StructuralFeature sfForIA = containingSlot.getDefiningFeature();
+		Map<Property, Property> replaceParts = new HashMap<Property, Property>();
+		if ((containingCompositeCl instanceof Class) && (sfForIA instanceof Property)) {
+			Class containingComposite = (Class) containingCompositeCl;
+			Property partForIA = (Property) sfForIA;
+
+			for (Property fragmentPart : composite.getAllAttributes()) {
+				if (fragmentPart instanceof Port) {
+					continue;
+				}
+				String partName = partForIA.getName() + FLATTEN_SEP + fragmentPart.getName();
+				// create a new part in the containing composite
+				Property newPartForFragment = containingComposite.createOwnedAttribute(partName, fragmentPart.getType());
+				replaceParts.put(fragmentPart, newPartForFragment);
+
+				boolean foundConnector = false;
+				// now redirect connectors: find whether a port delegates to the fragment
+				for (Connector connector : composite.getOwnedConnectors()) {
+					if (ConnectorUtil.connectsPart(connector, fragmentPart)) {
+						foundConnector = true;
+						// internal connector for the part, check whether delegation
+						ConnectorEnd ce = ConnectorUtil.connEndNotPart(connector, fragmentPart);
+						if ((ce != null) && (ce.getPartWithPort() == null)) {
+							// delegation connector, need to re-targed connections to external port
+							Port port = (Port) ce.getRole();
+							// now look for connections to this port in the containingComposite and shortcut these ...
+							retargetConnections(containingComposite, port, partForIA, newPartForFragment);
+						} else {
+							// assembly: assembly connection between fragments are not authorized
+						}
+					}
+				}
+				if (!foundConnector) {
+					throw new RuntimeException("the part <" + fragmentPart.getName() + "> within composite <" + composite.getName() + "> is not connected with any of its ports"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				}
+			}
+			// on instance level: move slots from instance to containingInstance
+			EList<Slot> slots = instance.getSlots();
+			containingInstance.getSlots().addAll(slots);
+			// replace defining feature
+			for (Slot slot : containingInstance.getSlots()) {
+				StructuralFeature sf = slot.getDefiningFeature();
+				if (replaceParts.containsKey(sf)) {
+					slot.setDefiningFeature(replaceParts.get(sf));
+					// assure naming convention for instances: here, we update the name of the instance
+					// and its sub-instances with the name of the containingInstance
+					InstanceSpecification subInstance = DepUtils.getInstance(slot);
+					if ((subInstance != null) && !DepUtils.isShared(slot)) {
+						DepPlanUtils.updateInstanceNames(subInstance, instance.getName() + FLATTEN_SEP + sf.getName());
+					}
+				}
+			}
+
+			containingSlot.destroy();
+			// destroy relationships of flattened instance, in particular allocation
+			for (DirectedRelationship dr : instance.getSourceDirectedRelationships()) {
+				dr.destroy();
+			}
+			instance.destroy();
+			partForIA.destroy();
+
+			// move is
+			/*
+			 * InstanceSpecification partIS;
+			 * DepUtils.createSlot (cdp, newIS, partIS, newPart);
+			 */
+		}
+	}
+
+	/**
+	 * Find a connection within a connecting
+	 *
+	 * @param containingComposite
+	 * @param port
+	 *            A port which delegates to a fragment
+	 * @param part
+	 *            the part within the containing composite (1st parameter) point to the interactionComponent
+	 * @param subPart
+	 *            a newly created part corresponding to the fragment
+	 */
+	public void retargetConnections(Class containingComposite, Port port, Property part, Property subPart) {
+		for (Connector connector : containingComposite.getOwnedConnectors()) {
+			if (ConnectorUtil.connectsPart(connector, part) && ConnectorUtil.connectsPort(connector, port)) {
+				ConnectorEnd ce = ConnectorUtil.connEndForPart(connector, part);
+				if (ce != null) {
+					// TODO: only with with connections targeting a port of a part, not with
+					// those targeting directly a part
+					ce.setPartWithPort(subPart);
+				}
+			}
+		}
+	}
+
+	@Override
+	public void transformElement(M2MTrafo trafo, Element element) throws TransformationException {
+		// TODO Auto-generated method stub
+		if (element instanceof InstanceSpecification) {
+			InstanceSpecification instance = (InstanceSpecification) element;
+			Classifier cl = DepUtils.getClassifier(instance);
+			if (cl instanceof Class) {
+				InteractionComponent ic = UMLUtil.getStereotypeApplication(cl, InteractionComponent.class);
+				if ((ic != null) && ic.isForDistribution()) {
+					Slot containingSlot = DepUtils.getParentSlot(instance);
+					InstanceSpecification containingInstance = containingSlot.getOwningInstance();
+					flattenAssembly((Class) cl, instance, containingInstance, containingSlot);
+				}
+			}
+		}
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/utils/CompDepUtils.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/utils/CompDepUtils.java
new file mode 100644
index 0000000..a570651
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/utils/CompDepUtils.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.components.modellibs.core.utils;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.components.FCM.ImplementationGroup;
+import org.eclipse.papyrus.designer.components.FCM.InteractionComponent;
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.deployment.tools.ImplementationChooser;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+public class CompDepUtils {
+	
+	public static Class chooseImplementation(Class componentType, EList<InstanceSpecification> nodes, ImplementationChooser chooser) {
+
+		EList<Class> implList = new BasicEList<Class>();
+		if (nodes.size() > 1) {
+			// indicates distribution
+			InteractionComponent connImpl = UMLUtil.getStereotypeApplication(componentType, InteractionComponent.class);
+			// if a connector implementation, it must support distribution (in case of multiple nodes)
+			// TODO: criteria is not optimal, since a composite may be deployed on multiple nodes,
+			// but a contained connector might still only connect local parts.
+			if (connImpl != null) {
+				if (!connImpl.isForDistribution()) {
+					return null;
+				}
+			}
+		}
+		
+		if (StereotypeUtil.isApplied(componentType, ImplementationGroup.class)) {
+			for (Property groupAttribute : componentType.getAttributes()) {
+				Type implClass = groupAttribute.getType();
+				if ((implClass instanceof Class) && DepUtils.isImplEligible((Class) implClass, nodes)) {
+					InteractionComponent connImpl = UMLUtil.getStereotypeApplication(implClass, InteractionComponent.class);
+					if ((connImpl != null) && connImpl.isForDistribution()) {
+						// only add distributed connector, if distributed
+						// don't put check into
+						if (nodes.size() > 1) {
+							implList.add((Class) implClass);
+						}
+					}
+					else {
+						implList.add((Class) implClass);
+					}
+				}
+			}
+		}
+		return DepUtils.chooseImplementation(implList, componentType, nodes, chooser);
+	}
+	
+}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/wizards/ABitComplexSMModelWizard.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/wizards/ABitComplexSMModelWizard.java
deleted file mode 100644
index 75e2982..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/wizards/ABitComplexSMModelWizard.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.modellibs.core.wizards;
-
-import org.eclipse.papyrus.uml.diagram.wizards.wizards.ModelCopyWizard;
-
-/**
- * Copy wizard for the ProducerConsumer example
- */
-public class ABitComplexSMModelWizard extends ModelCopyWizard {
-
-	public ABitComplexSMModelWizard() {
-		super("ABitComplexSM"); //$NON-NLS-1$
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/wizards/SimpleSMModelWizard.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/wizards/SimpleSMModelWizard.java
deleted file mode 100644
index 1fe8f97..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/wizards/SimpleSMModelWizard.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.modellibs.core.wizards;
-
-import org.eclipse.papyrus.uml.diagram.wizards.wizards.ModelCopyWizard;
-
-/**
- * Copy wizard for the ProducerConsumer example
- */
-public class SimpleSMModelWizard extends ModelCopyWizard {
-
-	public SimpleSMModelWizard() {
-		super("SimpleSM"); //$NON-NLS-1$
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/AMIPull.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/AMIPull.xtend
deleted file mode 100644
index 4c964df..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/AMIPull.xtend
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.papyrus.designer.components.modellibs.core.xtend
-
-import org.eclipse.uml2.uml.Operation
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.xtend.Marshalling.*
-
-class AMIPull {
-	def operation_(Operation operation) '''
-		«IF operation.name.endsWith("Poll")»
-			// comment polling function
-			if (!resultArrived) {
-				// wait for result, condition will be fired upon arrival
-				TimeVal timeVal = TimeVal::current () + timeout;
-				m_cond.waitUpto (timeout);
-			}
-			«operation.unmarshall»
-			}
-			«IF operation.type != null»return retValue;«ENDIF»
-		«ELSE»
-			// TODO: need suitable constant dimensioning
-			pBuffer = &buffer[500];  // grows backwards
-			int operationID = ID_[operation.name/];
-
-			// now marshall in and inout parameters via ASN.1
-			«operation.marshall»
-			BEncAsnContent (&amp;pBuffer, &amp;operationID);
-
-			pthread_t pt;
-			pthread_create (&amp;pt, NULL, staticDispatch, (void *) this);
-			// TODO: add semaphore which assures that subsequent calls to [operation.name/] are not executed before dispatch
-			// has removed the parameters from the pBuffer stack (pBuffer can be corrupted).
-			// even worse: buffer will be deallocated even without a 2nd call!
-		«ENDIF»
-	'''
-}
\ No newline at end of file
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/AsyncCalls.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/AsyncCalls.xtend
deleted file mode 100644
index fe04e18..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/AsyncCalls.xtend
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.papyrus.designer.components.modellibs.core.xtend
-
-import org.eclipse.uml2.uml.Operation
-import org.eclipse.uml2.uml.Class
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.xtend.CppUtils.*
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.xtend.Marshalling.*
-
-class AsyncCalls {
-	def asyncCall(Operation operation) '''
-		// TODO: need suitable constant dimensioning
-		pBuffer = &buffer[500];  // grows backwards
-		«operation.marshall»
-		int operationID = ID_[operation.name/];
-		BEncAsnContent (&amp;pBuffer, &amp;operationID);
-
-		pthread_t pt;
-		pthread_create (&amp;pt, NULL, staticDispatch, (void *) this);
-		// TODO: add semaphore which assures that subsequent calls to «operation.name» are not executed before dispatch
-		// has removed the parameters from the pBuffer stack (pBuffer can be corrupted).
-	'''
-
-	def dispatch_(Class clazz) '''
-		int operationID;
-		BDecAsnContent (&pBuffer, operationID);
-		switch (operationID) {
-			«FOR operation : clazz.ownedOperations»
-			case ID_«operation.name»
-			{
-				
-				// delegate call to executor
-				rconn->«operation.cppCall»;
-				break;
-			}
-			«ENDFOR»
-		}
- 	'''
-
-	def dispatchWithThreadPool(Class clazz) '''
-		int operationID;
-		BDecAsnContent (&pBuffer, operationID);
-		switch (operationID) {
-			«FOR operation : clazz.ownedOperations»
-			case ID_«operation.name»
-			{
-				«operation.unmarshall»
-				// delegate call to executor
-				rconn->«operation.cppCall»;
-				«IF operation.type != null»«operation.type.cppType» ret = «ENDIF»rconn->«operation.cppCall»;
-				«operation.marshallOutInout»
-				resultsReady = 1;
-				break;
-			}
-			«ENDFOR»
-		}
-	}
-	'''
-}
\ No newline at end of file
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/BehaviorUtil.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/BehaviorUtil.java
deleted file mode 100644
index 5d0cc69..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/BehaviorUtil.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.modellibs.core.xtend;
-
-import org.eclipse.uml2.uml.Behavior;
-import org.eclipse.uml2.uml.BehavioredClassifier;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Constraint;
-import org.eclipse.uml2.uml.OpaqueBehavior;
-import org.eclipse.uml2.uml.OpaqueExpression;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.Parameter;
-import org.eclipse.uml2.uml.ParameterDirectionKind;
-import org.eclipse.uml2.uml.Transition;
-import org.eclipse.uml2.uml.Type;
-import org.eclipse.uml2.uml.UMLPackage;
-
-public class BehaviorUtil {
-	private static final String DEFAULT_LANGUAGE = "C++"; //$NON-NLS-1$
-
-	public static void set(Behavior behavior, String selectLanguage, String textblock) {
-		if (behavior instanceof OpaqueBehavior) {
-			OpaqueBehavior ob = (OpaqueBehavior) behavior;
-			if (ob.getLanguages().size() == 0) {
-				ob.getLanguages().add(DEFAULT_LANGUAGE);
-				ob.getBodies().add(textblock);
-			}
-			else {
-				int i = 0;
-				for (String language : ob.getLanguages()) {
-					if (selectLanguage.equals(language)) {
-						if (i < ob.getBodies().size()) {
-							ob.getBodies().set(i, textblock);
-						}
-						break;
-					}
-				}
-			}
-		}
-	}
-
-	public static void set(Behavior behavior, String textblock) {
-		set(behavior, DEFAULT_LANGUAGE, textblock);
-	}
-	
-	public static OpaqueBehavior createOpaqueBehavior(BehavioredClassifier clazz, Operation operation) {
-		OpaqueBehavior ob = (OpaqueBehavior)
-				clazz.createOwnedBehavior(operation.getName(), UMLPackage.eINSTANCE.getOpaqueBehavior());
-		ob.setSpecification(operation);
-		return ob;
-	}
-
-	public static OpaqueBehavior createOpaqueEffect(Transition transition) {
-		OpaqueBehavior ob = (OpaqueBehavior)
-				transition.createEffect("", UMLPackage.eINSTANCE.getOpaqueBehavior()); //$NON-NLS-1$
-		return ob;
-	}
-
-	public static OpaqueExpression createOpaqueExpression(Constraint constraint, String guardCode) {
-		OpaqueExpression oe = (OpaqueExpression)
-				constraint.createSpecification("", null, UMLPackage.eINSTANCE.getOpaqueExpression()); //$NON-NLS-1$
-		oe.getLanguages().add(DEFAULT_LANGUAGE);
-		oe.getBodies().add(guardCode);
-		return oe;
-	}
-	
-	public static String body(Constraint constraint) {
-		if (constraint.getSpecification() instanceof OpaqueExpression) {
-			OpaqueExpression oe = (OpaqueExpression) constraint.getSpecification();
-			if (oe.getBodies().size() > 0)  {
-				return oe.getBodies().get(0);
-			}
-		}
-		return constraint.getSpecification().stringValue();
-	}
-
-	/**
-	 * Create an operation with an operation return type
-	 * 
-	 * @param clazz
-	 * @param name
-	 * @param retType
-	 * @return
-	 */
-	public static Operation createOperation(Class clazz, String name, Type retType) {
-		Operation operation = clazz.createOwnedOperation(name, null, null);
-		if (retType != null) {
-			Parameter parameter = operation.createOwnedParameter("ret", retType); //$NON-NLS-1$
-			parameter.setDirection(ParameterDirectionKind.RETURN_LITERAL);
-		}
-		return operation;
-	}
-
-	public static String body(Behavior behavior) {
-		return body(behavior, DEFAULT_LANGUAGE);
-	}
-
-	public static String body(Behavior behavior, String selectLanguage) {
-		if (behavior instanceof OpaqueBehavior) {
-			OpaqueBehavior ob = (OpaqueBehavior) behavior;
-			int i = 0;
-			for (String language : ob.getLanguages()) {
-				if (selectLanguage.equals(language)) {
-					if (i < ob.getBodies().size()) {
-						return ob.getBodies().get(i);
-					}
-					break;
-				}
-			}
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/CppUtils.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/CppUtils.xtend
deleted file mode 100644
index b9c9791..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/CppUtils.xtend
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.eclipse.papyrus.designer.components.modellibs.core.xtend
-
-import org.eclipse.papyrus.designer.components.transformation.core.UMLTool
-import org.eclipse.uml2.uml.NamedElement
-import org.eclipse.uml2.uml.Operation
-import org.eclipse.uml2.uml.Parameter
-import org.eclipse.uml2.uml.ParameterDirectionKind
-import org.eclipse.uml2.uml.Type
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.IXtend
-
-class CppUtils implements IXtend {
-
-	/**
-	 * create the C++ signature for an operation (including parenthesis)
-	 */
-	public static def cppSignature(Operation operation) '''
-		«operation.name»(«FOR parameter : operation.ownedParameters SEPARATOR(', ')»
-			«parameter.cppParameter»
-		«ENDFOR»
-	'''
-
-
-	/**
-	 * make a C++ call, pass all parameters except the return parameter
-	 */
-	 public static def cppCall(Operation operation) '''
-		«operation.name»(«FOR parameter : UMLTool.parametersNonRet(operation) SEPARATOR(', ')»
-			«parameter.name»
-		«ENDFOR»)
-	'''
-
-	/**
-	 * make a C++ call, pass all parameters except the return parameter, prefix with "return",
-	 * if there is a return type in the operations declaration
-	 */
-	public static def returnCppCall(Operation operation) '''
-		«IF (operation.type != null)»return «ENDIF»«operation.cppCall»
-	'''
-	
-	public static def cppParameter(Parameter parameter) '''
-		«parameter.type»«IF (parameter.direction == ParameterDirectionKind.OUT)»_out«ENDIF» «parameter.name»
-	'''
-
-	public static def cppType(Type type) '''
-		«IF (type.qualifiedName == 'UMLPrimitiveTypes::Boolean')»
-			bool
-		«ELSEIF (type.qualifiedName == 'UMLPrimitiveTypes::Integer')»
-			int
-		«ELSE»
-			«UMLTool.dereferenceTypedef(type)»
-		«ENDIF»
-	'''
-
-
-	public static def cppRetType(Operation operation) '''
-		«IF (operation.type == null)»
-			void
-		«ELSE»
-			«operation.type.cppType»
-		«ENDIF»
-	'''
-
-	/**
-	 * Open a set of C++ namespaces associated with the packages of of the passed named element
-	 * TODO: use indentTab? => requires making this script recursive
-	 * Need to include referenced types (assuming a naming convention?
-	 */
-	public static def openNamespace(NamedElement namedElement) '''
-		«FOR ns : UMLTool.usedNamespaces(namedElement).reverse»
-			namespace «ns.name»
-		«ENDFOR»
-	'''
-
-	/**
-	 * Close a set of C++ namespaces associated with the packages of of the passed named element
-	 */
-	public static def closeNamespace(NamedElement namedElement) '''
-		«FOR ns : UMLTool.usedNamespaces(namedElement)»
-			}; // of namespace [ns.name/]
-		«ENDFOR»
-	'''
-}
\ No newline at end of file
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/FIFO.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/FIFO.xtend
deleted file mode 100644
index dcf00de..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/FIFO.xtend
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.eclipse.papyrus.designer.components.modellibs.core.xtend
-
-import org.eclipse.uml2.uml.DataType
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationContext
-
-class FIFO {
-	def activate(DataType datatype) '''
-		if (m_size == 0) {
-			cerr << "Warning: size of FIFO is not properly configured (size = 0)" << endl;
-		}
-		m_fifo = new «TransformationContext.pkgTemplateParameter("T")»[m_size];
-	'''
-}
\ No newline at end of file
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/GlobalConstants.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/GlobalConstants.xtend
deleted file mode 100644
index 5238d1c..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/GlobalConstants.xtend
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2014 Zeligsoft (2009) Limited  and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*******************************************************************************/
-
-package org.eclipse.papyrus.designer.components.modellibs.core.xtend
-
-class GlobalConstants {
-    public static val QUAL_NAME_SEP             = "."
-    public static val FUNC_NAME_QUAL_NAME_SEP   = "__"
-    public static val FUNC_NAME_PART_SEP        = "____"
-    public static val INJECT_FUNC_NAME          = "inject"
-    public static val INITIALIZE_FUNC_NAME      = "initialize"
-    public static val STATE_FUNC_PREFIX         = "state_"
-    public static val JUNCTION_FUNC_PREFIX      = "junction_"
-    public static val CHOICE_FUNC_PREFIX        = "choice_"
-    public static val ACTION_CHAIN_FUNC_PREFIX  = "actionchain_"
-    public static val ACTION_FUNC_PREFIX        = "action_"
-    public static val GUARD_FUNC_PREFIX         = "guard_"
-    public static val USER_ACTION_FUNC_PREFIX   = "useraction_"
-    public static val USER_GUARD_FUNC_PREFIX    = "userguard_"
-    public static val EXIT_ACTION_FUNC_PREFIX   = "exitaction_"
-    public static val ENTRY_ACTION_FUNC_PREFIX  = "entryaction_"
-    public static val TRANS_ACTION_FUNC_PREFIX  = "transitionaction_"
-    public static val SAVE_HISTORY_FUNC_NAME    = "save_history"
-    public static val CHECK_HISTORY_FUNC_NAME   = "check_history"
-    public static val CHECK_HISTORY_FUNC_PREFIX = "checkhistory_"
-    public static val CURRENT_STATE_FIELD_NAME  = "currentState"
-    public static val HISTORY_TABLE_NAME        = "history"
-    public static val UNDEFINED                 = "SPECIAL_INTERNAL_STATE_UNDEFINED"
-    public static val UNVISITED                 = "SPECIAL_INTERNAL_STATE_UNVISITED"
-    public static val STATE_TYPE_NAME           = "State"
-    public static val PORT_TYPE_NAME            = "Port"
-    public static val SIGNAL_TYPE_NAME          = "Signal"
-    public static val INJECT_FUNC_PARAM         = "msg"
-    public static val INITIALIZE_FUNC_PARAM     = "msg"
-    public static val STATE_FUNC_PARAM          = "msg"
-    public static val JUNC_FUNC_PARAM           = "msg"
-    public static val CHOICE_FUNC_PARAM         = "msg"
-    public static val CHAIN_FUNC_PARAM          = "msg"
-    public static val ACTION_FUNC_PARAM         = "msg"
-    public static val ACTION_DATA_VARIABLE      = "rtdata"
-    public static val EMPTY_ACTION_COMMENT      = "// (Automatically generated stub for an empty action)"
-    public static val MISSING_CODE_COMMENT      = "// (No C++ code found for this action)"
-    public static val MISSING_CONSTRAINT_BODY   = "false"
-    public static val FRESH_NAME_PREFIX               = "new_"
-    public static val FRESH_ENTRYPOINT_NAME_PREFIX    = "new_entrypoint_"
-    public static val FRESH_EXITPOINT_NAME_PREFIX     = "new_exitpoint_"
-    public static val FRESH_CHOICEPOINT_NAME_PREFIX   = "new_choice_"
-    public static val FRESH_JUNCTIONPOINT_NAME_PREFIX = "new_junction_"
-    public static var FRESH_TRANSITION_NAME_PREFIX    = "new_transition_"
-
-}
\ No newline at end of file
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/Marshalling.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/Marshalling.xtend
deleted file mode 100644
index 00925a2..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/Marshalling.xtend
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.eclipse.papyrus.designer.components.modellibs.core.xtend
-
-import org.eclipse.uml2.uml.Operation
-import org.eclipse.uml2.uml.Class
-import static extension org.eclipse.papyrus.designer.components.transformation.core.UMLTool.*
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.xtend.CppUtils.cppType
-import org.eclipse.uml2.uml.Parameter
-
-class Marshalling {
-	def static marshall(Operation operation) '''
-		// now marshall in and inout parameters via ASN.1
-		«FOR parameter : operation.parametersInInout»
-			«parameter.marshall»
-		«ENDFOR»
-	'''
-
-	def static marshallOutInout(Operation operation) '''
-		// now marshall out and inout parameters via ASN.1
-		«FOR parameter : operation.parametersOutInout»
-			«parameter.marshall»
-		«ENDFOR»
-	'''
-
-	def static marshall(Parameter parameter) '''
-		{
-			«parameter.type.cppType» varName_ASN = «parameter.name»;
-			BEncAsnContent (&pBuffer, &varName_ASN);
-		}
-	'''
-	
-	def static unmarshall(Operation operation) '''
-		«FOR parameter : operation.parametersInInout.reverse»
-			«parameter.unmarshall»
-		«ENDFOR»
-	'''
-	
-	def static unmarshallOutInout(Operation operation) '''
-		«FOR parameter : operation.parametersOutInout.reverse»
-			«parameter.unmarshall»
-		«ENDFOR»
-	'''
-
-	def static unmarshall(Parameter parameter) '''
-		«parameter.type.cppType» «parameter.name»
-		{
-			«parameter.type.cppType» varName_ASN;
-			BDecAsnContent (&pBuffer, &varName_ASN);
-			«parameter.name» = varName_ASN;
-		}
-	'''	
-
-	/**
-	 * Used in a union that contains a struct for each operation. This allows for
-	 * a parameter marshalling in which ... 
-	 */
-	def static cppParameterStorage(Class clazz) '''
-		«FOR operation : clazz.ownedOperations»
-			struct Op_«operation.name» {
-				«FOR parameter : operation.ownedParameters»
-					«parameter.type.cppType» «parameter.name»;
-				«ENDFOR»
-			} op_«operation.name»;
-		«ENDFOR»
-	'''
-}
\ No newline at end of file
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/MultipleReceptacle.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/MultipleReceptacle.xtend
deleted file mode 100644
index 050c2b5..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/MultipleReceptacle.xtend
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.eclipse.papyrus.designer.components.modellibs.core.xtend
-
-import org.eclipse.uml2.uml.Operation
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.xtend.CppUtils.cppCall
-
-class MultipleReceptacle {
-	def operation_(Operation operation) '''
-		for (int i=0; i&lt;9; i++) {
-			if (rconn[i] != 0) {
-				rconn[i]->«operation.cppCall»;
-			}
-		}
-	'''
-}
\ No newline at end of file
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/StateMachineGen.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/StateMachineGen.xtend
deleted file mode 100644
index 0f6adde..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/StateMachineGen.xtend
+++ /dev/null
@@ -1,477 +0,0 @@
-package org.eclipse.papyrus.designer.components.modellibs.core.xtend
-
-import org.eclipse.emf.common.util.BasicEList
-import org.eclipse.emf.common.util.EList
-import org.eclipse.emf.ecore.util.EcoreUtil
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Ptr
-import org.eclipse.papyrus.designer.components.FCM.DerivedElement
-import org.eclipse.papyrus.designer.components.transformation.core.StUtils
-import org.eclipse.papyrus.designer.components.transformation.core.Utils
-import org.eclipse.papyrus.designer.components.transformation.core.UMLTool
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.IXtend
-import org.eclipse.papyrus.designer.components.transformation.core.sync.InterfaceSync
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationContext
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
-import org.eclipse.uml2.uml.Behavior
-import org.eclipse.uml2.uml.BehavioredClassifier
-import org.eclipse.uml2.uml.CallEvent
-import org.eclipse.uml2.uml.Class
-import org.eclipse.uml2.uml.OpaqueExpression
-import org.eclipse.uml2.uml.Operation
-import org.eclipse.uml2.uml.Pseudostate
-import org.eclipse.uml2.uml.PseudostateKind
-import org.eclipse.uml2.uml.Reception
-import org.eclipse.uml2.uml.Signal
-import org.eclipse.uml2.uml.SignalEvent
-import org.eclipse.uml2.uml.State
-import org.eclipse.uml2.uml.StateMachine
-import org.eclipse.uml2.uml.TimeEvent
-import org.eclipse.uml2.uml.Transition
-import org.eclipse.uml2.uml.Trigger
-import org.eclipse.uml2.uml.Type
-import org.eclipse.uml2.uml.ValueSpecification
-import org.eclipse.uml2.uml.Vertex
-import org.eclipse.uml2.uml.util.UMLUtil
-
-import static org.eclipse.papyrus.designer.components.transformation.core.EnumService.*
-import static org.eclipse.papyrus.designer.components.vsl.ParseVSL.*
-
-import static extension org.eclipse.papyrus.designer.components.transformation.core.UMLTool.*
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.xtend.BehaviorUtil.*
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.xtend.CppUtils.cppCall
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.xtend.StateMachineUtil.*
-import org.eclipse.papyrus.uml.tools.utils.PackageUtil
-import org.eclipse.papyrus.designer.components.modellibs.core.Activator
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.filters.FilterStateMachines
-
-class StateMachineGen implements IXtend {
-
-	Class clazz
-	
-	boolean ooPattern;
-	
-	String executorRef
-	
-	String sigParamName
-
-	static final int SIG_INITIAL = 1000
-
-	def getStateMachine(Class clazz) {
-		// organized in a loop. But effectively supports single state machine
-		for (smBehavior : (clazz as BehavioredClassifier).ownedBehaviors.filter[it instanceof StateMachine]) {
-			return smBehavior as StateMachine
-		}
-		return null
-	}
-	
-	def void init(boolean ooPattern) {
-		this.ooPattern = ooPattern
-		if (ooPattern) {
-			executorRef = ""
-			sigParamName = "params"
-		}
-		else {
-			executorRef = "executor->"
-			sigParamName = "signal"
-		}
-	}
-	
-	def activate(Class clazz) {
-		val sm = clazz.stateMachine
-		val flattener = new UMLFlattener
-		init(false)
-		flattener.transform(sm)
-		activate(clazz, sm)
-	}
-
-	def activateOO(Class clazz) {
-		// caveat: order is important. Make sure that this is the first operation in the template definition
-		// within the model  (must be flattened once)
-		val sm = clazz.stateMachine
-		val flattener = new UMLFlattener
-		init(true)
-		flattener.transform(sm)
-		activate(clazz, sm)
-	}
-	
-	def activate(Class clazz, StateMachine sm) '''
-		m_currentState = STATE_«sm.region.initialState.name»;
-#ifdef SM_VERBOSE
-		std::cout << "SM «clazz.name»: in state «sm.region.initialState.name»" << std::endl;
-#endif
-		for (;;) {
-			processEvents();
-		}
-	'''
-	
-	def processEventsOO(Class clazz) {
-		init(true)
-		processEventsCommon(clazz)
-	}
-	
-	def processEvents(Class clazz) {
-		init(false)
-		processEventsCommon(clazz)
-	}
-	
-	def processEventsCommon(Class clazz) {
-		val sm = clazz.stateMachine
-		// - Option to put processElements into original class (but, would need to copy dependencies & attributes)
-		// create new operation in class owning the state machine.
-		// val operation = clazz.createOperation("processEvents", null)
-		// val ob = clazz.createOpaqueBehavior(operation)
-		// ob.set(clazz.processEventsSM(sm).toString)
-		// return "«executor»processEvents();"
-		this.clazz = clazz
-		return clazz.processEventsSM(sm)
-	}
-
-	def eventInterceptor(Operation operation) '''
-		«/*TODO: need better way to detect signal*/»
-		«operation.eventInterceptorCommon» 
- 		event.portID = portID;
-		out->writeEvent(event);
-
-		«IF (operation.type != null)»return «ENDIF»rconn->«operation.cppCall»;
-	'''
-
-	/**
-	 * OO variant of event interceptor. Adds call event to pool and
-	 * then calls the original method (handled by LW container)
-	 */
-	def eventInterceptorOO(Operation operation) '''
-		«init(true)»
-		«operation.eventInterceptorCommon» 
-	'''
-
-	def eventInterceptorCommon(Operation operation) '''
-		«val derivedElement = UMLUtil.getStereotypeApplication(operation, DerivedElement)»
-		«IF (derivedElement != null) && (derivedElement.source instanceof Reception)»
-			«val signal = (derivedElement.source as Reception).signal»
-			// create event with global signal ID
-			core::ContainerServices::CallEvent_ event;
-			event.operationID = «literal(SIGNAL_ENUM, InterfaceSync.SIG_PREFIX + signal.name, SIG_INITIAL)»;
-			// map signal into value-buffer and copy attributes
-			::«signal.qualifiedName» * signal = (::«signal.qualifiedName» *) &event.params;
-			«FOR attribute : signal.ownedAttributes»
-				signal->«attribute.name» = «attribute.name»;
-			«ENDFOR»
-			«PackageUtil.getRootPackage(operation).declareDependencyToSignalIDs»
-			«UMLTool.declareDependency(TransformationContext.classifier, signal)»
-		«ELSE»
-			// create event with operationID/portID and pass call
-			core::ContainerServices::CallEvent_ event;
-			«IF ooPattern»
-				event.operationID = «literal("LOperationIDs", '''OP_ID_«operation.name»''')»;
-			«ELSE»
-				event.operationID = ID_«operation.name»;
-			«ENDIF»
-		«ENDIF»
-		eventPool.writeEvent(event);
-	'''
-	
-	def processEventsSM(BehavioredClassifier clazz, StateMachine sm) '''
-		// processEvents body - generated by Qompass 
-		//
-		// supports ports «FOR port : (clazz as Class).ownedPorts» «literal('PortEnum_'+clazz.name, 'port_'+clazz.name+'_'+port.name)»«ENDFOR»
-
-		core::ContainerServices::CallEvent_ event;
-		int timeout;
-		int newState;
-		bool needsTrigger;
-
-		switch(m_currentState) {
-			«FOR state : sm.region.subvertices»
-				case «literal('LStateIDs_'+clazz.name, 'STATE_'+state.name)»:
-					// -------- treatment of accepted events
-					«state.acceptableEvents»
-					break;
-			«ENDFOR»
-			default:
-				OSAL_ERROR ("Inconsistent state");
-			break;
-		}
-		«IF (!ooPattern)»
-			if (animOut != 0) {
-				animOut->enterState(newState, «clazz.fragment»);
-			}
-		«ELSE»
-			if (localAnimServive != 0) {
-				localAnimService->get_animSvc()->enterState(newState, «clazz.fragment»);
-			}
-		«ENDIF»
-	'''
-
-	/*
-	 * Pass the actual to which the port is bound. In case of a CallEvent, pass the implemented interface
-	 * (Not the class to which the state machine is bound). This is useful in the context of components
-	 * whose ports implement an interface
-	 */
-	def cetrigger(Operation operation) {
-		val intf = operation.implementsInterface
-		if (intf != null) {
-			val packageRef = intf.boundPackageRef
-			// declare dependency to OperationIDs enumeration
-			packageRef.declareDependencyToOperationIDs
-			'''«packageRef.qualifiedName»::ID_«operation.name»'''
-		}
-		else {
-			// create operationIDs literal
-			literal("LOperationIDs", '''OP_ID_«operation.name»''')
-		}
-	}
-
-	// Use service for global enumerations
-	def setrigger(Trigger trigger) {
-		val se = trigger.event as SignalEvent
-		literal(SIGNAL_ENUM, InterfaceSync.SIG_PREFIX + se.signal.name, SIG_INITIAL)
-	}
-
-	/**
-	 * create code for acceptable events
-	 * 
-	 * big restriction: will only analyse first of possibly multiple triggers
-	 */
-	def acceptableEvents(Vertex state) '''
-		// loop on state
-		// execute action ...
-		timeout = -1;	// no timeout by default
-		«FOR transition : state.outgoings»
-			«IF transition.triggers.size > 0»
-				«val trigger = transition.triggers.get(0)»
-				«IF (trigger.event instanceof TimeEvent)»
-					«val timeEvent = trigger.event as TimeEvent»
-					// transition «transition.name» - trigger: TimeEvent, expression «(timeEvent.when.expr as OpaqueExpression).bodies.get(0)».
-					timeout = «getDurationFromVSL((timeEvent.when.expr as OpaqueExpression).bodies.get(0))»/1000;
-				«ENDIF»
-			«ENDIF»
-		«ENDFOR»
-
-		«IF ((state instanceof State) && (state as State).entry != null)»
-			// execute entry action
-			«executorRef»«(state as State).entry.name»();
-		«ENDIF»
-
-		needsTrigger = true;
-
-		«IF hasTransitionWithoutTrigger(state)»
-			«FOR transition : state.outgoings»
-				«IF transition.triggers.size == 0»
-					«IF transition.guard != null»
-						«transition.guard.specification.createGuardFct(null)»
-						if («executorRef»«transition.guard.specification.name»()) {
-					«ENDIF»
-					newState = STATE_«transition.target.name»;
-#ifdef SM_VERBOSE
-						std::cout << "SM «clazz.name»: transition to state «transition.target.name»" << std::endl;
-#endif
-					«IF (transition.effect != null)»
-						«executorRef»«effectName(transition)»();
-					«ENDIF»
-						needsTrigger = false;
-					«IF transition.guard != null»
-						}
-					«ENDIF»
-				«ENDIF»
-			«ENDFOR»
-		«ENDIF»
-
-		if (needsTrigger) {
-			// get an event from the pool.
-			«IF ooPattern»
-				event = eventPool.readEvent(timeout);
-			«ELSE»
-				event = ep->readEvent(timeout);
-			«ENDIF»
-		}
-		else {
-			event.operationID = -1;
-		}
-		
-		«val allOutgoings = state.outgoings»
-		«FOR transition : allOutgoings»
-			«IF transition.triggers.size > 0»
-				// has «transition.triggers.size» outgoing transitions
-				«val trigger = transition.triggers.get(0)»
-				«IF (trigger.event instanceof TimeEvent)»
-					// transition «transition.name» - trigger: TimeEvent (there should be at most one outgoing timed transition per state).
-					if (event.operationID == core::ContainerServices::EventPool::ID_TIMEOUT) {
-						«IF transition.guard != null»
-							«transition.guard.specification.createGuardFct(null)»
-							if («executorRef»«transition.guard.specification.name»()) {
-						«ENDIF»
-						newState = STATE_«transition.target.name»;
-#ifdef SM_VERBOSE
-						std::cout << "SM «clazz.name»: transition to state «transition.target.name»" << std::endl;
-#endif
-						«IF (transition.effect != null)»
-							«executorRef»«effectName(transition)»();
-						«ENDIF»
-						«IF transition.guard != null»
-							}
-						«ENDIF»
-					}
-				«ELSEIF (trigger.event instanceof CallEvent)» 
-					// transition «trigger.name» - trigger: CallEvent («trigger.event.name»), operation «(trigger.event as CallEvent).operation.name»
-					if (event.operationID == «cetrigger((trigger.event as CallEvent).operation)») {
-						newState = STATE_«transition.target.name»;
-#ifdef SM_VERBOSE
-						std::cout << "SM «clazz.name»: transition to state «transition.target.name»" << std::endl;
-#endif
-						«IF (transition.effect != null)»
-							«executorRef»«effectName(transition)»();
-						«ENDIF»
-					} 
-				«ENDIF»
-				«IF (trigger.event instanceof SignalEvent)» 
-					«val signalEvent = trigger.event as SignalEvent»
-					// transition «trigger.name» - trigger: SignalEvent («signalEvent.name»), signal «signalEvent.signal.name»
-					if (event.operationID == «setrigger(trigger)») {
-						«IF (transition.effect != null) || (transition.guard != null)»
-							// map signal to parameter section
-							::«signalEvent.signal.qualifiedName» * signal = (::«signalEvent.signal.qualifiedName» *) &event.params;
-						«ENDIF»
-						«IF transition.guard != null»
-							«transition.guard.specification.createGuardFct(signalEvent)»
-							if («executorRef»«transition.guard.specification.name»(signal)) {
-						«ENDIF»
-						newState = STATE_«transition.target.name»;
-#ifdef SM_VERBOSE
-						std::cout << "SM «clazz.name»: transition to state «transition.target.name» (due to signal «signalEvent.signal.name»)" << std::endl;
-#endif
-						«IF (transition.effect != null)»
-							«transition.effect.addSignalParameter(signalEvent.signal)»
-							«executorRef»«effectName(transition)»(«IF signalEvent.signal.attributes.size > 0»signal«ENDIF»);
-						«ENDIF»
-						// ok = EvQUEUE ;
-						«IF transition.guard != null»
-							}
-						«ENDIF»
-					}
-				«ENDIF»
-			«ENDIF»
-		«ENDFOR»
-	
-		if (newState != m_currentState) {
-			m_currentState = newState;
-			«IF ((state instanceof State) && (state as State).exit != null)»
-			// execute exit action
-			«executorRef»«(state as State).exit.name»();
-		«ENDIF»
-
-			
-		}
-	'''
-	
-	def boolean hasTransitionWithoutTrigger(Vertex state) {
-		for (transition : state.outgoings) {
-			if (transition.triggers.size == 0) {
-				return true;
-			}
-		}
-		return false;		
-	}
-	
-	def EList<Transition> calculateTransitions(Vertex state) {
-		val allOutgoings = new BasicEList<Transition>
-		allOutgoings.addAll(state.outgoings)
-		for (transition : state.outgoings) {
-			if (transition.target instanceof Pseudostate) {
-				val ps = transition.target as Pseudostate
-				if (ps.kind == PseudostateKind.JUNCTION_LITERAL) {
-					allOutgoings.addAll(ps.outgoings.clone)
-				}
-			}
-		}
-		return allOutgoings
-	}
-	
-	/**
-	 * Effects are moved from behaviors embedded into transitions towards behaviors of the class. Calculate the name of these
-	 * effects. The class FilterStateMachines moves the effects (TODO: single name calculation)
-	 */
-	def effectName(Transition transition) {
-		if (transition.effect.name == null) {
-			throw new TransformationException(
-				String.format("effect of transition has no name (in SM %s)", transition.containingStateMachine.name))
-		}
-		newBehaviorName(transition)
-	}
-
-	/**
-	 * Calculate the new name of an effect that will become an operation/behavior
-	 * at the class level
-	 * @param sm The state-machine
-	 * @param transition the transition holding an effect
-	 * @return the new name
-	 */
-	def static newBehaviorName(Transition transition) {
-		val effect = transition.getEffect()
-
-		var transitionName = transition.getName();
-		if (transitionName == null) {
-			transitionName = "transition";
-		}
-		transition.containingStateMachine().getName() + "_" + transitionName
-		 		+ "_" + effect.getName()
-	}
-	
-	def void addSignalParameter(Behavior behavior, Signal signal) {
-		if (behavior.ownedParameters.size == 0) {
-			val parameter = behavior.createOwnedParameter(sigParamName, signal)
-			StereotypeUtil.apply(parameter, Ptr)
-			if (ooPattern) {
-				// create dependency between class hosting stereotype and signal (used by C++ code generators to add proper code)
-				clazz.createDependency(signal)
-			}
-		}
-	}
-
-	def void moveBehavior(String newName, Class tmClass, Behavior effect) {
-		val copiedEffect = EcoreUtil.copy(effect)
-		if (tmClass.getOwnedOperation(newName, null, null) != null) {
-			// has already been added
-			return;
-		}
-		val operation = tmClass.createOwnedOperation(newName, null, null);
-		for (parameter : effect.getOwnedParameters()) {
-			val newParameter = EcoreUtil.copy(parameter);
-			operation.getOwnedParameters().add(newParameter);
-			StUtils.copyStereotypes(parameter, newParameter);
-		}
-		copiedEffect.setSpecification(operation);
-		copiedEffect.setName(newName);
-		tmClass.getOwnedBehaviors().add(copiedEffect);
-	}
-
-	static final String CLIB_BOOL = "AnsiCLibrary::bool"
-
-	def void createGuardFct(ValueSpecification specification, SignalEvent event) {
-		val name = specification.getName()
-		
-		if (clazz.getOwnedBehavior(name) != null) {
-			return
-		}
-		var booleanNamedElement = Utils.getQualifiedElement(TransformationContext.sourceRoot, CLIB_BOOL);
-		
-		if (booleanNamedElement instanceof Type) {
-			val booleanType = TransformationContext.copier.getCopy(booleanNamedElement) as Type
-			val operation = clazz.createOperation(name, booleanType as Type)
-			if (event != null) {
-				val sigParam = operation.createOwnedParameter("signal", event.signal)
-				StereotypeUtil.apply(sigParam, Ptr)
-			}
-			val ob = clazz.createOpaqueBehavior(operation)
-			if (specification instanceof OpaqueExpression) {
-				ob.getLanguages().addAll(specification.getLanguages());
-				for (String body : specification.getBodies()) {
-					ob.getBodies().add("return " + body + ";");
-				}
-			}
-		}
-		else {
-			Activator.log.debug("error, expecting a guard typed with a boolean value");
-		}
-	}
-}
\ No newline at end of file
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/StateMachineUtil.java b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/StateMachineUtil.java
deleted file mode 100644
index e11de84..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/StateMachineUtil.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.modellibs.core.xtend;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.designer.components.transformation.core.UMLTool;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TemplateUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationContext;
-import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.PackageableElement;
-import org.eclipse.uml2.uml.Pseudostate;
-import org.eclipse.uml2.uml.PseudostateKind;
-import org.eclipse.uml2.uml.Region;
-import org.eclipse.uml2.uml.State;
-import org.eclipse.uml2.uml.StateMachine;
-import org.eclipse.uml2.uml.TemplateBinding;
-import org.eclipse.uml2.uml.Transition;
-import org.eclipse.uml2.uml.Type;
-import org.eclipse.uml2.uml.UMLPackage;
-import org.eclipse.uml2.uml.Vertex;
-
-
-public class StateMachineUtil {
-	public static Region region(State state) {
-		EList<Region> regions = state.getRegions();
-		if (regions.size() > 0) {
-			return regions.get(0);
-		}
-		return null;
-	}
-
-	public static Region region(StateMachine stateMachine) {
-		EList<Region> regions = stateMachine.getRegions();
-		if (regions.size() > 0) {
-			return regions.get(0);
-		}
-		return null;
-	}
-
-	public static EList<State> subStates(State state) {
-		Region region = region(state);
-		return (region != null) ? states(region) : new BasicEList<State>();
-	}
-
-	public static EList<State> states(StateMachine stateMachine) {
-		Region region = region(stateMachine);
-		return (region != null) ? states(region) : new BasicEList<State>();
-	}
-
-	public static EList<State> states(Region region) {
-		EList<State> states = new BasicEList<State>();
-		for (org.eclipse.uml2.uml.Vertex vertex : region.getSubvertices()) {
-			if (vertex instanceof State) {
-				states.add((State) vertex);
-			}
-		}
-		return states;
-	}
-
-	public static EList<Pseudostate> entryPoints(State state) {
-		EList<Pseudostate> pseudoStates = new BasicEList<Pseudostate>();
-		for (Pseudostate pseudoState : state.getConnectionPoints()) {
-			if (pseudoState.getKind() == PseudostateKind.ENTRY_POINT_LITERAL) {
-				pseudoStates.add(pseudoState);
-			}
-		}
-		return pseudoStates;
-	}
-
-	public static EList<Pseudostate> exitPoints(State state) {
-		EList<Pseudostate> pseudoStates = new BasicEList<Pseudostate>();
-		for (Pseudostate pseudoState : state.getConnectionPoints()) {
-			if (pseudoState.getKind() == PseudostateKind.EXIT_POINT_LITERAL) {
-				pseudoStates.add(pseudoState);
-			}
-		}
-		return pseudoStates;
-	}
-
-	public static EList<Pseudostate> junctionPoints(Region region) {
-		return filteredPseudoStates(region, PseudostateKind.JUNCTION_LITERAL);
-	}
-
-	public static EList<Pseudostate> choicePoints(Region region) {
-		return filteredPseudoStates(region, PseudostateKind.CHOICE_LITERAL);
-	}
-
-	public static EList<Pseudostate> filteredPseudoStates(Region region, PseudostateKind kind) {
-		EList<Pseudostate> pseudoStates = new BasicEList<Pseudostate>();
-		for (Vertex vertex : region.getSubvertices()) {
-			if (vertex instanceof Pseudostate) {
-				Pseudostate pseudoState = (Pseudostate) vertex;
-				if (pseudoState.getKind() == kind) {
-					pseudoStates.add(pseudoState);
-				}
-			}
-		}
-		return pseudoStates;
-	}
-
-	public static Pseudostate firstPseudoState(Region region, PseudostateKind kind) {
-		for (Vertex vertex : region.getSubvertices()) {
-			if (vertex instanceof Pseudostate) {
-				Pseudostate pseudoState = (Pseudostate) vertex;
-				if (pseudoState.getKind() == kind) {
-					return pseudoState;
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @return The set of all transitions ending indirectly on the state.
-	 *         This is, those which end on one of the state's entry points.
-	 */
-	public static Collection<Transition> indirectIncomings(State state) {
-		EList<Transition> indirectIncoming = new BasicEList<Transition>();
-		for (Pseudostate p : entryPoints(state)) {
-			for (Transition t : p.getIncomings()) {
-				indirectIncoming.add(t);
-			}
-		}
-		return indirectIncoming;
-	}
-
-	/**
-	 * @return The set of all transitions ending indirectly on the state.
-	 *         This is, those which end on one of the state's entry points.
-	 */
-	public static Collection<Transition> indirectOutgoings(State state) {
-		EList<Transition> indirectIncoming = new BasicEList<Transition>();
-		for (Pseudostate p : entryPoints(state)) {
-			for (Transition t : p.getIncomings()) {
-				indirectIncoming.add(t);
-			}
-		}
-		return indirectIncoming;
-	}
-
-
-	/**
-	 * @return The set of all direct and indirect incoming transitions to the state.
-	 */
-	public static Collection<Transition> allIncomings(State state) {
-		EList<Transition> allIncoming = new BasicEList<Transition>();
-		for (Transition t : state.getIncomings()) {
-			allIncoming.add(t);
-		}
-		allIncoming.addAll(indirectIncomings(state));
-		return allIncoming;
-	}
-
-	/**
-	 * @return The set of all direct and indirect incoming transitions to the state.
-	 */
-	public static Collection<Transition> allOutgoings(State state) {
-		EList<Transition> allIncoming = new BasicEList<Transition>();
-		for (Transition t : state.getIncomings()) {
-			allIncoming.add(t);
-		}
-		allIncoming.addAll(indirectOutgoings(state));
-		return allIncoming;
-	}
-
-	/**
-	 * Adds all the inner elements of a composite state to self, except for the
-	 * initial, entry, exit and history pseudo-states.
-	 *
-	 * This operation moves those elements, as it removes them from their
-	 * original container and sets their owner to the recipient.
-	 */
-	public static void moveContents(Region targetRegion, State source) {
-		Region sourceRegion = region(source);
-		EList<Vertex> vertices = new BasicEList<Vertex>(sourceRegion.getSubvertices());
-		for (Vertex v : vertices) {
-			// move states and pseudostates
-			targetRegion.getSubvertices().add(v);
-		}
-		EList<Transition> transitions = new BasicEList<Transition>(sourceRegion.getTransitions());
-		for (Transition t : transitions) {
-			targetRegion.getTransitions().add(t);
-		}
-	}
-
-	public static Pseudostate initialState(Region region) {
-		return firstPseudoState(region, PseudostateKind.INITIAL_LITERAL);
-	}
-
-	public static Pseudostate deepHistory(Region region) {
-		return firstPseudoState(region, PseudostateKind.DEEP_HISTORY_LITERAL);
-	}
-
-	public static State createState(Region region, String name) {
-		return (State) region.createSubvertex(name, UMLPackage.eINSTANCE.getState());
-	}
-
-	public static Pseudostate createPseudostate(Region region, String name) {
-		return (Pseudostate) region.createSubvertex(name, UMLPackage.eINSTANCE.getPseudostate());
-	}
-	
-	/**
-	 * Return the bound package in the context of template instantiation for a given actual.
-	 *
-	 * This is required by the state machine template which needs to access operation IDs
-	 * provided by the call interceptor.
-	 *
-	 * @param actual
-	 *            The actual for template binding
-	 * @return
-	 */
-	public static Package boundPackageRef(Type actual) {
-		for (Package nestedPkg : PackageUtil.getRootPackage(actual).getNestedPackages()) {
-			// search for bound package templates who are bound to the same actual
-			// TODO: search is ambiguous, if same actual is used more than once
-			if (nestedPkg.getTemplateBindings().size() > 0) {
-				TemplateBinding binding = nestedPkg.getTemplateBindings().get(0);
-				if (actual == TemplateUtils.getFirstActualFromBinding(binding)) {
-					return nestedPkg;
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Declares a dependency from the current classifier which is produced by template instantiation
-	 * to the element (enum) "OperationIDs", if found within the passed package.
-	 *
-	 * @param pkg
-	 * @return
-	 */
-	public static void declareDependencyToOperationIDs(Package pkg) {
-		PackageableElement type = pkg.getPackagedElement("OperationIDs"); //$NON-NLS-1$
-		if (type instanceof Type) {
-			UMLTool.declareDependency(TransformationContext.classifier, (Type) type);
-		}
-	}
-
-	/**
-	 * Declares a dependency from the current classifier which is produced by template instantiation
-	 * to the element (enum) "SignalIDs", if found within the passed package.
-	 *
-	 * @param pkg
-	 *            the package in which an enumeration is looked up
-	 * @return
-	 */
-	public static void declareDependencyToSignalIDs(Package pkg) {
-		NamedElement type = Utils.getQualifiedElement(pkg, "globalenums::" + SIGNAL_ENUM); //$NON-NLS-1$
-		if (type instanceof Type) {
-			UMLTool.declareDependency(TransformationContext.classifier, (Type) type);
-		}
-	}
-	
-	static final String SIGNAL_ENUM = "SignalIDs"; 
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/StructBasedMarshalling.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/StructBasedMarshalling.xtend
deleted file mode 100644
index 4002793..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/StructBasedMarshalling.xtend
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.papyrus.designer.components.modellibs.core.xtend
-
-import org.eclipse.uml2.uml.Operation
-import static extension org.eclipse.papyrus.designer.components.transformation.core.UMLTool.*
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.xtend.CppUtils.cppType
-
-// TODO: original model code does effectively do more than marshalling
-class StructBasedMarshalling {
-	def static marshall(Operation operation) '''
-		struct ParamData {
-			«FOR parameter : operation.parametersInInout»
-				«parameter.type.cppType» «parameter.name»;
-			«ENDFOR»
-		};
-		Event event;
-		event.ID = [operation.name/];
-		event.kind = CallEvent;
-		ParamData * data = &event.params;
-		«FOR parameter : operation.parametersInInout»
-		data->[parameter.name/] = [parameter.name/];
-		«ENDFOR»
-		out->dispatch(event);
-	'''
-	
-}
\ No newline at end of file
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/SyncCalls.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/SyncCalls.xtend
deleted file mode 100644
index 9b02987..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/SyncCalls.xtend
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.eclipse.papyrus.designer.components.modellibs.core.xtend
-
-import org.eclipse.uml2.uml.Operation
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.xtend.CppUtils.*
-
-class SyncCalls {
-	def syncCall(Operation operation) '''
-		// put pre-interceptors here
-		[comment type is a derived property containing the operations return type/]
-		«IF operation.type != null»return «ENDIF»rconn->«operation.cppCall»;
-		// put post-interceptors here
-	'''
-}
\ No newline at end of file
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/UMLAction.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/UMLAction.xtend
deleted file mode 100644
index f15d8ab..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/UMLAction.xtend
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2014 Zeligsoft, CEA and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*******************************************************************************/
-
-package org.eclipse.papyrus.designer.components.modellibs.core.xtend
-
-import org.eclipse.xtend.lib.annotations.Accessors
-import org.eclipse.uml2.uml.Behavior
-import java.util.List
-import java.util.ArrayList
-
-/**
- * An action in the sense of the invocation of a behavior.
- * This means that the actual behavior is not described here. The action
- * is referencing the behavior and providing information how to invoke the
- * behavior.
- * The action has no prefix: the name of the referenced behavior needs to be prefixed, if necessary
- * 
- * @author Ansgar (based on code from eposse)
- *
- */
-class UMLAction {
-
-    /** Source UMLRT model element. */
-    @Accessors Behavior origin
-
-	// list of parameters for a call, simply a list of strings. if null => no parameters
-	public List<String> callParams;
-	
-   	new(Behavior origin) {
-		this.origin = origin
-	}
-	
-	/**
-	 * Add a parameter
-	 */
-	def addParam(String parameter) {
-		if (callParams == null) {
-			callParams = new ArrayList<String>()
-		}
-		callParams.add = parameter
-		}
-	
-	def getSpecification() {
-		origin.specification	
-	}
-	
-	def getFuncName() {
-		origin.name
- 	}
-
-   	override toString() '''Action(«origin.name»)'''
-
-}
\ No newline at end of file
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/UMLChain.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/UMLChain.xtend
deleted file mode 100644
index 9dcbd6d..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/UMLChain.xtend
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2014 Zeligsoft (2009) Limited  and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*******************************************************************************/
-
-package org.eclipse.papyrus.designer.components.modellibs.core.xtend
-
-import java.util.HashMap
-import java.util.List
-import java.util.Map
-import org.eclipse.uml2.uml.Behavior
-import org.eclipse.uml2.uml.Transition
-import org.eclipse.xtend.lib.annotations.Accessors
-
-/**
- * A chain of state entry, exit and transition actions for a "flat"
- * {@link Transition}.
- *
- * @author eposse
- *
- */
-class UMLChain {
-
-    @Accessors List<UMLAction> actions
-    @Accessors Transition owner
-
-	static Map<Transition, UMLChain> chains;
-
-    new () {
-        actions = newArrayList
-    }
-
-    new (List<UMLAction> actions) {
-        this.actions = newArrayList(actions) // We need this to be mutable.
-    }
-
-	def static void initChains() {
-		chains = new HashMap<Transition, UMLChain>();
-	}
-	
-	/**
-	 * Return the chain of behaviors associated with a transition
-	 * IF the chain does not exist yet, it will be created (and stored in a hash map) 
-	 * @param t
-	 * @return
-	 */
-	def static UMLChain chain(Transition t) {
-		var UMLChain chain = chains.get(t)
-		if (chain == null) {
-			chain = new UMLChain()
-			chain.setOwner(t)
-			chains.put(t, chain)
-		}
-		return chain
-	}
-
-    def append(UMLAction action) {
-        actions.add(action)
-        return this
-    }
-
-	def append(Behavior behavior) {
-		if (behavior != null) {
-	    	append(new UMLAction(behavior))
-	    }
-        return this
-    }
-
-    def prepend(UMLAction action) {
-        actions.add(0, action)
-        return this
-    }
-
-	def prepend(Behavior behavior) {
-	    prepend(new UMLAction(behavior))
-        return this
-    }
-
-    def getOwner() {
-        owner
-    }
-
-    def setOwner(Transition t) {
-       	owner = t
-       	// add transition effect to action list
-       	append(t.effect)
-    }
-}
\ No newline at end of file
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/UMLFlatModel2Cpp.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/UMLFlatModel2Cpp.xtend
deleted file mode 100644
index 4634fc3..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/UMLFlatModel2Cpp.xtend
+++ /dev/null
@@ -1,667 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2014 Zeligsoft, CEA and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*******************************************************************************/
-package org.eclipse.papyrus.designer.components.modellibs.core.xtend
-
-import org.eclipse.uml2.uml.Port
-import org.eclipse.uml2.uml.Class
-import org.eclipse.uml2.uml.Property
-import org.eclipse.uml2.uml.State
-import org.eclipse.uml2.uml.StateMachine
-import org.eclipse.uml2.uml.Transition
-import java.util.Map
-import org.eclipse.uml2.uml.NamedElement
-import java.util.Collection
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.xtend.StateMachineUtil.*
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.xtend.BehaviorUtil.*
-import org.eclipse.uml2.uml.UMLPackage
-import org.eclipse.uml2.uml.Enumeration
-import org.eclipse.uml2.uml.EnumerationLiteral
-import org.eclipse.uml2.uml.Pseudostate
-import org.eclipse.uml2.uml.PseudostateKind
-import org.eclipse.uml2.uml.Operation
-import org.eclipse.uml2.uml.OpaqueBehavior
-import org.eclipse.uml2.uml.Parameter
-import org.eclipse.uml2.uml.CallEvent
-import org.eclipse.uml2.uml.Stereotype
-import org.eclipse.uml2.uml.Type
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.xtend.UMLChain.chain
-import java.util.List
-import org.eclipse.papyrus.designer.components.transformation.core.EnumService
-
-/**
- * This class contains the transformation from flat UML-RT state machines to the
- * C/C++ language model.
- *
- * It implements the algorithms described in the technical report
- *
- * E. Posse. "Transforming flat UML-RT State Machines to a C/C++ language model".
- * Technical Report ZTR-2014-EP-002, Version 2, Zeligsoft, Sep 2014.
- *
- * Ansgar Radermacher (CEA): translation to UML transformation 
- * @author eposse
- */
-class UMLFlatModel2Cpp {
-
-	/**
-     * The CppCodePattern that is being used for this transformation operation.
-     */
-
-	/** The source state machine to transform */
-	StateMachine machine
-	Class clazz
-
-	/** Elements that go into the generated model. */
-	Enumeration statesDeclaration
-	Property currentStateField
-	Map<State, EnumerationLiteral> stateEnumerators
-	Property historyTableDeclaration
-	Operation saveHistoryFunction
-	Map<Transition, OpaqueBehavior> actionChainFunctions
-	Map<Pseudostate, OpaqueBehavior> junctionPointFunctions
-	Map<Pseudostate, OpaqueBehavior> choicePointFunctions
-	Map<State, OpaqueBehavior> stateFunctions
-	Operation injectFunc
-	Operation initializeFunc
-	Stereotype refStereo
-	Stereotype constStereo
-
-	new() {
-		stateEnumerators = newHashMap
-		// userActionFunctions = newHashMap
-		actionChainFunctions = newHashMap
-		junctionPointFunctions = newHashMap
-		choicePointFunctions = newHashMap
-		stateFunctions = newHashMap
-	}
-
-	/**
-     * This is the main method of the transformation. It performs the
-     * transformation by invoking methods that generate each part of the
-     * target language model.
-     */
-	def transform(StateMachine m) {
-		machine = m
-		clazz = m.owner as Class
-
-		generateStatesDeclaration
-		generateCurrentStateField
-		generateHistoryTableDeclaration
-		generateSaveHistoryFunction
-		// generateAllUserActionFunctions
-		generateAllActionChainFunctions
-		generateAllJunctionFunctions
-		generateAllChoicePointFunctions
-		generateAllStateFunctions
-		generateInjectFunc
-		generateInitializeFunc
-	}
-
-	/**
-     * Builds an enum type for the states of the state machine.
-     *
-     * The generated code would be something like:
-     *
-     * <p><pre>
-     * <code>enum State { s0, s1, s1_s0, s1_s1, s2, ... };</code>
-     * </pre>
-     */
-	def generateStatesDeclaration() {
-
-		val clazz = machine.owner as Class
-		statesDeclaration = clazz.createNestedClassifier(GlobalConstants.STATE_TYPE_NAME,
-			UMLPackage.eINSTANCE.getEnumeration) as Enumeration
-		for (s : machine.states) {
-			if (s.name == null) {
-				s.name = "undefined"
-			}
-			val stateLiteral = statesDeclaration.createOwnedLiteral(s.name)
-			stateEnumerators.put(s, stateLiteral)
-		}
-		statesDeclaration.createOwnedLiteral(GlobalConstants.UNVISITED)
-
-	// stateEnumerators.put(State.UNVISITED, unvisitedStateLiteral)
-	}
-
-	/**
-     * Generates a field to hold the current state.
-     *
-     * The generated code would be something like:
---     *
-     * <p><pre>
-     * <code>
-     * State currentState;
-     * </code>
-     * </pre>
-     */
-	def generateCurrentStateField() {
-		currentStateField = clazz.createOwnedAttribute(GlobalConstants.CURRENT_STATE_FIELD_NAME, statesDeclaration)
-	}
-
-	/**
-     * Generates a declaration for the history table for the state machine.
-     *
-     * The generated code would be something like:
-     *
-     * <p>
-     * <code>State[] history = { UNDEFINED, ..., UNDEFINED };
-     */
-	def generateHistoryTableDeclaration() {
-
-		// TODO: currentStateField already used (probably wrong!)
-		historyTableDeclaration = clazz.createOwnedAttribute(GlobalConstants.HISTORY_TABLE_NAME, statesDeclaration)
-		val numStates = machine.states.size
-
-		// use CppArray instead?
-		// TODO
-		// currentStateField.upper = numStates
-
-		// get constructor TODO
-		var ctor = clazz.getOwnedOperation(clazz.getName(), null, null)
-		var OpaqueBehavior ctorOB
-		if (ctor != null) {
-			ctorOB = ctor.methods.get(0) as OpaqueBehavior
-		}
-		if (ctor == null) {
-			ctor = clazz.createOperation(clazz.getName(), null)
-			ctorOB = clazz.createOpaqueBehavior(ctor) 
-		}
-		
-		// TODO: might be more than one constructor
-		ctorOB.set('''
-			int i = 0;
-			while (i<«numStates») {
-				«GlobalConstants.HISTORY_TABLE_NAME»[i++] = «GlobalConstants.UNVISITED»;
-			}''')
-	}
-
-	/**
-     * Generates a function that saves history.
-     *
-     * The code generated is as follows:
-     *
-     * <p><pre>
-     * <code>
-     * void saveHistory(State compositeState, State subState) {
-     *     history[compositeState] = subState;
-     * }
-     * <code>
-     * </pre>
-     *
-     * where <code>State</code> is the capsule's state type (an enum) and
-     * <code>history</code> is the capsule's history table.
-     *
-     * <p><b>Note:</b> The current implementation generates this as a normal
-     * function but it should be either a macro or an inline function.
-     * However the C/C++ language model does not currently support these.
-     *
-     * @see
-     *  #generateStatesDeclaration
-     *  #generateHistoryTableDeclaration
-     */
-	def generateSaveHistoryFunction() {
-
-		// Create the operation programmatically. Yet, it would be better
-		// to provide a model template for this
-		// [LW container-transformation
-		// saveHist(State compositeState, State subState) {
-		//   historyTable[param1] = param2;
-		// }
-		saveHistoryFunction = clazz.createOwnedOperation(GlobalConstants.SAVE_HISTORY_FUNC_NAME, null, null)
-		saveHistoryFunction.createOwnedParameter("compositeState", stateType)
-		saveHistoryFunction.createOwnedParameter("subState", stateType)
-		// behavior might exist already (created by flattener)
-		var funcOB = clazz.getOwnedBehavior(GlobalConstants.SAVE_HISTORY_FUNC_NAME)
-		if (funcOB == null) {
-			funcOB = clazz.createOpaqueBehavior(saveHistoryFunction)
-		}
-		else {
-			funcOB.specification = saveHistoryFunction
-		}
-		funcOB.set("history[compositeState] = subState;")
-	}
-
-	/**
-     * Generate function declarations for transition action chains.
-     *
-     * <p>Each function generated will have a sequence of calls, invoking either
-     * the action functions generated by {@link generateActionFunc} for
-     * transition, state entry and state exit actions, as well as invoking
-     * "save history" actions produced by the flattening transformation.
-     */
-	def generateAllActionChainFunctions() {
-		for (t : machine.region.transitions) {
-			val f = generateActionFunc(t)
-			actionChainFunctions.put(t, f)
-		}
-	}
-
-	/**
-     * Generates the function declaration for a single action chain.
-     */
-	def generateActionFunc(Transition t) {
-		val transitionFuncName = GlobalConstants.TRANS_ACTION_FUNC_PREFIX + "__" + t.name
-		val transitionFunc = clazz.createOwnedOperation(transitionFuncName, null, null)
-		transitionFunc.createRTMessageParam(GlobalConstants.CHAIN_FUNC_PARAM)
-		var transitionFuncOB = t.effect
-		if (transitionFuncOB == null) {
-			transitionFuncOB = clazz.createOpaqueBehavior(transitionFunc);
-		}
-		else {
-			transitionFuncOB.specification = transitionFunc
-			clazz.ownedBehaviors.add(transitionFuncOB)
-		}
-		
-		val chainFuncName = GlobalConstants.ACTION_FUNC_PREFIX + "__" + t.name
-		val chainFunc = clazz.createOwnedOperation(chainFuncName, null, null)
-		chainFunc.createRTMessageParam(GlobalConstants.CHAIN_FUNC_PARAM)
-		val	chainFuncOB = clazz.createOpaqueBehavior(chainFunc);
-		
-		// now examine chain (separate function generateActionInvocation in original code)
-		// Generates a call to an action, either user action or action generated by
- 		// the transformation.
-		var code = ""
-		for (action : t.chain.actions) {
-			code += call(action.specification, action.callParams)
-		}
-		chainFuncOB.set(code)
-		return chainFuncOB as OpaqueBehavior
-	}
-    
-	//    def Enumerator getEnum(CppEnum enum1, String string) {
-	//        throw new UnsupportedOperationException("TODO: auto-generated method stub")
-	//    }
-	/**
-     * Generates all functions corresponding to choice points.
-     */
-	def generateAllChoicePointFunctions() {
-		for (c : machine.region.choicePoints) {
-			val f = generateChoiceFunc(c)
-			choicePointFunctions.put(c, f)
-		}
-	}
-
-	/**
-     * Generates the function corresponding to a given choice point.
-     */
-	def generateChoiceFunc(Pseudostate p) {
-		val funcName = GlobalConstants.CHOICE_FUNC_PREFIX + p.name
-		val funcDecl = clazz.createOperation(funcName, null)
-		val param = funcDecl.createRTMessageParam(GlobalConstants.CHOICE_FUNC_PARAM)
-		val funcDeclOB = clazz.createOpaqueBehavior(funcDecl)
-
-		// if (generateGuard) { [actFunc/](param); [DestStatement]
-		var code = ""
-		for (t : p.outgoings) {
-			code += '''
-				if («t.guard.body») {
-					«call(actionChainFunctions.get(t), param.name)»
-					// TODO: return instead
-					«currentStateField.name» = «getDestination(t, false)»;
-				}
-				'''
-		}
-		funcDeclOB.set(code)
-		return funcDeclOB
-	}
-
-	/**
-     * Generates all functions corresponding to junction points.
-     */
-	def generateAllJunctionFunctions() {
-		for (j : machine.region.junctionPoints) {
-			val f = generateJunctionFunc(j)
-			junctionPointFunctions.put(j, f)
-		}
-	}
-
-	/**
-     * Generates the function corresponding to a specific junction point.
-     */
-	def generateJunctionFunc(
-		Pseudostate p
-	) {
-		val funcName = GlobalConstants.JUNCTION_FUNC_PREFIX + p.name
-		val funcDecl = clazz.createOperation(funcName, null)
-		val funcDeclOB = clazz.createOpaqueBehavior(funcDecl)
-		funcDecl.createRTMessageParam(GlobalConstants.JUNC_FUNC_PARAM)
-		val t = p.outgoings.get(0) // There should be only one.
-		var code = ""
-		if (t != null) {
-			val actFunc = actionChainFunctions.get(t)
-			code += call(actFunc, GlobalConstants.JUNC_FUNC_PARAM)
-		}
-		code += getDestination(t, false)
-		funcDeclOB.set(code)
-		funcDeclOB
-	}
-
-	/**
-     * Generates all functions corresponding to states.
-     */
-	def generateAllStateFunctions() {
-		for (s : machine.states) {
-			val f = generateStateFunc(s)
-			stateFunctions.put(s, f)
-		}
-	}
-
-	/**
-     * Generates the function corresponding to a given state.
-     */
-	def generateStateFunc(State state) {
-		val name = GlobalConstants.STATE_FUNC_PREFIX + state.name
-		val retType = statesDeclaration
-		val func = clazz.createOperation(name, retType)
-		val param = func.createRTMessageParam(GlobalConstants.STATE_FUNC_PARAM)
-		val funcOB = clazz.createOpaqueBehavior(func)
-		val table = getPortTransitionsTable(state)
-
-		val code = '''
-			switch («getPortCond(param)») {
-				«FOR port : table.keySet»
-				case «enumeratorFor(port)»:
-					switch(«getSigCond(param)») {
-					«FOR t : table.get(port)»
-					«FOR trigger : t.triggers.filter[it.ports.contains(port)]»
-						case «enumeratorFor(trigger.event as CallEvent)»:
-							«IF (t.guard != null)»if (t.guard) { «ENDIF»
-							«actionChainFunctions.get(t).name»(«param.name»);
-							return «getDestination(t, false)»;
-							«IF (t.guard != null)»}«ENDIF»
-					«ENDFOR»
-					«ENDFOR»
-					}
-				«ENDFOR»
-			}
-		'''
-		funcOB.set(code)
-		funcOB
-	}
-
-	/**
-     * Builds a table that contains for each port, all the outgoing transitions
-     * of a given state whose trigger has that port.
-     *
-     * @param s     a {@link State}
-     * @return a table T indexed by {@link Port}s such that for each port p, the
-     *         entry T[p] contains all outgoing {@link Transition}s from s
-     *         whose trigger has port p.
-     */
-	private def getPortTransitionsTable(State s) {
-		val table = newHashMap
-		for (t : s.outgoings) {
-			for (trigger : t.triggers) {
-				for (p : trigger.ports) {
-					if (!table.containsKey(p)) {
-						table.put(p, newHashSet)
-					}
-					table.get(p).add(t)
-				}
-			}
-		}
-		return table
-	}
-
-	/**
-     * Obtains the function call corresponding to a transition's destination.
-     *
-     * @param t - The {@link Transition}
-     * @param init - Whether we are looking for the destination to be obtained
-     *               in the ized method or in the inject method. 
-     */
-	private def getDestination(Transition t, boolean init) {
-		var String retVal
-		if (t.target instanceof Pseudostate) {
-			val ps = t.target as Pseudostate
-			if (ps.kind == PseudostateKind.CHOICE_LITERAL) {
-				val func = choicePointFunctions.get(ps)
-				retVal = func.getName() + "();"
-			} else if (ps.kind == PseudostateKind.JUNCTION_LITERAL) {
-				val func = junctionPointFunctions.get(ps)
-				retVal = func.getName() + "();"
-			}
-		} else {
-			retVal = stateEnumerators.get(t.target).name
-		}
-		if (init) {
-			// currentStateField = << code >>
-			retVal = '''«currentStateField.name» = «retVal»;'''
-		}
-		retVal
-	}
-
-	/**
-     * Generates the main 'inject' function that receives and handles events.
-     */
-	def generateInjectFunc() {
-		injectFunc = clazz.createOperation(GlobalConstants.INJECT_FUNC_NAME, null)
-
-		// injectFunc.setVirtual()
-		injectFunc.createRTMessageParam(GlobalConstants.INJECT_FUNC_PARAM)
-		val injectFuncOB = clazz.createOpaqueBehavior(injectFunc)
-		val code = '''
-			switch(stateCond) {
-			«FOR s : machine.states»
-				case «enumFor(s)»:
-					«currentStateField.name» = «call(stateFunctions.get(s), GlobalConstants.INJECT_FUNC_PARAM)»
-					break;
-			«ENDFOR»
-			}
-		'''
-		injectFuncOB.set(code)
-		injectFunc
-	}
-
-
-	/**
-     * Build the initialize function which performs the initial transition.
-     *
-     * <p>This assumes that the top level of the state machine must have an
-     * initial pseudo-state, and that there is exactly one outgoing transition
-     * from such initial point.
-     *
-     * <p> If there is no initial point, the body of the initialize method is
-     * empty.
-     */
-	def generateInitializeFunc() {
-		initializeFunc = clazz.createOperation(GlobalConstants.INITIALIZE_FUNC_NAME, null)
-
-		// initializeFunc.setVirtual()
-		initializeFunc.createRTMessageParam(GlobalConstants.INITIALIZE_FUNC_PARAM)
-		val initializeFuncOB = clazz.createOpaqueBehavior(initializeFunc)
-
-		var code = ""
-		if (machine.region.initialState != null) {
-			val initialTransition = machine.region.initialState.outgoings.get(0);
-			if (initialTransition != null) {
-				val actFunc = actionChainFunctions.get(initialTransition)
-				if (actFunc != null) {
-					code += call(actFunc, GlobalConstants.INITIALIZE_FUNC_PARAM)
-				}
-			}
-			code += getDestination(initialTransition, true)
-			initializeFuncOB.set(code)
-		}
-	}
-
-	def call(NamedElement fct, String param) '''
-		«fct.name»(«param»);
-	'''
-
-	def call(NamedElement fct, List<String> params) '''
-		«IF params != null»
-			«fct.name»(«FOR param : params SEPARATOR ', '»«param»«ENDFOR»);
-		«ELSE»
-			«fct.name»();
-		«ENDIF»
-	'''
-	
-	/**
-     * Generates the compilation unit for the state machine (*)
-     *
-     * <p><b>Notes:</b> This implementation generates only a list of elements
-     * to be consumed by the capsule generator which is assumed to be
-     * responsible for putting together the full compilation unit.
-     */
-	/*
-	def generateCompilationUnit() {
-		// already added?
-
-		cppCapsuleClass.addMember(CppClass.Visibility.PRIVATE, statesDeclaration);
-		cppCapsuleClass.addMember(CppClass.Visibility.PRIVATE, currentStateField)
-		cppCapsuleClass.addMember(CppClass.Visibility.PRIVATE, historyTableDeclaration)
-		cppCapsuleClass.addMember(CppClass.Visibility.PRIVATE, saveHistoryFunction)
-		for (action : userActionFunctions.keySet) {
-			cppCapsuleClass.addMember(CppClass.Visibility.PRIVATE, userActionFunctions.get(action))
-		}
-		for (chain : actionChainFunctions.keySet) {
-			cppCapsuleClass.addMember(CppClass.Visibility.PRIVATE, actionChainFunctions.get(chain))
-		}
-		for (junction : junctionPointFunctions.keySet) {
-			cppCapsuleClass.addMember(CppClass.Visibility.PRIVATE, junctionPointFunctions.get(junction))
-		}
-		for (choice : choicePointFunctions.keySet) {
-			cppCapsuleClass.addMember(CppClass.Visibility.PRIVATE, choicePointFunctions.get(choice))
-		}
-		for (state : stateFunctions.keySet) {
-			cppCapsuleClass.addMember(CppClass.Visibility.PRIVATE, stateFunctions.get(state))
-		}
-		
-		return generatedModel
-	}
-	*/
-	/**
-     * Auxiliary methods
-     */
-	private def getStateType() {
-		statesDeclaration
-	}
-
-	private def getRTMessageType() {
-		// TODO: import umlrts instead of declaring it in model
-		val umlrts = clazz.getModel().getPackagedElement("umlrts") as org.eclipse.uml2.uml.Package
-		umlrts.getPackagedElement("RTMessage") as org.eclipse.uml2.uml.Type;
-	}
-
-	private def createRTMessageParam(Operation operation, String paramName) {
-		val param = operation.createOwnedParameter(paramName, RTMessageType)
-		if (refStereo == null) {
-			refStereo = param.getApplicableStereotype("C_Cpp::Ref")
-		}
-		if (refStereo != null) {
-			param.applyStereotype(refStereo)
-		}
-		if (constStereo == null) {
-			constStereo = param.getApplicableStereotype("C_Cpp::Const")
-		}
-		if (constStereo != null) {
-			param.applyStereotype(constStereo)
-		}
-		param
-	}
-		
-	// TODO - why not used any more?
-	private def getRTDataType(Transition t) {
-		var Type rtdataType = null
-		val Collection<Type> types = newHashSet
-		for (trigger : t.triggers) {
-			val evt = trigger.event as CallEvent
-			val params = evt.operation.ownedParameters
-			if (! params.empty) {
-				val first = params.get(0)
-				types.add(first.type)
-			}
-		}
-		if (types.size == 1) {
-			val type = types.get(0)
-			// TODO - was - createType
-			rtdataType = type
-		}
-		rtdataType
-	}
-
-	private def enumFor(State s) {
-		stateEnumerators.get(s).label
-	}
-
-	private def dispatch enumeratorFor(Port port) {
-		val enumerator = EnumService.literal('PortID', port.name)
-		enumerator
-	}
-
-	private def dispatch enumeratorFor(CallEvent ce) {
-		val operation = ce.operation
-		val protocolCls = EnumService.literal('ProtocolClass', (operation.getInterface().owner as NamedElement).name);
-		'''«protocolCls»::signal_«ce.name»'''
-	}
-
-	/**
-     * Builds an expression to obtain the port enum id for the switch.
-     *
-     * <p>It assumes that the message parameter to the inject function is a
-     * pointer to the RTMessage type, as returned by {@link #getRTMessageType},
-     * this is, the signature of the inject function must be:
-     *
-     * <p><pre>
-     * <code>void inject(UMLRTMessage * msg)</code>
-     * </pre>
-     *
-     * <p>It also assumes that the port id and signal id are accessible from
-     * this type. Basically the assumption is that the relevant definitions are
-     * as follows:
-     *
-     * <p>
-     * <pre>
-     * <code>
-     * class UMLRTMessage : ... {
-     * public:
-     *     UMLRTPort * destPort;
-     *     UMLRTSignal * signal;
-     * }
-     *
-     * struct UMLRTPort {
-     *     int id;
-     *     // ...
-     * }
-     *
-     * class UMLRTSignal {
-     * public:
-     *     int id;
-     *     // ...
-     * }
-     * </code>
-     * </pre>
-     *
-     * <p>... where the typed <code>UMLRTPortId</code> and
-     * <code>UMLRTSignalId</code> can be cast to the <code>Port</code> and
-     * <code>Signal</code> enum types generated in the state machine's class.
-     *
-     * <p>Given this assumptions, the port condition generated has the form:
-     *
-     * <p><pre><code>(Port)(msg->destPort)->id</code></pre>
-     *
-     * <p>and the signal condition is:
-     *
-     * <p><pre><code>(ProtocolX::Signal)(msg->signal)->getId()</code></pre>
-     *
-     * <p>where <code>ProtocolX</code> is the name of the port's protocol
-     */
-	private def getPortCond(Parameter param) {
-		//val messagePortField = UMLRTMessage.destPort()
-		//val portIdField = UMLRTCommsPort.id()
-		//'''«param.name».«messagePortField.name»->«portIdField.name»'''
-		'''TODO'''
-	}
-
-	private def getSigCond(Parameter param) {
-		//val messageSignalField = UMLRTMessage.signal()
-		//val signalIdAccessor = UMLRTSignal.getId()
-		//'''«param.name»->«messageSignalField.name»->«signalIdAccessor.name»()'''
-		'''TODO'''
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/UMLFlattener.xtend b/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/UMLFlattener.xtend
deleted file mode 100644
index f7250af..0000000
--- a/components/org.eclipse.papyrus.designer.components.modellibs.core/src/org/eclipse/papyrus/designer/components/modellibs/core/xtend/UMLFlattener.xtend
+++ /dev/null
@@ -1,556 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2014 Zeligsoft, CEA and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*******************************************************************************/
-package org.eclipse.papyrus.designer.components.modellibs.core.xtend
-
-import org.eclipse.uml2.uml.Behavior
-import org.eclipse.uml2.uml.Class
-import org.eclipse.uml2.uml.NamedElement
-import org.eclipse.uml2.uml.Pseudostate
-import org.eclipse.uml2.uml.PseudostateKind
-import org.eclipse.uml2.uml.Region
-import org.eclipse.uml2.uml.State
-import org.eclipse.uml2.uml.StateMachine
-import org.eclipse.uml2.uml.Transition
-import org.eclipse.uml2.uml.UMLPackage
-import org.eclipse.uml2.uml.Vertex
-
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.xtend.BehaviorUtil.*
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.xtend.StateMachineUtil.*
-import static extension org.eclipse.papyrus.designer.components.modellibs.core.xtend.UMLChain.chain
-import org.eclipse.uml2.uml.OpaqueBehavior
-
-/**
- * This class contains the transformation for flattening UML-RT state machines
- *
- * It implements the algorithms described in the technical report
- *
- * E. Posse. "Flattening UML-RT State Machines".
- * Technical Report ZTR-2014-EP-001, Version 2, Zeligsoft, Sep 2014.
- *
- * @author eposse
- */
-class UMLFlattener {
-
-	val FRESH_NAME_PREFIX = "p"
-	val FRESH_ENTRYPOINT_NAME_PREFIX = "entrypoint_"
-	val FRESH_EXITPOINT_NAME_PREFIX = "exitpoint_"
-	val FRESH_CHOICEPOINT_NAME_PREFIX = "c"
-	val FRESH_JUNCTIONPOINT_NAME_PREFIX = "j"
-	var FRESH_TRANSITION_NAME_PREFIX = "transition_"
-
-	var freshNameCounter = 0
-	var freshEntryPointNameCounter = 0
-	var freshExitPointNameCounter = 0
-	var freshChoicePointNameCounter = 0
-	var freshJunctionPointNameCounter = 0
-	var freshTransitionNameCounter = 0
-	
-	var Behavior saveHistoryBehavior = null
-	var Class clazz
-	
-	/**
-     * Flattens a UML-RT state machine, removing composite states, and making
-     * explicit transitions implied by group transitions, history points and
-     * initial points.
-     *
-     * This is the 'main' method of the transformer. It performs the
-     * transformation in-place.
-     *
-     * @param m a {@link StateMachine}
-     * @return the flat {@link StateMachine} m with all composite states, group
-     *          transitions, history and initial pseudo-states removed.
-     */
-	def StateMachine transform(StateMachine m) {
-		var StateMachine intermediateModel
-		clazz = m.owner as Class
-		UMLChain.initChains
-		phase0QualifyNames(m.region, m.name)
-		phase1(m)
-		intermediateModel = phase2(m)
-		return intermediateModel
-	}
-
-	/**
-	 * Change the names of states and transitions: prefix them with the names
-	 * of the stateMachine and composite states.
-	 */
-	protected def void phase0QualifyNames(Region region, String parentName) {
-		for (Transition transition : region.transitions) {
-			transition.name = parentName + '_' + transition.name
-		}
-		for (Vertex vertex : region.subvertices) {
-			vertex.name = parentName + '_' + vertex.name
-			if (vertex instanceof State) {
-				val State state = vertex as State
-				for (subRegion : state.regions) {
-					phase0QualifyNames(subRegion, vertex.name)
-				}
-			}
-		}
-	}
-	
-
-	/**
-     * Makes explicit transitions implied by group transitions, history points
-     * and initial points.
-     */
-	protected def StateMachine phase1(StateMachine m) {
-		for (State s : m.states) {
-			phase1ProcessState(s)
-		}
-		return m
-	}
-
-	def void phase1ProcessState(State state) {
-		phase1ProcessSimpleState(state)
-		if (!state.regions.empty) {
-			phase1ProcessCompositeState(state)
-		}
-	}
-	
-	/**
-     * Moves a simple state's entry actions to its incoming transitions and
-     * the state's exit actions to its outgoing transitions.
-     * 
-     */
-	def void phase1ProcessSimpleState(State state) {
-		// TODO: should that be done in UML2FlatBody (need chain?)
-		if (state.entry != null) {
-			val entryOp = clazz.createOperation(entryFctName(state), null);
-			state.entry.name = entryFctName(state)
-			// add specification
-			state.entry.specification = entryOp;
-			// clazz.ownedBehaviors.add(state.entry)
-			for (Transition t : state.incomings) {
-				t.chain.append(state.entry)
-			}
-		}
-		if (state.exit != null) {
-			val exitOp = clazz.createOperation(exitFctName(state), null);
-			state.exit.name = exitFctName(state)
-			// add specification
-			state.exit.specification = exitOp;
-			// clazz.ownedBehaviors.add(state.exit)
-			for (Transition t : state.allOutgoings) {
-				t.chain.prepend(state.exit)
-			}
-		}
-	}
-
-	def entryFctName(State state) {
-		GlobalConstants.ENTRY_ACTION_FUNC_PREFIX + GlobalConstants.FUNC_NAME_QUAL_NAME_SEP + state.name + GlobalConstants.FUNC_NAME_QUAL_NAME_SEP + state.entry.name
-	}
-	
-	def exitFctName(State state) {
-		GlobalConstants.EXIT_ACTION_FUNC_PREFIX + GlobalConstants.FUNC_NAME_QUAL_NAME_SEP + state.name + GlobalConstants.FUNC_NAME_QUAL_NAME_SEP + state.exit.name
-	}
-	
-	/**
-     * Creates entry transitions for incoming arrows ending at the composite
-     * state's boundary or history pseudo-state. Creates exit transitions
-     * implied by group transitions.
-     */
-	def void phase1ProcessCompositeState(State state) {
-
-		//        if (state.substates.empty) {
-		//            replaceBySimpleState(state)
-		//            return
-		//        }
-		// Deal with incoming transitions
-		// TODO (ar): such a state can have entry and exit as well, no?
-		annotateExplicitEntryTransitions(state)
-		createEntryPoints(state)
-		var historyChoicePoint = replaceHistoryPoint(state)
-		removeInitialTransition(state, historyChoicePoint)
-
-		// Deal with outgoing transitions
-		annotateExplicitExitTransitions(state)
-		createExitPoints(state)
-		createExitTransitions(state)
-
-		// Process sub-states
-		for (State subState : state.subStates) {
-			phase1ProcessState(subState)
-		}
-	}
-
-	/**
-     * Prepends the state's entry action to each explicit entry transition
-     * (transition from an entry point to a sub-state).
-     */
-	def annotateExplicitEntryTransitions(State state) {
-		for (Pseudostate p : state.entryPoints) {
-			if (!p.outgoings.empty) {
-				for (Transition t : p.outgoings) {
-					t.chain.append(state.entry)
-				}
-			}
-		}
-	}
-
-	/**
-     * Creates entry points for every direct incoming transition (transition
-     * ending directly on the state's boundary).
-     */
-	def createEntryPoints(State state) {
-		for (Transition t : state.incomings) {
-			val p = state.createConnectionPoint(state.newFreshEntryPointName)
-			p.kind = PseudostateKind.ENTRY_POINT_LITERAL
-			t.target = p
-		} //TODO: maybe remove all directIncomming?
-	}
-
-	/**
-     * Replaces the (deep)history pseudo-state with a choice point with transitions
-     * to each sub-state with conditions checking the value of the history table
-     * entry for this composite-state.
-     */
-	def Pseudostate replaceHistoryPoint(State state) {
-
-		// transform history state into a choice point
-		val c = state.region.deepHistory;
-
-		if (c != null) {
-			// No need to redirect incoming transitions, since we transform the history
-			// state with a choice point
-			c.kind = PseudostateKind.CHOICE_LITERAL;
-		}
-		else {
-			return null;
-		}
-
-		// Create transitions from the choice point to each sub-state with the
-		// appropriate guard.
-		for (State subState : state.subStates) {
-			var Vertex targetVertex
-			if (subState.regions.size() == 0) {
-				targetVertex = subState
-			}
-			else {
-				targetVertex = subState.region.deepHistory
-				if (targetVertex == null) {
-					targetVertex = subState
-				}
-			}
-
-			val newTransition = state.region.createTransition(state.newFreshTransitionName)
-			newTransition.source = c;
-			newTransition.target = targetVertex;
-			val guard = newTransition.createGuard("CheckHistory");
-			guard.createOpaqueExpression('''history[«state.name»] == «subState.name»''')
-			if (state.entry != null) {
-				newTransition.chain.append(state.entry)
-			}
-		}
-		// If there was an initial pseudo-state, create a transition from the
-		// choice point to the initial state where the guard will be true if
-		// the composite state has not been visited before.
-		val initialState = state.region.initialState
-		if (initialState != null) {
-			val initialTransition = initialState.outgoings.get(0)
-
-			val newTransition = state.region.createTransition(state.newFreshTransitionName)
-			newTransition.source = c;
-			newTransition.target = initialTransition.target;
-			val guard = newTransition.createGuard("CheckHistory");
-			guard.createOpaqueExpression('''history[«state.name»] == «GlobalConstants.UNVISITED»''')
-			// TODO: not sure, if semantics is the same.
-			if (initialTransition.effect != null) {
-				// caveat: assigining the effect to the new transition will remove it from the original
-				// (initial will be removed later on => not a problem?)
-				newTransition.effect = initialTransition.effect;
-				newTransition.chain.append(newTransition.effect)
-			}
-			newTransition.chain.append(state.entry)
-		}
-        // If there was no initial pseudo-state, create a 'dummy' simple state
-		// representing "staying at the boundary", and create a transition from
-		// the choice point to this dummy state, where the guard is true if
-		// the state has not been visited before.
-		else {
-			// The name should be different name because one of the sub-states
-			// may have the same name as the composite.
-			val border = state.region.createState(state.newFreshName);
-
-			val newTransition = state.region.createTransition(state.newFreshTransitionName);
-			newTransition.source = c;
-			newTransition.target = border;
-			val guard = newTransition.createGuard("Check History")
-			guard.createOpaqueExpression('''history[«state.name»] == «GlobalConstants.UNVISITED»''')
-			if (state.entry != null) {
-				newTransition.chain.append(state.entry)
-			}
-		}
-		return c
-	}
-
-	/**
-     * Remove the initial pseudo-state and transition and create a transition
-     * from each entry point which does not have an explicit entry transition
-     * to a sub-state, to the initial state.
-     */
-	def removeInitialTransition(State state, Pseudostate historyChoicePoint) {
-		val initialState = state.region.initialState
-		if (initialState != null) {
-			val initialTransition = initialState.outgoings.get(0) // There should be exactly one initial transition
-			for (Pseudostate p : state.entryPoints) {
-				if (p.outgoings.empty) {
-					val newTransition =
-						state.region.createTransition(state.newFreshTransitionName)
-					newTransition.source = p
-					newTransition.target = initialTransition.target
-					newTransition.chain.append(state.entry)
-					newTransition.chain.append(initialTransition.effect);
-				}
-			}
-			state.region.transitions.remove(initialTransition)
-			// initialTransition.targetVertex.incomingTransitions.remove(initialTransition) // TODO: this might not be enough if the initial transition ends in a pseudo-state
-			// state.removeInitial
-		}
-		else {
-			for (Pseudostate p : state.entryPoints) {
-				if (p.outgoings.empty) {
-					val newTransition =
-						state.region.createTransition(state.newFreshTransitionName)
-					newTransition.setSource(p)
-					newTransition.setTarget(historyChoicePoint)
-					newTransition.effect = state.entry;	
-				}
-			}
-		}
-	}
-
-	/**
-     * Annotate explicit exit transitions (transitions from a sub-state to an
-     * exit point) with a "history saving action", an action that sets the
-     * history table entry for the composite state according to the sub-state
-     * that is exited.
-     */
-	def annotateExplicitExitTransitions(State state) {
-		for (Pseudostate p : state.exitPoints) {
-			if (!p.incomings.empty) {
-				for (Transition t : p.incomings) {
-					if (saveHistoryBehavior == null) {
-						createSaveHistoryBehavior
-					}
-					// Actions can have specific subclasses in the Zeligsoft model. Here we use a single generic class.
-					// Therefore we add call information explicitly.
-					val UMLAction saveHistoryAction = new UMLAction(saveHistoryBehavior)
-					saveHistoryAction.addParam = state.name
-					saveHistoryAction.addParam = t.source.name
-					t.chain.append = saveHistoryAction
-					if (state.exit != null) {
-						t.chain.append(state.exit)
-					}
-				}
-			}
-		}
-	}
-
-	/**
-     * Create exit points for each direct outgoing transition (transition leaving
-     * directly from the composite state's boundary).
-     */
-	def createExitPoints(State state) {
-		for (Transition t : state.outgoings) {
-			val p = state.createConnectionPoint(state.newFreshExitPointName);
-			p.kind = PseudostateKind.EXIT_POINT_LITERAL
-			t.source = p;
-		}
-	}
-
-	def createSaveHistoryBehavior() {
-		// create an opaque behavior without body. This will be added later in the UMLFlat2Cpp operation
-		saveHistoryBehavior = clazz.createOwnedBehavior(GlobalConstants.SAVE_HISTORY_FUNC_NAME,
-			UMLPackage.eINSTANCE.getOpaqueBehavior()
-		);	
-	}
-	
-	/**
-     * Create explicit exit transitions implied by group transitions. For each
-     * group transition creates a transition from every sub-state to the
-     * group-transitions's source exit point. It annotates these transitions
-     * with a "history saving action", an action which stores the sub-state
-     * in the history table entry for this composite state.
-     */
-	def createExitTransitions(State state) {
-
-		// Iterate over exit points, looking for group transitions.
-		for (Pseudostate p : state.exitPoints) {
-
-			// If the exit point doesn't have incoming transitions then there
-			// is at least one group transition from it.
-			if (p.incomings.empty) {
-
-				// Create explicit transitions from every sub-state to this
-				// exit point...
-				for (State subState : state.subStates) {
-
-					// ...for each group transition leaving the exit point.
-					for (Transition t : p.outgoings) {
-							
-						if (saveHistoryBehavior == null) {
-							createSaveHistoryBehavior
-						}
-						// Append the history saving action and the state's
-						// exit action.
-						val newTransition = state.region.createTransition(state.newFreshTransitionName)
-						newTransition.source = subState
-						newTransition.target = p
-						// make a copy (adding it to triggers list would remove it from original transition).
-						for (trigger : t.triggers) {
-							val newTrigger = newTransition.createTrigger(trigger.name)
-							newTrigger.event = trigger.event
-						}
-						// newTransition.triggers.addAll(t.triggers)
-						newTransition.guard = t.guard
-						val UMLAction saveHistoryAction = new UMLAction(saveHistoryBehavior)
-						saveHistoryAction.addParam = state.name
-						saveHistoryAction.addParam = subState.name
-						newTransition.chain.append(saveHistoryAction)
-						newTransition.chain.append(state.exit)
-						// make a copy of the effect (but: quite bad, since we might create several copies of same effect)
-						if (t.effect instanceof OpaqueBehavior) {
-							val newBehavior = newTransition.createOpaqueEffect
-							newBehavior.name = t.effect.name
-							newBehavior.set = t.effect.body
-						}
-					}
-				}
-
-				// Remove the trigger and guard from the old group transition,
-				// but leave the transition.
-				// TODO: we must replace the direct group transition with an indirect group transition leaving from the exit point
-				for (Transition t : p.outgoings) {
-					t.triggers.clear
-					t.guard = null
-					t.effect = null
-				}
-			}
-		}
-	}
-
-	/**
-     * Flatten composite states.
-     */
-	protected def StateMachine phase2(StateMachine m) {
-		for (State s : m.states.clone) {
-			phase2ProcessState(s)
-			if (!s.subStates.empty) {
-				m.region.moveContents(s)
-				// remove regions from composite state
-				s.regions.clear	
-			}
-		}
-		return m
-	}
-
-	/**
-     * Removes entry and exit points of a simple state, making all transitions
-     * to and from it, direct.
-     */
-	def dispatch void phase2ProcessState(State state) {
-		if (state.regions.empty) {
-			phase2ProcessSimpleState(state)
-		}
-		else {
-			phase2ProcessComplexState(state)		
-		}
-		// change name afterwards (avoid that new names are taken into account recursively)
-	}
-
-	/**
-     * Removes entry and exit points of a simple state, making all transitions
-     * to and from it, direct.
-     */
-	def dispatch void phase2ProcessSimpleState(State state) {
-		for (Transition t : state.indirectIncomings) {
-			t.target = state // TODO: Potential problem: depending on the set implementation we may be modifying the iterator
-		}
-		for (Transition t : state.outgoings) {
-			t.source = state
-		}
-		for (Pseudostate p : state.entryPoints) {
-			state.connectionPoints.remove(p)
-		}
-		for (Pseudostate p : state.exitPoints) {
-			state.connectionPoints.remove(p)
-		}
-	}
-
-	/**
-     * Replaces all entry and exit points of the composite state with junction
-     * points, and recursively apply this to sub-states.
-     */
-	def dispatch void phase2ProcessComplexState(State state) {
-		// Replace connection points with junction points
-		for (Pseudostate p : state.connectionPoints.clone) {
-			var j = state.region.createPseudostate(GlobalConstants.JUNCTION_FUNC_PREFIX + p.name)
-			j.kind = PseudostateKind.JUNCTION_LITERAL 
-					
-			for (Transition t : p.incomings) {
-				t.target = j
-			}
-			for (Transition t : p.outgoings) {
-				t.source = j
-			}
-			if (p.kind == PseudostateKind.ENTRY_POINT_LITERAL) {
-				state.connectionPoints.remove(p)
-			}
-			else if (p.kind == PseudostateKind.EXIT_POINT_LITERAL) {
-				state.connectionPoints.remove(p)
-			}
-		}
-
-		// Process substates
-		for (State subState : state.subStates.clone) {
-			phase2ProcessState(subState)
-			if (!subState.regions.empty) {
-				state.region.moveContents(subState)
-				subState.regions.clear
-			}
-		}
-	}
-
-	/**
-     * Auxiliary methods
-     */
-	def String getNewFreshName(NamedElement parent) {
-		freshNameCounter ++
-		return parent.namePrefix + FRESH_NAME_PREFIX + freshNameCounter
-	}
-
-	def String getNewFreshEntryPointName(NamedElement parent) {
-		freshEntryPointNameCounter ++
-		return parent.namePrefix + FRESH_ENTRYPOINT_NAME_PREFIX + freshEntryPointNameCounter
-	}
-
-	def String getNewFreshExitPointName(NamedElement parent) {
-		freshExitPointNameCounter ++
-		return parent.namePrefix + FRESH_EXITPOINT_NAME_PREFIX + freshExitPointNameCounter
-	}
-
-	def String getNewFreshChoicePointName(NamedElement parent) {
-		freshChoicePointNameCounter ++
-		return parent.namePrefix + FRESH_CHOICEPOINT_NAME_PREFIX + freshChoicePointNameCounter
-	}
-
-	def String getNewFreshJunctionPointName(NamedElement parent) {
-		freshJunctionPointNameCounter ++
-		return parent.namePrefix + FRESH_JUNCTIONPOINT_NAME_PREFIX + freshJunctionPointNameCounter
-	}
-
-	def String getNewFreshTransitionName(NamedElement parent) {
-		freshTransitionNameCounter ++
-		return parent.namePrefix + FRESH_TRANSITION_NAME_PREFIX + freshTransitionNameCounter
-	}
-
-	def namePrefix(NamedElement ne) {
-		return ne.name + "_"
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.project b/components/org.eclipse.papyrus.designer.components.transformation.core/.project
deleted file mode 100644
index a7d1b39..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.papyrus.designer.components.transformation.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.m2e.core.maven2Nature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/META-INF/MANIFEST.MF b/components/org.eclipse.papyrus.designer.components.transformation.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 772a99a..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,48 +0,0 @@
-Manifest-Version: 1.0
-Export-Package: org.eclipse.papyrus.designer.components.transformation.core,
- org.eclipse.papyrus.designer.components.transformation.core.commands,
- org.eclipse.papyrus.designer.components.transformation.core.deployment,
- org.eclipse.papyrus.designer.components.transformation.core.extensions,
- org.eclipse.papyrus.designer.components.transformation.core.generate,
- org.eclipse.papyrus.designer.components.transformation.core.listeners,
- org.eclipse.papyrus.designer.components.transformation.core.preferences,
- org.eclipse.papyrus.designer.components.transformation.core.sync,
- org.eclipse.papyrus.designer.components.transformation.core.templates,
- org.eclipse.papyrus.designer.components.transformation.core.transformations,
- org.eclipse.papyrus.designer.components.transformation.core.transformations.connector,
- org.eclipse.papyrus.designer.components.transformation.core.transformations.container,
- org.eclipse.papyrus.designer.components.transformation.core.transformations.filters
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.emf.ecore,
- org.eclipse.uml2.uml,
- org.eclipse.ui.ide,
- org.eclipse.core.resources,
- org.eclipse.papyrus.designer.components.fcm.profile;bundle-version="0.7.4",
- org.eclipse.papyrus.marte.static.profile;bundle-version="1.2.0",
- org.eclipse.papyrus.designer.components.vsl;bundle-version="0.7.4",
- org.eclipse.papyrus.uml.modelexplorer.widgets;bundle-version="1.2.0",
- org.eclipse.papyrus.uml.tools;bundle-version="1.2.0",
- org.eclipse.papyrus.designer.languages.cpp.profile;bundle-version="0.7.4",
- org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
- org.eclipse.gmf.runtime.common.core;bundle-version="1.7.0",
- org.eclipse.gmf.runtime.emf.commands.core;bundle-version="1.4.0",
- org.eclipse.papyrus.infra.widgets;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.emf;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.services.labelprovider;bundle-version="1.2.0",
- org.eclipse.papyrus.uml.tools.utils;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
- org.eclipse.ui,
- org.eclipse.papyrus.designer.languages.common.extensionpoints;bundle-version="0.7.4",
- org.eclipse.uml2.uml.profile.standard;bundle-version="1.0.100",
- org.eclipse.papyrus.infra.ui;bundle-version="1.2.0",
- org.eclipse.papyrus.designer.languages.common.profile;bundle-version="0.7.1"
-Bundle-Vendor: %providerName
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 0.7.5.qualifier
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Activator: org.eclipse.papyrus.designer.components.transformation.core.Activator
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.designer.components.transformation.core;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/build.properties b/components/org.eclipse.papyrus.designer.components.transformation.core/build.properties
deleted file mode 100644
index 235ceec..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               about.properties,\
-               about.html,\
-               plugin.properties,\
-               schema/
-customBuildCallbacks = build.acceleo
-src.includes = about.html
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/plugin.xml b/components/org.eclipse.papyrus.designer.components.transformation.core/plugin.xml
deleted file mode 100644
index a69abb4..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/plugin.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension-point id="instanceConfig" name="instanceConfigName" schema="schema/instanceConfig.exsd"/>
-   <extension-point id="externalGenerator" name="externalGenerator" schema="schema/externalGenerator.exsd"/>
-   <extension-point id="ooTransformation" name="ooTransformation" schema="schema/ooTransformation.exsd"/>
-   <extension-point id="xtendGenerator" name="xtendGeneratorName" schema="schema/xtendGenerator.exsd"/>
-   <extension-point id="customTrafo" name="customTrafoName" schema="schema/customTrafo.exsd"/>
-   <extension
-         point="org.eclipse.papyrus.infra.core.modelListener">
-      <listener
-            name="PapyrusDesigner.modelListener"
-            realization="org.eclipse.papyrus.designer.components.transformation.core.listeners.ModelListener">
-      </listener>
-   </extension>
- </plugin>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/pom.xml b/components/org.eclipse.papyrus.designer.components.transformation.core/pom.xml
deleted file mode 100644
index 58deb2a..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/pom.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>org.eclipse.papyrus.designer</groupId>
-		<artifactId>org.eclipse.papyrus.designer.components</artifactId>
-		<version>0.7.5-SNAPSHOT</version>
-	</parent>
-	<artifactId>org.eclipse.papyrus.designer.components.transformation.core</artifactId>
-	<packaging>eclipse-plugin</packaging>
-	<description>This module contains the model transformation from a component based model with annotations (connector and containers) to an expanded object-oriented model</description>
-</project>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/schema/customTrafo.exsd b/components/org.eclipse.papyrus.designer.components.transformation.core/schema/customTrafo.exsd
deleted file mode 100644
index ff53cf0..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/schema/customTrafo.exsd
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.papyrus.designer.components.transformation.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.papyrus.designer.components.transformation.core" id="customTrafo" name="customTrafoName"/>
-      </appInfo>
-      <documentation>
-         A container transformation that is defined outside of the transformation core.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence minOccurs="1" maxOccurs="unbounded">
-            <element ref="transformation"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="transformation">
-      <complexType>
-         <attribute name="transformationID" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.papyrus.designer.components.transformation.core.transformations.container.AbstractContainerTrafo:"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         0.7.2
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiinfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-
-</schema>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/schema/externalGenerator.exsd b/components/org.eclipse.papyrus.designer.components.transformation.core/schema/externalGenerator.exsd
deleted file mode 100644
index b522c21..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/schema/externalGenerator.exsd
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.papyrus.designer.components.transformation.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.papyrus.designer.components.transformation.core" id="externalGenerator" name="externalGenerator"/>
-      </appInfo>
-      <documentation>
-         An external generator (typically command line), for instance an IDL to C++ generator used in case of CORBA or DDS.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <choice minOccurs="0" maxOccurs="unbounded">
-            <element ref="client"/>
-         </choice>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="client">
-      <complexType>
-         <attribute name="generatorID" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.designer.components.transformation.core.extensions.IExternalGenerator"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiinfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-
-</schema>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/schema/instanceConfig.exsd b/components/org.eclipse.papyrus.designer.components.transformation.core/schema/instanceConfig.exsd
deleted file mode 100644
index ae46228..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/schema/instanceConfig.exsd
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.papyrus.designer.components.transformation.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.papyrus.designer.components.transformation.core" id="instanceConfig" name="instanceConfigName"/>
-      </appInfo>
-      <documentation>
-         A Java class that configures an instance (UML instance specification) automatically, e.g. retrieves data from a stereotype.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <choice minOccurs="0" maxOccurs="unbounded">
-            <element ref="client"/>
-         </choice>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="client">
-      <complexType>
-         <attribute name="configuratorID" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.designer.components.transformation.core.extensions.IInstanceConfigurator"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiinfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-
-</schema>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/schema/language.exsd b/components/org.eclipse.papyrus.designer.components.transformation.core/schema/language.exsd
deleted file mode 100644
index 1c96fb8..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/schema/language.exsd
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.papyrus.designer.components.transformation.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.papyrus.designer.components.transformation.core" id="language" name="languageSupport"/>
-      </appInfo>
-      <documentation>
-         A customized component to OO transformation
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <choice minOccurs="0" maxOccurs="unbounded">
-            <element ref="client"/>
-         </choice>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="client">
-      <complexType>
-         <attribute name="language" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.designer.components.transformation.core.ILangSupport"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiinfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-
-</schema>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/schema/xtendGenerator.exsd b/components/org.eclipse.papyrus.designer.components.transformation.core/schema/xtendGenerator.exsd
deleted file mode 100644
index 3a39ccf..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/schema/xtendGenerator.exsd
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.papyrus.designer.components.transformation.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.papyrus.designer.components.transformation.core" id="xtendGenerator" name="xtendGeneratorName"/>
-      </appInfo>
-      <documentation>
-         An generator that can expand a string &quot;!xtend &lt;generatorName&gt;&quot; in an opaque expression. While the generator is typically written in xtend, it could also be written in Java.
-
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence minOccurs="1" maxOccurs="unbounded">
-            <element ref="client"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="client">
-      <complexType>
-         <attribute name="templateID" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.designer.components.transformation.core.extensions.IXtend"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiinfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-
-</schema>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/Activator.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/Activator.java
deleted file mode 100644
index 024f805..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/Activator.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-import org.eclipse.papyrus.infra.core.log.LogHelper;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.papyrus.designer.components.transformation.core"; //$NON-NLS-1$
-
-	// The shared instance
-	private static Activator plugin;
-
-	public static LogHelper log;
-
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-
-		// register the login helper
-		log = new LogHelper(plugin);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/CORBAtypeNames.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/CORBAtypeNames.java
deleted file mode 100644
index eb1e909..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/CORBAtypeNames.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-public class CORBAtypeNames {
-	public static final String Octet = "corba::Octet"; //$NON-NLS-1$
-	public static final String Long = "corba::Long"; //$NON-NLS-1$
-	public static final String UnsignedLong = "corba::UnsignedLong"; //$NON-NLS-1$
-	public static final String Short = "corba::Short"; //$NON-NLS-1$
-	public static final String UnsignedShort = "corba::UnsignedShort"; //$NON-NLS-1$
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/CommandSupport.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/CommandSupport.java
deleted file mode 100644
index a07c836..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/CommandSupport.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-import java.util.Collections;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.IOperationHistory;
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.commands.operations.OperationHistoryFactory;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand;
-import org.eclipse.papyrus.infra.core.services.ServiceException;
-import org.eclipse.papyrus.infra.ui.util.ServiceUtilsForHandlers;
-
-/**
- * Utility function. Allow execution of commands on a transactional command stack
- *
- * @author ansgar
- *
- */
-public class CommandSupport {
-
-	/**
-	 * Execute the passed Runnable within a command
-	 *
-	 * @param label
-	 * @param command
-	 */
-	public static void exec(String label, ExecutionEvent event, final Runnable command) {
-		ServiceUtilsForHandlers serviceUtils = ServiceUtilsForHandlers.getInstance();
-		try {
-			exec(serviceUtils.getTransactionalEditingDomain(event), label, command);
-		} catch (ServiceException e) {
-			Log.log(IStatus.ERROR, Log.UTILS, Messages.CommandSupport_NoEditingDomain, e);
-		}
-	}
-
-	/**
-	 * Execute the passed Runnable within a command
-	 *
-	 * @param eObject an element of the model that is modified (domain will be determined from it)
-	 * @param label A command label
-	 * @param command The command in form of a runnable
-	 */
-	public static void exec(EObject eObject, String label, final Runnable command) {
-		exec(TransactionUtil.getEditingDomain(eObject), label, command);
-	}
-	
-	
-	/**
-	 * Execute the passed Runnable with result within a command
-	 *
-	 * @param label
-	 * @param command
-	 */
-	public static void exec(String label, ExecutionEvent event, final RunnableWithResult command) {
-		// ServiceUtilsForActionHandlers serviceUtils = ServiceUtilsForActionHandlers.getInstance();
-		ServiceUtilsForHandlers serviceUtils = ServiceUtilsForHandlers.getInstance();
-		IOperationHistory history = OperationHistoryFactory.getOperationHistory();
-		try {
-			history.execute(new AbstractTransactionalCommand(serviceUtils.getTransactionalEditingDomain(event),
-					label, Collections.EMPTY_LIST) {
-
-				@Override
-				public CommandResult doExecuteWithResult(IProgressMonitor dummy, IAdaptable info) {
-					return command.run();
-				}
-			}, null, null);
-		} catch (ExecutionException e) {
-			Log.log(IStatus.ERROR, Log.UTILS, Messages.CommandSupport_ErrorDuringCmdExec, e);
-		} catch (ServiceException e) {
-			Log.log(IStatus.ERROR, Log.UTILS, Messages.CommandSupport_NoEditingDomain, e);
-		}
-	}
-
-	/**
-	 * Execute the passed Runnable within a command
-	 *
-	 * @param label
-	 * @param command
-	 */
-	public static void exec(TransactionalEditingDomain domain, String label, final Runnable command) {
-		if (domain == null) {
-			command.run();
-		} else {
-			IOperationHistory history = OperationHistoryFactory.getOperationHistory();
-			try {
-				history.execute(new AbstractTransactionalCommand(domain, label, Collections.EMPTY_LIST) {
-
-					@Override
-					public CommandResult doExecuteWithResult(IProgressMonitor dummy, IAdaptable info) {
-						command.run();
-						return CommandResult.newOKCommandResult();
-					}
-				}, null, null);
-			} catch (ExecutionException e) {
-				Activator.log.error(e);
-			}
-		}
-	}
-
-	public static void exec(IUndoableOperation command) {
-		IOperationHistory history = OperationHistoryFactory.getOperationHistory();
-		try {
-			history.execute(command, new NullProgressMonitor(), null);
-		} catch (ExecutionException e) {
-			Activator.log.error(e);
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/ConfigUtils.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/ConfigUtils.java
deleted file mode 100644
index 72c31fd..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/ConfigUtils.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.designer.components.FCM.ConfigurationProperty;
-import org.eclipse.papyrus.designer.components.FCM.ContainerRule;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Type;
-
-public class ConfigUtils {
-
-	/**
-	 * Get the configuration properties of a class
-	 *
-	 * @param component
-	 * @return
-	 */
-	public static EList<Property> getConfigAttributes(Classifier component) {
-
-		EList<Property> list = new BasicEList<Property>();
-
-		for (Property part : component.getAllAttributes()) {
-			if (part instanceof Port) {
-				continue;
-			}
-			Element owner = part.getOwner();
-
-			if (Utils.allAttributesAreConfigAttributs()) {
-				// return all attributes
-				list.add(part);
-			}
-			// add all attributes of component types
-			else if (owner instanceof Class && Utils.isCompType((Class) owner)) {
-				list.add(part);
-			}
-			// otherwise add only attributes tagged as configuration properties
-			else if (StereotypeUtil.isApplied(part, ConfigurationProperty.class)) {
-				list.add(part);
-			}
-		}
-		return list;
-	}
-
-	/**
-	 * Get the configuration attributes behind a container rule
-	 * TODO: rule might not be active - should we still configure it??
-	 *
-	 * @param aRule
-	 * @return
-	 * @throws TransformationException
-	 */
-	public static EList<Property> getConfigAttributes(ContainerRule rule) throws TransformationException {
-		EList<Property> list = new BasicEList<Property>();
-		Class composite = rule.getBase_Class(); // a rule should always have a base class, unless malformed
-		if (composite == null) {
-			throw new TransformationException(Messages.ConfigUtils_RuleWithoutBaseClass);
-		}
-		for (Property part : composite.getAttributes()) {
-			if (part instanceof Port) {
-				continue;
-			}
-			Type type = part.getType();
-			if (StereotypeUtil.isApplied(part, ConfigurationProperty.class)) {
-				list.add(part);
-			}
-			if (type instanceof Class) {
-				list.addAll(getConfigAttributes((Class) type));
-			}
-		}
-
-		return list;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/CreationUtils.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/CreationUtils.java
deleted file mode 100644
index 1ba6ed9..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/CreationUtils.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Namespace;
-import org.eclipse.uml2.uml.Package;
-
-public class CreationUtils {
-
-	/**
-	 * This function returns a Package reference that corresponds to a qualified name.
-	 * Packages are created, if not existing yet - the function is thus a bit similar to
-	 * the unix mkdir -p command. Note that the main model within the list of name-spaces is
-	 * ignored, in order to avoid that a sub-package within a model starts with the name
-	 * of the model.
-	 *
-	 * Caveat: imported elements must be checked beforehand. In case of a package import,
-	 * getMembers (and getImportedMembers) will not return the name of the imported model
-	 * but the elements (directly) owned by the imported model.
-	 * Example: getMember ("BasicTypes") will return null whereas getMember ("CORBA")
-	 * returns a package (CORBA is a package within the model library BasicTypes)
-	 *
-	 * @param model
-	 *            a model
-	 * @param list
-	 *            a list of namespace elements (as can be obtained via allNamespaces),
-	 *            the top-level element is the last within the list.
-	 * @param skipTop
-	 *            if true, skip top level namespace element
-	 * @return
-	 */
-	public static Package getAndCreate(Package root, EList<Namespace> list, boolean skipTop) {
-		int offset = (skipTop ? 2 : 1);
-		for (int i = list.size() - offset; i >= 0; i--) {
-			Namespace ns = list.get(i);
-			Log.log(IStatus.INFO, Log.UTILS, "getAndCreate:" + ns.getName()); //$NON-NLS-1$
-
-			NamedElement pkg = root.getOwnedMember(ns.getName());
-			if (pkg == null) {
-				// package does not exist => create it.
-				pkg = root.createNestedPackage(ns.getName());
-				LazyCopier.copyID(ns, pkg);
-				// copy stereotype to create package
-				StUtils.copyStereotypes(ns, pkg);
-			}
-			if (!(pkg instanceof Package)) {
-				break;
-			}
-			root = (Package) pkg;
-		}
-		return root;
-	}
-
-	public static Package getAndCreate(Package root, EList<Namespace> list) {
-		return getAndCreate(root, list, true);
-	}
-
-	public static Package getAndCreate(Package root, String name) {
-		NamedElement pkg = root.getMember(name);
-		if (pkg == null) {
-			pkg = root.createNestedPackage(name);
-		}
-		return (Package) pkg;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/Description.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/Description.java
deleted file mode 100644
index 56f50f6..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/Description.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-import org.eclipse.uml2.uml.Comment;
-import org.eclipse.uml2.uml.Element;
-
-public class Description {
-
-	/**
-	 * Return a description of an element. By default search comments that are
-	 * owned by this elements owner (e.g. the class, if we search for a description of a property or the owning package,
-	 * if we search for a description of a class)
-	 *
-	 * @param element
-	 *            the element for which to obtain a description
-	 * @return the description of the element
-	 */
-	public static String getDescription(Element element) {
-		return getDescription(element.getOwner(), element);
-	}
-
-	/**
-	 * Convenience function: Return a description of an element. It will delegate to
-	 * default getDescription, but returns a user specified text, if a description is
-	 * not available in the model.
-	 *
-	 * @param element
-	 * @param unavailable
-	 *            The text that is return, if no description is available
-	 * @return
-	 */
-	public static String getDescription(Element element, String unavailable) {
-		String description = getDescription(element);
-		if (description != null) {
-			return description;
-		}
-		else {
-			return unavailable;
-		}
-	}
-
-	/**
-	 * Return a description or implementation description of an element, i.e. the
-	 * first owned comment that annotated the passed element
-	 *
-	 * @param the
-	 *            owner of the comment
-	 *            the element for which to obtain a description
-	 * @param annotated
-	 *            element
-	 *            the element for which to obtain a description
-	 * @return the description of the element
-	 */
-	public static String getDescription(Element owner, Element annotatedElement) {
-		if (owner == null) {
-			return null;
-		}
-		// loop over all owned comments, check those that begins with
-		// "description"
-		for (Comment comment : owner.getOwnedComments()) {
-			// identify "right" comment via annotated element ref (to a specific
-			// class of the BasicCalls library) instead?
-			if (comment.getAnnotatedElements().contains(annotatedElement)) {
-				return comment.getBody();
-			}
-
-		}
-		return Messages.Description_NoAvail;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/ElementFilter.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/ElementFilter.java
deleted file mode 100644
index fed22ed..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/ElementFilter.java
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-import org.eclipse.uml2.uml.Element;
-
-public interface ElementFilter {
-	public boolean acceptElement(Element element);
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/EnumService.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/EnumService.java
deleted file mode 100644
index e6512ef..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/EnumService.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationContext;
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.CppInit;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Dependency;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Enumeration;
-import org.eclipse.uml2.uml.EnumerationLiteral;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.UMLPackage;
-
-
-/**
- * Manage enumerations within Acceleo code
- */
-public class EnumService {
-
-	private static final String GLOBALENUMS = "globalenums"; //$NON-NLS-1$
-
-	public static void init() {
-		enumHash.clear();
-	}
-
-	/**
-	 * Return qualified name of enum package which is used to prefix enumerations (namespace)
-	 *
-	 * @param dummy
-	 * @return
-	 */
-	public static String enumSvcPrefix() {
-		return enumPkg.getQualifiedName();
-	}
-
-	public static String literalKey(Element dummy, String enumName, String literalKey) {
-		String prefix = "ID_"; //$NON-NLS-1$
-		String literal = ""; //$NON-NLS-1$
-		if (literalKey.equals("Port")) { //$NON-NLS-1$
-			literal = prefix + TransformationContext.port.getName();
-		}
-		else if (literalKey.equals("Formal")) { //$NON-NLS-1$
-			literal = prefix + TransformationContext.formalParameter.getName();
-		}
-		else if (literalKey.equals("Instance")) { //$NON-NLS-1$
-			literal = prefix + TransformationContext.instance.getName();
-		}
-		else if (literalKey.equals("Interface")) { //$NON-NLS-1$
-			literal = prefix + TransformationContext.classifier.getName();
-		}
-		return literal(enumName, literal);
-	}
-
-	public static String quoteLiteral(Element dummy, String enumName, String literal) {
-		return Utils.quoteString(literal(enumName, literal));
-	}
-
-	/**
-	 * Create a literal within an enumeration. Both, the literal and the enumeration may be an
-	 * Acceleo template. If the name of the enumeration starts with "L", it is considered as a
-	 * local enumeration, i.e. a nested classifier within the classifier (it has to be a class)
-	 * from the transformation context.
-	 *
-	 * @param enumName
-	 *            the name of an enumeration
-	 * @param literal
-	 *            the name of a literal within that enumeration.
-	 * @return
-	 */
-	public static String literal(String enumName, String literal) {
-		return literal(enumName, literal, -1);
-	}
-	
-	/**
-	 * Create a literal within an enumeration. Both, the literal and the enumeration may be an
-	 * xtend template. If the name of the enumeration starts with "L", it is considered as a
-	 * local enumeration, i.e. a nested classifier within the classifier (it has to be a class)
-	 * from the transformation context.
-	 *
-	 * @param enumName
-	 *            the name of an enumeration
-	 * @param literal
-	 *            the name of a literal within that enumeration.
-	 * @return
-	 */
-	public static String literal(String enumName, String literal, int initialValue) {
-		Enumeration enumeration;
-		boolean first = false;
-		if (enumName.startsWith("L")) { //$NON-NLS-1$
-			// magic prefix for class local (only allowed for local classes)
-			if (TransformationContext.classifier instanceof Class) {
-				Class clazz = (Class) TransformationContext.classifier;
-				enumeration = (Enumeration) clazz.getNestedClassifier(enumName);
-				if (enumeration == null) {
-					enumeration = (Enumeration)
-							((Class) TransformationContext.classifier).createNestedClassifier(enumName, UMLPackage.eINSTANCE.getEnumeration());
-				}
-			}
-			else {
-				throw new RuntimeException("Local enumeration " + enumName + " is not used in the transformation context of a class");
-			}
-		}
-		else {
-			enumeration = enumHash.get(enumName);
-			if (enumPkg == null) {
-				// enumeration can not be created
-				throw new RuntimeException("global enumeration " + enumName + " can not be created, since the enumPkg (from Transformation context) is not initialized");
-			}
-			if (enumeration == null) {
-				enumeration = enumPkg.createOwnedEnumeration(enumName);
-				enumHash.put(enumName, enumeration);
-				first = true;
-			}
-		}
-		if (enumeration.getOwnedLiteral(literal) == null) {
-			EnumerationLiteral umlLiteral = enumeration.createOwnedLiteral(literal);
-			if (first && initialValue != -1) {
-				CppInit cppInit = StereotypeUtil.applyApp(umlLiteral, CppInit.class);
-				cppInit.setValue(initialValue);
-			}
-		}
-		// declare a dependency to the enumeration from the current classifier
-		checkAndCreateDependency(TransformationContext.classifier, enumeration);
-
-		if (enumName.startsWith("L")) { //$NON-NLS-1$
-			return literal;
-		}
-		else {
-			return GLOBALENUMS + "::" + literal; //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Create a dependency between the passed classifier, target pair. The objective
-	 * of this function is that code generators do the necessary to assure that the
-	 * target is known within the classifier (e.g. include directives)
-	 *
-	 * @param classifier
-	 *            a classifier
-	 * @param target
-	 *            a target, on which the classifier or its code depends.
-	 */
-	public static void checkAndCreateDependency(Classifier classifier, NamedElement target) {
-		boolean found = false;
-		for (Dependency dep : classifier.getClientDependencies()) {
-			if (dep.getSuppliers().contains(target)) {
-				found = true;
-			}
-		}
-		if (!found) {
-			Dependency dep = classifier.createDependency(target);
-			dep.setName(String.format("from %s to %s", classifier.getName(), target.getName())); //$NON-NLS-1$
-		}
-	}
-
-	public static void createEnumPackage(Package root) {
-		init();
-		enumPkg = root.createNestedPackage(GLOBALENUMS);
-	}
-
-	public static Package enumPkg;
-
-	public static void createEnums() {
-
-	}
-
-	private static Map<String, Enumeration> enumHash = new HashMap<String, Enumeration>();
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/Log.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/Log.java
deleted file mode 100644
index e171408..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/Log.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * Very simple message logging class
- *
- * @author ansgar
- *
- */
-public class Log {
-
-	public static final int TRAFO_CONNECTOR = 1;
-
-	public static final int TRAFO_CONTAINER = 2;
-
-	public static final int TRAFO_COPY = 4;
-
-	public static final int TRAFO_SYNC = 8;
-
-	public static final int TEMPLATE_BINDING = 0x10;
-
-	public static final int TEMPLATE_INSTANTIATION = 0x20;
-
-	public static final int DEPLOYMENT = 0x40;
-
-	public static final int DIALOGS = 0x80;
-
-	public static final int UTILS = 0x100;
-
-	public static final int CODEGEN = 0x200;
-
-	public static final int CALC_PORTKIND = 0x400;
-
-	static Map<Integer, String> moduleMap;
-
-	static String getModuleInfo(int moduleKind) {
-		if (moduleMap == null) {
-			moduleMap = new HashMap<Integer, String>();
-			moduleMap.put(TRAFO_CONNECTOR, "Trafo connector"); //$NON-NLS-1$
-			moduleMap.put(TRAFO_CONTAINER, "Trafo container"); //$NON-NLS-1$
-			moduleMap.put(TRAFO_COPY, "Trafo copy"); //$NON-NLS-1$
-			moduleMap.put(TRAFO_SYNC, "Synchronization"); //$NON-NLS-1$
-			moduleMap.put(TEMPLATE_BINDING, "Template binding"); //$NON-NLS-1$
-			moduleMap.put(TEMPLATE_INSTANTIATION, "Template instantiation"); //$NON-NLS-1$
-			moduleMap.put(DEPLOYMENT, "Template binding"); //$NON-NLS-1$
-			moduleMap.put(DIALOGS, "Qompass dialogs"); //$NON-NLS-1$
-			moduleMap.put(UTILS, "Utils"); //$NON-NLS-1$
-			moduleMap.put(CODEGEN, "Code generation"); //$NON-NLS-1$
-			moduleMap.put(CALC_PORTKIND, "Calculate portkind"); //$NON-NLS-1$
-		}
-		return "Module " + moduleMap.get(moduleKind) + ": "; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public static void log(int msgKind, int moduleKind, String message) {
-		if (msgKind == IStatus.INFO) {
-			// only show info messages that match a filter criterion
-			if ((moduleKind & moduleFilter) != 0) {
-				Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, message));
-			}
-		}
-		else {
-			Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, message));
-		}
-	}
-
-	public static void log(int msgKind, int moduleKind, String message, Exception exception) {
-		if (msgKind == IStatus.INFO) {
-			// only show info messages that match a filter criterion
-			if ((moduleKind & moduleFilter) != 0) {
-				Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, exception.getMessage(), exception));
-			}
-		}
-		else {
-			Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, exception.getMessage(), exception));
-		}
-	}
-
-	// TODO: make it a configuration property
-	static int moduleFilter = 0;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/Messages.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/Messages.java
deleted file mode 100644
index 171eb92..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/Messages.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.papyrus.designer.components.transformation.core.messages"; //$NON-NLS-1$
-
-	public static String BootLoaderGen_AtLeastOneBlockingCall;
-
-	public static String BootLoaderGen_CannotApplyCppInclude;
-
-	public static String BootLoaderGen_CannotRetrieveTemplate;
-
-	public static String CommandSupport_NoEditingDomain;
-	public static String CommandSupport_ErrorDuringCmdExec;
-	public static String ConfigUtils_RuleWithoutBaseClass;
-	public static String DepCreation_SingletonExistsAlready;
-
-	public static String DepCreation_CannotFindImplementation;
-
-	public static String DepCreation_CircularReference;
-
-	public static String DepCreation_DefiningFeatureNull;
-
-	public static String DepCreation_FCMconnectorWithoutBaseClass;
-
-	public static String DepCreation_InfoCreateDepPlan;
-
-	public static String DepCreation_TypeInAttributeUndefined;
-
-	public static String Deploy_0;
-
-	public static String Description_NoAvail;
-
-	public static String LWContainerTrafo_CannotApplyRule;
-	
-	public static String ConnectorBinding_CannotFindBinding;
-	public static String ConnectorBinding_CannotFindBindingForPort;
-	public static String ConnectorBinding_CannotFindConsistentBinding;
-	public static String ConnectorBinding_ConnectorsPort;
-	public static String ConnectorBinding_FormalAlreadyBound;
-	public static String ConnectorBinding_InfoActualReturnIntfIs;
-	public static String ConnectorBinding_InfoConnPortConnectedVia;
-	public static String ConnectorBinding_InfoConnectsPort;
-	public static String ConnectorBinding_InfoCreateBoundPackage;
-
-	public static String ConnectorBinding_InfoMatchOtherEnd;
-
-	public static String ConnectorBinding_InfoProvidedPortTypeMatches;
-	public static String ConnectorBinding_NoTemplateSignature;
-
-	public static String ConnectorReification_CannotFindMatchingPort;
-	public static String ConnectorReification_CouldNotBind;
-	public static String ConnectorReification_CouldNotConnectPort;
-	public static String ConnectorReification_CouldNotConnectPortOfType;
-	public static String ConnectorReification_InfoAddConnectorPart;
-	public static String ConnectorReification_InfoPortTypes;
-	public static String ConnectorReification_RequiresUseOfPorts;
-	public static String ConnectorReification_TemplateTypeNotClass;
-
-	public static String GenerateCode_CouldNotDeleteOldCode;
-	public static String GenerateCode_GeneratingCodeForNode;
-	public static String GenerateCode_GeneratingCode;
-
-	public static String TemplateUtils_InfoCreateBoundPackage;
-	public static String TemplateUtils_InfoGetActualFrom;
-	public static String TemplateUtils_NoTemplateSignature;
-
-	public static String TemplateInstantiation_TemplateIsNull;
-	public static String TemplateInstantiationListener_TrafoException;
-
-	public static String CompImplTrafos_CannotFindType;
-	public static String CompImplTrafos_IntfNotImplemented;
-	public static String CompTypeTrafos_CannotFindType;
-
-	public static String ContainerTrafo_CannotApplyRule;
-	public static String ContainerTrafo_CannotFindDelegationConn;
-	public static String ContainerTrafo_InterceptionRuleButNoInterceptor;
-
-	public static String ContainerTrafo_RecursiveLWnotSupported;
-
-	public static String InstanceConfigurator_InvalidPluginExtension;
-
-	public static String InstantiateDepPlan_AcceleoErrors;
-	public static String InstantiateDepPlan_AcceleoErrorsCheckLog;
-	public static String InstantiateDepPlan_CannotGenModel;
-	public static String InstantiateDepPlan_CheckInputImportPkg;
-	public static String InstantiateDepPlan_CheckInputImportPkgNoRes;
-	public static String InstantiateDepPlan_CheckInputModelProfile3;
-	public static String InstantiateDepPlan_CheckInputModelProfileNoRes;
-	public static String InstantiateDepPlan_CheckInputModelProfileNoResNoName;
-	public static String InstantiateDepPlan_ConsultConsole;
-	public static String InstantiateDepPlan_DepPlanStereotypeNotInitialized;
-	public static String InstantiateDepPlan_ErrorsDuringTransformation;
-	public static String InstantiateDepPlan_IllegalArgumentDuringCopy;
-	public static String InstantiateDepPlan_InfoApplyProfile;
-	public static String InstantiateDepPlan_InfoDeployingForNode;
-	public static String InstantiateDepPlan_InfoExpandingConnectors;
-	public static String InstantiateDepPlan_InfoGeneratingModel;
-	public static String InstantiateDepPlan_InfoImportPackage;
-	public static String InstantiateDepPlan_InfoNoneAllocated;
-	public static String InstantiateDepPlan_TransformationException;
-
-	public static String MainModelTrafo_ChangePartType;
-	public static String MainModelTrafo_NoDefiningFeature;
-	public static String MainModelTrafo_NoInstanceAssociated;
-
-	public static String MainModelTrafo_NoTypeDefinedFor;
-
-	public static String CompImplSync_InfoSyncIntf;
-	public static String CompImplSync_InfoSyncViaImpl;
-	public static String CompImplSync_InfoSyncViaType;
-
-	public static String DepPlanUtils_CannotFindAttribute;
-	public static String DepPlanUtils_ConfigOfPropertyFailed;
-
-	public static String UpdateUtils_CannotApplyFCMstereo;
-
-	public static String XtendTemplateBinding_TemplateNotFound;
-
-	public static String XtendTemplateBinding_TemplateResultIsNotAString;
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/ModelManagement.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/ModelManagement.java
deleted file mode 100644
index c303659..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/ModelManagement.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-import java.io.IOException;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.uml2.common.util.UML2Util;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.UMLFactory;
-import org.eclipse.uml2.uml.UMLPackage;
-
-
-/**
- * Manages a model (and the associated resource). Allows saving this model. It uses its own static resource set.
- *
- */
-public class ModelManagement {
-
-	/**
-	 * Create a new model and associate it with a temporary
-	 * resource
-	 */
-	public ModelManagement() {
-		getResourceSet();
-		model = UMLFactory.eINSTANCE.createModel();
-		resource = resourceSet.createResource(URI.createURI("temp.uml")); //$NON-NLS-1$
-		resource.getContents().add(model);
-	}
-
-	public void dispose() {
-		if (model != null) {
-			model.destroy();
-			model = null;
-		}
-		resourceSet.getResources().remove(resource);
-	}
-
-	/**
-	 * provide access to the model
-	 * @return the model amanaged by this instance of model manager
-	 */
-	public Model getModel() {
-		return model;
-	}
-
-	/**
-	 * Save a model within the given project at a default location.
-	 * This location is [model.name/].uml within the project root.
-	 * @link ModelManagement.getPath
-	 *  
-	 * @param project
-	 *            an existing project
-	 */
-	public void saveModel(IProject project) {
-		saveModel(getPath(project, null, null));
-	}
-
-	/**
-	 * Save the model within a given project, folder and postfix
-	 * @param project
-	 * @param modelFolder
-	 * @param modelPostfix
-	 */
-	public void saveModel(IProject project, String modelFolder, String modelPostfix) {
-		String path = this.getPath(project, modelFolder, this.getModel().getName() + modelPostfix);
-		this.saveModel(path);
-	}
-
-	/**
-	 * Save a model using the passed path
-	 *
-	 * @param path A string representation of the path. It will be converted into a URI
-	 */
-	public void saveModel(String path) {
-
-		try {
-			URI uri = URI.createURI(path);
-
-			ResourceSetImpl resourceSet = new ResourceSetImpl();
-			resourceSet.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE);
-
-			resource.setURI(uri);
-			EList<EObject> contents = resource.getContents();
-
-			for (Iterator<EObject> allContents = UML2Util.getAllContents(model, true, false); allContents.hasNext();) {
-				EObject eObject = allContents.next();
-
-				if (eObject instanceof Element) {
-					contents.addAll(((Element) eObject).getStereotypeApplications());
-				}
-			}
-			resource.save(null);
-		}
-		catch (IOException e) {
-			Activator.log.error(e);
-		}
-	}
-
-	/**
-	 * Return a path based on project, folder and file name
-	 *
-	 * @param project
-	 *            an existing project
-	 * @param subFolder
-	 *            a subfolder within the project (will be created, if it does not exist)
-	 *            if null, the project will be saved in the root of the project
-	 * @param filename
-	 *            the name of the file or null (in his case, the name of the
-	 *            model with the postfix .uml is used)
-	 *
-	 * @return The access path to a file
-	 */
-	public String getPath(IProject project, String subFolder, String filename) {
-		IFile file;
-		if (filename == null) {
-			filename = model.getName() + ".uml"; //$NON-NLS-1$
-		}
-		if (subFolder != null) {
-			IFolder ifolder = project.getFolder(subFolder);
-			if (!ifolder.exists()) {
-				try {
-					ifolder.create(false, true, null);
-				} catch (CoreException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
-				}
-			}
-			file = ifolder.getFile(filename);
-		} else {
-			file = project.getFile(filename);
-		}
-		return file.getFullPath().toString();
-	}
-
-	/**
-	 * return the used resource set (a singleton)
-	 */
-	public static ResourceSet getResourceSet() {
-		if (resourceSet == null) {
-			resourceSet = new ResourceSetImpl();
-		}
-		return resourceSet;
-	}
-
-	private static ResourceSet resourceSet = null;
-
-	private Model model;
-
-	private Resource resource;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/OperationUtils.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/OperationUtils.java
deleted file mode 100644
index 2eedccb..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/OperationUtils.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-import java.util.Iterator;
-
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.Parameter;
-import org.eclipse.uml2.uml.Stereotype;
-import org.eclipse.uml2.uml.Type;
-
-public class OperationUtils {
-
-	/**
-	 * Search an identical operation within a class.
-	 * This function is useful to identify (and synchronize) operations.
-	 *
-	 * @param op
-	 *            The operation that should be compared.
-	 * @param owner
-	 * @return
-	 */
-	public static Operation getSameOperation(Operation op, Class owner) {
-		for (Operation ownedOp : owner.getOwnedOperations()) {
-			if (isSameOperation(op, ownedOp)) {
-				return ownedOp;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns true, if two operations are identical.
-	 * An operation is considered identical, if the operation name as well as all
-	 * parameter names and types are equal. Type equality is checked via names only, to
-	 * avoid that identical types within a source and a copy model would yield false.
-	 *
-	 * @param op1
-	 *            first operation
-	 * @param op2
-	 *            second operation
-	 * @return true, if operations are identical
-	 */
-	public static boolean isSameOperation(Operation op1, Operation op2) {
-		return isSameOperation(op1, op2, true);
-	}
-
-
-	/**
-	 * Returns true, if two operations are identical with optional name check.
-	 * An operation is considered identical, if the operation name (optional) as well as all
-	 * parameter names and types are equal. Type equality is checked via names only, to
-	 * avoid that identical types within a source and a copy model would yield false.
-	 *
-	 * @param op1
-	 *            first operation
-	 * @param op2
-	 *            second operation
-	 * @param checkName
-	 *            if true, require that operation names are identical
-	 * @return true, if operations are identical
-	 */
-	public static boolean isSameOperation(Operation op1, Operation op2, boolean checkName) {
-
-		if (checkName) {
-			String op1Name = op1.getName();
-			String op2Name = op2.getName();
-			// one of the names might be null
-			if (op1Name == null) {
-				if (op2Name != null) {
-					return false;
-				}
-			} else if (!op1Name.equals(op2Name)) {
-				return false;
-			}
-		}
-		Iterator<Parameter> parameters1 = op1.getOwnedParameters().iterator();
-		Iterator<Parameter> parameters2 = op2.getOwnedParameters().iterator();
-		while (parameters1.hasNext() && parameters2.hasNext()) {
-			Parameter parameter1 = parameters1.next();
-			Parameter parameter2 = parameters2.next();
-			String par1Name = parameter1.getName();
-			Type par1Type = parameter1.getType();
-			String par2Name = parameter2.getName();
-			Type par2Type = parameter2.getType();
-
-			// one of the names might be null
-			if (par1Name == null) {
-				if (par2Name != null) {
-					return false;
-				}
-			} else if (!par1Name.equals(par2Name)) {
-				return false;
-			}
-			if ((par1Type != null) && (par2Type != null)) {
-				// the names might be null. Return false, if only one of these is set
-				if (par1Type.getName() == null) {
-					if (par2Type.getName() != null) {
-						return false;
-					}
-				}
-				else if (!par1Type.getName().equals(par2Type.getName())) {
-					return false;
-				}
-			} else if (par1Type != par2Type) {
-				// at least one of the two must be null due to earlier check
-				// return false, if they are different, i.e. not both null
-				return false;
-			}
-			if ((parameter1.getUpper() != parameter2.getUpper()) ||
-					(parameter1.getLower() != parameter2.getLower())) {
-				return false;
-			}
-			if (parameter1.getStereotypeApplications().size() != parameter2.getStereotypeApplications().size()) {
-				return false;
-			}
-			Iterator<Stereotype> par2StereoIter = parameter2.getAppliedStereotypes().iterator();
-			for (Stereotype par1Stereo : parameter1.getAppliedStereotypes()) {
-				// don't need to check whether iterator has next, since size has already been compared.
-				Stereotype par2Stereo = par2StereoIter.next();
-				if (par1Stereo != par2Stereo) {
-					return false;
-				}
-			}
-		}
-		// true, if operations have same number of parameters
-		return (parameters1.hasNext() == parameters2.hasNext());
-	}
-
-
-	/**
-	 * synchronize source and target operation
-	 * (remove all parameters, copy afterwards)
-	 *
-	 * @param sourceOp
-	 *            the source operation
-	 * @param targetOp
-	 *            the target operation
-	 * @param newRoot
-	 *            a new root package (e.g. another model). Ensure that types referenced by the
-	 *            parameter exist within this root package (copy, if not). Null indicates that no copying
-	 *            should be done.
-	 * @return
-	 */
-	public static void syncOperation(Operation sourceOp, Operation targetOp) {
-		if (targetOp != null) {
-			LazyCopier.copyFeatureModifiers(sourceOp, targetOp);
-			// ordered and unique are derived from ret-parameter
-			targetOp.setIsQuery(sourceOp.isQuery());
-			targetOp.setIsAbstract(sourceOp.isAbstract());
-			targetOp.setName(sourceOp.getName());
-			targetOp.getOwnedParameters().clear();
-			for (Parameter parameter : sourceOp.getOwnedParameters()) {
-				Type type = parameter.getType();
-				Parameter newParameter =
-						targetOp.createOwnedParameter(parameter.getLabel(), type);
-				newParameter.setDirection(parameter.getDirection());
-				LazyCopier.copyMultElemModifiers(parameter, newParameter);
-				StUtils.copyStereotypes(parameter, newParameter);
-			}
-		}
-		StUtils.copyStereotypes(sourceOp, targetOp);
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/PortInfo.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/PortInfo.java
deleted file mode 100644
index 9ca5360..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/PortInfo.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-import org.eclipse.uml2.uml.Interface;
-import org.eclipse.uml2.uml.Port;
-
-/**
- * Information about a port that might belong to an extended port
- * It provides information about that port while taking the (optional) parent
- * port into account
- */
-public class PortInfo {
-	/**
-	 * Create a new portInfo.
-	 *
-	 * @param port
-	 * @param parentPort
-	 *            optional parent port (null, if no parent port exist, i.e. if this is not an extended port)
-	 */
-	public PortInfo(Port port, Port parentPort) {
-		this.port = port;
-		this.parentPort = parentPort;
-	}
-
-	/**
-	 * Create a new port info for a combination of Port and sub-port. Compared to the constructor,
-	 * the order of sub and parent port is inverted. The function is useful, if the sub-port is optional
-	 *
-	 * @param port
-	 *            a port
-	 * @param subPort
-	 *            an optional supPort.
-	 * @return
-	 */
-	public static PortInfo fromSubPort(Port port, Port subPort) {
-		if (subPort != null) {
-			return new PortInfo(subPort, port);
-		}
-		else {
-			return new PortInfo(port, null);
-		}
-	}
-
-	/**
-	 * @return The name of a port. Might be a composite name in case of an extended port
-	 */
-	public String getName() {
-		if (parentPort != null) {
-			return parentPort.getName() + "_" + port.getName(); //$NON-NLS-1$
-		}
-		else {
-			return port.getName();
-		}
-	}
-
-	/**
-	 * @return the interface provided by a port or sub-port. Takes conjugation of the parent port into account
-	 */
-	public Interface getProvided() {
-		if ((parentPort != null) && parentPort.isConjugated()) {
-			return PortUtils.getRequired(port);
-		}
-		else {
-			return PortUtils.getProvided(port);
-		}
-	}
-
-	/**
-	 * @return the interface required by a port or sub-port. Takes conjugation of the parent port into account
-	 */
-	public Interface getRequired() {
-		if ((parentPort != null) && parentPort.isConjugated()) {
-			return PortUtils.getProvided(port);
-		}
-		else {
-			return PortUtils.getRequired(port);
-		}
-	}
-
-	/**
-	 * @return true, if port is conjugated. Takes conjugation of the parent port into account
-	 */
-	public boolean isConjugated() {
-		if (parentPort != null) {
-			return port.isConjugated() != parentPort.isConjugated();
-		}
-		else {
-			return port.isConjugated();
-		}
-	}
-
-	/**
-	 * TODO: take multiplicity of parent-port into account
-	 *
-	 * @return upper multiplicity of port
-	 */
-	public int getUpper() {
-		return port.getUpper();
-	}
-
-	/**
-	 * @return the described port or sub-port
-	 */
-	public Port getPort() {
-		return port;
-	}
-
-	/**
-	 * @return Return the port of the original model, i.e. the parent port, if the port is actually
-	 *         a sub-port or the original port, if it is not.
-	 *         This function is useful for testing delegation relationships (which could not exist for a
-	 *         sub-port)
-	 */
-	public Port getModelPort() {
-		if (parentPort != null) {
-			return parentPort;
-		}
-		else {
-			return port;
-		}
-	}
-
-	protected Port port;
-
-	protected Port parentPort;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/PortUtils.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/PortUtils.java
deleted file mode 100644
index f58d1ba..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/PortUtils.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.designer.components.FCM.PortKind;
-import org.eclipse.papyrus.designer.components.FCM.TemplatePort;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.EncapsulatedClassifier;
-import org.eclipse.uml2.uml.Interface;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Type;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-public class PortUtils {
-
-	/**
-	 * Return the provided interface associated with the UML port, i.e.
-	 * the derived attribute of the FCM profile
-	 *
-	 * @param port
-	 *            the UML port
-	 * @return the provided interface
-	 */
-	public static Interface getProvided(Port port) {
-		if (port.getProvideds().size() > 0) {
-			// return first standard UML provided port
-			return port.getProvideds().get(0);
-		}
-		return null;
-	}
-
-	/**
-	 * Return the required interface associated with the UML port, i.e.
-	 * the derived attribute of the FCM profile
-	 *
-	 * @param port
-	 *            the UML port
-	 * @return the required interface
-	 */
-	public static Interface getRequired(Port port) {
-		if (port.getRequireds().size() > 0) {
-			// return first standard UML required port
-			return port.getRequireds().get(0);
-		}
-		return null;
-	}
-
-	/**
-	 * Return the FCM port (static profile) from a given UML port
-	 *
-	 * @param port
-	 * @return
-	 */
-	public static org.eclipse.papyrus.designer.components.FCM.Port getFCMport(Port port) {
-		return UMLUtil.getStereotypeApplication(port, org.eclipse.papyrus.designer.components.FCM.Port.class);
-	}
-
-	/**
-	 * Return the value of the FCM stereotype attribute "type" 
-	 * @param port a UML port
-	 * @return the value of the type attribute
-	 */
-	public static Type getFCMType(Port port) {
-		org.eclipse.papyrus.designer.components.FCM.Port fcmPort = getFCMport(port);
-		if (fcmPort != null) {
-			return fcmPort.getType();
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns all ports (including inherited ones) for an encapsulated classifier
-	 * It will also flatten extended ports
-	 *
-	 * @param ec
-	 * @return
-	 */
-	public static EList<Port> getAllPorts(EncapsulatedClassifier ec) {
-		EList<Port> ports = new BasicEList<Port>();
-		for (Property attribute : ec.getAllAttributes()) {
-			if (attribute instanceof Port) {
-				ports.add((Port) attribute);
-			}
-		}
-
-		// TODO: for the moment, don't add aggregated ports to list.
-		/*
-		 * ComponentType compType = = UMLUtil.getStereotypeApplication (ec, ComponentType.class);
-		 * for (ContainerRule rule : compType.getContainerRule ())
-		 * {
-		 * if ((rule.getExtensionKind () == ContainerExtKind.AGGREGATION) &&
-		 * (rule.getExtension () != null)) {
-		 * ports.addAll (getAllPorts (rule.getExtension ().getBase_Class ()));
-		 * }
-		 * }
-		 */
-
-		return ports;
-	}
-
-	/**
-	 * Returns all ports for an encapsulated classifier. Inherited ports are
-	 * included, except if the superclass is already a component implementation.
-	 * The motivation for this function is that ports inherited by a
-	 * component implementation have already corresponding operations/attributes,
-	 * only ports inherited by types need these definitions in subclasses.
-	 * TODO: support for abstract implementations that partially implement ports
-	 *
-	 * @param ec
-	 * @return
-	 */
-	public static EList<Port> getAllPorts2(EncapsulatedClassifier ec) {
-		EList<Port> ports = new BasicEList<Port>();
-
-		ports.addAll(ec.getOwnedPorts());
-
-		for (Classifier general : ec.getGenerals()) {
-			if ((general instanceof EncapsulatedClassifier) && (!Utils.isCompImpl(general))) {
-				ports.addAll(getAllPorts2((EncapsulatedClassifier) general));
-			}
-		}
-		return ports;
-	}
-
-	/**
-	 * When given a list of ports, flatten the extended ports within this list
-	 * and return a list of port-infos, i.e. information about ports.
-	 *
-	 * @param ports
-	 *            A list of ports
-	 * @return A list of port-infos
-	 */
-	public static EList<PortInfo> flattenExtendedPorts(EList<Port> ports) {
-		EList<PortInfo> portInfos = new BasicEList<PortInfo>();
-		for (Port port : ports) {
-			portInfos.addAll(flattenExtendedPort(port));
-		}
-		return portInfos;
-	}
-
-
-	/**
-	 * Flatten the given extended port and return a list of port-infos.
-	 *
-	 * @param port
-	 * @return
-	 */
-	public static EList<PortInfo> flattenExtendedPort(Port port) {
-		EList<PortInfo> portInfos = new BasicEList<PortInfo>();
-		if (isExtendedPort(port)) {
-			org.eclipse.papyrus.designer.components.FCM.Port fcmPort = getFCMport(port);
-			org.eclipse.uml2.uml.Class cl;
-			if (isTemplatePort(port)) {
-				TemplatePort tp = UMLUtil.getStereotypeApplication(port, TemplatePort.class);
-				if (tp.getBoundType() == null) {
-					Activator.log.debug("Bound type of template port is null, choosing base class of kind instead"); //$NON-NLS-1$
-					cl = fcmPort.getKind().getBase_Class();
-				}
-				else {
-					cl = tp.getBoundType().getBase_Class();
-				}
-			}
-			else {
-				cl = fcmPort.getKind().getBase_Class();
-			}
-			if ((cl != null) && (getAllPorts(cl).size() > 0)) {
-				EList<Port> extendedPorts = getAllPorts(cl);
-				for (Port extendedPort : extendedPorts) {
-					portInfos.add(new PortInfo(extendedPort, port));
-				}
-			}
-		}
-		else {
-			portInfos.add(new PortInfo(port, null));
-		}
-		return portInfos;
-	}
-
-	/**
-	 * Return true, if the passed port is an extended port
-	 *
-	 * @param port
-	 * @return
-	 */
-	public static boolean isExtendedPort(Port port) {
-		org.eclipse.papyrus.designer.components.FCM.Port fcmPort = getFCMport(port);
-		if ((fcmPort != null) && (fcmPort.getKind() != null)) {
-			org.eclipse.uml2.uml.Class cl = fcmPort.getKind().getBase_Class();
-			return ((cl != null) && (getAllPorts(cl).size() > 0));
-		}
-		return false;
-	}
-
-	/**
-	 * Return true, if the passed port is an extended port
-	 *
-	 * @param port
-	 * @return
-	 */
-	public static boolean isTemplatePort(Port port) {
-		return StereotypeUtil.isApplied(port, TemplatePort.class);
-	}
-
-	/**
-	 * Return the port kind, an element of the static profile
-	 *
-	 * @param port
-	 * @return
-	 */
-	public static PortKind getKind(Port port) {
-		org.eclipse.papyrus.designer.components.FCM.Port fcmPort = getFCMport(port);
-		if (fcmPort != null) {
-			return fcmPort.getKind();
-		}
-		return null;
-	}
-
-	/**
-	 * Check whether two ports have the same port kind. Since different models apparently
-	 * use different Java instances for the same port kind, the check is therefore based
-	 * on the equality of full qualified name.
-	 *
-	 * @param portA
-	 * @param portB
-	 * @return true, if port kinds are identical
-	 */
-	public static boolean sameKinds(Port portA, Port portB) {
-		PortKind kindA = getKind(portA);
-		PortKind kindB = getKind(portB);
-		return kindA == kindB;
-	}
-
-	/**
-	 * Check whether two ports match, i.e. have the same type & kind but different conjugation (assembly)
-	 * or same type, kind and conjugation (delegation). The ports must have the FCM port stereotype.
-	 *
-	 * @param portA
-	 *            first port
-	 * @param portB
-	 *            second port
-	 * @param isAssembly
-	 *            true, if the ports should be connected by an assembly connector (i.e. no delegation)
-	 * @return true, if ports match
-	 */
-	public static boolean matches(Port portA, Port portB, boolean isAssembly) {
-		org.eclipse.papyrus.designer.components.FCM.Port fcmPortA =
-				UMLUtil.getStereotypeApplication(portA, org.eclipse.papyrus.designer.components.FCM.Port.class);
-		org.eclipse.papyrus.designer.components.FCM.Port fcmPortB =
-				UMLUtil.getStereotypeApplication(portB, org.eclipse.papyrus.designer.components.FCM.Port.class);
-		if ((fcmPortA == null) || (fcmPortB == null)) {
-			return false;
-		}
-		boolean sameTypeAndKind = (fcmPortA.getType() == fcmPortB.getType()) && fcmPortA.getKind() == fcmPortB.getKind();
-		if (isAssembly) {
-			return (sameTypeAndKind && portA.isConjugated() != portB.isConjugated());
-		} else {
-			// delegation
-			return (sameTypeAndKind && portA.isConjugated() == portB.isConjugated());
-		}
-	}
-
-	/**
-	 * Check whether two ports are compatible. i.e. either match or are compatible interface wise
-	 *
-	 * @param portA
-	 * @param portB
-	 * @param isAssembly
-	 *            true, if the ports should be connected by an assembly connector (i.e. no delegation)
-	 * @return
-	 */
-	public static boolean isCompatible(Port portA, Port portB, boolean isAssembly) {
-		if (matches(portA, portB, isAssembly)) {
-			return true;
-		}
-		// no match found, try weaker condition: find 1st match for provided ...
-		if (isAssembly) {
-			Interface reqA = PortUtils.getRequired(portA);
-			Interface reqB = PortUtils.getRequired(portB);
-			Interface prodA = PortUtils.getProvided(portA);
-			Interface prodB = PortUtils.getProvided(portB);
-			return (((reqA == null) && isSubInterface(prodA, reqB))
-					|| ((reqB == null) && isSubInterface(prodB, reqA))
-					|| (isSubInterface(prodA, reqB) && isSubInterface(prodB, reqA)));
-		}
-		else {
-			return (PortUtils.getProvided(portA) == PortUtils.getProvided(portB)) &&
-					(PortUtils.getRequired(portB) == PortUtils.getRequired(portA));
-		}
-	}
-
-	/**
-	 * return true, if intfA is a sub-interface of intfB, i.e. either both interfaces are identical or one of the
-	 * super-classes (generalizations of intfA) is identical to B.
-	 * more general than interfaceB.
-	 *
-	 * @param intfA
-	 * @param intfB
-	 * @return
-	 */
-	public static boolean isSubInterface(Interface intfA, Interface intfB) {
-		return (intfA == intfB) || (intfA != null && intfA.getGeneralizations().contains(intfB));
-	}
-}
- 
\ No newline at end of file
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/ProjectManagement.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/ProjectManagement.java
deleted file mode 100644
index 57e2036..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/ProjectManagement.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.PlatformUI;
-
-// TODO: mixture of model and Eclipse project management. Move parts depending on CDT into
-// a separate plugin
-
-public class ProjectManagement {
-
-	/**
-	 * Retrieve current project from active editor
-	 *
-	 * @return
-	 */
-	public static IProject getCurrentProject() {
-		IEditorPart editorPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
-		// Maybe null, if opened via model explorer
-		if (editorPart == null) {
-			return null;
-		}
-		IEditorInput editorInput = editorPart.getEditorInput();
-		if (editorInput instanceof IFileEditorInput) {
-			return ((IFileEditorInput) editorInput).getFile().getProject();
-		}
-		return null;
-	}
-
-	public static IProject getNamedProject(String projectName) {
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		if (root != null) {
-			return root.getProject(projectName);
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/RunnableWithResult.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/RunnableWithResult.java
deleted file mode 100644
index 27cab2f..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/RunnableWithResult.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-
-public interface RunnableWithResult {
-
-	/**
-	 * Execute a command
-	 *
-	 * @return CommandResult.newOKCommandResult() if successful
-	 *         CommandResult.newErrorCommandResult(..) or
-	 *         CommandReuslt.newCancelCommandResult(..) otherwise
-	 */
-	public CommandResult run();
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/StUtils.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/StUtils.java
deleted file mode 100644
index ecf9d27..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/StUtils.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.uml.Connector;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Extension;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Stereotype;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * Some functions around stereotype usage.
- *
- * @author ansgar
- *
- */
-public class StUtils {
-
-	/**
-	 * Copy the stereotype application from a source to a destination element. The
-	 * function will also copy the stereotype attributes.
-	 *
-	 * @param source
-	 * @param destination
-	 * @return
-	 */
-	public static void copyStereotypes(LazyCopier copy, Element source, Element destination) {
-		for (Stereotype stereotype : source.getAppliedStereotypes()) {
-			copyAttributes(copy, stereotype.getQualifiedName(), source, destination);
-		}
-	}
-
-	public static void copyStereotypes(Element source, Element destination) {
-		copyStereotypes(null, source, destination);
-	}
-
-	/**
-	 * copy stereotype attributes.
-	 *
-	 * TODO: verify if it is necessary to distinguish between stereoSource and stereoDest
-	 * (they should be identical, if the resource sets are).
-	 * => simplify code
-	 *
-	 * @param stereotypeName
-	 * @param source
-	 * @param destination
-	 * @return
-	 */
-	@SuppressWarnings({ "unchecked" })
-	public static boolean copyAttributes(LazyCopier copy, String stereotypeName, Element source, Element destination) {
-		Stereotype stereoSource = source.getAppliedStereotype(stereotypeName);
-		Stereotype stereoDest = destination.getApplicableStereotype(stereotypeName);
-
-		if ((stereoSource == null) || (stereoDest == null)) {
-			return false;
-		}
-		Stereotype alreadyApplied = destination.getAppliedStereotype(stereotypeName);
-		if (alreadyApplied == null) {
-			// only apply stereotype, if not already applied
-			destination.applyStereotype(stereoDest);
-		}
-
-		// getAllAttributes? (but have to avoid attribute base_Class which resets stereotype application)
-		for (Property attribute : stereoSource.getAllAttributes()) {
-			String attrName = attribute.getName();
-
-			if (attrName.length() >= 5) {
-				// do not copy base_ stereotypes (base_class, base_package and base_PackageImport)
-				if (attrName.startsWith(Extension.METACLASS_ROLE_PREFIX)) {
-					continue;
-				}
-			}
-			// do not copy derived attributes
-			if (attribute.isDerived()) {
-				continue;
-			}
-
-			Object value = source.getValue(stereoSource, attrName);
-			// handle specific case: need to copy referenced containerExt, since it points to element
-			// in the original model.
-			/*
-			 * if ((value instanceof EObject) && (attrName.equals ("containerExt"))) {
-			 * continue;
-			 * }
-			 */
-
-			if (value instanceof EList) {
-				// copy list
-				EList<Object> newList = new BasicEList<Object>();
-				for (Object valueEl : (EList<Object>) value) {
-					if ((copy != null) && (valueEl instanceof Element)) {
-						newList.add(copy.getCopy((Element) valueEl));
-					} else {
-						newList.add(valueEl);
-					}
-				}
-				if (newList.size() > 0) {
-					destination.setValue(stereoDest, attrName, newList);
-				}
-			} else if ((copy != null) && (value instanceof EObject)) {
-				if (value instanceof Element) {
-					destination.setValue(stereoDest, attrName, copy.getCopy((Element) value));
-				}
-				// TODO: remove hack: the template port references directly an element of a package template
-				// the package template should not be copied, but instantiated as done in class TemplatePort
-				else if (!stereotypeName.endsWith("TemplatePort")) { //$NON-NLS-1$
-					// value is likely a stereotype application. If copy does a package-template instantiation, it would
-					// check whether the passed element is within the package template. This would fail if we pass
-					// a stereotype application. (could also do check within copy??)
-					EObject eValue = (EObject) value;
-					Element base = UMLUtil.getBaseElement(eValue);
-					EClass eClass = eValue.eClass();
-					Element newBase = copy.getCopy(base);
-					for (EObject stereoApp : newBase.getStereotypeApplications()) {
-						if (stereoApp.eClass() == eClass) {
-							destination.setValue(stereoDest, attrName, stereoApp);
-							break;
-						}
-					}
-				}
-				else {
-					destination.setValue(stereoDest, attrName, value);
-				}
-			}
-			else {
-				destination.setValue(stereoDest, attrName, value);
-			}
-		}
-
-		return true;
-	}
-
-	public static boolean copyAttribute(String stereotypeName, String attribute, Element source, Element destination) {
-		Stereotype stereotype = source.getAppliedStereotype(stereotypeName);
-		if (stereotype == null) {
-			return false;
-		}
-		Object value = source.getValue(stereotype, attribute);
-		destination.applyStereotype(stereotype);
-		destination.setValue(stereotype, attribute, value);
-		return true;
-	}
-
-	public static org.eclipse.papyrus.designer.components.FCM.Connector getConnector(Connector connector) {
-		return UMLUtil.getStereotypeApplication(connector, org.eclipse.papyrus.designer.components.FCM.Connector.class);
-	}
-
-	public static boolean isConnector(Connector candidate) {
-		return StereotypeUtil.isApplied(candidate, org.eclipse.papyrus.designer.components.FCM.Connector.class);
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/Stereotypes.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/Stereotypes.java
deleted file mode 100644
index b725a84..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/Stereotypes.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-/**
- * Specific stereotypes. This file should not be used any more
- */
-@Deprecated
-public class Stereotypes {
-
-	// FT stereotypes
-	public final static String activeWithVoting = "FTRedundancy::FTActiveWithVotingReplicationStyle"; //$NON-NLS-1$
-
-	public final static String replicationInfo = "DP::Replication"; //$NON-NLS-1$
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/UMLTool.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/UMLTool.java
deleted file mode 100644
index 0931553..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/UMLTool.java
+++ /dev/null
@@ -1,410 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *  Christophe JOUVRAY
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.common.util.UniqueEList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.External;
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.NoCodeGen;
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Typedef;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.uml.BehavioredClassifier;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Dependency;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Interface;
-import org.eclipse.uml2.uml.InterfaceRealization;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Namespace;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.Parameter;
-import org.eclipse.uml2.uml.ParameterDirectionKind;
-import org.eclipse.uml2.uml.PrimitiveType;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Relationship;
-import org.eclipse.uml2.uml.Type;
-import org.eclipse.uml2.uml.UMLPackage;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-
-/**
- * Collection of utility functions. In contrast to core.Utils, it is chiefly used by xtend classes
- */
-public class UMLTool {
-
-	private static final String UNDERSCORE = "_"; //$NON-NLS-1$
-
-	public static <T extends EObject> EList<T> reverse(EList<T> list) {
-		EList<T> reverseList = new BasicEList<T>();
-		for (int i=list.size()-1; i>=0; i--) {
-			reverseList.add(list.get(i));
-		}
-		return reverseList;
-	}
-	
-	/**
-	 * @param operation
-	 * @return all in and inout parameters of an operation
-	 */
-	public static EList<Parameter> parametersInInout(Operation operation) {
-		EList<Parameter> list = new BasicEList<Parameter>();
-		for (Parameter parameter : operation.getOwnedParameters()) {
-			if ((parameter.getDirection().getValue() == ParameterDirectionKind.IN) ||
-					(parameter.getDirection().getValue() == ParameterDirectionKind.INOUT)) {
-				list.add(parameter);
-			}
-		}
-		return list;
-	}
-
-	/**
-	 * @param operation
-	 * @return all out, inout and return parameters of an operation
-	 */
-	public static EList<Parameter> parametersOutInout(Operation operation) {
-		EList<Parameter> list = new BasicEList<Parameter>();
-		for (Parameter parameter : operation.getOwnedParameters()) {
-			if ((parameter.getDirection().getValue() == ParameterDirectionKind.OUT) ||
-					(parameter.getDirection().getValue() == ParameterDirectionKind.RETURN) ||
-					(parameter.getDirection().getValue() == ParameterDirectionKind.INOUT)) {
-				list.add(parameter);
-			}
-		}
-		return list;
-	}
-
-	/**
-	 * @param operation
-	 * @return all non-return parameters of an operation
-	 */
-	public static EList<Parameter> parametersNonRet(Operation operation) {
-		EList<Parameter> list = new BasicEList<Parameter>();
-		for (Parameter parameter : operation.getOwnedParameters()) {
-			if (parameter.getDirection().getValue() != ParameterDirectionKind.RETURN) {
-				list.add(parameter);
-			}
-		}
-		return list;
-	}
-
-	/**
-	 * A small helper function that makes names compliant with variable
-	 * names in programming languages such as C++ or Java
-	 * Unlike varName2, replace scoping signs as well
-	 */
-	public static String varName(NamedElement element) {
-		return varName(element.getName());
-	}
-
-	/**
-	 * A small helper function that makes names compliant with variable
-	 * names in programming languages such as C++ or Java
-	 * Unlike varName2, replace scoping signs as well
-	 */
-	public static String varName(String umlName) {
-		umlName = umlName.replace(".", UNDERSCORE); //$NON-NLS-1$
-		umlName = umlName.replace(NamedElement.SEPARATOR, UNDERSCORE);
-		return varName2(umlName);
-	}
-
-	/**
-	 * A small helper function that makes names compliant with variable
-	 * names in programming languages such as C++ or Java
-	 * TODO: obviously, it is not complete (e.g. in case of "$", national characters ("ä", "é", ...) , ...)
-	 */
-	public static String varName2(NamedElement element) {
-		String umlName = element.getName();
-		return varName2(umlName);
-	}
-
-	/**
-	 * Like varName, but does not replace "." with "_"
-	 *
-	 * @param umlName
-	 * @return
-	 */
-	public static String varName2(String umlName) {
-		umlName = umlName.replace(" ", UNDERSCORE); //$NON-NLS-1$
-		umlName = umlName.replace("-", UNDERSCORE); //$NON-NLS-1$
-		umlName = umlName.replace("+", UNDERSCORE); //$NON-NLS-1$
-		umlName = umlName.replace("?", UNDERSCORE); //$NON-NLS-1$
-		return umlName;
-	}
-
-	public static EList<Namespace> usedNamespaces(NamedElement element) {
-		EList<Namespace> list = new BasicEList<Namespace>(element.allNamespaces());
-
-		if (list.size() < 1) {
-			return null;
-		}
-		list.remove(list.size() - 1); // remove last element (top-level)
-		return list;
-	}
-
-	/**
-	 * Return a sequence of namespaces for a given element, starting from the "bottom"
-	 * one, i.e. the one in which the element is contained. It will end before the
-	 * searchNS namespace is reached. Returns null, if the element is not contained
-	 * within the search namespace.
-	 *
-	 * @param element
-	 * @param searchNS
-	 * @return
-	 */
-	public static EList<Namespace> relativePath(Element element, Namespace searchNS) {
-		EList<Namespace> pathList = new BasicEList<Namespace>();
-		Element owner = element.getOwner();
-		if (!(owner instanceof Namespace)) {
-			// happens, if element is contained in a template signature
-			return null;
-		}
-		Namespace ns = (Namespace) owner;
-		while (ns != null) {
-			if (ns == searchNS) {
-				return pathList;
-			}
-			pathList.add(ns);
-
-			ns = (Namespace) ns.getOwner();
-		}
-		return null;
-	}
-
-	/**
-	 * This method returns all types that are referenced by a classifier. This includes
-	 * attribute types, types within operations as well as inherited types.
-	 * This is useful to generate the #includes
-	 * (which is used by the Acceleo code within the packaging plugin)
-	 */
-	public static EList<Classifier> getReferencedClassifiers(Classifier classifier) {
-		EList<Classifier> list = new UniqueEList<Classifier>();
-		list.addAll(classifier.parents());
-
-		if (classifier instanceof Class) {
-			// get classifiers referenced by attributes
-			for (Operation operation : ((Class) classifier).getOwnedOperations()) {
-				for (Parameter parameter : operation.getOwnedParameters()) {
-					Type type = parameter.getType();
-					if (type instanceof Classifier) {
-						list.add((Classifier) type);
-					}
-				}
-			}
-
-			// get classifiers referenced by attributes
-			for (Property attribute : ((Class) classifier).getOwnedAttributes()) {
-				Type type = attribute.getType();
-				if (type instanceof Classifier) {
-					list.add((Classifier) type);
-				}
-			}
-		}
-		return list;
-	}
-
-	/**
-	 * TODO: copy&paste from C++ generator (& specific for C++)
-	 *
-	 * @param ne
-	 * @return
-	 */
-	public static String cppQName(NamedElement ne) {
-		if ((StereotypeUtil.isApplied(ne, External.class)) || (StereotypeUtil.isApplied(ne, NoCodeGen.class))) {
-			return ne.getName();
-		} else {
-			String qName = ne.getName();
-			for (Namespace ns : ne.allNamespaces()) {
-				if (!(ns instanceof Model)) {
-					qName = ns.getName() + "::" + qName; //$NON-NLS-1$
-				}
-			}
-			return qName;
-		}
-	}
-
-	/**
-	 * Return the name of a parameter. In case of a return parameter, always return the name
-	 * "retValue". This is quite useful for marshalling operations (which need to assign a
-	 * value to the return parameter, which is sometimes not initialized)
-	 *
-	 * @param parameter
-	 * @return
-	 */
-	public static String paramName(Parameter parameter) {
-		if (parameter.getDirection().getValue() == ParameterDirectionKind.RETURN) {
-			return "retValue"; //$NON-NLS-1$
-		} else {
-			return parameter.getName();
-		}
-	}
-
-	/**
-	 * Return the interface which owns an operation that is implemented by a class.
-	 * Context: a class might implement several interfaces by defining their operations.
-	 * The operation is useful in the context of state-machines: when a transition is triggered by
-	 * the call of an operation of the class, we'd like to know which interceptor (for which interface)
-	 * belongs to it (since the operations are enumerated within each interface).
-	 * TODO: move operation into state-chart java code
-	 * TODO: would not work for ROOM ports typed with a collaboration
-	 *
-	 * @param operation
-	 * @return the interface which the operation belongs
-	 */
-	public static Interface implementsInterface(Operation operation) {
-		Element owner = operation.getOwner();
-		if (owner instanceof BehavioredClassifier) {
-			String name = operation.getName();
-			EList<Type> types = new BasicEList<Type>();
-			for (Parameter parameter : operation.getOwnedParameters()) {
-				types.add(parameter.getType());
-			}
-			// loop over implemented realizations. Do not rely on FCM derivedElement information
-			// as it might be missing on some models (it would point from an operation of the class
-			// to the associated operation of the interface)
-			for (InterfaceRealization ir : ((BehavioredClassifier) owner).getInterfaceRealizations()) {
-				// check for types to allow for overloading
-				Operation candidate = ir.getContract().getOwnedOperation(name, null, types);
-				if (candidate != null) {
-					return ir.getContract();
-				}
-			}
-		}
-		else if (owner instanceof Interface) {
-			return (Interface) owner;
-		}
-		return null;
-	}
-
-	/**
-	 * Convenience function: Declare a dependency from source to destination. The function checks,
-	 * if a dependency already exists to avoid double dependencies.
-	 *
-	 * @param source
-	 *            source type of the dependency
-	 * @param dest
-	 *            destination of the dependency
-	 */
-	public static void declareDependency(Type source, Type dest) {
-		// check, if a relationship already exists
-		for (Relationship dependency : source.getRelationships(UMLPackage.eINSTANCE.getDependency())) {
-			if (((Dependency) dependency).getSuppliers().contains(dest)) {
-				return;
-			}
-		}
-		source.createDependency(dest);
-	}
-
-	/**
-	 * Get the URI fragment of an element within your model
-	 * Useful for transmitting model references
-	 *
-	 * @param element
-	 *            a UML element
-	 * @return
-	 */
-	public static String fragment(Element element) {
-		Resource resource = element.eResource();
-		// TODO: use EcoreUtil getURI (InternalEObject) instead?
-
-		if (resource instanceof XMLResource) {
-			XMLResource xmlResource = (XMLResource) resource;
-			return "\"" + xmlResource.getURIFragment(element) + "\""; //$NON-NLS-1$//$NON-NLS-2$
-		}
-		return null;
-	}
-
-	/**
-	 * Get the XML (URI) Id of an element within your model
-	 * Useful for transmitting model references
-	 *
-	 * @param element
-	 *            a UML element
-	 * @return
-	 */
-	public static String xmlID(Element element) {
-		Resource resource = element.eResource();
-		// TODO: use EcoreUtil getURI (InternalEObject) instead?
-
-		if (resource instanceof XMLResource) {
-			XMLResource xmlResource = (XMLResource) resource;
-			return xmlResource.getID(element);
-		}
-		return null;
-	}
-
-	public static String getURI(Element element) {
-		Resource resource = element.eResource();
-		if (resource != null) {
-			URI uri = resource.getURI();
-			return uri.toString();
-		}
-		return null;
-	}
-
-	/**
-	 *
-	 * TODO: Specific to C++
-	 *
-	 * @param type
-	 *            a type
-	 * @return return the definition of a typedef, if the type has been defined via
-	 *         the stereotype CppType of the Cpp profile
-	 */
-	public static String dereferenceTypedef(Type type) {
-		if (type instanceof PrimitiveType) {
-			Typedef cppType = UMLUtil.getStereotypeApplication(type, Typedef.class);
-			if (cppType != null) {
-				return cppType.getDefinition();
-			}
-		}
-		return type.getQualifiedName();
-
-	}
-
-	public static String encodeID(String uri) {
-		// _ becomes escape character. original _ is __, '-' becomes _M
-		return uri.
-				replace(UNDERSCORE, UNDERSCORE + UNDERSCORE).
-				replace("-", "_M"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public static String decodeID(String encodedURI) {
-		String result = ""; //$NON-NLS-1$
-		for (int i = 0; i < encodedURI.length(); i++) {
-			char c = encodedURI.charAt(i);
-			if (c == '_') {
-				char next = encodedURI.charAt(i + 1);
-				if (next == 'M') {
-					result += '-';
-				} else if (next == '_') {
-					result += '_';
-				}
-				i++;
-			}
-			else {
-				result += c;
-			}
-		}
-		return result;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/Utils.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/Utils.java
deleted file mode 100644
index 65f01d7..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/Utils.java
+++ /dev/null
@@ -1,471 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.UniqueEList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.designer.components.FCM.Assembly;
-import org.eclipse.papyrus.designer.components.FCM.ContainerRule;
-import org.eclipse.papyrus.designer.components.FCM.InteractionComponent;
-import org.eclipse.papyrus.designer.components.FCM.Singleton;
-import org.eclipse.papyrus.designer.components.transformation.core.preferences.PapyrusDesignerPreferenceConstants;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.uml.AggregationKind;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Interface;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Type;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-public class Utils {
-
-	public static final String QUOTE = "\""; //$NON-NLS-1$
-
-	/**
-	 * Retrieve an element from a list of named elements via its name
-	 *
-	 * @param namedElementList
-	 * @param name
-	 * @return
-	 */
-	public static NamedElement getNamedElementFromList(
-			EList<? extends EObject> elementList, String name) {
-		for (EObject element : elementList) {
-			if (element instanceof NamedElement) {
-				NamedElement namedElement = (NamedElement) element;
-				if((namedElement.getName() != null) && namedElement.getName().equals(name)) {
-					return namedElement;
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * return the top-level owner of an element. This function returns the same
-	 * value as getModel, if the top-level element is a model. While this is the
-	 * case for models, model libraries have a top-level package (not a model).
-	 * In this case, getTop returns the top-level package whereas getModel would
-	 * return null.
-	 *
-	 * @param element
-	 * @return the top-level owning package
-	 * @deprecated Use getRootPackage method in oep.uml.tools.utils.PackageUtil
-	 */
-	@Deprecated
-	public static Package getTop(Element element) {
-		while (element != null) {
-			Element owner = element.getOwner();
-			if (owner == null) {
-				if (element instanceof Package) {
-					return (Package) element;
-				}
-			}
-			element = owner;
-		}
-		return null;
-	}
-
-	/**
-	 * Return package at first level. Useful, since last model transformation
-	 * will put elements under a new "root"
-	 *
-	 * @param element
-	 * @return
-	 */
-	public static Package getFirstLevel(Element element) {
-		Element lastElement = element;
-		while (element != null) {
-			Element owner = element.getOwner();
-			if (owner == null) {
-				if (lastElement instanceof Package) {
-					return (Package) lastElement;
-				}
-			}
-			lastElement = element;
-			element = owner;
-		}
-		return null;
-	}
-
-	/**
-	 * @param element
-	 *            an element which is owned by a model.
-	 * @param subfolder
-	 *            the name of a sub-folder within root (created, if not
-	 *            existent)
-	 * @return a reference to the sub folder within the root of the model that
-	 *         belongs to the passed element.
-	 */
-	public static Package getRoot(Element element, String subfolder) {
-		Package root = getTop(element);
-		if (root.getNestedPackage(subfolder) != null) {
-			return root.getNestedPackage(subfolder);
-		} else {
-			return root.createNestedPackage(subfolder);
-		}
-	}
-
-	/**
-	 * Convenience method enabling to apply getOwnedOperation equally to classes
-	 * and interfaces
-	 *
-	 * @param cl
-	 * @param name
-	 * @param paramNames
-	 * @param paramTypes
-	 * @return
-	 */
-	public static Operation createOwnedOperation(Classifier cl, String name,
-			EList<String> paramNames, EList<Type> paramTypes, Type retType) {
-		if (cl instanceof Class) {
-			return ((Class) cl).createOwnedOperation(name, paramNames,
-					paramTypes, retType);
-		} else if (cl instanceof Interface) {
-			return ((Interface) cl).createOwnedOperation(name, paramNames,
-					paramTypes, retType);
-		} else {
-			return null;
-		}
-	}
-
-	public static Operation getOwnedOperation(Classifier cl, String name,
-			EList<String> paramNames, EList<Type> paramTypes) {
-		if (cl instanceof Class) {
-			return ((Class) cl).getOwnedOperation(name, paramNames, paramTypes);
-		} else if (cl instanceof Interface) {
-			return ((Interface) cl).getOwnedOperation(name, paramNames,
-					paramTypes);
-		} else {
-			return null;
-		}
-	}
-
-	/**
-	 * this method returns the component type of an implementation. It is based
-	 * on the modeling convention that implementations inherit from types.
-	 */
-	public static Class componentType(Class implementation) {
-		if (Utils.isCompImpl(implementation)) {
-			Iterator<Class> superclasses = implementation.getSuperClasses()
-					.iterator();
-			while (superclasses.hasNext()) {
-				Class componentType = superclasses.next();
-				if (Utils.isCompType(componentType)) {
-					return componentType;
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * return true, if a component (implementation) is a composite, i.e. has
-	 * inner parts
-	 */
-	public static boolean isComposite(Class implementation) {
-		return Utils.isCompImpl(implementation)
-				&& (getParts(implementation).size() > 0);
-	}
-
-	public static EList<Property> getParts(Class implementation) {
-		if (treatNoneAsComposite()) {
-			EList<Property> parts = new BasicEList<Property>();
-			for (Property part : implementation.getAttributes()) {
-				if (part.getAggregation() != AggregationKind.SHARED_LITERAL) {
-					parts.add(part);
-				}
-			}
-			return parts;
-		}
-		else {
-			return implementation.getParts();
-		}
-	}
-
-
-	/**
-	 * @param attribute
-	 *            an attribute
-	 * @return true, if the aggregation kind is considered as a composition
-	 */
-	public static boolean isComposition(Property attribute) {
-		if (treatNoneAsComposite()) {
-			return (attribute.getAggregation() != AggregationKind.SHARED_LITERAL);
-		}
-		else {
-			return (attribute.getAggregation() == AggregationKind.COMPOSITE_LITERAL);
-		}
-	}
-
-	/**
-	 * return true, if an instance specification is a composite, i.e. has > 1
-	 * slots TODO: distinguish parts and configuration attributes
-	 */
-
-	public static boolean isComposite(InstanceSpecification is) {
-		return (is.getSlots().size() > 0);
-	}
-
-	/**
-	 * Get an element via its qualified name. Will find elements from the root
-	 * model and elements in imported models. Also supports target model in
-	 * which imports have been copied (while keeping the top-level name)
-	 *
-	 * @param root
-	 * @param qualifiedName
-	 * @return
-	 */
-	public static NamedElement getQualifiedElement(Package root,
-			String qualifiedName) {
-		NamedElement namedElement = null;
-		int index = qualifiedName.indexOf("::"); //$NON-NLS-1$
-		if (index != -1) {
-			// first try using a path without top element (since
-			// getQualifiedElement is typically used for
-			// imported elements)
-			String remainder = qualifiedName.substring(index + 2);
-			namedElement = getQualifiedElement(root, remainder, qualifiedName);
-		}
-		if (namedElement == null) {
-			// try with complete name as path name, but assume that the element
-			// has been copied into the model,
-			// i.e. qualifiedName is prefixed by model name
-			namedElement = getQualifiedElement(root, qualifiedName,
-					root.getName() + "::" + qualifiedName); //$NON-NLS-1$
-		}
-		return namedElement;
-	}
-
-	/**
-	 * Retrieve an element via its qualified name within a package The segments
-	 * of the package may be non unique due to imports
-	 *
-	 * @return the found element, if it exists
-	 */
-	public static NamedElement getQualifiedElement(Package root,
-			String remainingPath, String qualifiedName) {
-		if (root == null) {
-			return null;
-		}
-		if (!remainingPath.contains(NamedElement.SEPARATOR)) {
-			for (NamedElement candidate : root.getMembers()) {
-				String name = candidate.getName();
-				if ((name != null) && name.equals(remainingPath)) {
-					if (candidate.getQualifiedName().equals(qualifiedName)) {
-						return candidate;
-					}
-				}
-			}
-		} else {
-			String segment = remainingPath.split(NamedElement.SEPARATOR)[0];
-			String remainder = remainingPath.substring(segment.length() + 2);
-			for (Element element : root.getMembers()) {
-				if (element instanceof Package) {
-					if (((NamedElement) element).getName().equals(segment)) {
-						NamedElement foundElement = getQualifiedElement(
-								(Package) element, remainder, qualifiedName);
-						// return, if not found
-						if (foundElement != null) {
-							return foundElement;
-						}
-					}
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Simple check whether an element is in a different model than the passed
-	 * package It will return true, whenever the the top elements do not match.
-	 * This is always true, if the 2nd belongs to a different model, whether
-	 * imported or not. This distinction is however not required in our context.
-	 */
-	public static boolean isElementInDifferentModel(Package model,
-			NamedElement namedElement) {
-		return model != getTop(namedElement);
-	}
-
-	/**
-	 * /**
-	 * Check whether a class contains a non-port attribute of a given name
-	 *
-	 * @param cl
-	 * @return
-	 */
-	public static boolean hasNonPortOwnedAttribute(Class cl, String name) {
-		for (Property p : cl.getOwnedAttributes()) {
-			if (!(p instanceof Port)) {
-				if (p.getName().equals(name)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public static <T extends EObject> EList<T> getAllElementsOfType(Element examineElement, java.lang.Class<T> clazz)
-	{
-		EList<Element> visitedPackages = new BasicEList<Element>();
-		return getAllElementsOfType(examineElement, clazz, visitedPackages);
-	}
-
-	@SuppressWarnings("unchecked")
-	public static <T extends EObject> EList<T> getAllElementsOfType(Element examineElement, java.lang.Class<T> clazz, EList<Element> visitedPackages)
-	{
-		EList<T> list = new UniqueEList<T>();
-		for (Element element : examineElement.allOwnedElements()) {
-			if (element instanceof Package) {
-				if (!visitedPackages.contains(element)) {
-					visitedPackages.add(element);
-					list.addAll(getAllElementsOfType(element, clazz,
-							visitedPackages));
-				}
-			} else if (clazz.isInstance(element)) {
-				list.add((T) element);
-			}
-		}
-		return list;
-	}
-
-	/**
-	 * @param a
-	 *            potential implementation
-	 * @return true, if passed classifier is an implementation (i.e. declared
-	 *         via stereotypes as component or connector implementation (a sub-type of component implementations,
-	 *         therefore no additional check is required)
-	 */
-	public static boolean isCompImpl(Classifier implementation) {
-		return !implementation.isAbstract();
-	}
-
-	/**
-	 * Check whether the passed class is a component type (and not a component implementation).
-	 * This includes connector and container types as well.
-	 *
-	 * @param component
-	 * @return
-	 */
-	public static boolean isCompType(Class component) {
-		return component.isAbstract();
-	}
-
-	public static boolean isInteractionComponent(Classifier component) {
-		return StereotypeUtil.isApplied(component, InteractionComponent.class);		
-	}
-	
-	public static boolean isSingleton(Class component) {
-		return StereotypeUtil.isApplied(component, Singleton.class);
-	}
-
-	public static boolean isAssembly(Class component) {
-		return StereotypeUtil.isApplied(component, Assembly.class);
-	}
-
-	public static boolean treatNoneAsComposite() {
-		IPreferenceStore store = Activator.getDefault().getPreferenceStore();
-		return store.getBoolean(PapyrusDesignerPreferenceConstants.P_TREAT_NONE_AS_COMPOSITE);
-	}
-
-	public static boolean allAttributesAreConfigAttributs() {
-		IPreferenceStore store = Activator.getDefault().getPreferenceStore();
-		return store.getBoolean(PapyrusDesignerPreferenceConstants.P_ALL_ATTRIBUTES_ARE_CONFIG_ATTRIBUTES);
-	}
-
-	/**
-	 * True, if either a component implementation or a type
-	 *
-	 * @param component
-	 * @return
-	 */
-	public static boolean isComponent(Class component) {
-		return (isCompType(component) || isCompImpl(component));
-	}
-
-	/**
-	 * Return the absolute file name to a file name given e.g. in the form platform:/plugin/xxx
-	 *
-	 * @param fileName
-	 *            the file name using eclipse elements such as platform:/plugin
-	 * @return the absolute file name
-	 */
-	public static String getAbsoluteFN(String fileName) {
-		try {
-			URL absoluteURL = FileLocator.toFileURL(new URL(fileName));
-			return absoluteURL.getFile();
-		} catch (MalformedURLException e) {
-		} catch (IOException e) {
-		}
-		return null;
-	}
-
-	// TODO: need a generic utility function for getting all elements obeying a certain
-	// criteria from a model
-	public static EList<ContainerRule> getAllRules(Package pkg) {
-		EList<Package> visitedPackages = new BasicEList<Package>();
-		EList<ContainerRule> contRuleList = new BasicEList<ContainerRule>();
-		getAllRules(pkg, visitedPackages, contRuleList);
-		return contRuleList;
-	}
-
-	public static void getAllRules(Package pkg, EList<Package> visitedPackages, EList<ContainerRule> contRuleList) {
-		for (Element el : pkg.getMembers()) {
-			if (el instanceof Package) {
-				if (!visitedPackages.contains(el)) {
-					visitedPackages.add((Package) el);
-					getAllRules((Package) el, visitedPackages, contRuleList);
-				}
-			}
-			else if (el instanceof Class) {
-				if (StereotypeUtil.isApplied(el, ContainerRule.class)) {
-					ContainerRule rule = UMLUtil.getStereotypeApplication(el, ContainerRule.class);
-					contRuleList.add(rule);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Put quotes around a string, unless string already starts with a quote.
-	 *
-	 * @param str
-	 * @return
-	 */
-	public static String quoteString(String str) {
-		if (str.startsWith(QUOTE)) {
-			return str;
-		}
-		else {
-			return QUOTE + str + QUOTE;
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/commands/AddMarteAndFcmProfile.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/commands/AddMarteAndFcmProfile.java
deleted file mode 100644
index 9cb1337..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/commands/AddMarteAndFcmProfile.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 CEA LIST.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-package org.eclipse.papyrus.designer.components.transformation.core.commands;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.workspace.AbstractEMFOperation;
-import org.eclipse.papyrus.designer.components.transformation.core.Activator;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.PackageableElement;
-import org.eclipse.uml2.uml.Profile;
-
-/**
- * This class adds the FCM profile, parts of the MARTE profile and required package imports to your model.
- */
-public class AddMarteAndFcmProfile extends AbstractEMFOperation {
-
-	public AddMarteAndFcmProfile(Package selectedPkg, int applyCode, TransactionalEditingDomain domain) {
-		super(domain, CMD_LABEL);
-		this.selectedPkg = selectedPkg;
-		this.applyCode = applyCode;
-	}
-
-	public static final String CMD_LABEL = "Add MARTE/FCM profiles"; //$NON-NLS-1$
-
-	public static final String FCM_PROFILE_URI = "pathmap://FCM_PROFILES/FCM.profile.uml"; //$NON-NLS-1$
-
-	public static final String MARTE_PROFILE_URI = "pathmap://Papyrus_PROFILES/MARTE.profile.uml";//$NON-NLS-1$
-
-	static final String MARTE_FOUNDATIONS = "MARTE_Foundations"; //$NON-NLS-1$
-
-	static final String MARTE_F_ALLOC = "Alloc"; //$NON-NLS-1$
-
-	static final String MARTE_DESIGN_MODEL = "MARTE_DesignModel"; //$NON-NLS-1$
-
-	static final String MARTE_DM_HLAM = "HLAM"; //$NON-NLS-1$
-
-	static final String MARTE_DM_GCM = "GCM"; //$NON-NLS-1$
-
-	public static final int APPLY_FCM = 1;
-
-	public static final int APPLY_ALLOC = 2;
-
-	public static final int APPLY_HLAM_GCM = 4;
-
-	Package selectedPkg;
-
-	int applyCode;
-
-	public static Element getContent(URI uri, ResourceSet rs) {
-		// Resource resource = getTransactionalEditingDomain ().getResourceSet().getResource (uri, true);
-		Resource resource = rs.getResource(uri, true);
-		return getContent(resource);
-	}
-
-	public static Element getContent(Resource resource) {
-		EList<EObject> contentObj = resource.getContents();
-		if ((contentObj.size() > 0) && (contentObj.get(0) instanceof Element)) {
-			return (Element) contentObj.get(0);
-		}
-		return null;
-	}
-
-	@Override
-	protected IStatus doExecute(IProgressMonitor monitor, IAdaptable info)
-			throws ExecutionException {
-		final ResourceSet resourceSet = selectedPkg.eResource().getResourceSet();
-
-		try {
-			/*
-			 * // Apply UML Standard profile
-			 * // Retrieve standard profile
-			 * Profile umlStdProfile =
-			 * (Profile) getContent (URI.createURI(UMLResource.STANDARD_PROFILE_URI));
-			 * // Apply to new model
-			 * umlModel.applyProfile(umlStdProfile);
-			 */
-
-			if ((applyCode & APPLY_FCM) != 0) {
-				// Retrieve FCM profile
-				Profile fcmProfile =
-						(Profile) getContent(URI.createURI(FCM_PROFILE_URI), resourceSet);
-
-				// Apply FCM profile and its nested profiles to new model
-				if (fcmProfile instanceof Profile) {
-					Profile profile = selectedPkg.getAppliedProfile(fcmProfile.getQualifiedName());
-					if ((profile == null) && (!fcmProfile.getOwnedStereotypes().isEmpty())) {
-						selectedPkg.applyProfile(fcmProfile);
-					}
-				}
-				else {
-					Activator.log.debug("The FCM profile is not available."); //$NON-NLS-1$
-				}
-			}
-
-			if ((applyCode & (APPLY_ALLOC | APPLY_HLAM_GCM)) != 0) {
-				// Retrieve MARTE profile
-				Profile marteProfile =
-						(Profile) getContent(URI.createURI(MARTE_PROFILE_URI), resourceSet);
-
-				// Apply MARTE::MARTE_DesignModel::HLAM
-				// & MARTE::MARTE_DesignModel::GCM
-				if (marteProfile != null) {
-					PackageableElement foundationModel = marteProfile.getPackagedElement(MARTE_FOUNDATIONS);
-					if ((foundationModel instanceof Package) && ((applyCode & APPLY_ALLOC) != 0)) {
-						PackageableElement alloc = ((Package) foundationModel).getPackagedElement(MARTE_F_ALLOC);
-						selectedPkg.applyProfile((Profile) alloc);
-					}
-					PackageableElement designModel = marteProfile.getPackagedElement(MARTE_DESIGN_MODEL);
-					if ((designModel instanceof Package) && ((applyCode & APPLY_HLAM_GCM) != 0)) {
-						PackageableElement hlam = ((Package) designModel).getPackagedElement(MARTE_DM_HLAM);
-						if (hlam instanceof Profile) {
-							selectedPkg.applyProfile((Profile) hlam);
-						}
-						PackageableElement gcm = ((Package) designModel).getPackagedElement(MARTE_DM_GCM);
-						if (gcm instanceof Profile) {
-							selectedPkg.applyProfile((Profile) gcm);
-						}
-					}
-				}
-				else {
-					Activator.log.debug("The MARTE profile is not available."); //$NON-NLS-1$
-				}
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return Status.OK_STATUS;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/commands/AddStdModelLibs.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/commands/AddStdModelLibs.java
deleted file mode 100644
index 98f5532..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/commands/AddStdModelLibs.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-package org.eclipse.papyrus.designer.components.transformation.core.commands;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.workspace.AbstractEMFOperation;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.PackageImport;
-import org.eclipse.uml2.uml.UMLFactory;
-
-/**
- * This class adds "standard" model libraries for component-based development: the FCM profile, parts of the MARTE profile (allocation)
- * and the associated package imports to your model.
- */
-public class AddStdModelLibs extends AbstractEMFOperation {
-
-	public AddStdModelLibs(Package pkg, TransactionalEditingDomain domain) {
-		super(domain, CMD_LABEL);
-		selectedPkg = pkg;
-		availableImportPackages = null;
-		importList = null;
-	}
-
-	public static final String CMD_LABEL = "Add Designer CORE libraries"; //$NON-NLS-1$
-
-	public static final String DESIGNER_BASIC_CALLS_URI = "pathmap://QML_CORE/core.uml"; //$NON-NLS-1$
-
-	public static final String DESIGNER_MARTE_CALLS_URI = "pathmap://QML_MARTE/marte.uml"; //$NON-NLS-1$
-
-	protected EList<PackageImport> importList;
-
-	protected EList<PackageImport> availableImportPackages;
-
-	protected Package selectedPkg;
-
-	/**
-	 * Retrieve a model library from the repository
-	 *
-	 * @param uri
-	 *            the URI of the repository
-	 *
-	 * @return
-	 */
-	public PackageImport getModelLibraryImportFromURI(URI uri, ResourceSet resourceSet) {
-		// Try to reach model
-		Element root = getContent(uri, resourceSet);
-		if (root instanceof Package) {
-
-			// Import model library
-			Package libToImport = (Package) root;
-			// create import package
-			PackageImport modelLibImport = UMLFactory.eINSTANCE.createPackageImport();
-			modelLibImport.setImportedPackage(libToImport);
-
-			return modelLibImport;
-		}
-		return null;
-	}
-
-	public static Element getContent(URI uri, ResourceSet rs) {
-		// Resource resource = getTransactionalEditingDomain ().getResourceSet().getResource (uri, true);
-		Resource resource = rs.getResource(uri, true);
-		return getContent(resource);
-	}
-
-	public static Element getContent(Resource resource) {
-		EList<EObject> contentObj = resource.getContents();
-		if ((contentObj.size() > 0) && (contentObj.get(0) instanceof Element)) {
-			return (Element) contentObj.get(0);
-		}
-		return null;
-	}
-
-	/**
-	 * Check whether a package import is already done
-	 *
-	 * @param selectedPkg
-	 * @param pi
-	 * @return
-	 */
-	boolean isAlreadyImported(Package selectedPkg, PackageImport pi) {
-		for (PackageImport existingPI : selectedPkg.getPackageImports()) {
-			if ((existingPI.getImportedPackage() == null) ||
-					(pi.getImportedPackage() == null)) {
-				// import package are null (should not happen?!)
-				continue;
-			}
-			if ((existingPI.getImportedPackage().getName() == null) ||
-					(pi.getImportedPackage().getName() == null)) {
-				// import package name not set (should not happen?!)
-				continue;
-			} else if (existingPI.getImportedPackage().getName().equals(pi.getImportedPackage().getName())) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-
-	/**
-	 * Return a list of package-imports for standard Qompass model libraries
-	 *
-	 * @return
-	 * @throws ExecutionException
-	 */
-	public EList<PackageImport> getAvailableImportPackages() {
-		if (availableImportPackages != null) {
-			return availableImportPackages;
-		}
-		final ResourceSet resourceSet = selectedPkg.eResource().getResourceSet();
-		availableImportPackages = new BasicEList<PackageImport>();
-
-		PackageImport pi = getModelLibraryImportFromURI(URI.createURI(DESIGNER_BASIC_CALLS_URI), resourceSet);
-		if (pi != null) {
-			availableImportPackages.add(pi);
-		}
-		pi = getModelLibraryImportFromURI(URI.createURI(DESIGNER_MARTE_CALLS_URI), resourceSet);
-		if (pi != null) {
-			availableImportPackages.add(pi);
-		}
-		return availableImportPackages;
-	}
-
-	/**
-	 * @return a list of package-imports that are already imported (within the selected pkg).
-	 */
-	public EList<PackageImport> getAlreadyImportedPackages() {
-		EList<PackageImport> availablePackages = getAvailableImportPackages();
-		EList<PackageImport> selection = new BasicEList<PackageImport>();
-		for (PackageImport pi : availablePackages) {
-			if (isAlreadyImported(selectedPkg, pi)) {
-				selection.add(pi);
-			}
-		}
-		return selection;
-	}
-
-	/**
-	 * Initialize import list. Must be called, before the command gets executed.
-	 *
-	 * @param importList
-	 *            a list of package-imports that will be added to the selectedPkg when
-	 *            the command gets executed.
-	 */
-	public void setImportList(EList<PackageImport> importList) {
-		this.importList = importList;
-	}
-
-
-	/**
-	 * Initialize import list. Must be called, before the command gets executed.
-	 * Convenience method for dialogs that return an array.
-	 *
-	 * @param importArray
-	 *            an array of objects (which must contain package-imports) that will
-	 *            be added to the selectedPkg when the command gets executed.
-	 */
-	public void setImportList(Object importArray[]) {
-		importList = new BasicEList<PackageImport>();
-		for (Object importPkg : importArray) {
-			if (importPkg instanceof PackageImport) {
-				importList.add((PackageImport) importPkg);
-			}
-		}
-	}
-
-	@Override
-	protected IStatus doExecute(IProgressMonitor monitor, IAdaptable info)
-			throws ExecutionException {
-
-		for (PackageImport pi : importList) {
-			if (!isAlreadyImported(selectedPkg, pi)) {
-				selectedPkg.getPackageImports().add(pi);
-			}
-		}
-		return Status.OK_STATUS;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/AllocUtils.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/AllocUtils.java
deleted file mode 100644
index 7ba219d..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/AllocUtils.java
+++ /dev/null
@@ -1,373 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.deployment;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.UniqueEList;
-import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource;
-import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Allocate;
-import org.eclipse.papyrus.designer.components.FCM.Fragment;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.uml.Abstraction;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Connector;
-import org.eclipse.uml2.uml.ConnectorEnd;
-import org.eclipse.uml2.uml.DirectedRelationship;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Node;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Slot;
-import org.eclipse.uml2.uml.UMLPackage;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-public class AllocUtils {
-
-	public static final String startPortName = "start"; //$NON-NLS-1$
-
-	public static final String startPortType = "IStart"; //$NON-NLS-1$
-
-	/**
-	 * Retrieve a list of nodes to which the instance is allocated to *or*
-	 * to which one of the contained instances is allocated to (recursively)
-	 *
-	 * @param instance
-	 * @return a list of nodes
-	 */
-	public static EList<InstanceSpecification> getAllNodes(InstanceSpecification instance) {
-		EList<InstanceSpecification> nodeList = getNodes(instance);
-		for (Slot slot : instance.getSlots()) {
-			if (!DepUtils.isShared(slot)) {
-				InstanceSpecification containedInstance = DepUtils.getInstance(slot);
-				if (containedInstance != null) {
-					nodeList.addAll(getAllNodes(containedInstance));
-				}
-			}
-		}
-		return nodeList;
-	}
-
-	/**
-	 * Retrieve a list of nodes to which the set of passed instance is allocated to *or*
-	 * to which one of the contained instances is allocated to (recursively)
-	 *
-	 * @param instanceList a list of instances
-	 * @return a list of nodes
-	 */
-	public static EList<InstanceSpecification> getAllNodes(Collection<InstanceSpecification> instances) {
-		EList<InstanceSpecification> nodeList = new UniqueEList<InstanceSpecification>();
-		for (InstanceSpecification instance : instances) {
-			nodeList.addAll(getAllNodes(instance));
-		}
-		return nodeList;
-	}
-	/**
-	 * Retrieve a list of nodes to which the instance is allocated to *or*
-	 * to which one of the contained instances is allocated to (recursively)
-	 *
-	 * @param instanceAttribute
-	 *            an attribute within a composite that represents a component instance
-	 *            or a set thereof, if the composite itself is instantiated multiple times)
-	 * @return a list of nodes
-	 */
-	public static Property getThreadAlloc(Property instanceAttribute) {
-		for (DirectedRelationship relation : instanceAttribute.getSourceDirectedRelationships()) {
-			if (StereotypeUtil.isApplied(relation, Allocate.class)) {
-				if (relation.getTargets().size() != 1) {
-					continue;
-				}
-				Element targetElem = relation.getTargets().get(0);
-				if (!(targetElem instanceof Property)) {
-					continue;
-				}
-				Property target = (Property) targetElem;
-				if (StereotypeUtil.isApplied(target.getType(), SwSchedulableResource.class)) {
-					return target;
-				}
-			}
-		}
-		return null;
-	}
-
-
-	/**
-	 * Retrieve a list of nodes to which the instance is allocated to *or*
-	 * to which one of the containing instances is explicitly allocated
-	 *
-	 * @param instance
-	 * @return a list of nodes
-	 */
-	public static EList<InstanceSpecification> getAllNodesOrThreadsParent(InstanceSpecification instance) {
-		EList<InstanceSpecification> nodeList = getNodesOrThreads(instance);
-		Package cdp = instance.getNearestPackage();
-		// TODO: not very efficient: loop each time over all instance specifications
-		for (NamedElement parentNE : cdp.getMembers()) {
-			if (parentNE instanceof InstanceSpecification) {
-				// possible parent instance specification
-				InstanceSpecification parentIS = (InstanceSpecification) parentNE;
-				if (DepUtils.getContainedInstances(parentIS).contains(instance)) {
-					nodeList.addAll(getAllNodesOrThreadsParent(parentIS));
-				}
-			}
-		}
-		return nodeList;
-	}
-
-	public static InstanceSpecification getNode(InstanceSpecification instance) {
-		EList<InstanceSpecification> nodeList = getNodes(instance);
-		if (nodeList.size() != 0) {
-			return nodeList.get(0);
-		}
-		return null;
-	}
-
-	public static InstanceSpecification getNodeOrThread(InstanceSpecification instanceOrThread) {
-		EList<InstanceSpecification> nodeList = getNodesOrThreads(instanceOrThread);
-		if (nodeList.size() != 0) {
-			return nodeList.get(0);
-		}
-		return null;
-	}
-
-	/**
-	 * This method returns a list of nodes (or threads) to which the passed instance is allocated.
-	 * It is based on MARTE Allocation (a stereotyped abstraction) which is a generic
-	 * mechanism to deploy UML elements to nodes.
-	 *
-	 * @param instanceOrThread
-	 *            The instance for which we like to know the allocation information
-	 * @return
-	 */
-	public static EList<InstanceSpecification> getNodesOrThreads(InstanceSpecification instanceOrThread) {
-		EList<InstanceSpecification> nodeList = new UniqueEList<InstanceSpecification>();
-
-		for (DirectedRelationship relationship : instanceOrThread.getSourceDirectedRelationships(UMLPackage.eINSTANCE.getAbstraction())) {
-			Abstraction abstraction = (Abstraction) relationship;
-			if (StereotypeUtil.isApplied(abstraction, Allocate.class)) {
-				for (Element target : abstraction.getTargets()) {
-					if (target instanceof InstanceSpecification) {
-						nodeList.add((InstanceSpecification) target);
-					}
-				}
-			}
-		}
-		return nodeList;
-	}
-
-	/**
-	 * This method returns a list of nodes to which the passed instance is allocated. If
-	 * the instance is allocated directly to a node, this node is returned. If the instance
-	 * is allocated to a thread, the allocation of the thread to a node is returned.
-	 *
-	 * @param instanceOrThread
-	 *            The instance that should be deployed
-	 * @return
-	 */
-	public static EList<InstanceSpecification> getNodes(InstanceSpecification instanceOrThread) {
-		EList<InstanceSpecification> nodeList = new UniqueEList<InstanceSpecification>();
-		EList<InstanceSpecification> nodeOrThreads = getNodesOrThreads(instanceOrThread);
-		for (InstanceSpecification nodeOrThread : nodeOrThreads)
-		{
-			Classifier nodeOrThreadC = DepUtils.getClassifier(nodeOrThread);
-			if (StereotypeUtil.isApplied(nodeOrThreadC, SwSchedulableResource.class)) {
-				// treat case that instance is allocated to a thread
-				// follow allocation of Thread
-				nodeList.add(getNode(nodeOrThread));
-			}
-			else {
-				nodeList.add(nodeOrThread);
-			}
-		}
-		return nodeList;
-	}
-
-	/**
-	 * This method updates (and optionally removes) the allocations of an instance
-	 *
-	 * @param instance
-	 *            The instance that should be deployed
-	 * @param oldNode
-	 *            the old node allocation
-	 * @param newNode
-	 *            the new node allocation, may be null to indicate removal
-	 * @return
-	 */
-	public static EList<Node> updateAllocation(InstanceSpecification instance, InstanceSpecification oldNode, InstanceSpecification newNode) {
-		EList<Node> nodeList = new UniqueEList<Node>();
-
-		Iterator<DirectedRelationship> relShipIt =
-				instance.getSourceDirectedRelationships(UMLPackage.eINSTANCE.getAbstraction()).iterator();
-
-		while (relShipIt.hasNext()) {
-			Abstraction abstraction = (Abstraction) relShipIt.next();
-			if (StereotypeUtil.isApplied(abstraction, Allocate.class)) {
-				EList<NamedElement> suppliers = abstraction.getSuppliers(); // use suppliers instead of targets (derived)
-				for (int index = 0; index < suppliers.size(); index++) {
-					if (suppliers.get(index) == oldNode) {
-						if (newNode == null) {
-							// remove relationship completely, since we assume a single target
-							// (cannot call remove on relShipIt, since list is derived)
-							abstraction.destroy();
-						} else {
-							suppliers.set(index, newNode);
-						}
-						break;
-					}
-				}
-			}
-		}
-		return nodeList;
-	}
-
-	/**
-	 * Retrieve a list of nodes to which the instance is allocated to *or*
-	 * to which one of the contained instances is allocated to (recursively)
-	 *
-	 * @param instance
-	 * @param A
-	 *            port of the composite. Contained instances are examined only if
-	 *            they have a connection with this port.
-	 * @return a list of nodes
-	 */
-	public static EList<InstanceSpecification> getAllNodesForPort(InstanceSpecification instance, Port port) {
-		EList<InstanceSpecification> nodeList = getNodes(instance);
-		Classifier composite = DepUtils.getClassifier(instance);
-		if (composite instanceof Class) {
-			Class compositeCL = (Class) composite;
-			for (Slot slot : instance.getSlots()) {
-				Property containedProperty = (Property) slot.getDefiningFeature();
-
-				for (Connector connection : compositeCL.getOwnedConnectors()) {
-					// is one connector end targeted at the containedProperty ?
-					ConnectorEnd end = ConnectorUtil.connEndForPart(connection, containedProperty);
-					if (end == null) {
-						continue;
-					}
-
-					// does the connector at the same connect the composite's port?
-					if (ConnectorUtil.connectsPort(connection, port)) {
-						Port containedPort = (Port) end.getRole();
-						nodeList.addAll(getAllNodesForPort(DepUtils.getInstance(slot), containedPort));
-					}
-				}
-			}
-		}
-		return nodeList;
-	}
-
-	public static boolean allocate(InstanceSpecification instance, InstanceSpecification node) {
-		Package cdp = (Package) instance.getOwner();
-		Abstraction allocation = (Abstraction)
-				cdp.createPackagedElement("allocate " + instance.getName() + //$NON-NLS-1$
-						" to " + node.getName(), UMLPackage.eINSTANCE.getAbstraction()); //$NON-NLS-1$
-		if (StereotypeUtil.apply(allocation, Allocate.class) == null) {
-			// stereotype application failed
-			allocation.destroy();
-			return false;
-		}
-		allocation.getClients().add(instance);
-		allocation.getSuppliers().add(node);
-		return true;
-	}
-
-	/**
-	 * Assign node name to leafs
-	 *
-	 * @param instance
-	 * @param A
-	 *            port of the composite. Contained instances are examined only if the
-	 *            have a connection with this port. If null, no sub-instances are examined
-	 * @param nodes
-	 *            A list of nodes to which leafs are allocated
-	 */
-	public static void propagateNodesViaPort(InstanceSpecification instance, Port port, EList<InstanceSpecification> nodes) {
-		if (instance == null) {
-			return;
-		}
-		EList<Slot> slots = instance.getSlots();
-		Class composite = DepUtils.getImplementation(instance);
-
-		// Only set allocation on leafs (TODO: assure that components with configuration attributes are not considered as leafs)
-		// if(composite.getParts().size() == 0) {
-		for (InstanceSpecification node : nodes) {
-			AllocUtils.allocate(instance, node);
-		}
-
-		if ((composite != null) && (port != null)) {
-			Class compositeCL = composite;
-			for (Slot slot : slots) {
-				Property containedProperty = (Property) slot.getDefiningFeature();
-
-				Fragment fragment = UMLUtil.getStereotypeApplication(containedProperty, Fragment.class);
-				if (fragment != null) {
-					// TODO
-					/*
-					 * EList<Port> colocateWithPort = fragment.getColocateWithPort();
-					 * // is the port within the list?
-					 * if(Utils.getNamedElementFromList(colocateWithPort, port.getName()) != null) {
-					 * // compare qualified name, since containedPort (stereotype attribute)
-					 * // points to a source model element
-					 * propagateNodesViaPort(DepUtils.getInstance(slot), port, nodes);
-					 * continue;
-					 * }
-					 */
-				}
-				for (Connector connection : compositeCL.getOwnedConnectors()) {
-					if (ConnectorUtil.connectsPort(connection, port)) {
-						Log.log(IStatus.INFO, Log.TRAFO_CONNECTOR, "connector: " + connection.getName()); //$NON-NLS-1$
-						Log.log(IStatus.INFO, Log.TRAFO_CONNECTOR, "end1: " + connection.getEnds().get(0).getPartWithPort()); //$NON-NLS-1$
-						Log.log(IStatus.INFO, Log.TRAFO_CONNECTOR, "end2: " + connection.getEnds().get(1).getPartWithPort()); //$NON-NLS-1$
-						ConnectorEnd end = ConnectorUtil.connEndForPart(connection, containedProperty);
-						// other connector end targeted at containedProperty?
-						if (end != null) {
-							Port containedPort = (Port) end.getRole();
-							propagateNodesViaPort(DepUtils.getInstance(slot), containedPort, nodes);
-						}
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Return the start Port of a component, i.e. a port that corresponds to the "magic" port name
-	 * start and is typed with the interface IStart
-	 *
-	 * @param component
-	 *            a component implementation
-	 * @return The start port or null
-	 */
-	public static Port getStartPort(Class component) {
-		Element startPortElem = Utils.getNamedElementFromList(component.getAllAttributes(), startPortName);
-		if (startPortElem instanceof Port) {
-			Port startPort = (Port) startPortElem;
-			if (startPort.getType().getName().equals(startPortType)) {
-				return startPort;
-			}
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/BootLoaderGen.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/BootLoaderGen.java
deleted file mode 100644
index e4736b3..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/BootLoaderGen.java
+++ /dev/null
@@ -1,546 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.deployment;
-
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Stack;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource;
-import org.eclipse.papyrus.designer.components.FCM.InitPrecedence;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.StUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.UMLTool;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.ExecuteOOTrafo;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.PrefixConstants;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Include;
-import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Connector;
-import org.eclipse.uml2.uml.ConnectorEnd;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.OpaqueBehavior;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Slot;
-import org.eclipse.uml2.uml.StructuralFeature;
-import org.eclipse.uml2.uml.UMLPackage;
-import org.eclipse.uml2.uml.ValueSpecification;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * The task of the boot-loader is twofold: create the instances of all
- * implementations (non-recursive).
- * - create Connections: what should be done?
- *
- * TODO: factor out common code (TemplateInstantiation mechanism & createConnections below)
- * Split between C++ specific and C++ independent aspects
- */
-public class BootLoaderGen {
-
-	private static final String EMPTYSTR = ""; //$NON-NLS-1$
-
-	final public static String NODE_INFO = "NodeInfo"; //$NON-NLS-1$
-
-	final public static String INIT_OP_NAME = "init"; //$NON-NLS-1$
-
-	final public static String NL = "\n"; //$NON-NLS-1$
-
-	final public static String EOL = ";\n"; //$NON-NLS-1$
-
-	final public static String BOOTLOADER_NAME = "BootLoader"; //$NON-NLS-1$
-
-	/**
-	 * Create a new boot-loader in a specific package
-	 * (which represents a node of the system).
-	 *
-	 * @param copier a lazy copier
-	 * @param nodeIndex the index of the node
-	 * @param numberOfNodes the number of nodes
-	 * @throws TransformationException
-	 */
-	public BootLoaderGen(LazyCopier copier, int nodeIndex, int numberOfNodes)
-			throws TransformationException {
-		// Class composite = (Class) ut.getClassifier (mainInstance);
-		// place in root (getModel()) to avoid the problem that the declaration of the bootLoader
-		// instance is within a namespace (a static attribute on the model level would not solve the
-		// problem as it must be accessed by function main).
-
-		Class nodeInfo = copier.target.createOwnedClass(NODE_INFO, false);
-		String headerStr =
-				"const int nodeIndex = " + nodeIndex + ";" + NL + //$NON-NLS-1$//$NON-NLS-2$
-						"const int numberOfNodes = " + numberOfNodes + ";" + NL; //$NON-NLS-1$ //$NON-NLS-2$
-		Include cppIncludeNodeInfo = StereotypeUtil.applyApp(nodeInfo, Include.class);
-		if (cppIncludeNodeInfo == null) {
-			throw new TransformationException("Can not apply C++ stereotypes during bootloader generation. Please apply the C++ profile to the source model");
-		}
-		cppIncludeNodeInfo.setHeader(headerStr);
-
-		// bootLoader.createOwnedAttribute (mainInstance.getName (), composite);
-
-		m_bootLoader = copier.target.createOwnedClass(BOOTLOADER_NAME, false);
-		outputSizeof = false;
-		m_copier = copier;
-		Class template = (Class) Utils.getQualifiedElement(copier.source, bootloaderQNAME);
-		if (template == null) {
-			throw new TransformationException(String.format(
-					Messages.BootLoaderGen_CannotRetrieveTemplate, bootloaderQNAME));
-		}
-		// TODO: currently, only stereotypes are copied from template
-		StUtils.copyStereotypes(template, m_bootLoader);
-
-
-		// TODO: commented code below already fixed?
-		/*
-		 * Problem: defaultValue not taken into account by code generator
-		 * => use global variables via cppInclude instead (see below: "bodyStr = ...")
-		 * NamedElement corba_long = Utils.getQualifiedElement (owner, "CORBA::Long");
-		 * if (corba_long instanceof Type) {
-		 * Property nodeNumber =
-		 * m_bootLoader.createOwnedAttribute ("nodeNumber", (Type) corba_long);
-		 * nodeNumber.setIsStatic (true);
-		 * nodeNumber.setDefault ("0"); // for testing
-		 * Property numberOfNodes =
-		 * m_bootLoader.createOwnedAttribute ("numberOfNodes", (Type) corba_long);
-		 * numberOfNodes.setIsStatic (true);
-		 * numberOfNodes.setDefault ("2");
-		 * }
-		 */
-		Include cppInclude = StereotypeUtil.applyApp(m_bootLoader, Include.class);
-		if (cppInclude == null) {
-			throw new TransformationException(Messages.BootLoaderGen_CannotApplyCppInclude);
-		}
-		String existingBody = cppInclude.getBody();
-		String bodyStr = EMPTYSTR;
-
-		if (outputSizeof) {
-			bodyStr +=
-					"#include <iostream>" + NL + //$NON-NLS-1$
-							"using namespace std;" + NL; //$NON-NLS-1$
-		}
-		cppInclude.setBody(existingBody + bodyStr);
-
-		// bootLoader.createOwnedAttribute (mainInstance.getName (), composite);
-
-		m_initCode = EMPTYSTR;
-		m_initCodeRun = EMPTYSTR;
-		m_activation = new HashMap<Class, EList<String>>();
-		m_initCodeCConnections = EMPTYSTR;
-		m_initCodeCConfig = EMPTYSTR;
-
-		if (outputSizeof) {
-			m_initCode += "cout << \"sizeof bootloader: \" << sizeof (bootloader) << endl;" + EOL; //$NON-NLS-1$
-		}
-		// indexMap = new HashMap<String, Integer>();
-	}
-
-	/**
-	 * Return the path from the main instance towards a sub-instance using the proper dereference
-	 * operators, i.e. ".", if the sub-instance is enclosed via composition or "->" if the sub-instance
-	 * is a pointer (since created by the bootloader).
-	 *
-	 * @param slotPath
-	 * @param instance
-	 * @param accessName
-	 *            return the name to access the feature. Returns access path to instance, not
-	 *            the name of the variable for this instance (if instantiated by bootloader)
-	 * @return
-	 */
-	public String getPath(Stack<Slot> slotPath, InstanceSpecification instance, boolean accessName) {
-		if (slotPath.size() > 0) {
-			// start with first instance
-			String path = slotPath.get(0).getOwningInstance().getName();
-			boolean previousInstantiatedByBL = false;
-			for (Slot pathElement : slotPath) {
-				if (pathElement != null) {
-					if (previousInstantiatedByBL && accessName) {
-						// If an instance is instantiated by the bootloader, it is only referenced via its type in the
-						// owning composite. Thus, configuration (and activation calls) might fail as the type might not
-						// have these configuration properties or operations.
-						// Therefore, configuration and initial calls use
-						// - the path, if instantiated by the composite
-						// - the variable name, if done by the bootloader
-						path = UMLTool.varName(path); // use variable name instead.
-					}
-					path += "." + pathElement.getDefiningFeature().getName(); //$NON-NLS-1$
-					previousInstantiatedByBL = ExecuteOOTrafo.instantiateViaBootloader(pathElement.getDefiningFeature());
-				}
-			}
-			if (previousInstantiatedByBL && !accessName) {
-				// name of the variable for this expression instantiated by the bootloader
-				path = UMLTool.varName(path);
-			}
-			return path;
-		}
-		else {
-			return instance.getName(); // instance has no path via slots, it is a top level instance
-		}
-	}
-
-	public Property addInstance(Stack<Slot> slotPath, InstanceSpecification instance, Class implementation, InstanceSpecification node)
-			throws TransformationException
-	{
-		// TODO: comments not clear. seems unnecessary complex. Problem in general is that access to
-		// shared instances needs to be configured.
-		// It should always be possible to configure this instance via a path w/o sharing.
-		String accessName = getPath(slotPath, instance, true);
-		String varName = getPath(slotPath, instance, false);
-
-		Property implemPart = null;
-
-		// containing instance not null (=> neither main instance nor singleton)
-		Slot containerSlot = null;
-		if (slotPath.size() > 0) {
-			containerSlot = slotPath.peek();
-
-			// initialize part/property in containing instance. The containing instance itself is accessed
-			// via the naming of the associated instance, the part itself via the name of the defining feature.
-			if (DepUtils.isShared(containerSlot)) {
-				// we need to initialize the property (a reference) with the given instance
-				Stack<Slot> referencePath = DepUtils.getAccessPath(instance);
-				String referenceVarName = getPath(referencePath, instance, false);
-
-				// add code for initialization
-				m_initCode += accessName + " = &" + referenceVarName + EOL; //$NON-NLS-1$
-				// is a reference which should not be called via activation & start
-				// return now and skip code below
-				return implemPart;
-			}
-			else if (ExecuteOOTrafo.instantiateViaBootloader(containerSlot.getDefiningFeature())) {
-				// let bootloader instantiate
-				implemPart = m_bootLoader.createOwnedAttribute(/* "i_" + */varName, implementation);
-				// add code for initialization
-				m_initCode += accessName + " = &" + varName + EOL; //$NON-NLS-1$
-				implemPart.setIsComposite(true);
-			}
-		}
-		else {
-			// top level, either main instance or singleton => bootloader instantiates, create attribute
-			implemPart = m_bootLoader.createOwnedAttribute(/* "i_" + */varName, implementation);
-			implemPart.setIsComposite(true);
-		}
-		if (outputSizeof) {
-			m_initCode += "cout << \"sizeof " + implementation.getName() + ": \" << sizeof (" + varName + ") << endl;" + EOL; //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-		}
-
-		// if start thread => existing thread activation interceptor? Connection?
-		if (StereotypeUtil.isApplied(implementation, SwSchedulableResource.class)) {
-			// yes, but is the thread instance part of the deployment plan?? [mmh, probably yes...]
-			// call threads start routine here? (via main thread?) which in turn will activate the start routine?
-		}
-
-		// implementation contains get_start operation => has start port
-		// which is called automatically
-		String get_start = PrefixConstants.getP_Prefix + "start"; //$NON-NLS-1$
-
-		// Need to check whether implementation is an executor which is encapsulated in a container. In this case, only
-		// the method of the container and not the method of the executor (which owns the same port) maybe called.
-		// Currently, this check is based on the use of "executor" as reserved part name (validation checks that the
-		// user does not use this name for application components)
-		if (hasUnconnectedStartRoutine(m_copier, implementation, containerSlot)) {
-			if (m_initCodeRun.equals(EMPTYSTR)) {
-				// call start's run method
-				// TODO: Need path that uses the right dereference operator ("->" or ".")
-				m_initCodeRun = varName + "." + get_start + "()->run()" + EOL; //$NON-NLS-1$ //$NON-NLS-2$
-			} else {
-				throw new TransformationException(String.format(
-						Messages.BootLoaderGen_AtLeastOneBlockingCall,
-						varName, m_initCodeRun));
-			}
-		}
-		if (hasUnconnectedLifeCycle(m_copier, implementation, containerSlot)) {
-			// precedence is checked below (when code is actually produced)
-			// multiple varNames might share the same implementation. Put a list of variable names into the table
-			EList<String> varNameList = m_activation.get(implementation);
-			if (varNameList == null) {
-				varNameList = new BasicEList<String>();
-			}
-			varNameList.add(varName + "."); //$NON-NLS-1$
-			m_activation.put(implementation, varNameList);
-		}
-
-		// check, if implementation contains a composite if (implementation.getOwnedOperation (StaticOOTrafo.CREATE_CONNECTIONS, null, null) != null) {
-		boolean bCreateConn = false;
-		for (Connector connector : implementation.getOwnedConnectors()) {
-			if (ConnectorUtil.isAssembly(connector)) {
-				bCreateConn = true;
-				break;
-			}
-		}
-
-		if (bCreateConn) {
-			m_initCodeCConnections += varName + "." + ExecuteOOTrafo.CREATE_CONNECTIONS +"();\n"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return implemPart;
-	}
-
-	/**
-	 * Check whether the passed implementation has an unconnected start port.
-	 * This information is required, since only unconnected start ports are automatically called by the
-	 * bootloader, in particular we want to avoid calling a start port of an executor (which is connected)
-	 * and its container.
-	 *
-	 * @param implementation
-	 * @param containerSlot
-	 * @return
-	 */
-	public static boolean hasUnconnectedStartRoutine(LazyCopier copy, Class implementation, Slot containerSlot) {
-		if (implementation != null) {
-			Port startPort = AllocUtils.getStartPort(implementation);
-			if (startPort != null) {
-				return !isConnected(copy, containerSlot, startPort);
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Check, if the passed implementation has an unconnected life-cycle interface (activate/deactivate).
-	 * This information is required, since only unconnected life cycle ports are automatically called by the
-	 * bootloader, in particular we want to avoid calling a life cycle port of an executor (which is connected)
-	 * and its container.
-	 *
-	 * @param implementation
-	 * @param name
-	 * @return
-	 */
-	public static boolean hasUnconnectedLifeCycle(LazyCopier copy, Class implementation, Slot containerSlot) {
-		if (implementation != null) {
-			Element lcPortElem = Utils.getNamedElementFromList(implementation.getAllAttributes(), "lc"); //$NON-NLS-1$
-			if (lcPortElem instanceof Port) {
-				Port lcPort = (Port) lcPortElem;
-				// check, if port typed with ILifeCycle interface
-				if (lcPort.getType().getName().equals("ILifeCycle")) { //$NON-NLS-1$
-					return !isConnected(copy, containerSlot, lcPort);
-				}
-			}
-
-		}
-		return false;
-	}
-
-	/**
-	 * The check verifies whether the passed port is connected within
-	 * the context of the composite represented by the passed slot
-	 *
-	 * @param containerSlot
-	 *            a slot within an instance that represents a composite class
-	 * @Param a port that is checked for being connected
-	 * @return true, if connected
-	 */
-	private static boolean isConnected(LazyCopier copier, Slot containerSlot, Port port) {
-		if (containerSlot != null) {
-			StructuralFeature sf = containerSlot.getDefiningFeature();
-			if (sf instanceof Property) {
-				// instance still points to a part in the tmp-model (there are no
-				// instance specifications in the final model). Therefore, we use the copier to
-				// obtain the mapped instance.
-				Property part = (Property) copier.copy(sf);
-				Class composite = part.getClass_();
-				for (Connector connector : composite.getOwnedConnectors()) {
-					// must assure same connector end connects part & port
-					ConnectorEnd end = ConnectorUtil.connEndForPart(connector, part);
-					if ((end != null) && (end.getRole() == port)) {
-						return true;
-					}
-				}
-			}
-		}
-		return false;
-	}
-
-	public void instanceConfig(Stack<Slot> slotPath, InstanceSpecification instance) throws TransformationException {
-		Slot slot = slotPath.peek();
-		// String varName = getPath(slotPath, instance, false);
-		StructuralFeature sf = slot.getDefiningFeature();
-		if (sf == null) {
-			throw new TransformationException(String.format("A slot for instance %s has no defining feature", instance.getName())); //$NON-NLS-1$
-		}
-
-		String varName = instance.getName() + "." + sf.getName(); //$NON-NLS-1$
-		for (ValueSpecification value : slot.getValues()) {
-
-			// only set value, if not null
-			if (value.stringValue() != null) {
-				m_initCodeCConfig += varName + " = " + value.stringValue() + EOL; //$NON-NLS-1$
-			}
-		}
-	}
-
-	public void addCreateConnections() {
-		// code generators do not handle connectors in a suitable way. Remove
-		// (alternative: no-code-gen tag, as available for C++)
-		m_bootLoader.getOwnedConnectors().clear();
-	}
-
-	/**
-	 * add the initialize operation. Must be called after a set of addInstance invocations
-	 * @param mainInstance
-	 */
-	public void addInit(String language) {
-		// TODO: use template
-		Operation init = m_bootLoader.createOwnedOperation(INIT_OP_NAME, null, null);
-		OpaqueBehavior initBehavior = (OpaqueBehavior)
-				m_bootLoader.createOwnedBehavior(INIT_OP_NAME, UMLPackage.eINSTANCE.getOpaqueBehavior());
-		init.getMethods().add(initBehavior);
-
-		initBehavior.getLanguages().add(language);
-		String code = m_initCode + "\n"; //$NON-NLS-1$
-		if (m_initCodeCConfig.length() > 0) {
-			code += "\n// instance configuration\n" + //$NON-NLS-1$
-					m_initCodeCConfig + "\n"; //$NON-NLS-1$
-		}
-		if (m_initCodeCConnections.length() > 0) {
-			code += "\n// create connections between instances\n" + //$NON-NLS-1$
-					m_initCodeCConnections + "\n"; //$NON-NLS-1$
-		}
-		Comparator<Class> comparator = new Comparator<Class>() {
-
-			@Override
-			public int compare(Class clazz1, Class clazz2) {
-
-				InitPrecedence precedenceC1 = UMLUtil.getStereotypeApplication(clazz1, InitPrecedence.class);
-				InitPrecedence precedenceC2 = UMLUtil.getStereotypeApplication(clazz2, InitPrecedence.class);
-				if (precedenceC1 != null) {
-					// need to use named comparison instead of precedenceC1.getInvokeAfter ().contains (clazz2)
-					// since class referenced by stereotype attribute still points to element in source model
-					if (Utils.getNamedElementFromList(precedenceC1.getInvokeAfter(), clazz2.getName()) != null) {
-						return 1;
-					}
-					else if (Utils.getNamedElementFromList(precedenceC1.getInvokeBefore(), clazz2.getName()) != null) {
-						return -1;
-					}
-				}
-				else if (precedenceC2 != null) {
-					if (Utils.getNamedElementFromList(precedenceC2.getInvokeAfter(), clazz1.getName()) != null) {
-						return -1;
-					}
-					else if (Utils.getNamedElementFromList(precedenceC2.getInvokeBefore(), clazz1.getName()) != null) {
-						return 1;
-					}
-				}
-				// singletons have precedence over "normal" classes
-				boolean ci1IsSingleton = Utils.isSingleton(clazz1);
-				boolean ci2IsSingleton = Utils.isSingleton(clazz2);
-				if (ci1IsSingleton) {
-					if (!ci2IsSingleton) {
-						// not both are singletons
-						return -1;
-					}
-				}
-				else if (ci2IsSingleton) {
-					return 1;
-				}
-				return 0;
-			}
-		};
-		Class[] activationKeys = m_activation.keySet().toArray(new Class[0]);
-		String get_lc = PrefixConstants.getP_Prefix + "lc"; //$NON-NLS-1$
-		if (activationKeys.length > 0) {
-			Arrays.sort(activationKeys, comparator);
-			code += "// activation code\n"; //$NON-NLS-1$
-			for (Class implementation : activationKeys) {
-				EList<String> varNameList = m_activation.get(implementation);
-				for (String varName : varNameList) {
-					code += varName + get_lc + "()->activate();\n"; //$NON-NLS-1$
-				}
-			}
-		}
-		
-		Include cppInclude = UMLUtil.getStereotypeApplication(m_bootLoader, Include.class);
-		if (m_initCodeRun.length() > 0) {
-			code += "// initial user start\n" + m_initCodeRun; //$NON-NLS-1$
-		} else {
-			// no component implements the initial start, therefore enter a sleep
-			// unistd is required (at least on unix systems) for sleep
-			cppInclude.setPreBody("#include <unistd.h> // for sleep\n"); //$NON-NLS-1$
-
-			code += "// sleep forever\n"; //$NON-NLS-1$
-			code += "for (;;) { sleep(100); }\n"; //$NON-NLS-1$
-			// throw new TransformationRTException("no component implements the initial start. Assure that one component inherits from the CStart component");
-		}
-		if (activationKeys.length > 0) {
-			code += "// deactivation code (reverse order)\n"; //$NON-NLS-1$
-
-			// traverse in reverse order
-			for (int i = activationKeys.length - 1; i >= 0; i--) {
-				Class implementation = activationKeys[i];
-				EList<String> varNameList = m_activation.get(implementation);
-				for (String varName : varNameList) {
-					code += varName + get_lc + "()->deactivate();\n"; //$NON-NLS-1$
-				}
-			}
-		}
-
-		initBehavior.getBodies().add(code);
-	}
-
-	public Class getUML() {
-		return m_bootLoader;
-	}
-
-	private Class m_bootLoader;
-
-	private final static String bootloaderQNAME = "core::composites::BootLoader"; //$NON-NLS-1$
-
-	/**
-	 * Initialization code, in particular assignment of part properties within composites
-	 */
-	private String m_initCode;
-
-	/**
-	 * Init code for create connections calls in composites with at least one assembly
-	 * connector
-	 */
-	private String m_initCodeCConfig;
-
-	/**
-	 * Init code for create connections calls in composites with at least one assembly
-	 * connector
-	 */
-	private String m_initCodeCConnections;
-
-	/**
-	 * Init code for blocking "run" calls (related to CStart system component)
-	 */
-	private String m_initCodeRun;
-
-	/**
-	 * Map containing activations/de-activations
-	 */
-	private Map<Class, EList<String>> m_activation;
-
-	private boolean outputSizeof;
-
-	/**
-	 * copier variable (instances still point to non-copied classes)
-	 */
-	private LazyCopier m_copier;
-
-	/**
-	 * Store a map with index values to manage configuration of arrays
-	 */
-	// protected Map<String, Integer> indexMap;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/DepCreation.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/DepCreation.java
deleted file mode 100644
index f13bb9c..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/DepCreation.java
+++ /dev/null
@@ -1,643 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.transformation.core.deployment;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Stack;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.designer.components.FCM.AutoIndex;
-import org.eclipse.papyrus.designer.components.FCM.AutoIndexPerNode;
-import org.eclipse.papyrus.designer.components.FCM.ConfigurationProperty;
-import org.eclipse.papyrus.designer.components.FCM.ContainerRule;
-import org.eclipse.papyrus.designer.components.FCM.CopyAttributeValue;
-import org.eclipse.papyrus.designer.components.FCM.InteractionComponent;
-import org.eclipse.papyrus.designer.components.FCM.util.FCMUtil;
-import org.eclipse.papyrus.designer.components.transformation.core.CORBAtypeNames;
-import org.eclipse.papyrus.designer.components.transformation.core.ConfigUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationRTException;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Connector;
-import org.eclipse.uml2.uml.Enumeration;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.InstanceValue;
-import org.eclipse.uml2.uml.LiteralInteger;
-import org.eclipse.uml2.uml.Node;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.PackageableElement;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Slot;
-import org.eclipse.uml2.uml.StructuralFeature;
-import org.eclipse.uml2.uml.Type;
-import org.eclipse.uml2.uml.UMLPackage;
-import org.eclipse.uml2.uml.ValueSpecification;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-public class DepCreation {
-
-	private static Map<Object, Integer> map;
-
-	public static final String valueFor = "value for "; //$NON-NLS-1$
-
-	/**
-	 * Create a slot and add an instance value associated with a part instance
-	 * specification.
-	 *
-	 * @param is
-	 *            the instance specification for which a slot should be created
-	 * @param partIS
-	 *            the instance specification associated with the slot (to be
-	 *            precise with slot's instance value)
-	 * @param part
-	 *            the part associated with the slot, i.e. its defining feature
-	 * @return The created slot
-	 */
-	public static Slot createSlot(InstanceSpecification is,
-			InstanceSpecification partIS, Property part) {
-		// the instance specification of the composite has a slot for each part
-		// and it points
-		// to the instance specification associated with the part.
-		Slot slot = is.createSlot();
-		slot.setDefiningFeature(part);
-
-		InstanceValue iv = (InstanceValue) slot.createValue(null, null,
-				UMLPackage.eINSTANCE.getInstanceValue());
-		iv.setInstance(partIS);
-		return slot;
-
-	}
-
-	/**
-	 * Create a Slot and a value for a configuration attribute
-	 *
-	 * @param attribute
-	 */
-	public static Slot createSlotForConfigProp(InstanceSpecification is,
-			Property attribute) {
-
-		Slot slot = is.createSlot();
-		slot.setDefiningFeature(attribute);
-		// For primitive types, the UML type does not provide sufficient information to decide
-		// whether it is a string or a numerical value. In case of the C++ profile, primitive
-		// UML types denote a language specific type, but we want to avoid C++ specific code, if
-		// possible.
-		// => pragmatic solution: use LiteralString as default, unless a check for some known numerical
-		// primitive types holds (in particular the UML as well as Qompass CORBA types)
-		// In addition, string values are not automatically quoted, i.e. it is possible to enter e.g.
-		// a float value as a string expression (it also means that a "real" string value must be quoted
-		// by the user).
-		Type type = attribute.getType();
-		if (type != null) {
-			String name = type.getName();
-			String qname = type.getQualifiedName();
-			if (type instanceof Enumeration) {
-				slot.createValue(valueFor + attribute.getName(), type, UMLPackage.eINSTANCE.getInstanceValue());
-			} else if (name.equals("Integer") || qname.equals(CORBAtypeNames.Octet) //$NON-NLS-1$
-					|| qname.equals(CORBAtypeNames.Long)
-					|| qname.equals(CORBAtypeNames.UnsignedLong)
-					|| qname.equals(CORBAtypeNames.Short)
-					|| qname.equals(CORBAtypeNames.UnsignedShort)) {
-				slot.createValue(valueFor + attribute.getName(), type,
-						UMLPackage.eINSTANCE.getLiteralInteger());
-			} else if (name.equals("Boolean")) { //$NON-NLS-1$
-				slot.createValue(valueFor + attribute.getName(), type,
-						UMLPackage.eINSTANCE.getLiteralBoolean());
-			} else {
-				slot.createValue(valueFor + attribute.getName(), type,
-						UMLPackage.eINSTANCE.getLiteralString());
-			}
-		}
-		return slot;
-	}
-
-	/**
-	 * Create a string slot and a value for a configuration attribute
-	 *
-	 * @param attribute
-	 */
-	public static Slot createStringSlotForConfigProp(InstanceSpecification is,
-			Property attribute) {
-
-		Slot slot = is.createSlot();
-		slot.setDefiningFeature(attribute);
-		Type type = attribute.getType();
-		if (type != null) {
-			slot.createValue(valueFor + attribute.getName(), type,
-					UMLPackage.eINSTANCE.getLiteralString());
-		}
-		return slot;
-	}
-
-	/**
-	 * create a deployment plan, i.e. a set of instances that correspond to an
-	 * implementation which is potentially a composite. In case of the latter,
-	 * this function is called recursively to create deployment plans for the
-	 * parts. Since a composite implementation may optionally specify only the
-	 * type of parts (not the concrete implementation), this function also
-	 * supports that a type is passed. In this case, an implementation is
-	 * automatically assigned.
-	 *
-	 * @param cdp
-	 *            the deployment plan (package) in which to create instances
-	 * @param typeOrImplem
-	 *            the type
-	 * @param nane
-	 *            the name of the instance
-	 * @param createSlotsForConfigValues
-	 *            if true, create slots for configuration values
-	 */
-	public static InstanceSpecification createDepPlan(Package cdp,
-			Class typeOrImplem, String name, boolean createSlotsForConfigValues)
-					throws TransformationException {
-		return createDepPlan(cdp, typeOrImplem, name, createSlotsForConfigValues, new Stack<Classifier>());
-	}
-
-	public static InstanceSpecification createDepPlan(Package cdp,
-			Class typeOrImplem, String name, boolean createSlotsForConfigValues, Stack<Classifier> visitedClassifiers)
-					throws TransformationException {
-		// create an instance specification for the composite
-		if (visitedClassifiers.contains(typeOrImplem)) {
-			String path = ""; //$NON-NLS-1$
-			for (Classifier cl : visitedClassifiers) {
-				if (path.length() > 0) {
-					path += ", "; //$NON-NLS-1$
-				}
-				path += cl.getName();
-			}
-			path += ", " + typeOrImplem.getName(); //$NON-NLS-1$
-			throw new TransformationException(String.format(
-					Messages.DepCreation_CircularReference,
-					typeOrImplem.getQualifiedName(), path));
-		}
-		visitedClassifiers.push(typeOrImplem);
-
-		InstanceSpecification is;
-		// treat singleton
-		if (Utils.isSingleton(typeOrImplem)) {
-			// is a singleton - exactly one instance exists
-			InstanceSpecification mainInstance = DepUtils.getMainInstance(cdp);
-
-			// use canonical name for singleton instance - lower case for type-name
-			String partName = DeployConstants.singletonPrefix + typeOrImplem.getName().toLowerCase();
-			name = mainInstance.getName() + DeployConstants.SEP_CHAR + partName;
-			PackageableElement pe = cdp.getPackagedElement(name);
-
-			if (pe == null) {
-				// instance specification for singleton does not exist yet => create
-				is = (InstanceSpecification) cdp.createPackagedElement(name, UMLPackage.eINSTANCE.getInstanceSpecification());
-			}
-			else if (pe instanceof InstanceSpecification) {
-				// exists already, return it without recursing into its sub-specifications
-				return (InstanceSpecification) pe;
-			}
-			else {
-				// unlikely case that a packaged element with the name
-				// <singletonISname> exists already, but is not an instance specification
-				throw new TransformationException(String.format(
-						Messages.DepCreation_SingletonExistsAlready, name));
-			}
-		} else {
-			is = (InstanceSpecification) cdp.createPackagedElement(name, UMLPackage.eINSTANCE.getInstanceSpecification());
-		}
-
-		if (name.equals(DeployConstants.MAIN_INSTANCE)) {
-			DepUtils.setMainInstance(cdp, is);
-		}
-
-		Class implementation = null;
-
-		// treat HW architecture or nodes as implementations
-		if (Utils.isCompImpl(typeOrImplem)
-				|| typeOrImplem instanceof Node) {
-			// implementation is known => must be able to do this.
-			if (typeOrImplem instanceof Class) {
-				implementation = typeOrImplem;
-			}
-		} else {
-			// problem? further tree expansion might depend on chosen
-			// implementation)
-			// TODO: don't know node yet => implementation choice is more
-			// general than necessary
-			implementation = DepUtils.chooseImplementation(typeOrImplem, null, null);
-		}
-
-		if (!(implementation instanceof Class)) {
-			throw new TransformationException(String.format(
-					Messages.DepCreation_CannotFindImplementation,
-					name, typeOrImplem.getName()));
-		}
-		// else implementation is instance of Class (and not null)
-
-		is.getClassifiers().add(implementation);
-		// add connector and container implementations
-		if (createSlotsForConfigValues) {
-			EList<ContainerRule> rules = FCMUtil.getAllContainerRules(implementation);
-			for (ContainerRule rule : rules) {
-				addConfigurationOfContainer(rule, is);
-			}
-		}
-
-		for (Connector connector : implementation.getOwnedConnectors()) {
-			org.eclipse.papyrus.designer.components.FCM.Connector fcmConn = UMLUtil.getStereotypeApplication(connector, org.eclipse.papyrus.designer.components.FCM.Connector.class);
-			if (fcmConn != null) {
-				String partName = name + "." + connector.getName(); //$NON-NLS-1$
-				InteractionComponent connectorComp = fcmConn.getIc();
-				if (connectorComp != null) {
-					Class cl = fcmConn.getIc().getBase_Class();
-					if (cl == null) {
-						throw new TransformationException(Messages.DepCreation_FCMconnectorWithoutBaseClass);
-					}
-					// create sub-instance for connector. It is not possible to
-					// create a slot in the owning instance specification,
-					// since the connector cannot be referenced as a defining-feature
-					createDepPlan(cdp, cl, partName, createSlotsForConfigValues, visitedClassifiers);
-				}
-			}
-		}
-
-		for (Property attribute : implementation.getAllAttributes()) {
-			// loop over all attributes (not only parts, since we need to
-			// capture singletons)
-			if (attribute instanceof Port) {
-				continue;
-			}
-			Type type = attribute.getType();
-
-			if (Utils.isComposition(attribute)) {
-				// composition, attribute is a part
-				if (((type instanceof Class) && Utils.isComponent((Class) type)) || type instanceof Node) {
-					Class cl = (Class) type;
-
-					// TODO: ad-hoc replication support. Better solution via design patterns
-					int upper = attribute.getUpper();
-					String infix = ""; //$NON-NLS-1$
-
-					// TODO: check validation constraints
-					for (int i = 0; i < upper; i++) {
-						String partName = name + "." + attribute.getName(); //$NON-NLS-1$
-						if (upper > 1) {
-							partName += "_" + infix + i; //$NON-NLS-1$
-						}
-						InstanceSpecification partIS = createDepPlan(cdp, cl,
-								partName, createSlotsForConfigValues, visitedClassifiers);
-						// may not create slot for singleton, since automatically done
-						if (!Utils.isSingleton((Class) type)) {
-							createSlot(is, partIS, attribute);
-						}
-					}
-				} else if (StereotypeUtil.isApplied(attribute, ConfigurationProperty.class)
-						&& createSlotsForConfigValues) {
-					// is a configuration property, create slot
-					// TODO: implicit assumption that configuration attributes
-					// are not components
-					createSlotForConfigProp(is, attribute);
-				}
-			} else if (type instanceof Class) {
-				// no composition - only create slot, if a singleton
-				// (otherwise, it's not clear with which instance the slot
-				// should be associated)
-				Log.log(IStatus.INFO, Log.DEPLOYMENT, String.format(
-						Messages.DepCreation_InfoCreateDepPlan, type.getQualifiedName()));
-				if (Utils.isSingleton((Class) type)) {
-					// is a singleton - exactly one instance exists
-					// recursive call - pass empty name, since name for singletons is re-calculated.
-					InstanceSpecification singletonIS = createDepPlan(cdp,
-							(Class) type, "", createSlotsForConfigValues, visitedClassifiers); //$NON-NLS-1$
-					createSlot(is, singletonIS, attribute);
-				}
-			} else if (type == null) {
-				throw new TransformationException(String.format(Messages.DepCreation_TypeInAttributeUndefined,
-						attribute.getName(), implementation.getName()));
-			}
-		}
-		visitedClassifiers.pop();
-		return is;
-	}
-
-	/**
-	 * Create slot for configuration properties that come from container rules
-	 *
-	 * @param aRule
-	 * @param is
-	 * @throws TransformationException
-	 */
-	private static void addConfigurationOfContainer(ContainerRule rule,
-			InstanceSpecification is) throws TransformationException {
-		boolean first = true;
-		for (Property attribute : ConfigUtils.getConfigAttributes(rule)) {
-			Type type = attribute.getType();
-			if ((StereotypeUtil.isApplied(attribute, ConfigurationProperty.class))
-					&& (type instanceof Classifier)) {
-				Classifier aggregateOrInterceptor;
-				if (type instanceof Class) {
-					aggregateOrInterceptor = DepUtils.chooseImplementation(
-							(Class) type, new BasicEList<InstanceSpecification>(),
-							null);
-				} else {
-					aggregateOrInterceptor = (Classifier) type;
-				}
-				// is a configuration property, create slot
-				if (first) {
-					// add contExtImpl to list of classifiers that the instance
-					// specification describes
-					is.getClassifiers().add(aggregateOrInterceptor);
-					first = false;
-				}
-				// CAVEAT:
-				// - single value specification for all occurrences of an interceptor
-				// - Could be done, but: how to know whether user wants single
-				// vs. interceptor specific configuration?
-				// - two different interceptors may not share the same type with
-				// a configuration attribute
-				createSlotForConfigProp(is, attribute);
-			}
-		}
-	}
-
-	/**
-	 * create a deployment plan, i.e. a set of instances that correspond to an
-	 * implementation which is potentially a composite. In case of the latter,
-	 * this function is called recursively to create deployment plans for the
-	 * parts. Since a composite implementation may optionally specify only the
-	 * type of parts (not the concrete implementation), this function also
-	 * supports that a type is passed. In this case, an implementation is
-	 * automatically assigned.
-	 *
-	 * @param cdp
-	 *            the deployment plan (package) in which to create instances
-	 * @param typeOrImplem
-	 *            the type
-	 * @param nane
-	 *            the name of the instance
-	 * @param createSlotsForConfigValues
-	 *            if true, create slots for configuration values
-	 */
-	public static InstanceSpecification createPlatformInstances(
-			Package platform, Class implementation, String name)
-					throws TransformationException {
-		// create an instance specification for the composite
-		InstanceSpecification is = null;
-		is = (InstanceSpecification) platform.createPackagedElement(name,
-				UMLPackage.eINSTANCE.getInstanceSpecification());
-		is.getClassifiers().add(implementation);
-
-		// add connector and container implementations
-
-		for (Property attribute : implementation.getAllAttributes()) {
-			// loop over all attributes (not only parts, since we need to
-			// capture singletons)
-			if (attribute instanceof Port) {
-				continue;
-			}
-			Type type = attribute.getType();
-
-			if (Utils.isComposition(attribute)) {
-				// composition, attribute is a part
-				if (type instanceof Class) { // should be a node, but do not require it
-					Class cl = (Class) type;
-
-					int upper = attribute.getUpper();
-					String infix = ""; //$NON-NLS-1$
-					// TODO: check validation constraints
-					for (int i = 0; i < upper; i++) {
-						// prefix with name, unless null
-						String partName = (name != null) ? name + DeployConstants.SEP_CHAR : ""; //$NON-NLS-1$
-						partName += attribute.getName();
-						if (upper > 1) {
-							partName += "_" + infix + i; //$NON-NLS-1$
-						}
-						InstanceSpecification partIS = createPlatformInstances(
-								platform, cl, partName);
-
-						if (is != null) {
-							createSlot(is, partIS, attribute);
-						}
-					}
-				} else if (StereotypeUtil.isApplied(attribute,
-						ConfigurationProperty.class)) {
-					// is a configuration property, create slot
-					// TODO: implicit assumption that configuration attributes
-					// are not components
-					createSlotForConfigProp(is, attribute);
-				}
-			}
-		}
-		return is;
-	}
-
-	/**
-	 * Initialize the automatic values within a deployment plan - and the update
-	 * eventual copies of these values.
-	 *
-	 * @param is
-	 *            the main instance of the deployment plan
-	 */
-	public static void initAutoValues(InstanceSpecification is) {
-		Collection<InstanceSpecification> isList = new ArrayList<InstanceSpecification>();
-		isList.add(is);
-		initAutoValues(isList);
-	}
-
-	/**
-	 * Initialize the automatic values within a deployment plan - and the update
-	 * eventual copies of these values.
-	 *
-	 * @param is
-	 *            the main instance of the deployment plan
-	 */
-	public static void initAutoValues(Collection<InstanceSpecification> isList) {
-		map = new HashMap<Object, Integer>();
-		for (InstanceSpecification is : isList) {
-			initAutoValuesHelper(is);
-		}
-		Stack<InstanceSpecification> isStack = new Stack<InstanceSpecification>();
-		for (InstanceSpecification is : isList) {
-			copyAutoValues(isStack, is);
-		}
-	}
-
-	/**
-	 * Initialize the automatic values within a deployment plan.
-	 *
-	 * @param is
-	 *            the main instance of the deployment plan
-	 */
-	public static void initAutoValuesHelper(InstanceSpecification is) {
-		for (Slot slot : is.getSlots()) {
-			StructuralFeature sf = slot.getDefiningFeature();
-			if (sf == null) {
-				throw new RuntimeException(String.format(Messages.DepCreation_DefiningFeatureNull,
-						slot.getOwningInstance().getName()));
-			}
-			if (StereotypeUtil.isApplied(sf, AutoIndex.class)) {
-				Integer value = null;
-				Object key;
-				if (StereotypeUtil.isApplied(sf, AutoIndexPerNode.class)) {
-					InstanceSpecification nodeOrThread = AllocUtils.getNode(is);
-					key = sf.getName() + nodeOrThread.getName();
-				} else {
-					key = sf;
-				}
-				if (!map.containsKey(key)) {
-					map.put(key, new Integer(0));
-				}
-				value = map.get(key);
-				value++; // no need to put incremented value back into map,
-							// since Integer is a reference => value is updated
-
-				// create slot and value specification (literal-integer) for the
-				// auto index
-				LiteralInteger li = (LiteralInteger) slot.createValue(
-						sf.getName() + DeployConstants.AUTO_POSTFIX, sf.getType(),
-						UMLPackage.eINSTANCE.getLiteralInteger());
-				li.setValue(value);
-
-				// recursion in case of values that are instance values
-				for (ValueSpecification vs : slot.getValues()) {
-					if (vs instanceof InstanceValue) {
-						InstanceSpecification subIS = ((InstanceValue) vs).getInstance();
-						initAutoValues(subIS);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Copy automatic values within a deployment plan.
-	 * Attributes can apply the CopyAttributeValue stereotype. The stereotype can point
-	 * to another attribute (source). If the other attribute has a configuration value, it gets
-	 * copied.
-	 * The function takes into account that the source attribute might be in a component that is
-	 * instantiated several times with different configuration values. The attribute that gets the
-	 * copy must use the "nearest" value which means that there must be a common composite that
-	 * contains both attribute (indirectly).
-	 * The main use case is that connector fragments need to have common configuration attributes
-	 * (e-g- server fragment has automatic index value, client fragment needs to copy this value)
-	 *
-	 * @param is
-	 *            the main instance of the deployment plan
-	 */
-	public static void copyAutoValues(Stack<InstanceSpecification> isStack,
-			InstanceSpecification is) {
-		isStack.push(is);
-		for (Slot slot : is.getSlots()) {
-			StructuralFeature sf = slot.getDefiningFeature();
-			if (sf == null) {
-				throw new TransformationRTException(is.getName() + " has a slot without defining feature"); //$NON-NLS-1$
-			}
-			if (StereotypeUtil.isApplied(sf, CopyAttributeValue.class)) {
-				CopyAttributeValue cav = UMLUtil.getStereotypeApplication(sf,
-						CopyAttributeValue.class);
-				Property source = cav.getSource();
-				ValueSpecification vs = getNearestValue(isStack, source);
-				if (vs instanceof LiteralInteger) {
-					LiteralInteger liCopy = (LiteralInteger) slot.createValue(
-							sf.getName() + "_copy", sf.getType(), //$NON-NLS-1$
-							UMLPackage.eINSTANCE.getLiteralInteger());
-					int value = ((LiteralInteger) vs).getValue();
-					liCopy.setValue(value);
-				}
-			}
-
-			// recursion in case of values that are instance values
-			for (ValueSpecification vs : slot.getValues()) {
-				if (vs instanceof InstanceValue) {
-					InstanceSpecification subIS = ((InstanceValue) vs).getInstance();
-					if (subIS != null) {
-						copyAutoValues(isStack, subIS);
-					}
-				}
-			}
-		}
-		isStack.pop();
-	}
-
-	/**
-	 * try to find a value (ValueSpecification) for the passed source element,
-	 * beginning a the "deepest" instance specification of the passed stack. If
-	 * not found, continue at elements higher up in the hierarchy
-	 *
-	 * @param isStack
-	 *            a stack of instance specifications corresponding to a path
-	 *            within an instance tree
-	 * @param source
-	 *            a property (defining feature) for which we search an instance
-	 *            specification
-	 * @return The value specifications for the passed source property or null
-	 */
-	public static ValueSpecification getNearestValue(
-			Stack<InstanceSpecification> isStack, Property source) {
-		Stack<InstanceSpecification> copy = new Stack<InstanceSpecification>();
-		copy.addAll(isStack);
-		while (!copy.isEmpty()) {
-			InstanceSpecification pop = copy.pop();
-			ValueSpecification vs = getNearestValueHelper(isStack, pop, source);
-			if (vs != null) {
-				return vs;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Helper for getNearestValue: search for an instance specification that has
-	 * source as defining feature. Start at the passed instance specification,
-	 * but do not recurse into elements that are contained in the stack.
-	 *
-	 * @param isStack
-	 *            A stack of instance specifications corresponding to a path
-	 *            within an instance tree
-	 * @param is
-	 *            the starting instance specification
-	 * @param source
-	 *            source a property (defining feature) for which we search an
-	 *            instance specification
-	 * @return The value specifications for the passed source property or null
-	 */
-	public static ValueSpecification getNearestValueHelper(
-			Stack<InstanceSpecification> isStack, InstanceSpecification is,
-			Property source) {
-		for (Slot slot : is.getSlots()) {
-			StructuralFeature sf = slot.getDefiningFeature();
-			if (sf == source) {
-				// found property, now return first value specification
-				for (ValueSpecification vs : slot.getValues()) {
-					return vs;
-				}
-				return null;
-			}
-
-			// recursion in case of values that are instance values
-			for (ValueSpecification vs : slot.getValues()) {
-				if (vs instanceof InstanceValue) {
-					InstanceSpecification subIS = ((InstanceValue) vs)
-							.getInstance();
-					if (!isStack.contains(subIS)) {
-						// only recurse, if not contained in stack of instance
-						// specifications (avoid traversing
-						// the same elements multiple times)
-						return getNearestValueHelper(isStack, subIS, source);
-					}
-				}
-			}
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/DepPlanUtils.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/DepPlanUtils.java
deleted file mode 100644
index 0fc81c8..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/DepPlanUtils.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.deployment;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.Enumerator;
-import org.eclipse.emf.ecore.ENamedElement;
-import org.eclipse.papyrus.designer.components.FCM.DeploymentPlan;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Enumeration;
-import org.eclipse.uml2.uml.EnumerationLiteral;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.InstanceValue;
-import org.eclipse.uml2.uml.LiteralInteger;
-import org.eclipse.uml2.uml.LiteralString;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Slot;
-import org.eclipse.uml2.uml.StructuralFeature;
-import org.eclipse.uml2.uml.UMLPackage;
-import org.eclipse.uml2.uml.ValueSpecification;
-
-public class DepPlanUtils {
-
-	/**
-	 * Return the package in which deployment plans are stored. Caveat: needs to be executed within a
-	 * transition, since the deployment plan package will be created, if it does not exist yet.
-	 *
-	 * @param element
-	 *            an arbitrary element of the source model (i.e. the model that will
-	 *            store the deployment plan
-	 * @return package in which deployment plans are stored
-	 */
-	public static Package getDepPlanRoot(Element element) {
-		return Utils.getRoot(element, DeployConstants.depPlanFolder);
-	}
-
-	/**
-	 * Return all deployment plans
-	 *
-	 * @param element
-	 *            an arbitrary element of the source model (i.e. the model that will
-	 *            store the deployment plan
-	 * @return
-	 */
-	public static EList<Package> getAllDepPlans(Element element) {
-		Package root = PackageUtil.getRootPackage(element);
-		Package depPlanRoot = root.getNestedPackage(DeployConstants.depPlanFolder);
-		EList<Package> depPlanList = new BasicEList<Package>();
-		if (depPlanRoot != null) {
-			for (Package pkg : depPlanRoot.getNestedPackages()) {
-				if (StereotypeUtil.isApplied(pkg, DeploymentPlan.class)) {
-					depPlanList.add(pkg);
-				}
-			}
-		}
-		return depPlanList;
-	}
-
-	public static void delDepPlan(InstanceSpecification is) {
-		Iterator<Slot> slots = is.getSlots().iterator();
-		while (slots.hasNext()) {
-			Slot slot = slots.next();
-			InstanceSpecification subInstance = getInstance(slot);
-			if (subInstance != null) {
-				delDepPlan(subInstance);
-			}
-		}
-		Element owner = is.getOwner();
-		if (owner instanceof Package) {
-			((Package) owner).getPackagedElements().remove(is);
-		}
-	}
-
-	/**
-	 * Return the instance that is defined by a slot value
-	 *
-	 * @param slot
-	 * @return the first slot that corresponds to an instance specification
-	 */
-	public static InstanceSpecification getInstance(Slot slot) {
-		Iterator<ValueSpecification> values = slot.getValues().iterator();
-		while (values.hasNext()) {
-			ValueSpecification value = values.next();
-			// instances are accessible via ValueSpecification subclass InstanceValue
-			if (value instanceof InstanceValue) {
-				return ((InstanceValue) value).getInstance();
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * create a slot for a given sub-instance specification.
-	 *
-	 * @param cdp
-	 *            a deployment plan
-	 * @param is
-	 *            an instance specification for a composite class
-	 * @param partIS
-	 *            the instance specification of a part within the composite
-	 * @param part
-	 *            the part within the composite
-	 */
-	public static Slot createSlot(Package cdp, InstanceSpecification is, InstanceSpecification partIS, Property part) {
-		// the instance specification of the composite has a slot for each part and it points
-		// to the instance specification associated with the part.
-		Slot slot = is.createSlot();
-		slot.setDefiningFeature(part);
-
-		InstanceValue iv = (InstanceValue)
-				slot.createValue(null, null, UMLPackage.eINSTANCE.getInstanceValue());
-		iv.setInstance(partIS);
-		return slot;
-
-	}
-
-	/**
-	 * Apply the stereotype deployment plan and set the mainInstance value
-	 *
-	 * @param cdp
-	 *            the deployment plan
-	 * @param main
-	 *            instance the top-level instance specification of the plan
-	 */
-	public static void setMainInstance(Package cdp, InstanceSpecification mainInstance) {
-		DeploymentPlan cdpApp = StereotypeUtil.applyApp(cdp, DeploymentPlan.class);
-		if (cdpApp != null) {
-			cdpApp.setMainInstance(mainInstance);
-		}
-	}
-
-	/**
-	 * Automatically choose an implementation, i.e. choose the first implementation
-	 * within the component model that implements a given component type.
-	 */
-	public static Class autoChooseImplementation(Classifier componentType) {
-		// choose implementation automatically: get the first one that implements the passed type
-		// (problem: further tree expansion might depend on chosen implementation)
-		// get reference to component model, then search all classes contained in it.
-		Package compModel = Utils.getRoot(componentType, DeployConstants.COMPONENT_MODEL);
-		Iterator<Element> elements = compModel.allOwnedElements().iterator();
-		while (elements.hasNext()) {
-			Element element = elements.next();
-			if (element instanceof Class) {
-				Class candidate = (Class) element;
-				if (candidate.getSuperClass(componentType.getName()) != null) {
-					return candidate;
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Configure an attribute of an instance specification
-	 *
-	 * @param instance
-	 *            the instance specification
-	 * @param property
-	 *            An ENamedElement denoting the name of an attribute of a classifier that
-	 *            is in the classifier list of the instance specification
-	 * @param value
-	 *            the string value. An enumeration can be configured via the name of the literal
-	 */
-	public static void configureProperty(InstanceSpecification instance, ENamedElement property, String value) {
-		configureProperty(instance, property.getName(), value);
-	}
-
-	/**
-	 * Configure an attribute of an instance specification
-	 *
-	 * @param instance
-	 *            the instance specification
-	 * @param propertyName
-	 *            the name of an attribute of a classifier that is in the classifier list
-	 *            of the instance specification
-	 * @param value
-	 *            the string value. An enumeration can be configured via the name of the literal
-	 */
-	public static void configureProperty(InstanceSpecification instance, String propertyName, String value) {
-		Classifier extension = DepUtils.getClassifier(instance);
-		Property attribute = (Property) Utils.getNamedElementFromList(extension.getAllAttributes(), propertyName);
-		if (attribute == null) {
-			throw new RuntimeException(String.format(Messages.DepPlanUtils_CannotFindAttribute, propertyName, extension.getName()));
-		}
-		configureProperty(instance, attribute, value);
-	}
-
-	/**
-	 * Configure an attribute of an instance specification
-	 *
-	 * @param instance
-	 *            the instance specification
-	 * @param attribute
-	 *            an attribute of a classifier that is in the classifier list of the instance specification
-	 * @param value
-	 *            the string value. An enumeration can be configured via the name of the literal
-	 */
-	public static void configureProperty(InstanceSpecification instance, Property attribute, String value) {
-		if (attribute.getType() instanceof Enumeration) {
-			configureEnumProperty(instance, attribute, value);
-		}
-		else {
-			// create a slot for a string value
-			Slot slotStringVal = DepCreation.createSlotForConfigProp(instance, attribute);
-			if (slotStringVal.getValues().get(0) instanceof LiteralString) {
-				((LiteralString) slotStringVal.getValues().get(0)).setValue(value);
-			}
-			else {
-				// indicates that operation has been called although types do not match
-				throw new RuntimeException(String.format(Messages.DepPlanUtils_ConfigOfPropertyFailed, attribute.getName()));
-			}
-		}
-	}
-
-	/**
-	 * Configure an attribute of an instance specification
-	 *
-	 * @param instance
-	 *            the instance specification
-	 * @param property
-	 *            An ENamedElement denoting the name of an attribute of a classifier that
-	 *            is in the classifier list of the instance specification
-	 * @param value
-	 *            the integer value.
-	 */
-	public static void configureProperty(InstanceSpecification instance, ENamedElement property, int value) {
-		configureProperty(instance, property.getName(), value);
-	}
-
-	/**
-	 * Configure an attribute of an instance specification
-	 *
-	 * @param instance
-	 *            the instance specification
-	 * @param propertyName
-	 *            the name of an attribute of a classifier that is in the classifier list
-	 *            of the instance specification
-	 * @param value
-	 *            the integer value.
-	 */
-	public static void configureProperty(InstanceSpecification instance, String propertyName, int value) {
-		Classifier extension = DepUtils.getClassifier(instance);
-		Property attribute = (Property) Utils.getNamedElementFromList(extension.getAllAttributes(), propertyName);
-		if (attribute == null) {
-			throw new RuntimeException(String.format(Messages.DepPlanUtils_CannotFindAttribute, propertyName, extension.getName()));
-		}
-		configureProperty(instance, attribute, value);
-	}
-
-	/**
-	 * Configure an attribute of an instance specification
-	 *
-	 * @param instance
-	 *            the instance specification
-	 * @param attribute
-	 *            an attribute of a classifier that is in the classifier list of the instance specification
-	 * @param value
-	 *            the integer value.
-	 */
-	public static void configureProperty(InstanceSpecification instance, Property attribute, int value) {
-		Slot slotIntVal = instance.createSlot();
-		slotIntVal.setDefiningFeature(attribute);
-		LiteralInteger intValue = (LiteralInteger)
-				slotIntVal.createValue("value for " + attribute.getName(), attribute.getType(), UMLPackage.eINSTANCE.getLiteralInteger()); //$NON-NLS-1$
-		intValue.setValue(value);
-	}
-
-	/**
-	 * Convenience function: allow that an ECore named element is passed instead of a property name. This is useful if the
-	 * parameter that should be configured stems from a static profile
-	 *
-	 * @param instance
-	 *            The instance of which an attribute should be configured.
-	 * @param property
-	 *            The name of the property (denoted by an ENamedElement) that should be configured
-	 * @param value
-	 *            its value in form of an element of an ECore enumerator value
-	 */
-	public static void configureProperty(InstanceSpecification instance, ENamedElement property, Enumerator value) {
-		configureProperty(instance, property.getName(), value);
-	}
-
-	/**
-	 * Configure a property for an enumeration. Enumerations are a bit difficult to handle, since the enumeration literal itself
-	 * must be created first in form of an instance specification
-	 *
-	 * @param instance
-	 *            The instance of which an attribute should be configured.
-	 * @param propertyName
-	 *            The name of the property that should be configured
-	 * @param value
-	 *            its value in form of an element of an ECore enumerator value
-	 */
-	public static void configureProperty(InstanceSpecification instance, String propertyName, Enumerator value) {
-		configureProperty(instance, propertyName, value.getName());
-	}
-
-	/**
-	 * Configure a property for an enumeration. Enumerations are a bit difficult to handle, since the enumeration literal itself
-	 * must be created first in form of an instance specification.
-	 *
-	 * @param instance
-	 *            The instance of which an attribute should be configured.
-	 * @param propertyName
-	 *            The name of the property that should be configured
-	 * @param value
-	 *            its value in form of an String. The function does nothing, if no literal corresponds to the passed
-	 *            String
-	 */
-	public static void configureEnumProperty(InstanceSpecification instance, String propertyName, String literalName) {
-		Classifier extension = DepUtils.getClassifier(instance);
-		Property attribute = (Property) Utils.getNamedElementFromList(extension.getAllAttributes(), propertyName);
-		if (attribute == null) {
-			throw new RuntimeException(String.format(Messages.DepPlanUtils_CannotFindAttribute, propertyName, extension.getName()));
-		}
-		configureEnumProperty(instance, attribute, literalName);
-	}
-
-	public static void configureEnumProperty(InstanceSpecification instance, Property attribute, String literalName) {
-		if (attribute.getType() instanceof Enumeration) {
-			Enumeration enumeration = (Enumeration) attribute.getType();
-			for (EnumerationLiteral enumLiteral : enumeration.getOwnedLiterals()) {
-				if (enumLiteral.getLabel().equals(literalName)) {
-					Slot slotEnumVal = instance.createSlot();
-					slotEnumVal.setDefiningFeature(attribute);
-					InstanceValue enumLitValue = (InstanceValue)
-							slotEnumVal.createValue("value for " + attribute.getName(), attribute.getType(), UMLPackage.eINSTANCE.getInstanceValue()); //$NON-NLS-1$
-					enumLitValue.setInstance(enumLiteral);
-					break;
-				}
-			}
-		}
-	}
-
-	/**
-	 * Update the names of instances within a deployment plan to correspond to changes
-	 * in the hierarchy. In particular, flattening of interaction components requires this update.
-	 *
-	 * @param composite
-	 *            System composite
-	 */
-	public static void updateInstanceNames(InstanceSpecification instance, String name) {
-		instance.setName(name);
-		for (Slot slot : instance.getSlots()) {
-			InstanceSpecification subInstance = DepUtils.getInstance(slot);
-			StructuralFeature sf = slot.getDefiningFeature();
-			if ((subInstance != null) && !DepUtils.isShared(slot)) {
-				updateInstanceNames(subInstance, name + DeployConstants.SEP_CHAR + sf.getName());
-			}
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/DepUtils.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/DepUtils.java
deleted file mode 100644
index 34db244..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/DepUtils.java
+++ /dev/null
@@ -1,569 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.transformation.core.deployment;
-
-import java.util.Iterator;
-import java.util.Stack;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.UniqueEList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.papyrus.designer.components.FCM.CodeGenOptions;
-import org.eclipse.papyrus.designer.components.FCM.DeploymentPlan;
-import org.eclipse.papyrus.designer.components.FCM.ImplementationGroup;
-import org.eclipse.papyrus.designer.components.FCM.ImplementationProperties;
-import org.eclipse.papyrus.designer.components.FCM.InteractionComponent;
-import org.eclipse.papyrus.designer.components.FCM.Target;
-import org.eclipse.papyrus.designer.components.transformation.core.ElementFilter;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.languages.common.profile.Codegen.GeneratorHint;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.common.util.UML2Util;
-import org.eclipse.uml2.uml.AggregationKind;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.DirectedRelationship;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Generalization;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.InstanceValue;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.PackageableElement;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Slot;
-import org.eclipse.uml2.uml.StructuralFeature;
-import org.eclipse.uml2.uml.Type;
-import org.eclipse.uml2.uml.ValueSpecification;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * Utilities around instances (within deployment plan)
- * [DepPlanUtils?]
- * [but missing: creation, ..., allocation?]
- * Structuration ??
- *
- * @author ansgar
- *
- */
-public class DepUtils {
-
-	/**
-	 * Check whether a class is an eligible implementation for a certain node, i.e.
-	 * has compatible requirements.
-	 * Requires that setCurrentNode has been called earlier
-	 * TODO: how does that work with connector reification between distributeToNode has been
-	 * called??!
-	 *
-	 * @param implemCandidate
-	 * @return
-	 */
-	public static boolean isImplEligible(Class implemCandidate, EList<InstanceSpecification> nodes) {
-		if (!Utils.isCompImpl(implemCandidate)) {
-			return false;
-		}
-		if (nodes != null) {
-			// now check properties
-			if (nodes.size() > 1) {
-				// indicates distribution
-				InteractionComponent connImpl = UMLUtil.getStereotypeApplication(implemCandidate, InteractionComponent.class);
-				// if a connector implementation, it must support distribution (in case of multiple nodes)
-				// TODO: criteria is not optimal, since a composite may be deployed on multiple nodes,
-				// but a contained connector might still only connect local parts.
-				if (connImpl != null) {
-					if (!connImpl.isForDistribution()) {
-						return false;
-					}
-				}
-			}
-			// must fit requirements of all nodes
-			for (InstanceSpecification nodeInstance : nodes) {
-				Target target = UMLUtil.getStereotypeApplication(nodeInstance, Target.class);
-				if (target == null) {
-					// no target information on instance => try to get this
-					// information from the node referenced by the instance
-					target = UMLUtil.getStereotypeApplication(DepUtils.getClassifier(nodeInstance), Target.class);
-				}
-				if (target != null) {
-					ImplementationProperties implProps = UMLUtil.getStereotypeApplication(implemCandidate, ImplementationProperties.class);
-					if (implProps != null) {
-						if (!implProps.getArch().contains(target.getTargetArch())) {
-							return false;
-						}
-						// TODO: check OS and size as well!
-					}
-				}
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * Find a sub instance via its name. This is in particular useful for connectors that cannot be
-	 * found via a slot, since UML only supports structural features (a connector is only a feature)
-	 * in the definingFeature attribute of a slot.
-	 *
-	 * @param owningInstance
-	 *            an owning instance
-	 * @param name
-	 *            name of the sub-element (unqualified)
-	 * @return the found sub-instance or null
-	 */
-	public static InstanceSpecification getNamedSubInstance(InstanceSpecification owningInstance, String name) {
-		Element cdp = owningInstance.getOwner();
-		String candidateName = owningInstance.getName() + "." + name; //$NON-NLS-1$
-		if (cdp instanceof Package) {
-			for (PackageableElement instance : ((Package) cdp).getPackagedElements()) {
-				if (instance instanceof InstanceSpecification) {
-					InstanceSpecification candidate = (InstanceSpecification) instance;
-
-					if (candidateName != null) {
-						if (candidateName.equals(candidate.getName())) {
-							return candidate;
-						}
-					}
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Automatically choose an implementation, i.e. if the passed classifier
-	 * (1) is already an implementation, simply return it
-	 * (2) is an implementation group, choose the first implementation that fits the requirements
-	 * (3) is a type: choose the first implementation among the heirs that fits the requirements
-	 *
-	 * @param componentType
-	 *            a component type or implementation (class, optionally abstract)
-	 * @param nodes
-	 *            a set of instance specification representing nodes on which this component will be allocated
-	 * @param chooser
-	 *            A chooser for an implementation in case of multiple candidates
-	 * @return a suitable implementation
-	 */
-	public static Class chooseImplementation(Class componentType, EList<InstanceSpecification> nodes, ImplementationChooser chooser) {
-		// choose implementation automatically: get the first one that implements the passed type
-		// get reference to component model, then search all classes contained in it.
-		// TODO: assumption that implementations are in same package as type;
-
-		EList<Class> implList = new BasicEList<Class>();
-		if (StereotypeUtil.isApplied(componentType, ImplementationGroup.class)) {
-			for (Property groupAttribute : componentType.getAttributes()) {
-				Type implClass = groupAttribute.getType();
-				if ((implClass instanceof Class) && isImplEligible((Class) implClass, nodes)) {
-					InteractionComponent connImpl = UMLUtil.getStereotypeApplication(implClass, InteractionComponent.class);
-					if ((connImpl != null) && connImpl.isForDistribution()) {
-						// only add distributed connector, if distributed
-						// don't put check into
-						if (nodes.size() > 1) {
-							implList.add((Class) implClass);
-						}
-					}
-					else {
-						implList.add((Class) implClass);
-					}
-				}
-			}
-		} else if (Utils.isCompImpl(componentType)) {
-			// check this after implementation group, since the latter inherits from component implementation
-			return componentType;
-		} else if (Utils.isCompType(componentType)) {
-			for (DirectedRelationship relship : componentType.getTargetDirectedRelationships()) {
-				if (relship instanceof Generalization) {
-					Classifier source = ((Generalization) relship).getSpecific();
-					if (source instanceof Class) {
-						Class implClass = (Class) source;
-						if (isImplEligible(implClass, nodes)) {
-							implList.add(implClass);
-						}
-					}
-				}
-			}
-		}
-		if (implList.size() == 0) {
-			return null;
-		} else if (implList.size() == 1) {
-			return implList.get(0);
-		} else if (chooser != null) {
-			Class impl = chooser.chooseImplementation(componentType, implList);
-			if (impl != null) {
-				return impl;
-			}
-		} else if (implList.size() > 0) {
-			return implList.get(0);
-		}
-		return null;
-	}
-
-	/**
-	 * return an instance specification for the main instance within
-	 * a package.
-	 *
-	 * @param cdp
-	 *            the deployment plan
-	 */
-	public static InstanceSpecification getMainInstance(Package cdp) {
-		DeploymentPlan dp = UMLUtil.getStereotypeApplication(cdp, DeploymentPlan.class);
-		return dp.getMainInstance();
-	}
-
-	/**
-	 * Check whether an instance specification is a top-level instance, i.e. not referenced
-	 * by another one.
-	 * @param is an instance specification
-	 */
-	public static boolean isTopLevelInstance(InstanceSpecification is) {
-		return getReferencingSlots(is).size() == 0;
-	}
-	
-	/**
-	 * Apply the stereotype deployment plan and set the mainInstance value
-	 *
-	 * @param cdp
-	 *            the deployment plan
-	 * @param main
-	 *            instance the top-level instance specification of the plan
-	 */
-	public static void setMainInstance(Package cdp, InstanceSpecification mainInstance) {
-		StereotypeUtil.apply(cdp, DeploymentPlan.class);
-		DeploymentPlan dp = UMLUtil.getStereotypeApplication(cdp, DeploymentPlan.class);
-		dp.setMainInstance(mainInstance);
-	}
-
-	/**
-	 * return the implementation associated with an instance specification, i.e. a
-	 * Class.
-	 *
-	 * @param instance
-	 * @return
-	 */
-	public static Class getImplementation(InstanceSpecification instance) {
-		Classifier cl = getClassifier(instance);
-		if (cl instanceof Class) {
-			return (Class) cl;
-		}
-		return null;
-	}
-
-	/**
-	 * Small helper function
-	 *
-	 * @param instance
-	 *            an instance specification
-	 * @return returns true, if the stereotype ConnectorComp
-	 *         is applied to the classifier associated with an instance specification
-	 */
-	public static boolean isConnector(InstanceSpecification instance) {
-		Classifier cl = getClassifier(instance);
-		return StereotypeUtil.isApplied(cl, InteractionComponent.class);
-	}
-
-	/**
-	 * Return the first classifier referenced by an instance specification. Whereas UML supports
-	 * a set of classifiers, we assume that that an instance specification has only one.
-	 *
-	 * @param instance
-	 *            the instance, for which we are interested in type information
-	 */
-	public static Classifier getClassifier(InstanceSpecification instance) {
-		Iterator<Classifier> classifierIt = instance.getClassifiers().iterator();
-		// simply return the first element (if there is any)
-		if (classifierIt.hasNext()) {
-			return classifierIt.next();
-		}
-		return null;
-	}
-
-	/**
-	 * Return the first instance specification within a deployment plan that instantiates a given
-	 * classifier
-	 *
-	 * @param cdp
-	 *            the deployment plan
-	 * @param cl
-	 *            the classifier
-	 * @return
-	 */
-	public static InstanceSpecification getInstanceForClassifier(Package cdp, Classifier cl) {
-		for (PackageableElement pe : cdp.getPackagedElements()) {
-			if (pe instanceof InstanceSpecification) {
-				InstanceSpecification is = (InstanceSpecification) pe;
-				if (getClassifier(is) == cl) {
-					return is;
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Return the (unique) list of implementations that are contained within an
-	 * instance specification
-	 */
-	public static EList<Classifier> getContainedImplementations(InstanceSpecification is) {
-		Iterator<InstanceSpecification> instances = getContainedInstances(is).iterator();
-		EList<Classifier> list = new UniqueEList<Classifier>();
-		while (instances.hasNext()) {
-			Classifier implementation = getClassifier(instances.next());
-			list.add(implementation);
-		}
-		return list;
-	}
-
-	/**
-	 * Return the slot that is associated with a property
-	 *
-	 * @param is
-	 *            an instance specification (of a class having properties)
-	 * @param property
-	 *            A property of the classifier associated with the passed instance specification
-	 * @return the associated slot or null, if it does not exist
-	 */
-	public static Slot getSlot(InstanceSpecification is, Property property) {
-		for (Slot slot : is.getSlots()) {
-			if (slot.getDefiningFeature() == property) {
-				return slot;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Return the instance referenced by a slot value, i.e. the first instance value associated
-	 * with a slot
-	 *
-	 * @param slot
-	 * @return
-	 */
-	public static InstanceSpecification getInstance(Slot slot) {
-		for (ValueSpecification value : slot.getValues()) {
-			// instances are accessible via ValueSpecification subclass InstanceValue
-			if (value instanceof InstanceValue) {
-				return ((InstanceValue) value).getInstance();
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * This method returns the instances contained within a composite instance
-	 * specification for an assembly.
-	 */
-	public static EList<InstanceSpecification> getContainedInstances(InstanceSpecification is) {
-		EList<InstanceSpecification> contained = new BasicEList<InstanceSpecification>();
-		for (Slot slot : is.getSlots()) {
-			InstanceSpecification instance = getInstance(slot);
-			if (instance != null) {
-				contained.add(instance);
-			}
-		}
-		return contained;
-	}
-
-	/**
-	 * This method returns the instances contained within a composite instance
-	 * specification for an assembly. Unlike @see getContainedInstances, this method only
-	 * returns contained instances that are not shared.
-	 */
-	public static EList<InstanceSpecification> getContainedNonSharedInstances(InstanceSpecification is) {
-		EList<InstanceSpecification> contained = new BasicEList<InstanceSpecification>();
-		for (Slot slot : is.getSlots()) {
-			InstanceSpecification instance = getInstance(slot);
-			if ((instance != null) && !DepUtils.isShared(slot)) {
-				contained.add(instance);
-			}
-		}
-		return contained;
-	}
-
-	/**
-	 * return all slots that reference an instance specification
-	 *
-	 * @param is
-	 * @return
-	 */
-	public static EList<Slot> getReferencingSlots(InstanceSpecification is) {
-		EList<Slot> list = new BasicEList<Slot>();
-		for (Setting setting : UML2Util.getNonNavigableInverseReferences(is)) {
-			EObject eObj = setting.getEObject();
-			if (eObj instanceof ValueSpecification) {
-				ValueSpecification vs = (ValueSpecification) eObj;
-				Element owner = vs.getOwner();
-				if (owner instanceof Slot) {
-					list.add((Slot) owner);
-				}
-			}
-		}
-		return list;
-	}
-
-	/**
-	 * Return a slot for a given instance specification. The slot is the first one in a list of slots
-	 * whose value points to the passed instance.
-	 *
-	 * @param is
-	 *            an instance that is contained within an composite (i.e. that
-	 *            belongs to a part of this composite).
-	 * @return
-	 */
-	public static Slot getParentSlot(InstanceSpecification is) {
-		for (Slot slot : getReferencingSlots(is)) {
-			if (slot.getDefiningFeature() instanceof Property) {
-				if (((Property) slot.getDefiningFeature()).getAggregation() == AggregationKind.COMPOSITE_LITERAL) {
-					return slot;
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Return an instance specification that refers to the composite in which the
-	 * passed instance is contained
-	 *
-	 * @param is
-	 *            an instance that is contained within an composite (i.e. that
-	 *            belongs to a part of this composite).
-	 * @return
-	 */
-	public static InstanceSpecification getParentIS(InstanceSpecification is) {
-		Slot parentSlot = getParentSlot(is);
-		if (parentSlot != null) {
-			return parentSlot.getOwningInstance();
-		}
-		return null;
-	}
-
-	/**
-	 * Return the access path in terms of slots to an instance specification, i.e. the
-	 * set of slots starting with the slot within the main instance that identifies the next
-	 * instance until arriving at the passed instance.
-	 *
-	 * @param is
-	 * @return
-	 */
-	public static Stack<Slot> getAccessPath(InstanceSpecification is) {
-		Stack<Slot> path = new Stack<Slot>();
-		while (is != null) {
-			Slot parentSlot = getParentSlot(is);
-			if (parentSlot == null) {
-				break;
-			}
-			path.insertElementAt(parentSlot, 0);
-			is = parentSlot.getOwningInstance();
-		}
-		return path;
-	}
-
-	/**
-	 * Return true, if an instance is shared
-	 *
-	 * @param slot
-	 * @return
-	 */
-	public static boolean isShared(Slot slot) {
-		StructuralFeature df = slot.getDefiningFeature();
-		if (df instanceof Property) {
-			return ((Property) df).getAggregation() == AggregationKind.SHARED_LITERAL;
-		}
-		return false;
-	}
-
-	/**
-	 * Determine which programming language should be generated for a classifier. The
-	 * stereotype GeneratorHint (which could be on any owning package) is evaluated.
-	 *
-	 * @param element
-	 *            an element (typically a classifier or a package)
-	 * @return the programming language
-	 */
-	public static String getLanguageFromElement(Element element) {
-		GeneratorHint codeGenOpt = UMLUtil.getStereotypeApplication(element, GeneratorHint.class);
-		if ((codeGenOpt != null) && (codeGenOpt.getLanguage() != null)) {
-			return codeGenOpt.getLanguage().getBase_Class().getName();
-		}
-		else if (element.getOwner() instanceof Package) {
-			return getLanguageFromElement(element.getOwner());
-		}
-		else {
-			// Use C++ as default generation language
-			return "C++"; //$NON-NLS-1$;
-		}
-	}
-
-	/**
-	 * Return the target language when given the mainInstance 
-	 * @param mainInstance the mainInstance of an application
-	 * @return target language
-	 */
-	public static String getTargetLanguage(InstanceSpecification mainInstance) {
-		Classifier cl = DepUtils.getClassifier(mainInstance);
-		String targetLanguage = DepUtils.getLanguageFromElement(cl);
-		return targetLanguage;
-	}
-	
-	/**
-	 * Determine the component to OO language. The stereotype CodeGenOptions
-	 * (which could be on any owning package) is evaluated.
-	 *
-	 * @param pkg
-	 *            a classifier
-	 * @return the programming language
-	 */
-	public static String getOOTransformationFromPackage(Package pkg) {
-		CodeGenOptions codeGenOpt = UMLUtil.getStereotypeApplication(pkg, CodeGenOptions.class);
-		if ((codeGenOpt != null) && (codeGenOpt.getCompToOOmapping() != null)) {
-			return codeGenOpt.getCompToOOmapping().getBase_Class().getName();
-		}
-		else if (pkg.getOwner() instanceof Package) {
-			return getLanguageFromElement((Package) pkg.getOwner());
-		}
-		else {
-			return null;
-		}
-	}
-	
-	/**
-	 * Get all instances within a package that comply with a filter criterion. Recurse into sub-packages.
-	 *
-	 * @param pkg
-	 *            Starting package for search
-	 * @param instanceList
-	 *            list of instances
-	 * @param filter
-	 *            filter criterion.
-	 */
-	public static void getAllInstances(Package pkg, EList<InstanceSpecification> instanceList, ElementFilter filter) {
-		for (PackageableElement el : pkg.getPackagedElements()) {
-			if (el instanceof Package) {
-				getAllInstances((Package) el, instanceList, filter);
-			}
-			else if (el instanceof InstanceSpecification) {
-				InstanceSpecification instance = (InstanceSpecification) el;
-				if (filter.acceptElement(instance)) {
-					instanceList.add(instance);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Return the first value for a slot.
-	 *
-	 * @param slot
-	 *            the slot for which the first value should be returned.
-	 * @return
-	 */
-	public static ValueSpecification firstValue(Slot slot) {
-		if (slot.getValues().size() > 0) {
-			return slot.getValues().get(0);
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/Deploy.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/Deploy.java
deleted file mode 100644
index aa5d0de..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/Deploy.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.deployment;
-
-import java.util.Stack;
-
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.InstanceConfigurator;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Slot;
-import org.eclipse.uml2.uml.StructuralFeature;
-
-/*
- * This file is part of Qompass GenTools
- * Copyright (C) 2008 CEA LIST (http://www-list.cea.fr/)
-
- * initial developer : Ansgar Radermacher, Christophe JOUVRAY from CEA LIST
- */
-
-public class Deploy {
-
-	/**
-	 * distribute an instance, its contained sub-instances and the referenced
-	 * classifiers to a certain target node
-	 *
-	 * @param copier
-	 *            lazy copier from intermediate to target model
-	 * @param gatherConfigData
-	 *            an implementation that is able to gather configuration data (e.g. information about dependencies to external libraries) that will be used for project configuration
-	 * @param node
-	 *            the instance specification of the target node
-	 * @param nodeIndex
-	 *            the index of the target node (used for bootloader generation)
-	 * @param numberOfNodes
-	 *            the total number of indexes (used for bootloader generation)
-	 * @throws TransformationException
-	 */
-	public Deploy(LazyCopier copier, GatherConfigData gatherConfigData, InstanceSpecification node,
-			int nodeIndex, int numberOfNodes)
-					throws TransformationException {
-		bootLoaderGen = new BootLoaderGen(copier, nodeIndex, numberOfNodes);
-		bootLoaderGen.addCreateConnections();
-
-		this.node = node;
-
-		// change to flat copy eventually later (not yet working)
-		depInstance = new PartialCopy();
-
-		depInstance.init(copier, bootLoaderGen, node);
-
-		// set a copy listener in order to assure that indirectly added classes
-		// are taken into account as well
-		this.copier = copier;
-		copier.preCopyListeners.add(gatherConfigData);
-	}
-
-	public void finalize(String language)  {
-		bootLoaderGen.addInit(language);
-	}
-
-	/**
-	 * distribute an instance, its contained sub-instances and the referenced
-	 * classifiers to a certain node
-	 * 
-	 * @param instance
-	 *            the specification of the instance to distribute
-	 * @return the instance specification in the target model
-	 * @throws TransformationException
-	 */
-	public InstanceSpecification distributeToNode(InstanceSpecification instance)
-			throws TransformationException {
-		Stack<Slot> slotPath = new Stack<Slot>();
-		InstanceSpecification newIS = distributeToNode(false, slotPath, instance);
-
-		return newIS;
-	}
-
-	/**
-	 * Distribute an instance specification to the node by this
-	 *
-	 * @param allocAll
-	 * @param slotPath
-	 * @param instance
-	 * @throws TransformationException
-	 */
-	public InstanceSpecification distributeToNode(boolean allocAll, Stack<Slot> slotPath, InstanceSpecification instance)
-			throws TransformationException {
-
-		// once an instance is explicitly allocated on a partition (use of getNodes instead of getAllNodes)
-		// all of its sub-instances are allocated on the node as well
-
-		if (AllocUtils.getNodesOrThreads(instance).contains(node)) {
-			allocAll = true;
-		}
-
-		// obtain implementation within source model
-		Classifier smImplementation = DepUtils.getClassifier(instance);
-		if (smImplementation == null) {
-			throw new TransformationException(String.format(
-					Messages.Deploy_0, instance.getName()));
-		}
-
-		// copy implementation into node specific model
-		InstanceSpecification tmInstance = depInstance.deployInstance(instance, slotPath);
-		Classifier tmImplementation = DepUtils.getClassifier(tmInstance);
-		// Classifier tmImplementation = copier.getCopy(smImplementation);
-
-		for (Slot slot : instance.getSlots()) {
-			InstanceSpecification containedInstance = DepUtils.getInstance(slot);
-
-			if (containedInstance != null) {
-				if (!DepUtils.isShared(slot)) {
-					StructuralFeature sf = slot.getDefiningFeature();
-					boolean viaAllocAll = allocAll;
-					if (allocAll && (sf instanceof Property)) {
-						// only take allocation of parent instance into account, if composition
-						// However, problematic, since code gets copied anyway.
-						// viaAllocAll = (((Property) sf).getAggregation() == AggregationKind.COMPOSITE_LITERAL);
-					}
-					if (viaAllocAll || AllocUtils.getAllNodes(containedInstance).contains(node)) {
-						slotPath.push(slot);
-						if (sf instanceof Property) {
-							// place configurator before recursive call. Otherwise
-							// values put here would be ignored.
-							// TODO: instances are not copied to node model. Thus, the instances here are the same as in the
-							// configuration on the intermediate model.
-							// TODO: MIX of bootloaderGeneration and splitting.
-							InstanceConfigurator.configureInstance(containedInstance, (Property) sf, tmInstance);
-						}
-						// distribute subInstance
-						distributeToNode(allocAll, slotPath, containedInstance);
-						slotPath.pop();
-					}
-				} else if (allocAll || AllocUtils.getAllNodes(containedInstance).contains(node)) {
-					slotPath.push(slot);
-					// bootLoaderGen.instanceConfig(slotPath, instance);
-					bootLoaderGen.addInstance(slotPath, containedInstance, null, node);
-					slotPath.pop();
-				}
-			} else {
-				// slot contains configuration of primitive attribute (no
-				// sub-instance, but primitive value)
-				slotPath.push(slot);
-				bootLoaderGen.instanceConfig(slotPath, instance);
-				slotPath.pop();
-			}
-		}
-
-		// ... and add the instance to the bootloader (this is done after
-		// copying the slots to
-		// ensure that the bootloader generator has the information about
-		// contained parts & connectors
-		// TODO: really necessary?
-		if (tmImplementation instanceof Class) {
-			bootLoaderGen.addInstance(slotPath, instance, (Class) tmImplementation, node);
-		}
-		return tmInstance;
-	}
-
-	public Class getBootloader() {
-		return bootLoaderGen.getUML();
-	}
-
-	protected BootLoaderGen bootLoaderGen;
-
-	protected InstanceSpecification node;
-
-	protected InstanceDeployer depInstance;
-
-	protected LazyCopier copier;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/DeployConstants.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/DeployConstants.java
deleted file mode 100644
index 192d1e9..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/DeployConstants.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.transformation.core.deployment;
-
-public class DeployConstants {
-
-	public static final String singletonPrefix = "singleton_"; //$NON-NLS-1$
-	public static final String COMPONENT_MODEL = "ComponentModel"; //$NON-NLS-1$
-	public static final String depPlanFolder = "deployment"; //$NON-NLS-1$
-	public static final String depPlanFolderHw = "platform"; //$NON-NLS-1$
-	public static final String DepPlanPostfix = "DepPlan"; //$NON-NLS-1$
-	public static final String DepPlanPostfixHw = "Platform"; //$NON-NLS-1$
-	public static final String MAIN_INSTANCE = "mainInstance"; //$NON-NLS-1$
-	public static final String SEP_CHAR = "."; //$NON-NLS-1$
-	public static final String AUTO_POSTFIX = "_auto"; //$NON-NLS-1$
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/GatherConfigData.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/GatherConfigData.java
deleted file mode 100644
index 0da3d06..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/GatherConfigData.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.deployment;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.transformation.core.listeners.PreCopyListener;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.languages.common.extensionpoints.AbstractSettings;
-import org.eclipse.papyrus.designer.languages.common.extensionpoints.ILangProjectSupport;
-import org.eclipse.uml2.uml.Classifier;
-
-/**
- * Gather configuration data for a code generation project
- * In particular, a class might be stereotyped to provide additional information
- * about required compilation options (in case of C++ include paths, libraries, ...)
- *
- * @author ansgar
- */
-public class GatherConfigData implements PreCopyListener {
-
-	/**
-	 * Gather configuration data for a code generation project
-	 * Constructor.
-	 *
-	 * @param projectSupport
-	 *            A reference to a class providing the language support interface
-	 */
-	public GatherConfigData(ILangProjectSupport projectSupport) {
-		this.projectSupport = projectSupport;
-		settings = projectSupport.initialConfigurationData();
-	}
-
-	@Override
-	public EObject preCopyEObject(LazyCopier copy, EObject sourceEObj) {
-		if (sourceEObj instanceof Classifier) {
-			projectSupport.gatherConfigData((Classifier) sourceEObj, settings);
-		}
-		return sourceEObj;
-	}
-
-	/**
-	 * Return the settings that have been gathered
-	 * @return
-	 */
-	public AbstractSettings getSettings() {
-		return settings;
-	}
-	
-	protected ILangProjectSupport projectSupport;
-	
-	protected AbstractSettings settings;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/ImplementationChooser.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/ImplementationChooser.java
deleted file mode 100644
index 584ff9b..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/ImplementationChooser.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.deployment;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.uml2.uml.Class;
-
-/**
- * Choose a component implementation for a given component type
- */
-public interface ImplementationChooser {
-	/**
-	 * Choose a component implementation from a list of available implementations
-	 *
-	 * @param componentType
-	 *            a (abstract) component
-	 * @param implList
-	 *            a list of available component implementations
-	 * @return the chosen implementation.
-	 */
-	public Class chooseImplementation(Class componentType, EList<Class> implList);
-};
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/InstanceDeployer.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/InstanceDeployer.java
deleted file mode 100644
index 3dbcaa3..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/InstanceDeployer.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.deployment;
-
-import java.util.Stack;
-
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Slot;
-
-/**
- * Deploy an instance (on a certain node). This operation is specifically non recursive
- *
- * @author ansgar
- *
- */
-public interface InstanceDeployer {
-
-	/**
-	 * Initialize the deployment
-	 *
-	 * @param sat
-	 *            information about source and target model
-	 * @param bootloader
-	 *            the bootloader generator, which will contain instance information
-	 * @param node
-	 *            the node onto which the allocation should be done.
-	 */
-	public void init(LazyCopier sat, BootLoaderGen bootloader, InstanceSpecification node);
-
-	/**
-	 * Deploy an instance and copy the required classes into the target model.
-	 * In case of a composite (assembly) class that is partially deployed on a target node
-	 * (i.e. a subset of its parts is deployed on the target node, but not composite itself),
-	 * this function may only partially copy the class or omit it completely.
-	 * Parts and connections are not copied in the first place to take care of partially
-	 * deployed composites and added when needed.
-	 * Therefore, this function is also responsible for creating the part associated with the
-	 * instance in the owning composite class and eventually complete connections within the
-	 * composites.
-	 *
-	 * @param is
-	 *            an instance (UML instance specification) within the deployment plan
-	 * @param slotPath
-	 *            a list (stack) of slots starting from the main instance
-	 * @return the classifier modified for deployment
-	 * @throws TransformationException
-	 */
-	public InstanceSpecification deployInstance(InstanceSpecification is, Stack<Slot> slotPath) throws TransformationException;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/PartialCopy.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/PartialCopy.java
deleted file mode 100644
index 0c52c0a..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/deployment/PartialCopy.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.deployment;
-
-import java.util.Stack;
-
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Connector;
-import org.eclipse.uml2.uml.ConnectorEnd;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Slot;
-
-/**
- * Copy a composite class while taking into account node allocation, i.e. only
- * copy parts that are deployed on a certain node (properties that are not typed
- * by a component are always copied). This function may be called several times
- * and will successively add parts that are required. If the same composite
- * (class level) is used in two different contexts, e.g. a socket connector
- * serving as client and server on the same node (for the same interface), the
- * resulting composite will be complete. On the instance level however, such as
- * composite is sub-optimal, since their are two different instances that use a
- * different subset. These cases are not very critical, since unused parts are
- * not instantiated (overhead = pointer)
- *
- * The function will change assembly composites
- *
- */
-public class PartialCopy implements InstanceDeployer {
-
-	@Override
-	public void init(LazyCopier copier, BootLoaderGen bootloader,
-			InstanceSpecification node) {
-		this.copier = copier;
-		this.node = node; // only needed for debug output
-		// add copier listeners ---
-		// 1. only add required parts
-		// does nothing for the moment
-	}
-
-	@Override
-	public InstanceSpecification deployInstance(InstanceSpecification is, Stack<Slot> slotPath) throws TransformationException {
-		Classifier classifier = DepUtils.getClassifier(is);
-
-		// only make a partial copy of the system class (slotPath size 0) for the moment.
-		if (!(classifier instanceof Class) || slotPath.size() > 0) {
-			return copier.getCopy(is);
-		}
-		if (AllocUtils.getNodes(is).contains(node)) {
-			return copier.getCopy(is);
-		}
-
-		Class smCl = (Class) classifier;
-
-		// create parts in target model, if allocated.
-		for (Slot slot : is.getSlots()) {
-			copyPart(smCl, slot);
-		}
-		// since we copied some of its attributes, the copier class created a shallow copy of the class itself
-		InstanceSpecification tmIS = (InstanceSpecification) copier.get(is);
-		return tmIS;
-	}
-
-	/**
-	 * Copy a part of a classifier, without being recursive [shouldn't that be in the generic deploy part?]
-	 * This function is called, whenever a sub-instance is deployed
-	 * Brainstorming: add containing composite to deployInstance? (in this case, deployInstance could create the
-	 * part in the containing composite, if it does not exist yet)
-	 *
-	 * @param cl
-	 * @param newCl
-	 * @param slot
-	 * @param allocAll
-	 * @throws TransformationException
-	 */
-	protected void copyPart(Class smCl, Slot slot) throws TransformationException {
-		Property smPart = (Property) slot.getDefiningFeature();
-		// Log.log(Status.INFO, Log.DEPLOYMENT, "smCl:" + smCl.getQualifiedName ());
-		// Log.log(Status.INFO, Log.DEPLOYMENT, "tmCl:" + tmCl.getQualifiedName ());
-
-		// String partName = smPart.getName();
-		InstanceSpecification instanceOrThread = DepUtils.getInstance(slot);
-		// instance may be null, if slot refers to a basic type, e.g. a string
-		if ((instanceOrThread == null) || AllocUtils.getNodes(instanceOrThread).contains(node)) {
-			copier.copy(slot);
-
-			// add connectors when possible, i.e. connectors that target the newly added part
-			for (Connector smConnector : smCl.getOwnedConnectors()) {
-				// check whether the newly added property enables the addition of connectors
-				// that connect this port.
-				if (ConnectorUtil.connectsPart(smConnector, smPart)) {
-					ConnectorEnd otherEnd = ConnectorUtil.connEndNotPart(smConnector, smPart);
-					// check whether the part references by the other end (i.e. that not connected with the part)
-					// TODO: take connections without port into account
-					Property otherPart = otherEnd.getPartWithPort();
-					// compare part names, since connector points to parts within the source model
-					if ((otherPart == null) || (copier.get(otherPart) != null)) {
-						copier.copy(smConnector);
-					}
-				}
-			}
-		}
-	}
-
-	private InstanceSpecification node;
-
-	private LazyCopier copier;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/AbstractContainerTrafo.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/AbstractContainerTrafo.java
deleted file mode 100644
index 63f2e73..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/AbstractContainerTrafo.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/********
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.extensions;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.papyrus.designer.components.FCM.ContainerRule;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Package;
-
-
-public abstract class AbstractContainerTrafo {
-
-	public static void init() {
-		containers = new HashMap<Class, AbstractContainerTrafo>();
-	}
-
-	/**
-	 * return the container trafo associated with the tmComponent
-	 *
-	 * @param tmComponent
-	 * @return Container-trafo instance of null
-	 */
-	public static AbstractContainerTrafo get(Class tmComponent) {
-		return containers.get(tmComponent);
-	}
-
-	/**
-	 * Hash map used to identify for which components we already created a container.
-	 * Indexed with components in target model (but before container expansion)
-	 */
-	protected static Map<Class, AbstractContainerTrafo> containers;
-
-	public abstract void createContainer(Class smClass, Class tmClass) throws TransformationException;
-
-	/**
-	 * Create an instance of the container (UML instance specification)
-	 *
-	 * @param tmClass
-	 *            the component within the target model for which we want to create an instance
-	 *
-	 * @param tmExecutorIS
-	 *            the existing instance specification for the component before container expansion.
-	 * @param context
-	 *            Additional information about the container that is used by instance configurators
-	 */
-	public abstract InstanceSpecification createContainerInstance(Class tmClass, InstanceSpecification tmExecutorIS)
-			throws TransformationException;
-
-	/**
-	 * apply a container rule, i.e. add either a container extension or an
-	 * interceptor to the container
-	 *
-	 * @param smContainerRule
-	 *            An container rule
-	 * @param smComponent
-	 *            the application component in the source model
-	 * @param tmComponent
-	 *            the application component in the target model
-	 * @throws TransformationException
-	 */
-	public abstract void applyRule(ContainerRule smContainerRule, Class smComponent, Class tmComponent)
-			throws TransformationException;
-
-	/**
-	 * initialize the transformation. Used by the customTransformation
-	 *
-	 * @param copier
-	 * @param tmCDP
-	 */
-	public void initialize(LazyCopier copier, Package tmCDP) {
-		this.copier = copier;
-		this.tmCDP = tmCDP;
-	}
-	
-	/**
-	 * The instance specification of the created container
-	 */
-	// protected InstanceSpecification containerIS;
-
-	/**
-	 * Copy class from source to target model
-	 */
-	protected LazyCopier copier;
-
-
-	/**
-	 * Is called after a set of rule applications.
-	 * Does nothing by default
-	 */
-	@Override
-	public void finalize() {
-	}
-
-	/**
-	 * The created container implementation (prefixed with tm, since part of
-	 * target model)
-	 */
-	protected Class tmClass;
-
-	/**
-	 * deployment plan within source model
-	 */
-	protected Package smCDP;
-
-	/**
-	 * deployment plan within target model
-	 */
-	protected Package tmCDP;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/BindingHelperExt.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/BindingHelperExt.java
deleted file mode 100644
index c1ea651..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/BindingHelperExt.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 CEA LIST.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.extensions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.FCM.BindingHelper;
-import org.eclipse.papyrus.designer.components.FCM.util.IBindingHelper;
-import org.eclipse.papyrus.designer.components.transformation.core.listeners.PostCopyListener;
-import org.eclipse.papyrus.designer.components.transformation.core.listeners.PreCopyListener;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationRTException;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.TemplateBinding;
-
-
-/**
- * Support for binding helper
- */
-public class BindingHelperExt {
-
-	public static final String IBINDING_HELPER_ID = org.eclipse.papyrus.designer.components.FCM.profile.Activator.PLUGIN_ID + ".fcmBindingHelper"; //$NON-NLS-1$
-
-	/**
-	 *
-	 * @param iConfiguratorName
-	 * @param component
-	 *            containing composite (container)
-	 * @param instance
-	 */
-	public static EObject applyPreHelper(BindingHelper helper, LazyCopier copier, TemplateBinding binding, EObject sourceEObj) {
-		IBindingHelper ihelper = getBindingHelper(helper.getBase_Class().getName());
-		if (sourceEObj instanceof Element) {
-			ihelper.handleElement(binding, (Element) sourceEObj);
-		}
-		if (ihelper instanceof PreCopyListener) {
-			return ((PreCopyListener) ihelper).preCopyEObject(copier, sourceEObj);
-		}
-		return sourceEObj;
-	}
-
-	/**
-	 *
-	 * @param iConfiguratorName
-	 * @param component
-	 *            containing composite (container)
-	 * @param instance
-	 */
-	public static void applyPostHelper(BindingHelper helper, LazyCopier copier, TemplateBinding binding, EObject targetEObj) {
-		IBindingHelper ihelper = getBindingHelper(helper.getBase_Class().getName());
-		if (targetEObj instanceof Element) {
-			ihelper.handleElement(binding, (Element) targetEObj);
-		}
-		if (ihelper instanceof PostCopyListener) {
-			((PostCopyListener) ihelper).postCopyEObject(copier, targetEObj);
-		}
-	}
-
-	public static IBindingHelper getBindingHelper(BindingHelper helper) {
-		if (helper != null) {
-			return getBindingHelper(helper.getBase_Class().getName());
-		}
-		return null;
-	}
-
-	public static IBindingHelper getBindingHelper(String helperName) {
-		IExtensionRegistry reg = Platform.getExtensionRegistry();
-		IConfigurationElement[] configElements = reg.getConfigurationElementsFor(IBINDING_HELPER_ID);
-		for (IConfigurationElement configElement : configElements) {
-			try {
-				final String configHelperName = configElement.getAttribute("bindingHelperName"); //$NON-NLS-1$
-				if (configHelperName.equals(helperName)) {
-					// TODO: cache returned instance (avoid creating a new instance each time => more efficient, no need for static attributes)
-					final Object obj = configElement.createExecutableExtension("class"); //$NON-NLS-1$
-					if (obj instanceof IBindingHelper) {
-						return (IBindingHelper) obj;
-					}
-				}
-			} catch (CoreException exception) {
-				exception.printStackTrace();
-			}
-		}
-		throw new TransformationRTException(
-				String.format("Cannot find binding helper <%s>", helperName));
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/CustomTrafo.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/CustomTrafo.java
deleted file mode 100644
index 0732b91..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/CustomTrafo.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 CEA LIST.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.extensions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.papyrus.designer.components.transformation.core.Activator;
-
-
-/**
- * Support for using customized transformations
- */
-public class CustomTrafo {
-
-	public static final String ICUSTOM_TRAFO_ID = Activator.PLUGIN_ID + ".customTrafo"; //$NON-NLS-1$
-
-	public static AbstractContainerTrafo getCustomTrafo(String transformationID) {
-		IExtensionRegistry reg = Platform.getExtensionRegistry();
-		IConfigurationElement[] configElements = reg.getConfigurationElementsFor(ICUSTOM_TRAFO_ID);
-		for (IConfigurationElement configElement : configElements) {
-			try {
-				final String iTemplateID = configElement.getAttribute("transformationID"); //$NON-NLS-1$
-				if (iTemplateID.equals(transformationID)) {
-					final Object obj = configElement.createExecutableExtension("class"); //$NON-NLS-1$
-					if (obj instanceof AbstractContainerTrafo) {
-						return (AbstractContainerTrafo) obj;
-					}
-				}
-			} catch (CoreException exception) {
-				exception.printStackTrace();
-			}
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/EmbeddingRule.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/EmbeddingRule.java
deleted file mode 100644
index 25346d8..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/EmbeddingRule.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 CEA LIST.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.extensions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.papyrus.designer.components.transformation.core.Activator;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Port;
-
-
-/**
- * Support for embedding rules.
- * CAVEAT: Currently not used, unclear if kept
- */
-@Deprecated
-public class EmbeddingRule {
-
-	public static final String IEMBEDDING_RULE_ID = Activator.PLUGIN_ID + ".embeddingRule"; //$NON-NLS-1$
-
-	/**
-	 *
-	 * @param iConfiguratorName
-	 * @param component
-	 *            containing composite (container)
-	 * @param instance
-	 */
-	public static void embeddExtension(String embeddingRuleID, InstanceSpecification executorIS, InstanceSpecification instance, Port port) {
-		IEmbeddingRule iEmbeddingRule = getEmbeddingRule(embeddingRuleID);
-		if (iEmbeddingRule != null) {
-			iEmbeddingRule.embeddExtension(executorIS, instance, port);
-		}
-	}
-
-	private static IEmbeddingRule getEmbeddingRule(String embeddingRuleID) {
-		IExtensionRegistry reg = Platform.getExtensionRegistry();
-		IConfigurationElement[] configElements = reg.getConfigurationElementsFor(IEMBEDDING_RULE_ID);
-		for (IConfigurationElement configElement : configElements) {
-			try {
-				final String iConfiguratorIDext = configElement.getAttribute("configuratorID"); //$NON-NLS-1$
-				if (iConfiguratorIDext.equals(embeddingRuleID)) {
-					// TODO: cache returned instance (avoid creating a new instance each time => more efficient, no need for static attributes)
-					final Object obj = configElement.createExecutableExtension("class"); //$NON-NLS-1$
-					if (obj instanceof IEmbeddingRule) {
-						return (IEmbeddingRule) obj;
-					}
-				}
-			} catch (CoreException exception) {
-				exception.printStackTrace();
-			}
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/ExternalGenerator.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/ExternalGenerator.java
deleted file mode 100644
index 3b8f7a2..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/ExternalGenerator.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 CEA LIST.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.extensions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.designer.components.transformation.core.Activator;
-import org.eclipse.uml2.uml.Classifier;
-
-
-/**
- * Support for calling an external generator (such as IDL to C++) via the Eclipse extension mechanism
- */
-public class ExternalGenerator {
-
-	public static final String IEXTERNAL_GENERATOR_ID = Activator.PLUGIN_ID + ".externalGenerator"; //$NON-NLS-1$
-
-	/**
-	 *
-	 * @param iConfiguratorName
-	 * @param component
-	 *            containing composite (container)
-	 * @param instance
-	 */
-	public static EList<Classifier> generate(String iGeneratorID, Classifier source) {
-		IExternalGenerator iExternalGenerator = getExternalGenerator(iGeneratorID);
-		if (iExternalGenerator != null) {
-			return iExternalGenerator.generate(source);
-		}
-		return null;
-	}
-
-	private static IExternalGenerator getExternalGenerator(String iGeneratorID) {
-		IExtensionRegistry reg = Platform.getExtensionRegistry();
-		IConfigurationElement[] configElements = reg.getConfigurationElementsFor(IEXTERNAL_GENERATOR_ID);
-		for (IConfigurationElement configElement : configElements) {
-			try {
-				final String iConfiguratorIDext = configElement.getAttribute("extGeneratorID"); //$NON-NLS-1$
-				if (iConfiguratorIDext.equals(iGeneratorID)) {
-					// TODO: cache returned instance (avoid creating a new instance each time => more efficient, no need for static attributes)
-					final Object obj = configElement.createExecutableExtension("class"); //$NON-NLS-1$
-					if (obj instanceof IExternalGenerator) {
-						return (IExternalGenerator) obj;
-					}
-				}
-			} catch (CoreException exception) {
-				exception.printStackTrace();
-			}
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/IEmbeddingRule.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/IEmbeddingRule.java
deleted file mode 100644
index f76825a..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/IEmbeddingRule.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 CEA LIST.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.extensions;
-
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Port;
-
-/**
- * Interface used by Qompass extensions that supports specific embedding rules.
- * CAVEAT: Currently not used, unclear if kept
- */
-@Deprecated
-public interface IEmbeddingRule {
-
-	// TODO: application order?
-	/**
-	 * configure an instance (within a container)
-	 *
-	 * @param executorIS
-	 *            the instance specification of the component that is used as basis for configuring the instance
-	 * @param instance
-	 *            the instance of an element of the container.
-	 * @param port
-	 *            the port within a container transformation for which the instance is used as an interceptor.
-	 *            Is null for "normal" connectors or container extensions is configured.
-	 */
-	public void embeddExtension(InstanceSpecification executorIS, InstanceSpecification instance, Port port);
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/IExternalGenerator.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/IExternalGenerator.java
deleted file mode 100644
index 9c46d9d..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/IExternalGenerator.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 CEA LIST.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.extensions;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.uml2.uml.Classifier;
-
-/**
- * Interface used by Qompass extensions that supports specific external code generators, e.g. CORBA and DDS
- */
-public interface IExternalGenerator {
-
-	/**
-	 * generate a class by means of an external generator
-	 *
-	 * @param source
-	 *            A source element for the generator, e.g. an interface for a CORBA generator
-	 * @returns a list of generated classifiers:
-	 *          Even, if the external generator produces code directly, the Java wrapper should return a set
-	 *          model elements (may be incomplete) that represent the generated elements. For instance, in case
-	 *          of C++, an empty class with the stereotype "extern C" could be returned
-	 */
-	public EList<Classifier> generate(Classifier source);
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/IInstanceConfigurator.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/IInstanceConfigurator.java
deleted file mode 100644
index 89a3d9e..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/IInstanceConfigurator.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 CEA LIST.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.extensions;
-
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Property;
-
-/**
- * Interface used by Qompass extensions that supports specific instance configurators,
- * used for containers.
- */
-public interface IInstanceConfigurator {
-
-	/**
-	 * configure an instance (within a container)
-	 *
-	 * @param instance
-	 *            the instance of an element which should be configured.
-	 * @param componentPart
-	 *            the property that represents the component within the enclosing composite. May be null, if the instance
-	 *            that should be configured is the main instance.
-	 * @param parentInstance
-	 *            the instance specification of the parent, i.e. the enclosing composite. If the instance that should be
-	 *            configured has a container, the parent instance corresponds to the instance specification of this
-	 *            container. This instance specification provides thus access to additional infromation available on the
-	 *            container level.
-	 */
-	public void configureInstance(InstanceSpecification instance, Property componentPart, InstanceSpecification parentInstance);
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/IOOTrafo.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/IOOTrafo.java
deleted file mode 100644
index ba6edb3..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/IOOTrafo.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-package org.eclipse.papyrus.designer.components.transformation.core.extensions;
-
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.uml2.uml.Class;
-
-/**
- * An interface that must be implemented by classes that realize the transformation
- * from component-based to object-oriented models. It includes the replacement of
- * ports and connectors. Ports are
- * replaced with attributes and access operations, connectors within a composite
- * by an operation that creates the initial setup.
- * 
- * 1. add an operation that allows to retrieve the reference to an interface provided
- * by a port. This operation has a mapping specific name, e.g. get_<port_name>
- * 2. add an operation that allows to connect a specific port.
- * the connect_q operation (*including a
- * storage attribute*) for a port with a required interface
- * 3. add an implementation for the getcnx_q operation for a port
- * with a required interface (the operation itself has been added before)
- *
- * Problems: need to align bootloader creation with this mapping, since
- * the bootloader may be responsible for instantiation
- * 
- * Caveat: Assure that the folder derivedInterfaces already exists in a model.
- * Otherwise the call to getProvided/getRequired interface might trigger its
- * creation resulting in the corruption of list iterators (ConcurrentAccess
- * exception)
- *
- * New considerations: could the OO trafo be seen as a specific form of the
- * LwContainerTrafo?
- * [if yes, would that be useful?] Problem: it's not only a merge and operation
- * interception, but additional operation(s) for ports. But, it might well
- * be based on similar mechanisms as in merging in a template + Java code instead
- * of Java code only. Also possible: still have OOTrafo, but there is a collaboration
- * between the OO trafo and a LW container rule.
- */
-public interface IOOTrafo {
-
-	/**
-	 * Initialize the transformation. Pass the copier and the bootloader to the
-	 * transformation in case it is needed by an implementation of this interface.
-	 * @param copier an instance of the lazy copier that copies from source (intermediate) model to the OO model.
-	 * @param bootloader
-	 */
-	public void init(LazyCopier copier, Class bootloader);
-	
-	/**
-	 * Transformations adds operations for accessing ports. A common but not necessary
-	 * code generation pattern is to associate different operations with ports that
-	 * provide services (access operations) and ports requiring services (connection operations)
-	 * 
-	 * @param implementation
-	 *            A component implementation
-	 */
-	public void addPortOperations(Class implementation);
-
-
-	/**
-	 * Add an operation that connects the parts within a composite class based on the
-	 * UML connector information.
-	 *
-	 * @param compositeImplementation
-	 *            A (composite) component implementation
-	 * @throws TransformationException
-	 */
-	public void addConnectionOperation(Class compositeImplementation)
-			throws TransformationException;
-
-	/**
-	 * Transform parts if necessary. This transformation is for target programming languages
-	 * like C++ that support different ways of composition for attributes, i.e. references/pointers
-	 * versus values. In case of the latter, the instantiation of a composite directly implies
-	 * the instantiation of its sub-components. In case of the former, parts need to be instantiated
-	 * by a different mechanism, e.g. by the constructor (which is still a valid correspondence for
-	 * composition in UML at a logical level).
-	 * Another possible use is the support of a more dynamic deployment: it is for instance possible
-	 * to use a use a part-list (single attribute) instead of fixed named attributes.
-	 * 
-	 * @param compositeImplementation
-	 *            A (composite) component implementation
-	 */
-	public void transformParts(Class compositeImplementation);
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/IXtend.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/IXtend.java
deleted file mode 100644
index 93976c6..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/IXtend.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 CEA LIST.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.extensions;
-
-public interface IXtend {
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/InstanceConfigurator.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/InstanceConfigurator.java
deleted file mode 100644
index 780bcbf..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/InstanceConfigurator.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 CEA LIST.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.extensions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.papyrus.designer.components.FCM.ContainerRule;
-import org.eclipse.papyrus.designer.components.FCM.UseInstanceConfigurator;
-import org.eclipse.papyrus.designer.components.transformation.core.Activator;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepUtils;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-
-/**
- * Support for the configuration of instances via the Eclipse extension mechanism
- */
-public class InstanceConfigurator {
-
-	public static final String IINSTANCE_CONFIG_ID = Activator.PLUGIN_ID + ".instanceConfig"; //$NON-NLS-1$
-
-	public static boolean onNodeModel = false;
-
-	/**
-	 * Configure an instance. The configurator is selected by means of a stereotype on the classifier of
-	 * the passed instance.
-	 *
-	 * @see org.eclipse.papyrus.designer.components.transformation.core.extensions.IInstanceConfigurator
-	 * @param instance
-	 *            the specification of instance that should be configured
-	 * @param componentPart
-	 *            the part representing the instance (before container expansion)
-	 * @param port
-	 *            a port within the context of container
-	 */
-	public static void configureInstance(InstanceSpecification instance, Property componentPart, InstanceSpecification parentInstance) {
-		Classifier component = DepUtils.getClassifier(instance);
-		UseInstanceConfigurator useInstanceConfigurator = UMLUtil.getStereotypeApplication(component, UseInstanceConfigurator.class);
-		configureInstance(useInstanceConfigurator, instance, componentPart, parentInstance);
-	}
-
-	/**
-	 * Configure an instance. The configurator is selected by means of a stereotype on the passed container rule.
-	 *
-	 * @see org.eclipse.papyrus.designer.components.transformation.core.extensions.IInstanceConfigurator
-	 * @param rule
-	 *            the applied container rule
-	 * @param instance
-	 *            the specification of instance that should be configured
-	 * @param componentPart
-	 *            the part representing the instance (before container expansion)
-	 * @param port
-	 *            a port within the context of container
-	 */
-	public static void configureInstance(ContainerRule rule, InstanceSpecification instance, Property componentPart, InstanceSpecification parentInstance) {
-		UseInstanceConfigurator useInstanceConfigurator = UMLUtil.getStereotypeApplication(rule.getBase_Class(), UseInstanceConfigurator.class);
-		configureInstance(useInstanceConfigurator, instance, componentPart, parentInstance);
-	}
-
-	/**
-	 * Configure an instance with a given configurator
-	 *
-	 * @param useInstanceConfigurator
-	 * @param instance
-	 * @param componentPart
-	 * @param containerContext
-	 */
-	public static void configureInstance(UseInstanceConfigurator useInstanceConfigurator, InstanceSpecification instance, Property componentPart, InstanceSpecification parentInstance) {
-		if (useInstanceConfigurator != null) {
-			org.eclipse.papyrus.designer.components.FCM.InstanceConfigurator instanceConfigurator = useInstanceConfigurator.getConfigurator();
-			if (instanceConfigurator.isOnNodeModel() == onNodeModel) {
-				if (instanceConfigurator != null) {
-					String id = instanceConfigurator.getBase_Class().getName();
-					IInstanceConfigurator iConfigurator = getInstanceConfigurator(id);
-					if (iConfigurator != null) {
-						iConfigurator.configureInstance(instance, componentPart, parentInstance);
-
-					}
-				}
-			}
-		}
-	}
-
-	protected static IInstanceConfigurator getInstanceConfigurator(String iConfiguratorID) {
-		IExtensionRegistry reg = Platform.getExtensionRegistry();
-		IConfigurationElement[] configElements = reg.getConfigurationElementsFor(IINSTANCE_CONFIG_ID);
-		for (IConfigurationElement configElement : configElements) {
-			try {
-				final String iConfiguratorIDext = configElement.getAttribute("configuratorID"); //$NON-NLS-1$
-				if (iConfiguratorIDext == null) {
-					throw new RuntimeException(String.format(
-							Messages.InstanceConfigurator_InvalidPluginExtension, iConfiguratorID));
-				}
-				if (iConfiguratorIDext.equals(iConfiguratorID)) {
-					// TODO: cache returned instance (avoid creating a new instance each time => more efficient, no need for static attributes)
-					final Object obj = configElement.createExecutableExtension("class"); //$NON-NLS-1$
-					if (obj instanceof IInstanceConfigurator) {
-						return (IInstanceConfigurator) obj;
-					}
-				}
-			} catch (CoreException exception) {
-				exception.printStackTrace();
-			}
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/OOTrafo.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/OOTrafo.java
deleted file mode 100644
index c3fc401..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/OOTrafo.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 CEA LIST.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.extensions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.papyrus.designer.components.transformation.core.Activator;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-
-/**
- * Support for different OO transformation via the Eclipse extension
- * mechanism
- */
-public class OOTrafo {
-
-	public static final String IOO_TRANSFORMATION_ID = Activator.PLUGIN_ID + ".ooTransformation"; //$NON-NLS-1$
-
-	/**
-	 * Get an OOTransformation for a given ID (language)
-	 * 
-	 * @param iOOTrafoID
-	 *            the ID of an OO Transformation
-	 * @return
-	 */
-	public static IOOTrafo getOOTrafo(String iOOTrafoID) {
-		IExtensionRegistry reg = Platform.getExtensionRegistry();
-		IConfigurationElement[] configElements = reg.getConfigurationElementsFor(IOO_TRANSFORMATION_ID);
-		for (IConfigurationElement configElement : configElements) {
-			try {
-				final String iOOTrafoIDext = configElement.getAttribute("ooTrafoID"); //$NON-NLS-1$
-				if (iOOTrafoIDext == null) {
-					throw new RuntimeException(String.format(Messages.InstanceConfigurator_InvalidPluginExtension,
-							iOOTrafoID));
-				}
-				if (iOOTrafoIDext.endsWith("." + iOOTrafoID)) { //$NON-NLS-1$
-					// TODO: cache returned instance (avoid creating a new
-					// instance each time => more efficient, no need for static
-					// attributes)
-					final Object obj = configElement.createExecutableExtension("class"); //$NON-NLS-1$
-					if (obj instanceof IOOTrafo) {
-						return (IOOTrafo) obj;
-					}
-				}
-			} catch (CoreException exception) {
-				exception.printStackTrace();
-			}
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/XtendGenerator.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/XtendGenerator.java
deleted file mode 100644
index 8fac881..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/extensions/XtendGenerator.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 CEA LIST.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.extensions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.papyrus.designer.components.transformation.core.Activator;
-
-
-/**
- * Support for embedding xtend templates
- */
-public class XtendGenerator {
-
-	public static final String ITEMPLATE_ID = Activator.PLUGIN_ID + ".xtendGenerator"; //$NON-NLS-1$
-
-	public static IXtend getXtendGenerator(String generatorID) {
-		IExtensionRegistry reg = Platform.getExtensionRegistry();
-		IConfigurationElement[] configElements = reg.getConfigurationElementsFor(ITEMPLATE_ID);
-		for (IConfigurationElement configElement : configElements) {
-			try {
-				final String iTemplateID = configElement.getAttribute("templateID"); //$NON-NLS-1$
-				if (iTemplateID.equals(generatorID)) {
-					final Object obj = configElement.createExecutableExtension("class"); //$NON-NLS-1$
-					if (obj instanceof IXtend) {
-						return (IXtend) obj;
-					}
-				}
-			} catch (CoreException exception) {
-				exception.printStackTrace();
-			}
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/generate/GenerateCode.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/generate/GenerateCode.java
deleted file mode 100644
index 2c112ee..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/generate/GenerateCode.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.transformation.core.generate;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.ModelManagement;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.designer.languages.common.extensionpoints.ILangCodegen;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.PackageableElement;
-
-public class GenerateCode {
-
-	public GenerateCode(IProject genProject, ILangCodegen codegen, ModelManagement genMM, IProgressMonitor monitor) {
-		this.genProject = genProject;
-		this.genMM = genMM;
-		this.monitor = monitor;
-		this.codegen = codegen;
-	}
-
-	public void generate(InstanceSpecification node, String targetLanguage, boolean differential)
-			throws TransformationException, InterruptedException
-	{
-		String path = genMM.getPath(genProject, "model", null); //$NON-NLS-1$
-		Package genModel = genMM.getModel();
-
-		genMM.saveModel(path);
-
-		monitor.worked(1);
-		if (genProject == null) {
-			return;
-		}
-
-		if (node == null) {
-			monitor.setTaskName(String.format(Messages.GenerateCode_GeneratingCode, targetLanguage));
-		}
-		else {
-			monitor.setTaskName(String.format(Messages.GenerateCode_GeneratingCodeForNode, targetLanguage, node.getName()));
-		}
-		IFolder folder = genProject.getFolder(genModel.getName());
-		try {
-			folder.delete(true, null);
-		} catch (CoreException e) {
-			throw new TransformationException(String.format(Messages.GenerateCode_CouldNotDeleteOldCode, e.getMessage()));
-		}
-		codegen.generateCode(genProject, genModel, monitor);
-
-		if (monitor.isCanceled()) {
-			return;
-		}
-		monitor.worked(1);
-	}
-
-	/**
-	 * @param element
-	 * @return
-	 */
-	public PackageableElement getNearestClassifierOrPackage(Element element) {
-		while (element != null) {
-			if (element instanceof Classifier) {
-				return (Classifier) element;
-			}
-			if (element instanceof Package) {
-				return (Package) element;
-			}
-			element = element.getOwner();
-		}
-		return null;
-	}
-
-	/*
-	 * public void deleteRemovedClasses(EObject diffModelOrElement) throws TransformationException {
-	 * EList<DiffElement> diffs;
-	 * if(diffModelOrElement instanceof DiffModel) {
-	 * diffs = ((DiffModel)diffModelOrElement).getDifferences();
-	 * }
-	 * else if(diffModelOrElement instanceof DiffElement) {
-	 * diffs = ((DiffElement)diffModelOrElement).getSubDiffElements();
-	 * }
-	 * else {
-	 * return;
-	 * }
-	 * for(DiffElement diff : diffs) {
-	 * EObject modifiedEObj = null;
-	 *
-	 * if(diff.getKind() == DifferenceKind.DELETION) {
-	 * if(diff instanceof AttributeChange) {
-	 * modifiedEObj = ((AttributeChange)diff).getRightElement();-
-	 * }
-	 * else if(diff instanceof ModelElementChangeRightTarget) {
-	 * modifiedEObj = ((ModelElementChangeRightTarget)diff).getRightElement();
-	 * }
-	 * }
-	 * else if(diff.getKind() == DifferenceKind.CHANGE) {
-	 * if(diff instanceof AttributeChange) {
-	 * modifiedEObj = ((AttributeChange)diff).getRightElement();
-	 * }
-	 * }
-	 * if(modifiedEObj instanceof PackageableElement) {
-	 * // => delete tree
-	 * langSupport.cleanCode(monitor, (PackageableElement)modifiedEObj);
-	 * }
-	 * // no recursion needed?
-	 * // deleteRemovedClasses(diff);
-	 * }
-	 * }
-	 */
-
-	private ModelManagement genMM;
-
-	private IProject genProject;
-
-	private IProgressMonitor monitor;
-
-	private ILangCodegen codegen;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/generate/GenerationOptions.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/generate/GenerationOptions.java
deleted file mode 100644
index 6566147..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/generate/GenerationOptions.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.transformation.core.generate;
-
-/**
- * Constants for generation options (must be powers of 2)
- *
- * @author ansgar
- *
- */
-public interface GenerationOptions {
-
-	final public static int REWRITE_SETTINGS = 1;
-
-	final public static int ONLY_CHANGED = 2;
-
-	final public static int MODEL_ONLY = 4;
-
-	final public static int CAC_ONLY = 8;
-
-};
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/DepPlanListener.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/DepPlanListener.java
deleted file mode 100644
index d8d00b9..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/DepPlanListener.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.listeners;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.papyrus.designer.components.FCM.DeploymentPlan;
-import org.eclipse.papyrus.infra.core.listenerservice.IPapyrusListener;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * A model listener that updates a deployment plan, e.g. add, remove or
- * rename instance specifications , if the composites referenced
- * by a deployment plan change. Since the code is very incomplete, it is
- * currently not used. It needs to be clarified what changes are useful,
- * in particular whether delete operations in a composite should immediately
- * remove the associate slot in instance specifications of the composite and the
- * referenced instance specifications.
- *
- * @author ansgar
- *
- */
-public class DepPlanListener implements IPapyrusListener {
-
-	@Override
-	public void notifyChanged(Notification notification) {
-		// TODO Auto-generated method stub
-		int evtType = notification.getEventType();
-		Object notifier = notification.getNotifier();
-		// String name = "";
-
-		if (evtType == Notification.SET) {
-			// Object oldValue = notification.getOldValue ();
-			if (notifier instanceof Package) {
-				DeploymentPlan de = UMLUtil.getStereotypeApplication((Package) notifier, DeploymentPlan.class);
-				Object mainInstance = (de != null) ? de.getMainInstance() : null;
-				if (mainInstance instanceof InstanceSpecification) {
-					// TODO user wants to declare the system component, the instance specification should be created
-					// automatically
-
-				}
-				// if ((oldValue instanceof ) && (notifier instanceof Class)) {
-			}
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/InterfaceListener.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/InterfaceListener.java
deleted file mode 100644
index 816db2d..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/InterfaceListener.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.listeners;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.papyrus.infra.core.listenerservice.IPapyrusListener;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.papyrus.designer.components.transformation.core.sync.CompImplSync;
-import org.eclipse.uml2.uml.BehavioralFeature;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Interface;
-
-public class InterfaceListener implements IPapyrusListener {
-
-	public static InterfaceListener getInstance() {
-		if (instance == null) {
-			instance = new InterfaceListener();
-		}
-		return instance;
-	}
-
-	private static InterfaceListener instance = null;
-
-	@Override
-	public void notifyChanged(Notification notification) {
-		Log.log(IStatus.INFO, Log.TRAFO_SYNC, "Interface adapter"); //$NON-NLS-1$
-		int evtType = notification.getEventType();
-		Object notifier = notification.getNotifier();
-		if (evtType == Notification.SET) {
-			if (notifier instanceof Class) {
-				// UMLExecutor.addCCM_intf ((Class) notifier);
-			}
-		} else if (evtType == Notification.ADD) {
-
-			if (notifier instanceof Interface) {
-				// Interface intf = (Interface) notifier;
-
-				// never executed since name is always unset when
-				// an operation is newly added
-			}
-		} else if (evtType == Notification.REMOVE) {
-			Object oldValue = notification.getOldValue();
-			if (oldValue instanceof BehavioralFeature) {
-				BehavioralFeature toBeRemoved = (BehavioralFeature) oldValue;
-
-				Interface intf = (Interface) notifier;
-				CompImplSync.syncViaInterface(intf, toBeRemoved);
-			}
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/ModelListener.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/ModelListener.java
deleted file mode 100644
index 90df4e1..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/ModelListener.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.listeners;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.papyrus.infra.core.listenerservice.IPapyrusListener;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.uml2.uml.Interface;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.Parameter;
-import org.eclipse.uml2.uml.Port;
-
-/**
- * Main listener for model changes (registered via plugin.xml). It will delegate
- * to the sub-listeners for specific sub-elements (type, operation, port, ...) that
- * can be found in this package
- *
- * @author ansgar
- *
- */
-public class ModelListener implements IPapyrusListener {
-
-	@Override
-	public void notifyChanged(Notification notification) {
-		Log.log(IStatus.INFO, Log.TRAFO_SYNC, String.format("ModelListener.notifyChanged: %s", notification.getFeature()));
-		Object notifier = notification.getNotifier();
-		if (notifier instanceof NamedElement) {
-			String name = ((NamedElement) notifier).getName();
-			Log.log(IStatus.INFO, Log.TRAFO_SYNC, "Change notification for element: " + name);
-		}
-
-		if (notifier instanceof Operation) {
-			OperationListener.getInstance().notifyChanged(notification);
-		} else if (notifier instanceof Parameter) {
-			ParameterListener.getInstance().notifyChanged(notification);
-		} else if (notifier instanceof Interface) {
-			InterfaceListener.getInstance().notifyChanged(notification);
-		} else if (notifier instanceof Port) {
-			PortListener.getInstance().notifyChanged(notification);
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/OperationListener.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/OperationListener.java
deleted file mode 100644
index f219115..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/OperationListener.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.listeners;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.papyrus.infra.core.listenerservice.IPapyrusListener;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.papyrus.designer.components.transformation.core.sync.CompImplSync;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Interface;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Operation;
-
-/**
- * Track changes of an operation, typically within an interface provided
- * by a port. This is used to update derived oeprations, e.g. when parameters
- * are added or removed.
- *
- * @author ansgar
- *
- */
-public class OperationListener implements IPapyrusListener {
-
-	// TODO: used by TypeAdapter (useful??)
-	public static OperationListener getInstance() {
-		if (instance == null) {
-			instance = new OperationListener();
-		}
-		return instance;
-	}
-
-	private static OperationListener instance = null;
-
-	@Override
-	public void notifyChanged(Notification notification) {
-		int evtType = notification.getEventType();
-		Object notifier = notification.getNotifier();
-		String name = ""; //$NON-NLS-1$
-		if (notifier instanceof NamedElement) {
-			name = ((NamedElement) notifier).getName();
-		}
-		if ((evtType == Notification.SET) || (evtType == Notification.ADD)) {
-			Log.log(IStatus.INFO, Log.TRAFO_SYNC, "Operation.adapter, set " + name);
-
-			if (notifier instanceof Operation) {
-				Operation operation = (Operation) notifier;
-
-				Element owner = operation.getOwner();
-				if (owner instanceof Interface) {
-					Interface intf = (Interface) owner;
-					CompImplSync.syncViaInterface(intf);
-				}
-			}
-		} else {
-			Log.log(IStatus.INFO, Log.TRAFO_SYNC, "Operation.adapter, code: " + notification.getEventType() + ", name: " + name);
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/ParameterListener.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/ParameterListener.java
deleted file mode 100644
index 9fb21b9..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/ParameterListener.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.listeners;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.papyrus.infra.core.listenerservice.IPapyrusListener;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.papyrus.designer.components.transformation.core.sync.CompImplSync;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Interface;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.Parameter;
-
-public class ParameterListener implements IPapyrusListener {
-
-	public static ParameterListener getInstance() {
-		if (instance == null) {
-			instance = new ParameterListener();
-		}
-		return instance;
-	}
-
-	private static ParameterListener instance = null;
-
-	@Override
-	public void notifyChanged(Notification notification) {
-		int evtType = notification.getEventType();
-		Object notifier = notification.getNotifier();
-		String name = ""; //$NON-NLS-1$
-		if (notifier instanceof NamedElement) {
-			name = ((NamedElement) notifier).getName();
-		}
-		if ((evtType == Notification.SET) || (evtType == Notification.ADD)) {
-			Log.log(IStatus.INFO, Log.TRAFO_SYNC, "Parameter.adapter, set " + name);
-
-			if (notifier instanceof Parameter) {
-				Element owner = ((Parameter) notifier).getOwner();
-				if (owner instanceof Operation) {
-					owner = owner.getOwner();
-					if (owner instanceof Interface) {
-						CompImplSync.syncViaInterface((Interface) owner);
-					}
-				}
-			}
-		} else {
-			Log.log(IStatus.INFO, Log.TRAFO_SYNC, "Parameter.adapter, code: " + notification.getEventType() + ", name: " + name);
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/PortListener.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/PortListener.java
deleted file mode 100644
index 0b14154..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/PortListener.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.listeners;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.ENamedElement;
-import org.eclipse.papyrus.infra.core.listenerservice.IPapyrusListener;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.papyrus.designer.components.transformation.core.sync.CompTypeSync;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Port;
-
-public class PortListener implements IPapyrusListener {
-
-	public Notifier getTarget() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public static PortListener getInstance() {
-		if (instance == null) {
-			instance = new PortListener();
-		}
-		return instance;
-	}
-
-	private static PortListener instance;
-
-
-	public boolean isAdapterForType(Object type) {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	@Override
-	public void notifyChanged(Notification notification) {
-		int evtType = notification.getEventType();
-		Object notifier = notification.getNotifier();
-
-		if (evtType == Notification.SET) {
-			Log.log(IStatus.INFO, Log.TRAFO_SYNC, "Port adapter, set: " + ((NamedElement) notifier).getName());
-			Object obj = notification.getFeature();
-			if (notifier instanceof Port) {
-				Port port = (Port) notifier;
-				if (obj instanceof ENamedElement) {
-					ENamedElement ne = (ENamedElement) obj;
-					if (ne.getName().equals("name")) {
-						String oldName = notification.getOldStringValue();
-						CompTypeSync.renamePort((Class) port.getOwner(), port, oldName);
-						// profile modifications are also be indicated as name changes, but might imply a change
-						// of provided and required interfaces.
-						CompTypeSync.syncPort((Class) port.getOwner(), port);
-					} else if (ne.getName().equals("type")) {
-						// CompTypeSync.syncPort((Class) port.getOwner(), port);
-					}
-				}
-			}
-		} else {
-			Log.log(IStatus.INFO, Log.TRAFO_SYNC, "Port adapter, code: " + notification.getEventType() + ", " + notifier);
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/PostCopyListener.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/PostCopyListener.java
deleted file mode 100644
index bea0a26..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/PostCopyListener.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.listeners;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-
-/**
- * Interface for listeners that are notified when an eObject
- * is copied
- *
- * @see org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier
- */
-public interface PostCopyListener {
-
-	/**
-	 * Is called for each EObject after is has been copied.
-	 *
-	 * @param targetEObj
-	 *            the EObject that has been copied
-	 */
-	public void postCopyEObject(LazyCopier copy, EObject targetEObj);
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/PreCopyListener.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/PreCopyListener.java
deleted file mode 100644
index e0be0a5..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/listeners/PreCopyListener.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.listeners;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-
-/**
- * Interface for listeners that are notified when an eObject
- * is copied
- *
- * @see org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier
- */
-public interface PreCopyListener {
-
-	/**
-	 * Is called for each EObject that is copied. If it returns null, the
-	 * indicated object should not be copied. If it returns an object that
-	 * differs from the passed sourceEObj, this object is used (the returned
-	 * object of the first listener that returns a different object is used).
-	 * An exception is the specific "useSourceEObject" within the lazy
-	 * copier: if this object is returned, no copy is done
-	 *
-	 * @param sourceEObj
-	 *            the added classifier
-	 */
-	public EObject preCopyEObject(LazyCopier copier, EObject sourceEObj);
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/make/GenerateMakefile.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/make/GenerateMakefile.java
deleted file mode 100644
index d1d9691..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/make/GenerateMakefile.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Manel Fredj
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.make;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-
-import org.eclipse.papyrus.designer.components.transformation.core.Activator;
-
-/*
- * TODO:
- *  - Currently not used (and unclear, if useful)
- *
- * 	- Determination of root folder
- * 	- files within fileList have relative folder names? (if not assure)
- *  - supporting def file (not only for Accord)
- *  - integration with execution
- */
-
-/**
- * Generate a makefile based on found source files, i.e. .cpp files
- *
- * @author manel
- *
- */
-@Deprecated
-public class GenerateMakefile {
-
-	/**
-	 * Makefile Generation Algorithm:
-	 * For each Node
-	 * include $(ROOT_PATH)/Makefile.defs
-	 * NAME = Util
-	 * SRCS =\
-	 * File1.cpp\
-	 * File2.cpp\
-	 * ...
-	 * FileN.cpp
-	 * include $(ROOT_PATH)/Makefile.rules
-	 */
-	public static void generate() {
-		ArrayList<String> fileList = new ArrayList<String>();
-		ArrayList<String> folderList = new ArrayList<String>();
-		ArrayList<String> nodeList = new ArrayList<String>();
-		ArrayList<String> nodeSources = new ArrayList<String>();
-
-		ShowFiles showFiles = new ShowFiles("/local/home/ansgar/workspace-v3.3/TestCppProject/AluSocketGen"); //$NON-NLS-1$
-
-		showFiles.getFilesRec(fileList, folderList);
-		nodeList = showFiles.findNodesDir(folderList);
-		for (String node : nodeList) {
-			nodeSources = showFiles.getNodeSources(fileList, node);
-			String nodePath = showFiles.getRootPath() + File.pathSeparator + node + File.pathSeparator + "Makefile"; //$NON-NLS-1$
-			createFileList(nodePath, nodeSources, node);
-		}
-	}
-
-	/**
-	 * Create a list of .cpp files
-	 *
-	 * @param fileName
-	 * @param cppFileList
-	 * @param NodeName
-	 */
-	public static void createFileList(String fileName, ArrayList<String> cppFileList, String NodeName) {
-		// create the makefile
-		try {
-			java.io.File makefile = new java.io.File(fileName);
-
-			makefile.createNewFile();
-			// not avail in Java 1.5?
-			// makefile.setWritable(true);
-
-			FileOutputStream writer = new java.io.FileOutputStream(makefile);
-
-			writer.write("include $(ACCORD_ROOT)/Makefile.defs\n\n".getBytes()); //$NON-NLS-1$
-			writer.write(("NAME=" + NodeName + "\n\n").getBytes()); //$NON-NLS-1$ //$NON-NLS-2$
-
-			// Calculate list of sources
-			writer.write("SRCS=\\\n".getBytes()); //$NON-NLS-1$
-
-			if (cppFileList != null && cppFileList.size() != 0) {
-
-				// Calculate list of .cpp files
-				for (int i = 0; i < cppFileList.size(); i++) {
-					writer.write(("\t" + cppFileList.get(i)).getBytes()); //$NON-NLS-1$
-					if (i < cppFileList.size() - 1) {
-						// add \ to all but last item
-						writer.write("\\".getBytes()); //$NON-NLS-1$
-					}
-					writer.write("\n".getBytes()); //$NON-NLS-1$
-				}
-			}
-			writer.write("\n".getBytes()); //$NON-NLS-1$
-
-			writer.write("include $(ACCORD_ROOT)/Makefile.rules".getBytes()); //$NON-NLS-1$
-
-			writer.flush();
-			writer.close();
-		} catch (IOException e) {
-			Activator.log.error(e);
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/make/ShowFiles.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/make/ShowFiles.java
deleted file mode 100644
index 90d88ed..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/make/ShowFiles.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.make;
-
-import java.io.File;
-import java.util.ArrayList;
-
-@Deprecated
-public class ShowFiles {
-
-	/**
-	 * Initialize the ShowFiles class
-	 *
-	 * @param rootPath
-	 *            the path of a folder, that in turn contains a set of folders. It is assume that the
-	 *            latter contain code related to a specific node
-	 */
-	public ShowFiles(String rootPath) {
-		m_rootPath = rootPath;
-	}
-
-	private String m_rootPath;
-
-	public String getRootPath() {
-		return m_rootPath;
-	}
-
-	/**
-	 * takes as input the list of all directories that are included under a root path (allDir), and
-	 * the root path (in case different from ACCORD_ROOT), and potentially, a list of (non empty) files,
-	 * which will be enriched with the set of source files (.cpp) under all directories under the root path
-	 */
-	public void getFilesRec(ArrayList<String> allFiles, ArrayList<String> allDir) {
-		getFilesRec(allFiles, allDir, m_rootPath);
-	}
-
-
-	public void getFilesRec(ArrayList<String> fileList, ArrayList<String> folderList, String root) {
-		File f = new File(root);
-		File[] listFiles = f.listFiles();
-		for (File file : listFiles) {
-			if (file.isDirectory()) {
-				// call recursively with
-				getFilesRec(fileList, folderList, file.toString());
-				folderList.add(file.toString());
-			} else {
-				if (file.toString().endsWith(".cpp")) { //$NON-NLS-1$
-					// found a C++ file
-					fileList.add(file.toString());
-				}
-			}
-		}
-	}
-
-	/**
-	 * takes as input the list of all directories that are included under a root path (folderList),
-	 * in order to provide as a result the subset of directories, corresponding to the nodes
-	 */
-	public ArrayList<String> findNodesDir(ArrayList<String> folderList) {
-		ArrayList<String> allNodes = new ArrayList<String>();
-		for (String dir : folderList) {
-			String tmp = dir.replaceFirst(m_rootPath, ""); //$NON-NLS-1$
-			// all the nodes are at the level (ACCORD_ROOT + 1)
-			tmp = tmp.trim().replaceFirst(File.pathSeparator, ""); //$NON-NLS-1$
-			if (!tmp.contains(File.pathSeparator)) {
-				allNodes.add(tmp.trim());
-			}
-		}
-		return allNodes;
-	}
-
-	/**
-	 * takes as input the list of all files that are included under ACCORD_ROOT path (allFiles), and
-	 * the node name (nodeName) in order to provide as a result the subset of files, corresponding to the
-	 * sources of the node (NodeName)
-	 */
-	public ArrayList<String> getNodeSources(ArrayList<String> allFiles, String nodeName) {
-		ArrayList<String> sourceFilesPath = new ArrayList<String>();
-
-		for (String filePath : allFiles) {
-			if (filePath.contains(nodeName)) {
-				// path is related to given node
-				int index = filePath.indexOf(nodeName);
-				String tmp = filePath.substring(index);
-				index = tmp.indexOf(File.pathSeparator);
-				tmp = tmp.substring(index + 1);
-				sourceFilesPath.add(tmp.trim());
-			}
-		}
-		return sourceFilesPath;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/preferences/PapyrusDesignerPreferenceConstants.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/preferences/PapyrusDesignerPreferenceConstants.java
deleted file mode 100644
index 0401cdd..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/preferences/PapyrusDesignerPreferenceConstants.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2012 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.designer.components.transformation.core.preferences;
-
-/**
- * Constant definitions for plug-in preferences
- */
-public class PapyrusDesignerPreferenceConstants {
-
-	/**
-	 * For attributes, the default "aggregation kind" value is "none". When this option is set
-	 * it will be treated as composite
-	 */
-	public static final String P_TREAT_NONE_AS_COMPOSITE = "treatNoneAsComposite"; //$NON-NLS-1$
-
-	public static final String P_ALL_ATTRIBUTES_ARE_CONFIG_ATTRIBUTES = "allAttributesAreConfigAttributes"; //$NON-NLS-1$
-
-	public static final String P_SHOW_PROV_REQ_AS_PORT_ICONS = "showProvReqAsPortIcons"; //$NON-NLS-1$
-
-	public static final String P_CODE_GEN_PREFIX = "codeGenPrefix"; //$NON-NLS-1$
-
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/sync/CompImplSync.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/sync/CompImplSync.java
deleted file mode 100644
index 10c63a2..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/sync/CompImplSync.java
+++ /dev/null
@@ -1,451 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.sync;
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.papyrus.designer.components.FCM.DerivedElement;
-import org.eclipse.papyrus.designer.components.transformation.core.CommandSupport;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.OperationUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.PortInfo;
-import org.eclipse.papyrus.designer.components.transformation.core.PortUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.PrefixConstants;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.UpdateUtils;
-import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
-import org.eclipse.uml2.uml.Behavior;
-import org.eclipse.uml2.uml.BehavioralFeature;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.ConnectorEnd;
-import org.eclipse.uml2.uml.DirectedRelationship;
-import org.eclipse.uml2.uml.Generalization;
-import org.eclipse.uml2.uml.Interface;
-import org.eclipse.uml2.uml.InterfaceRealization;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.UMLPackage;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * Synchronize component implementation classes.
- * An implementation depends on the component type in the following way:
- * (1) It has to realize the interfaces that are provided by the components ports, unless
- * the port is delegated
- * (1b) For each realized interface, its operations need to be implemented (the tool should detect and report
- * double entries which can be resolved via delegation)
- * (2) It can use interface that are required by the component ports. These changes are reflected in the
- * context object, but are currently not propagated on an implementation level.
- *
- * The first aspect may be triggered by
- * (a) modification of the port (name, kind or type)
- * (b) modification due to changes of the interface: rename the interface itself or add, remove or rename operations
- * and add, remove or rename parameters.
- *
- * InterfaceRealizations are implemented by means of stereotyped generalizations. This has the advantage
- * that the operation itself is inherited and does not have to be synchronized.
- *
- * @author ansgar
- *
- */
-public class CompImplSync {
-
-	public static void syncViaInterface(Interface intf) {
-		syncViaInterface(intf, null);
-	}
-
-	/**
-	 * Delegate a synchronization operation to one or more implementations when an interface
-	 * (which may have changed) is given. I.e. this operation is called when an operation
-	 * of an implemented interface is added, removed or modified.
-	 *
-	 * @param an
-	 *            interface which may be implemented by a set of component implementations.
-	 * @param port
-	 */
-	public static void syncViaInterface(Interface intf, BehavioralFeature toBeRemoved) {
-		// find all implementations of this interface
-		for (DirectedRelationship relationship : intf.getTargetDirectedRelationships(UMLPackage.eINSTANCE.getInterfaceRealization())) {
-			InterfaceRealization ir = (InterfaceRealization) relationship;
-			Classifier cl = ir.getImplementingClassifier();
-			if (cl instanceof Class) {
-				Log.log(IStatus.INFO, Log.TRAFO_SYNC, String.format(Messages.CompImplSync_InfoSyncIntf, cl.getName()));
-				Class implementation = (Class) cl;
-				// syncRealizations (implementation);
-				CompImplSync.interfaceModifications(implementation, toBeRemoved);
-			}
-		}
-	}
-
-	/**
-	 * Delegate a synchronization operation to one or more implementations when a component
-	 * type is given.
-	 * The function will in particular handle realization operations due to provided
-	 * ports and the behaviors associated with it (e.g. opaque-behaviors implementing the provided
-	 * operations of a component)
-	 *
-	 * @param a
-	 *            component type or a realized interface
-	 * @param port
-	 */
-	public static boolean syncViaType(Class compType, boolean addOnly) {
-		// find all implementations ...
-		boolean foundGeneralization = false;
-		for (DirectedRelationship relationship : compType.getTargetDirectedRelationships(UMLPackage.eINSTANCE.getGeneralization())) {
-			if (relationship instanceof Generalization) {
-				foundGeneralization = true;
-				Classifier cl = ((Generalization) relationship).getSpecific();
-				if (cl instanceof Class) {
-					Log.log(IStatus.INFO, Log.TRAFO_SYNC, String.format(Messages.CompImplSync_InfoSyncViaType, cl.getName()));
-					Class implementation = (Class) cl;
-					updatePorts(implementation);
-					if (Utils.isCompImpl(cl)) {
-						// add realization relationship only for implementations
-						if (addOnly) {
-							addRealizations(implementation);
-							// syncContextOps (implementation, false);
-						} else {
-							syncRealizations(implementation);
-							// syncContextOps (implementation, true);
-						}
-					}
-				}
-			}
-		}
-		return foundGeneralization;
-	}
-
-	/*
-	 * public static void renamePortViaType (Class compType, Port port, String oldName)
-	 * {
-	 * // find all implementations ...
-	 * for (DirectedRelationship relationship :
-	 * compType.getTargetDirectedRelationships (UMLPackage.eINSTANCE.getGeneralization ()))
-	 * {
-	 * if (relationship instanceof Generalization) {
-	 * Classifier cl = ((Generalization) relationship).getSpecific ();
-	 * if (cl instanceof Class) {
-	 * renamePort ((Class) cl, port, oldName);
-	 * }
-	 * }
-	 * }
-	 * }
-	 */
-
-	/**
-	 * Update the ports of a class, i.e. recalculate its derived interfaces
-	 *
-	 * @param component
-	 * @param port
-	 */
-	public static void updatePorts(Class implementation) {
-		for (Port port : PortUtils.getAllPorts(implementation)) {
-			org.eclipse.papyrus.designer.components.FCM.Port fcmPort = UMLUtil.getStereotypeApplication(port, org.eclipse.papyrus.designer.components.FCM.Port.class);
-			// verify if in same eResource (= editable)
-			if ((fcmPort != null) && (port.eResource() == implementation.eResource())) {
-				fcmPort.update();
-			}
-		}
-	}
-
-	/**
-	 * Add an interface realization relationship from an implementation (Class) towards an interface
-	 *
-	 * @param implementation
-	 *            A component implementation
-	 * @param providedIntf
-	 *            The interface that is provided at one of its port
-	 */
-	protected static void addRealization(final Class implementation, final Interface providedIntf) {
-		if (!hasRealization(implementation, providedIntf)) {
-			InterfaceRealization ir =
-					implementation.createInterfaceRealization(calcRealizationName(providedIntf), providedIntf);
-			ir.getClients().add(implementation);
-			ir.getSuppliers().add(providedIntf);
-		}
-	}
-
-	/**
-	 * Calculate the name of an interface realization towards an interface that is
-	 * provided at one of its ports
-	 *
-	 * @param providedIntf
-	 *            an interface provided by a component
-	 * @return the calculated name
-	 */
-	protected static String calcRealizationName(Interface providedIntf) {
-		String name = providedIntf.getName();
-		if (name == null) {
-			name = "undefined"; //$NON-NLS-1$
-		}
-		return "derived realization of " + name; //$NON-NLS-1$
-	}
-
-	/**
-	 * return existing interface-realization relationship
-	 *
-	 * @param implementation
-	 * @param intf
-	 * @return
-	 */
-	protected static InterfaceRealization getRealization(Class implementation, Interface intf) {
-		return implementation.getInterfaceRealization(null, intf);
-	}
-
-	/**
-	 * check, whether an interface-realization relationship already exists
-	 *
-	 * @param implementation
-	 * @param intf
-	 * @return
-	 */
-	protected static boolean hasRealization(Class implementation, Interface intf) {
-		return getRealization(implementation, intf) != null;
-	}
-
-	/**
-	 * Synchronize realization (generalization) relationship.
-	 *
-	 * @param implementation
-	 * @param port
-	 */
-	public static void syncRealizations(Class implementation) {
-		EList<Interface> providedIntfs = addRealizations(implementation);
-		removeRealizations(providedIntfs, implementation);
-	}
-
-	/**
-	 * add derived realization relationships of a component implementation
-	 * due to provided interfaces of its ports
-	 *
-	 * TODO: depends on OOTrafo, duplicate functionality
-	 * 
-	 * @param implementation a component implementation
-	 */
-	public static EList<Interface> addRealizations(Class implementation) {
-		// create a list of all provided interfaces and check whether realization relationship
-		// exists. If not, create
-		EList<Interface> providedIntfs = new BasicEList<Interface>();
-		for (PortInfo portInfo : PortUtils.flattenExtendedPorts(PortUtils.getAllPorts2(implementation))) {
-			Interface providedIntf = portInfo.getProvided();
-			// check, if there is a getter already. In this case, we assume that we should not synchronize
-			// operations
-			String opName = PrefixConstants.getP_Prefix + portInfo.getName();
-			if (implementation.getOwnedOperation(opName, null, null) != null) {
-				continue;
-			}
-			ConnectorEnd connEnd = ConnectorUtil.getDelegation(implementation, portInfo.getPort());
-			// check that there is no delegation to a part which in turn has to implement the operations.
-			if ((providedIntf != null) && (connEnd == null)) {
-				if (providedIntfs.contains(providedIntf)) {
-					// emit warning that more than one provider for same interface
-					Log.log(IStatus.WARNING, Log.TRAFO_SYNC, "The interface " + providedIntf.getName() + //$NON-NLS-1$
-							" is provided by more than one port of class <" + implementation.getQualifiedName() + //$NON-NLS-1$
-							">, inputs would therefore be undistinguishable"); //$NON-NLS-1$
-				}
-				providedIntfs.add(providedIntf);
-				InterfaceRealization ir = getRealization(implementation, providedIntf);
-				if (ir == null) {
-					addRealization(implementation, providedIntf);
-				} else {
-					String name = calcRealizationName(providedIntf);
-					if (!name.equals(ir.getName())) {
-						ir.setName(name);
-					}
-				}
-			}
-		}
-		return providedIntfs;
-	}
-
-	/**
-	 * remove derived realization relationships of a component implementation
-	 * due to provided interfaces of its ports, i.e. remove those for which the
-	 * port no longer provides the interface.
-	 *
-	 * @param implementation
-	 */
-	private static void removeRealizations(EList<Interface> providedIntfs, final Class implementation) {
-		// now loop through all interface realization relations and remove those that are not
-		// related to a provided port.
-		final EList<InterfaceRealization> toBeRemoved = new BasicEList<InterfaceRealization>();
-		for (InterfaceRealization ir : implementation.getInterfaceRealizations()) {
-			String name = ir.getName();
-			// automatically added interface realization is identified via its name (simpler
-			// compared to use of stereotype)
-			if ((name != null) && name.startsWith("derived")) { //$NON-NLS-1$
-				Interface inheritedIntf = ir.getContract();
-				if (!providedIntfs.contains(inheritedIntf)) {
-					toBeRemoved.add(ir);
-				}
-			}
-		}
-		if (toBeRemoved.size() > 0) {
-			// remove InterfaceRealization, since not part of provided interfaces
-			CommandSupport.exec(TransactionUtil.getEditingDomain(implementation), Messages.CompImplSync_InfoSyncViaImpl, new Runnable() {
-
-				@Override
-				public void run() {
-					// implCopy = implementation;
-					for (InterfaceRealization ir : toBeRemoved) {
-						ir.destroy();
-					}
-				}
-			});
-		}
-	}
-
-	/**
-	 * The interface that types a port has been modified. Subsequently, the names of
-	 * methods have to be adapted accordingly, methods have to be removed or added
-	 *
-	 * @param implementation
-	 * @param port
-	 * @param newName
-	 */
-	public static void interfaceModifications(Class implementation, BehavioralFeature toBeRemoved) {
-		syncDerivedOperations(implementation);
-
-		EList<Operation> ownedOperations = implementation.getOwnedOperations();
-		// loop through all methods, adapt name according to specification name.
-		Iterator<Behavior> behaviors = implementation.getOwnedBehaviors().iterator();
-		while (behaviors.hasNext()) {
-			Behavior behavior = behaviors.next();
-			BehavioralFeature bf = behavior.getSpecification();
-			if ((bf != null) && ownedOperations.contains(bf)) {
-				BehavioralFeature sourceBf = (BehavioralFeature)
-						UpdateUtils.getSource(bf);
-
-				// if an operation is scheduled for deletion, it still exists at this
-				// point (This operation is called by an InterfaceListener which gets called
-				// before the deletion takes place) and the specification of associated behaviors
-				// still point to it. Therefore the check toBeRemoved is added.
-				if (sourceBf != toBeRemoved) {
-					String name = calcBehaviorName(sourceBf, implementation);
-					if (!name.equals(behavior.getName())) {
-						behavior.setName(name);
-					}
-				}
-			}
-		}
-	}
-
-	public static void syncDerivedOperations(Class implementation) {
-		// check for unimplemented operations
-		// EList<DirectedRelationship> relShips = implementation.getSourceDirectedRelationships (UMLPackage.eINSTANCE.getInterfaceRealization ());
-		EList<Interface> realizedInterfaces = new BasicEList<Interface>();
-		// implementation.getInterfaceRealizations returns wrong value??
-
-		EList<Operation> ownedOperations = implementation.getOwnedOperations();
-		for (InterfaceRealization ir : implementation.getInterfaceRealizations()) {
-			/*
-			 * for (DirectedRelationship relShip : relShips)
-			 * if (relShip instanceof InterfaceRealization) {
-			 * InterfaceRealization ir = (InterfaceRealization) relShip;
-			 */
-			Interface intf = ir.getContract();
-			if (intf == null) {
-				// should not happen?
-				continue;
-			}
-			realizedInterfaces.add(intf);
-
-			for (Operation operation : intf.getAllOperations()) {
-				Operation copiedOperation = (Operation)
-						UpdateUtils.getDerivedElement(ownedOperations, operation);
-				if (copiedOperation == null) {
-					// no owned operation derived from the interface operation found.
-					// Would indicate normally that there is no suitable owned operation.
-					// However: stereotype values may not be available during model load, check
-					// whether there is an identical operation, before copying one.
-					copiedOperation = OperationUtils.getSameOperation(operation, implementation);
-					if (copiedOperation == null) {
-						copiedOperation = implementation.createOwnedOperation(operation.getName(), null, null);
-						OperationUtils.syncOperation(operation, copiedOperation);
-						copiedOperation.setIsAbstract(false);
-					}
-					UpdateUtils.setSource(copiedOperation, operation);
-				} else if (!OperationUtils.isSameOperation(operation, copiedOperation)) {
-					OperationUtils.syncOperation(operation, copiedOperation);
-					copiedOperation.setIsAbstract(false);
-				}
-			}
-		}
-		for (Behavior method : implementation.getOwnedBehaviors()) {
-			SyncBehaviorParameters.syncParameters(method);
-		}
-
-		// remove operations that are no longer provided via an interface of a port (and
-		// that are derived elements, i.e. have a source attribute)
-		Iterator<Operation> ownedOpsIter = ownedOperations.iterator();
-		while (ownedOpsIter.hasNext()) {
-			Operation ownedOp = ownedOpsIter.next();
-
-			DerivedElement de = UMLUtil.getStereotypeApplication(ownedOp, DerivedElement.class);
-			if (de != null) {
-				if (de.getSource() instanceof Operation) {
-
-					Operation sourceOp = (Operation) de.getSource();
-					// check, whether sourceOp is offered by one of the realized interfaces
-					boolean contains = false;
-					for (Interface realizedIntf : realizedInterfaces) {
-						if (realizedIntf.getAllOperations().contains(sourceOp)) {
-							contains = true;
-						}
-					}
-					if (!contains) {
-						// operation belongs to an interface which is not implemented => remove
-						ownedOpsIter.remove();
-						ownedOp.destroy();
-					}
-				}
-				else if (de.getSource() == null) {
-					// source element does not exist => remove
-					ownedOpsIter.remove();
-					ownedOp.destroy();
-				}
-			}
-		}
-	}
-
-
-
-	/**
-	 * Calculate the name of a behavior for a given operation
-	 * TODO better handling of overloading (better representation of signature)
-	 *
-	 * @param operation
-	 * @return
-	 */
-	private static String calcBehaviorName(BehavioralFeature bf, Classifier cl) {
-		/*
-		 * Iterator<Operation> operations = cl.getOperations ().iterator ();
-		 * while (operations.hasNext ()) {
-		 * Operation op = operations.next ();
-		 * if ((op.getName () == bf.getName ()) && (op != bf)) {
-		 * // at least one other operation with same name, return long name
-		 * return bf.getName () + bf.getOwnedParameters ().toString ();
-		 * }
-		 * }
-		 */
-		return bf.getName();
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/sync/CompTypeSync.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/sync/CompTypeSync.java
deleted file mode 100644
index d629a0f..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/sync/CompTypeSync.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.sync;
-
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Port;
-
-/**
- * Create a UML like executor, i.e.
- * for each port p with a provided interface I, add a get_p to the executor
- * for each port q with a required interface I, add an attribute q to the executor. This
- * attribute is manipulated by the container.
- *
- * @author ansgar
- *
- */
-public class CompTypeSync {
-
-	/**
-	 * Rename the operations/attributes associated with a port, if the ports
-	 * name or type has changed.
-	 * TODO: obsolete, since the port-operations aren't there yet.
-	 *
-	 * @param component
-	 * @param port
-	 */
-	public static void renamePort(Class component, Port port, String oldName) {
-		// CompImplSync.renamePortViaType (component, port, oldName);
-		// CompImplSync.renamePort(component, port, oldName);
-	}
-
-
-	/**
-	 * Synchronizes the operations/attributes associated with a port
-	 *
-	 * @param component
-	 * @param port
-	 */
-	public static void syncPort(Class component, Port port) {
-		CompImplSync.syncViaType(component, false);
-		// CompImplSync.syncContextOps (component, true);
-	}
-};
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/sync/DepPlanSync.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/sync/DepPlanSync.java
deleted file mode 100644
index 43daf3a..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/sync/DepPlanSync.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.sync;
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.designer.components.FCM.DeploymentPlan;
-import org.eclipse.papyrus.designer.components.FCM.DerivedElement;
-import org.eclipse.papyrus.designer.components.FCM.InteractionComponent;
-import org.eclipse.papyrus.designer.components.transformation.core.ElementFilter;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepCreation;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepPlanUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationRTException;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Connector;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.InstanceValue;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Slot;
-import org.eclipse.uml2.uml.Type;
-import org.eclipse.uml2.uml.ValueSpecification;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * Currently unused synchronization for deployment plans.
- *
- * @see comp.cea.ec3m.gentools.core.listeners.DepPlanListener
- *
- * @author ansgar
- */
-public class DepPlanSync {
-
-	/**
-	 * Synchronize a deployment plan: remove slots that refer to properties that exist no longer
-	 * and add those that do not exist yet
-	 *
-	 * @param element
-	 *            an arbitrary element of the source model (i.e. the model that will
-	 *            store the deployment plan
-	 * @throws TransformationException
-	 */
-	public static void syncAllDepPlans(Element element) {
-		for (Package depPlan : DepPlanUtils.getAllDepPlans(element)) {
-			syncDepPlan(depPlan);
-		}
-	}
-
-	/**
-	 * Synchronize a deployment plan: remove slots that refer to properties that exist no longer
-	 * and add those that do not exist yet
-	 *
-	 * @param depPlan
-	 * @throws TransformationException
-	 */
-	public static void syncDepPlan(Package depPlan) {
-		removeUnusedSlots(depPlan);
-		// EList<InstanceSpecification> list = new BasicEList<InstanceSpecification>();
-		DeploymentPlan cdp = UMLUtil.getStereotypeApplication(depPlan, DeploymentPlan.class);
-		if (cdp == null) {
-			return;
-		}
-		InstanceSpecification mainInstance = cdp.getMainInstance();
-		addCDP(depPlan, mainInstance, mainInstance.getName());
-		// now add elements that are not in the plan - although they should
-		// avoid to replicate code already in dep-creation. => createDepPlan(top)
-		// strategy: create new dep-plan and compare?
-	}
-
-	private static void addCDP(Package depPlan, InstanceSpecification instance, String canonicalName)
-	{
-		Class implementation = DepUtils.getImplementation(instance);
-		if (!instance.getName().equals(canonicalName)) {
-			instance.setName(canonicalName);
-		}
-		// check sub-instances
-		for (Slot slot : instance.getSlots()) {
-			InstanceSpecification subInstance = DepUtils.getInstance(slot);
-			if (subInstance != null) {
-				addCDP(depPlan, subInstance, canonicalName + "." + slot.getDefiningFeature().getName()); //$NON-NLS-1$
-			}
-		}
-		for (Property attribute : Utils.getParts(implementation)) {
-			Type type = attribute.getType();
-			if (type instanceof Class) {
-				if (!hasSlot(instance, attribute)) {
-					try {
-						InstanceSpecification partIS =
-								DepCreation.createDepPlan(depPlan, (Class) type, instance.getName() + "." + attribute.getName(), true); //$NON-NLS-1$
-						DepPlanUtils.createSlot(depPlan, instance, partIS, attribute);
-					} catch (TransformationException e) {
-						Log.log(IStatus.ERROR, Log.DEPLOYMENT, e.getMessage());
-						throw new TransformationRTException(e.getMessage());
-					}
-				}
-			}
-		}
-		// connectors with associated interaction components might have configuration
-		// attributes. The problem is that there is no associated slot that could be used to identify these
-		for (Connector connector : implementation.getOwnedConnectors()) {
-			org.eclipse.papyrus.designer.components.FCM.Connector fcmConn = UMLUtil.getStereotypeApplication(connector, org.eclipse.papyrus.designer.components.FCM.Connector.class);
-			if (fcmConn != null) {
-				InstanceSpecification existingIC = findISforConn(depPlan, connector);
-				if (existingIC != null) {
-					// already exist, modify name
-					addCDP(depPlan, existingIC, canonicalName + "." + connector.getName()); //$NON-NLS-1$
-				} else {
-					String partName = canonicalName + "." + connector.getName(); //$NON-NLS-1$
-					InteractionComponent connectorComp = fcmConn.getIc();
-					if (connectorComp != null) {
-						Class cl = fcmConn.getIc().getBase_Class();
-						if (cl == null) {
-							// throw new TransformationException(Messages.DepCreation_FCMconnectorWithoutBaseClass);
-						}
-						// create sub-instance for connector. It is not possible to
-						// create a slot in the owning instance specification,
-						// since the connector cannot be referenced as a defining-feature
-						try {
-							DepCreation.createDepPlan(depPlan, cl, partName, true);
-						} catch (TransformationException e) {
-							Log.log(IStatus.ERROR, Log.DEPLOYMENT, e.getMessage());
-							throw new TransformationRTException(e.getMessage());
-						}
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * return a candidate for an interaction component. Since these instances have
-	 * no associated slot, the derivedElement hints to the original connector
-	 * (could still be problematic!)
-	 * 
-	 * @param cdp
-	 * @param cl
-	 * @return
-	 */
-	protected static InstanceSpecification findISforConn(Package cdp, final Connector conn) {
-		ElementFilter filter = new ElementFilter() {
-
-			@Override
-			public boolean acceptElement(Element element) {
-				if (element instanceof InstanceSpecification) {
-					InstanceSpecification is = (InstanceSpecification) element;
-					DerivedElement de = UMLUtil.getStereotypeApplication(is, DerivedElement.class);
-					if (de != null && de.getSource() == conn) {
-						return true;
-					}
-				}
-				return false;
-			}
-		};
-		EList<InstanceSpecification> iList = new BasicEList<InstanceSpecification>();
-		DepUtils.getAllInstances(cdp, iList, filter);
-		if (iList.size() > 0) {
-			return iList.get(0);
-		}
-		return null;
-	}
-
-	private static boolean hasSlot(InstanceSpecification instance, Property attribute) {
-		for (Slot slot : instance.getSlots()) {
-			if (slot.getDefiningFeature() == attribute) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public static void removeUnusedSlots(Package depPlan) {
-		// remove elements that are no longer in the plan
-		for (NamedElement member : depPlan.getMembers()) {
-			if (member instanceof InstanceSpecification) {
-				InstanceSpecification instance = (InstanceSpecification) member;
-				Iterator<Slot> slotIt = instance.getSlots().iterator();
-				while (slotIt.hasNext()) {
-					Slot slot = slotIt.next();
-					if (slot.getDefiningFeature() == null) {
-						// property has been removed => remove associated slot
-						for (ValueSpecification value : slot.getValues()) {
-							if (value instanceof InstanceValue) {
-								InstanceSpecification is = ((InstanceValue) value).getInstance();
-								DepPlanUtils.delDepPlan(is);
-							}
-						}
-						slot.destroy();
-						slotIt.remove();
-					}
-				}
-			}
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/sync/InterfaceSync.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/sync/InterfaceSync.java
deleted file mode 100644
index 1e563ad..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/sync/InterfaceSync.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2015 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.sync;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.designer.components.FCM.DerivedElement;
-import org.eclipse.papyrus.designer.components.transformation.core.OperationUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Generalization;
-import org.eclipse.uml2.uml.Interface;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.Parameter;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Reception;
-import org.eclipse.uml2.uml.Signal;
-import org.eclipse.uml2.uml.UMLFactory;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * Synchronize the use of a common superclass for signal reception with the
- * question whether an interface has at least one owned reception.
- */
-public class InterfaceSync {
-	
-	public static final String SIG_PREFIX = "SIG_"; //$NON-NLS-1$
-
-	/**
-	 * Name of an interface for generic reception support within the Qompass
-	 * sysinterfaces modeling library
-	 */
-	private static final String SIGNAL_RECEPTION_QN = "sysinterfaces::SignalReception"; //$NON-NLS-1$
-
-	protected static boolean useGenericSigInterface = false;
-
-	public static void syncSignalReceptionSupport(Interface intf) {
-		if (useGenericSigInterface) {
-			syncGenericSignalReceptionSupport(intf);
-		} else {
-			syncSpecificSignalReceptionSupport(intf);
-		}
-	}
-
-	public static void syncSpecificSignalReceptionSupport(Interface intf) {
-		for (Reception reception : intf.getOwnedReceptions()) {
-			Signal signal = reception.getSignal();
-			if (signal != null) {
-				String opName = SIG_PREFIX + signal.getName();
-				Operation existingOperation = intf.getOwnedOperation(opName, null, null);
-				Operation newOperation = UMLFactory.eINSTANCE.createOperation();
-				newOperation.setName(opName);
-				for (Property attribute : signal.getAttributes()) {
-					Parameter parameter = newOperation.createOwnedParameter(attribute.getName(), attribute.getType());
-					parameter.setLower(attribute.getLower());
-					parameter.setUpper(attribute.getUpper());
-				}
-				if (existingOperation == null) {
-					intf.getOwnedOperations().add(newOperation);
-				} else if (!OperationUtils.isSameOperation(existingOperation, newOperation)) {
-					OperationUtils.syncOperation(newOperation, existingOperation);
-				}
-				DerivedElement de = StereotypeUtil.applyApp(newOperation, DerivedElement.class);
-				if (de != null) {
-					de.setSource(reception);
-				}
-			}
-		}
-		// now remove derived operations that are no longer needed.
-		EList<Operation> ownedOperations = new BasicEList<Operation>();
-		ownedOperations.addAll(intf.getOwnedOperations());
-		for (Operation operation : ownedOperations) {
-			DerivedElement de = UMLUtil.getStereotypeApplication(operation, DerivedElement.class);
-			if (de != null) {
-				if (de.getSource() instanceof Reception) {
-					Reception reception = (Reception) de.getSource();
-					Signal signal = reception.getSignal();
-					if ((signal == null) || !(SIG_PREFIX + signal.getName()).equals(operation.getName())) {
-						// reception exists, but has no signal or another signal
-						operation.destroy();
-					}
-				} else {
-					// reception does not exist any more
-					operation.destroy();
-				}
-			}
-		}
-	}
-
-	public static void syncGenericSignalReceptionSupport(Interface intf) {
-
-		NamedElement genericReceptionNE = Utils.getQualifiedElement(PackageUtil.getRootPackage(intf), SIGNAL_RECEPTION_QN);
-		if (genericReceptionNE instanceof Interface) {
-			Interface genericReceptionIntf = (Interface) genericReceptionNE;
-			if (intf.getOwnedReceptions().size() > 0) {
-				if (!hasReceptionSupport(intf, genericReceptionIntf)) {
-					addReceptionSupport(intf, genericReceptionIntf);
-				}
-			} else if (hasReceptionSupport(intf, genericReceptionIntf)) {
-				removeReceptionSupport(intf, genericReceptionIntf);
-			}
-		}
-	}
-
-	public static boolean hasReceptionSupport(Interface intf, Interface genericReceptionIntf) {
-		// TODO: does it find an indirect reception?
-		for (Classifier general : intf.getGenerals()) {
-			if (general == genericReceptionIntf) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public static void addReceptionSupport(Interface intf, Interface genericReceptionIntf) {
-		intf.createGeneralization(genericReceptionIntf);
-	}
-
-	public static void removeReceptionSupport(Interface intf, Interface genericReceptionIntf) {
-		for (Generalization generalization : intf.getGeneralizations()) {
-			if (generalization.getGeneral() == genericReceptionIntf) {
-				generalization.destroy();
-			}
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/sync/SyncBehaviorParameters.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/sync/SyncBehaviorParameters.java
deleted file mode 100644
index 0207f3a..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/sync/SyncBehaviorParameters.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.sync;
-
-import org.eclipse.papyrus.designer.components.transformation.core.StUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.uml2.uml.Behavior;
-import org.eclipse.uml2.uml.BehavioralFeature;
-import org.eclipse.uml2.uml.Parameter;
-
-/**
- * Synchronize behavior parameters
- *
- * A behavior is often a method for a behavioral feature. In this case, UML validation checks that the number and type
- * of parameters of the behavior and the behavioral feature match.
- * This class synchronizes the parameters of the behavior with that of the behavioral feature.
- */
-public class SyncBehaviorParameters {
-	public static final void syncParameters(Behavior method) {
-
-		BehavioralFeature bf = method.getSpecification();
-		if (bf != null) {
-			method.getOwnedParameters().clear();
-			for (Parameter parameter : bf.getOwnedParameters()) {
-				Parameter newParameter = method.createOwnedParameter(parameter.getName(), parameter.getType());
-				newParameter.setDirection(parameter.getDirection());
-				LazyCopier.copyMultElemModifiers(parameter, newParameter);
-				StUtils.copyStereotypes(parameter, newParameter);
-			}
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/BindingUtils.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/BindingUtils.java
deleted file mode 100644
index d340f0c..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/BindingUtils.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- */
-
-package org.eclipse.papyrus.designer.components.transformation.core.templates;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.PortUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.StUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationContext;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.ConstInit;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Interface;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.OpaqueBehavior;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.Parameter;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.Type;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-public class BindingUtils {
-
-	/**
-	 * Bind an operation by copying the signature from the actual.
-	 *
-	 * @param copier
-	 *            the copier
-	 * @param actual
-	 *            the actual. If an operation, its signature is copied to the template
-	 * @param operation
-	 *            The operation template
-	 * @return
-	 */
-	public static Operation instantiateOperation(LazyCopier copier, Element actual, Operation operation) {
-		try {
-			Operation newOperation = copier.getCopy(operation);
-			if (actual instanceof Operation) {
-				for (Parameter parameter : ((Operation) actual).getOwnedParameters()) {
-					Parameter newParam = EcoreUtil.copy(parameter); // copy parameter via EcoreUtil
-					newParam.setType(copier.getCopy(parameter.getType()));
-					newOperation.getOwnedParameters().add(newParam);
-					StUtils.copyStereotypes(parameter, newParam); // copy stereotypes of the parameter
-				}
-			}
-			TransformationContext.classifier = newOperation.getClass_();
-			if (actual instanceof Classifier) {
-				bindOperation(newOperation, (Classifier) actual);
-			}
-			String newName = TextTemplateBinding.bind(operation.getName(), actual, null);
-			newOperation.setName(newName);
-
-			return newOperation;
-		} catch (TransformationException e) {
-			// throw runtime exception
-			throw new RuntimeException(String.format(Messages.TemplateInstantiationListener_TrafoException, e.getMessage()));
-		}
-	}
-
-	/**
-	 * Instantiate a behavior
-	 *
-	 * @param copier
-	 *            copier
-	 * @param actual
-	 *            actual in template instantiation
-	 * @param opaqueBehavior
-	 *            behavior with body in form of an Acceleo template.
-	 * @return instantiated (bound) behavior.
-	 * @throws TransformationException
-	 */
-	public static OpaqueBehavior instantiateBehavior(LazyCopier copy, Element actual, OpaqueBehavior opaqueBehavior) throws TransformationException {
-		OpaqueBehavior newBehavior = copy.getCopy(opaqueBehavior);
-		if (actual instanceof NamedElement) {
-			String newName = TextTemplateBinding.bind(opaqueBehavior.getName(), actual, null);
-			newBehavior.setName(newName);
-		}
-		EList<String> bodyList = newBehavior.getBodies();
-		for (int i = 0; i < bodyList.size(); i++) {
-			String body = bodyList.get(i);
-			TransformationContext.classifier = (Classifier) newBehavior.getOwner();
-			// pass qualified operation name as template name. Used to identify script in case of an error
-			String newBody = TextTemplateBinding.bind(body, actual);
-			bodyList.set(i, newBody);
-		}
-		return newBehavior;
-	}
-
-
-
-	/**
-	 * Bind C++ const initializer
-	 *
-	 * @param operation
-	 * @param actual
-	 * @throws TransformationException
-	 */
-	public static void bindOperation(Operation operation, Classifier actual) throws TransformationException {
-		// perform binding in case of C++ initializer
-		ConstInit cppConstInit = UMLUtil.getStereotypeApplication(operation, ConstInit.class);
-		if (cppConstInit != null) {
-			// TODO: specific to C++
-			String init = cppConstInit.getInitialisation();
-			String newInit = TextTemplateBinding.bind(init, actual);
-			cppConstInit.setInitialisation(newInit);
-		}
-	}
-
-	/**
-	 * @param actual
-	 *            the actual template parameter
-	 * @param boundClass
-	 *            the bound class
-	 * @param provides
-	 *            true, if the provided interface should be returned
-	 * @return the provided or required interface of a port (of the passed
-	 *         boundClass) that is typed with the the actual.
-	 */
-	public static Interface getInterfaceFromPortTypedWithActual(Type actual, Class boundClass, boolean provided) {
-		for (Port port : PortUtils.getAllPorts(boundClass)) {
-			Interface provOrReqIntf;
-			if (provided) {
-				provOrReqIntf = PortUtils.getProvided(port);
-			} else {
-				provOrReqIntf = PortUtils.getRequired(port);
-			}
-
-			if ((port.getType() == actual) && (provOrReqIntf != null)) {
-				return provOrReqIntf;
-			}
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/ConnectorBinding.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/ConnectorBinding.java
deleted file mode 100644
index 43cb3b4..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/ConnectorBinding.java
+++ /dev/null
@@ -1,455 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.templates;
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.designer.components.transformation.core.CreationUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.PortUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationContext;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.ConnectableElement;
-import org.eclipse.uml2.uml.Connector;
-import org.eclipse.uml2.uml.ConnectorEnd;
-import org.eclipse.uml2.uml.Feature;
-import org.eclipse.uml2.uml.Interface;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Namespace;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.ParameterableElement;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.TemplateBinding;
-import org.eclipse.uml2.uml.TemplateParameter;
-import org.eclipse.uml2.uml.TemplateParameterSubstitution;
-import org.eclipse.uml2.uml.TemplateSignature;
-import org.eclipse.uml2.uml.Type;
-
-/**
- * Create an automatic template binding for a connector, i.e. a binding that assures
- * that the ports of an interaction component match those of an application component
- * (if possible)
- */
-public class ConnectorBinding {
-
-	/**
-	 * Helper function for getActual
-	 *
-	 * @param port
-	 *            a port of the the connector template (not evaluated except for debugging output)
-	 * @param connector
-	 *            the connector that is checked for reification
-	 * @param composite
-	 *            a composite class
-	 * @param actual
-	 *            the current candidate for an actual, i.e. result of previous attempts to bind (at different connector ends)
-	 * @param isProvided
-	 *            is an interface provided or required.
-	 * @return the type at the "other" (makes sense for property connector only) end of a connector
-	 * @throws TransformationException
-	 */
-	private static Type matchOtherEnd(Port port, Feature connector, Type actual, boolean isProvided)
-			throws TransformationException {
-		if (connector instanceof Connector) {
-			return matchOtherEnd(port, (Connector) connector, actual, isProvided);
-		}
-		else if (connector instanceof Property) {
-			return matchOtherEnd(port, (Property) connector, actual, isProvided);
-		}
-		return null;
-	}
-
-	private static Type matchOtherEnd(Port port, Connector connector, Type actual, boolean isProvided)
-			throws TransformationException {
-		// the template provides the formal parameter at one of its ports. Now examine
-		// with whom this port is connected, i.e. examine all connectorEnds
-		// The type of the connected port determines the binding.
-		Log.log(IStatus.INFO, Log.TEMPLATE_BINDING, String.format("", port.getName())); //$NON-NLS-1$
-		boolean found = false;
-		for (ConnectorEnd connEnd : connector.getEnds()) {
-			// the connector end targets a port of a part or the composite (in case of delegation)
-			ConnectableElement connElem = connEnd.getRole();
-			if (connElem instanceof Port) {
-				Port otherPort = (Port) connElem;
-				Interface otherInterface;
-
-				// distinction between assembly or delegation (other end is null) connectors
-				boolean isAssembly = (connEnd.getPartWithPort() != null);
-
-				if (isProvided == isAssembly) {
-					// need required for other, if first port isProvided and assembly, or if first port isRequired and delegation
-					otherInterface = PortUtils.getRequired(otherPort);
-				} else {
-					otherInterface = PortUtils.getProvided(otherPort);
-				}
-				Log.log(IStatus.INFO, Log.TEMPLATE_BINDING, String.format(Messages.ConnectorBinding_ConnectorsPort, otherInterface));
-				if (otherInterface != null) {
-					if (actual == null || actual == otherInterface) {
-						actual = otherInterface;
-						Log.log(IStatus.INFO, Log.TEMPLATE_BINDING, String.format(
-								Messages.ConnectorBinding_InfoActualReturnIntfIs, actual.getQualifiedName()));
-						found = true;
-					} else if (actual != otherInterface) {
-						continue;
-					}
-				}
-			}
-		}
-		if (!found) {
-			throw new TransformationException(String.format(
-					Messages.ConnectorBinding_CannotFindConsistentBinding,
-					port.getName(), connector.getName(), connector.getNamespace().getName(), (actual != null) ? actual.getName() : "null"));
-		}
-		return actual;
-	}
-
-
-	private static Type matchOtherEnd(Port port, Property partConnector, Type actual, boolean isProvided)
-			throws TransformationException {
-		// the template provides the formal parameter at one of its ports. Now examine
-		// with whom this port is connected, i.e. examine all connectors of the
-		// composite. The type of the connected port determines the binding.
-		Log.log(IStatus.INFO, Log.TEMPLATE_BINDING, String.format(
-				Messages.ConnectorBinding_InfoMatchOtherEnd, port.getName()));
-
-		for (Connector connector : partConnector.getClass_().getOwnedConnectors()) {
-			if (ConnectorUtil.connectsPart(connector, partConnector)) {
-				// the connector end targets a port of a part or the composite (in case of delegation)
-				ConnectorEnd connEnd = ConnectorUtil.connEndNotPart(connector, partConnector);
-				ConnectableElement connElem = connEnd.getRole();
-				if (connElem instanceof Port) {
-					Port otherPort = (Port) connElem;
-					Interface otherInterface;
-
-					// distinction between assembly or delegation (other end is null) connectors
-					boolean isAssembly = (connEnd.getPartWithPort() != null);
-
-					if (isProvided == isAssembly) {
-						// need required for other, if first port isProvided and assembly, or if first port isRequired and delegation
-						otherInterface = PortUtils.getRequired(otherPort);
-					} else {
-						otherInterface = PortUtils.getProvided(otherPort);
-					}
-					Log.log(IStatus.INFO, Log.TEMPLATE_BINDING, String.format(Messages.ConnectorBinding_InfoConnectsPort, otherInterface));
-					if (otherInterface != null) {
-						if (actual == null) {
-							actual = otherInterface;
-							Log.log(IStatus.INFO, Log.TEMPLATE_BINDING, String.format(
-									Messages.ConnectorBinding_InfoActualReturnIntfIs, actual.getQualifiedName()));
-						} else if (actual != otherInterface) {
-							throw new TransformationException(String.format(
-									Messages.ConnectorBinding_CannotFindConsistentBinding,
-									port.getName(), connector.getName(), connector.getNamespace().getName(), actual.getName()));
-						}
-					}
-				}
-			}
-		}
-		return actual;
-	}
-
-
-	/**
-	 * This function tries to bind a formal template parameter to an "actual". The criterion
-	 * for a successful binding is that the (primitive) connections of the reified connector
-	 * part have a matching port kind.
-	 * The function makes a matching based on (1) either provided and required interfaces (2)
-	 * or identical portKinds and different conjugations
-	 *
-	 * @param composite
-	 *            The composite in which a binding should be determined.
-	 * @param part
-	 *            the part within the composite for which we try to find a binding,
-	 *            The information about the part is used to determine which connection
-	 *            end belongs to the template part and which to another part/port (which
-	 *            determines the binding).
-	 * @param template
-	 *            A template class
-	 * @param formal
-	 *            the formal template parameter
-	 * @throws TransformationException
-	 *             if no consistent binding can be found
-	 * @return the actual
-	 */
-	public static Type getActual(Feature partOrConnector, Class template, ParameterableElement formal)
-			throws TransformationException {
-		Type actual = null;
-
-		// loop through all ports of the template, use getAllPorts to include inherited ports as well.
-		for (Port port : PortUtils.getAllPorts(template)) {
-			Interface providedIntf = PortUtils.getProvided(port);
-
-			// need to check, if the port at the opposite connector is matching, provided that we use a specific
-			// value for the the formal. Typically, ports of the template are typed with the formal parameter. Thus,
-			// we would have to infer the formal from a given provided or required interface. This is not possible
-			// in general (no inverse mapping operation), but the simple case that either the provided or required
-			// interface is identical to the formal parameter are checked.
-			//
-			// 1. provided interface is formal
-			if (providedIntf == formal) {
-				actual = matchOtherEnd(port, partOrConnector, actual, true);
-			}
-
-			// 2. required interface is formal
-			Interface requiredIntf = PortUtils.getRequired(port);
-			if (requiredIntf == formal) {
-				actual = matchOtherEnd(port, partOrConnector, actual, false);
-			}
-
-			// 3. port type is formal (but none of the two cases above)
-			// this check is stronger than the first two, since it requires port kind identity.
-			// If none of the first two variants holds, the port is translating interfaces
-			// for which this stronger condition holds.
-			Type type = PortUtils.getFCMType(port);
-			if ((providedIntf != formal) && (requiredIntf != formal) && (type == formal)) {
-				// the template provides the formal parameter at one of its ports. Now examine
-				// with whom this port is connected, i.e. examine all ends of the
-				// connector. The type of the connected port determines the binding.
-				Log.log(IStatus.INFO, Log.TEMPLATE_BINDING, String.format(
-						Messages.ConnectorBinding_InfoProvidedPortTypeMatches, port.getName()));
-				boolean found = false;
-
-				if (partOrConnector instanceof Property) {
-					Property partConnector = (Property) partOrConnector;
-					// iterate over the connectors of the composite containing the part
-					for (Connector connector : partConnector.getClass_().getOwnedConnectors()) {
-						if (ConnectorUtil.connectsPart(connector, partConnector)) {
-							// the connector end targets a port of a part or the composite (in case of delegation)
-							ConnectorEnd connEnd = ConnectorUtil.connEndNotPart(connector, partConnector);
-							actual = matchViaEnd(connEnd, port, partOrConnector, actual);
-							if (actual != null) {
-								found = true;
-								break;
-							}
-						}
-					}
-				}
-				else {
-					for (ConnectorEnd connEnd : ((Connector) partOrConnector).getEnds()) {
-						actual = matchViaEnd(connEnd, port, partOrConnector, actual);
-						if (actual != null) {
-							found = true;
-							break;
-						}
-					}
-				}
-				if (!found) {
-					String errorMsg = createErrorMsg(port, partOrConnector);
-					throw new TransformationException(errorMsg);
-				}
-			}
-		}
-		return actual;
-	}
-
-	protected static String createErrorMsg(Port port, Feature partOrConnector) {
-		String errorMsg = String.format(
-				Messages.ConnectorBinding_CannotFindBindingForPort,
-				port.getName(), partOrConnector.getName());
-		for (Classifier cl : partOrConnector.getFeaturingClassifiers()) {
-			errorMsg += " of class '" + cl.getName() + "'"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		errorMsg += ". "; //$NON-NLS-1$
-		return errorMsg;
-	}
-
-	private static Type matchViaEnd(ConnectorEnd connEnd, Port port, Feature partOrConnector, Type actual) throws
-			TransformationException {
-		String errorMsg = createErrorMsg(port, partOrConnector);
-		Log.log(IStatus.INFO, Log.TEMPLATE_BINDING, "port: " + port); //$NON-NLS-1$
-		// Log.log(Status.INFO, Log.TEMPLATE_BINDING, "role1: " + connector.getEnds().get(0).getRole());
-		// Log.log(Status.INFO, Log.TEMPLATE_BINDING, "role2: " + connector.getEnds().get(1).getRole());
-
-		ConnectableElement connElem = connEnd.getRole();
-		if (connElem instanceof Port) {
-			Port otherPort = (Port) connElem;
-
-			Log.log(IStatus.INFO, Log.TEMPLATE_BINDING, String.format(
-					Messages.ConnectorBinding_InfoConnPortConnectedVia,
-					port.getName(), partOrConnector.getName()));
-			Type otherType = PortUtils.getFCMType(otherPort);
-
-
-			// type must be the same, kind as well. But depending on delegation or not, one of the ports
-			// must be conjugated
-			// TODO: isAssembly check will wrongly return false, if no port is connected [well, in this case, the role is not a port but a part]
-			boolean isAssembly = (connEnd.getPartWithPort() != null);
-			boolean sameConjugation = (otherPort.isConjugated() == port.isConjugated());
-			// if assembly connection, conjugations must be different.
-			if (isAssembly == sameConjugation) {
-				return actual; // was: continue
-			}
-
-			// now compare kinds
-			if (!PortUtils.sameKinds(port, otherPort)) {
-				// no match, try next end
-				return actual; // was: continue
-			}
-
-			if (otherType != null) {
-				if (actual == null) {
-					actual = otherType;
-					Log.log(IStatus.INFO, Log.TEMPLATE_BINDING, String.format(
-							Messages.ConnectorBinding_InfoActualReturnIntfIs, actual.getQualifiedName()));
-				} else if (actual != otherType) {
-					throw new TransformationException(errorMsg + " " + String.format( //$NON-NLS-1$
-							Messages.ConnectorBinding_FormalAlreadyBound, actual.getName()));
-				}
-			}
-		}
-		return actual;
-	}
-
-	/**
-	 * The objective of this function is to find a suitable binding for a part
-	 * typed with a template class (connector) based compatible port types. The binding
-	 * is obtained by examining the connections between the composite and the contained
-	 * part.
-	 *
-	 * @param composite
-	 *            the composite which owns the part
-	 * @param containedPart
-	 *            the part which represents the connector
-	 * @param template
-	 *            an element within a package template (might be deeply nested) which
-	 *            has ports that depend on a template parameter. This method tries to find a binding
-	 *            for the template parameters that renders the ports of this element compatible with
-	 *            the ports of the composition context.
-	 * @return the bound package
-	 *         ? binding information, i.e. information about the bound package, whether already bound and the binding.
-	 */
-	public static TemplateBinding obtainBinding(Class composite,
-			Feature connector, Class template, boolean createBinding) throws TransformationException {
-		// obtain the signature of an element within a package template.
-
-		TemplateSignature signature = TemplateUtils.getSignature(template);
-		if (signature == null) {
-			// not a template. This is not an exception, caller need to handle "null" a return
-			// value indicating that no template instantiation needs to be done.
-			Log.log(IStatus.INFO, Log.TEMPLATE_BINDING, String.format(
-					Messages.ConnectorBinding_NoTemplateSignature, template.getName()));
-			return null;
-		}
-
-		// list of actuals (must be ParameterableElements, in our case always a named element as well.
-		EList<ParameterableElement> actuals = new BasicEList<ParameterableElement>();
-
-		Package pkgTemplate = (Package) signature.getOwner();
-		String name = pkgTemplate.getName();
-
-		/*
-		 * Signature extension - useful?? (since binding has to be made as well)
-		 * Stereotype sigExtSt = signature.getAppliedStereotype ("FCM::SignatureExt");
-		 * SignatureExt sigExt = null;
-		 * if (sigExtSt != null) {
-		 * sigExt = (SignatureExt) signature.getStereotypeApplication (sigExtSt);
-		 * }
-		 *
-		 * for (TemplateSignature sig : sigExt.getExtension ()) {
-		 * bindFormal ();
-		 * }
-		 */
-
-		// loop on template parameters
-		boolean firstTP = true;
-		for (TemplateParameter parameter : signature.getParameters()) {
-			ParameterableElement formal = parameter.getParameteredElement();
-
-			// now obtain suitable binding for this parameter - look for ports that are typed with
-			// the formal template parameter
-			ParameterableElement actual = null;
-			if (firstTP) {
-				// only try to match the first template parameter based on ports.
-				actual = getActual(connector, template, formal);
-				firstTP = false;
-			} else {
-				// additional template parameters that are bound automatically based on their name
-				// (this might be considered as a hack, it is merely a convention for automatic template
-				// binding within the Qompass context.
-				if (formal instanceof NamedElement) {
-					NamedElement formalNE = (NamedElement) formal;
-					if ((formal instanceof Class) && (formalNE.getName().equals("T"))) { //$NON-NLS-1$
-						actual = composite;
-					}
-					if ((formal instanceof Port) && (formalNE.getName().equals("P"))) { //$NON-NLS-1$
-						// port (but not available?)
-						actual = TransformationContext.port;
-					}
-				}
-			}
-			if (actual instanceof NamedElement) {
-				actuals.add(actual);
-				name = name + "_" + ((NamedElement) actual).getName(); //$NON-NLS-1$
-			} else {
-				String reason = String.format(
-						Messages.ConnectorBinding_CannotFindBinding,
-						((NamedElement) formal).getName(), composite.getName(), connector.getName(), template.getName());
-				throw new TransformationException(reason);
-			}
-		}
-
-		// the bound package is instantiated in the same model, in which the
-		// composite can be found (avoid modifying an imported model).
-
-		if (!createBinding) {
-			return null;
-		}
-
-		Namespace owner = (Namespace) pkgTemplate.getOwner();
-		owner = CreationUtils.getAndCreate(composite.getModel(), owner.allNamespaces());
-
-		Package boundPackage = (Package) owner.getMember(name);
-		if (boundPackage == null) {
-			// class does not exist yet, needs to be created.
-			boundPackage = ((Package) owner).createNestedPackage(name);
-
-			Log.log(IStatus.INFO, Log.TEMPLATE_BINDING, String.format(
-					Messages.ConnectorBinding_InfoCreateBoundPackage, name, owner.getName()));
-		}
-
-		TemplateBinding binding = boundPackage.getTemplateBinding(signature);
-		if (binding == null) {
-			// binding is not existing yet (should normally only happen, if the class has
-			// just been created - but it's better to re-check, even if the bound package
-			// was already there)
-			binding = boundPackage.createTemplateBinding(signature);
-
-			Iterator<ParameterableElement> actualsIter = actuals.iterator();
-
-			// loop on template parameters;
-			for (TemplateParameter parameter : signature.getParameters()) {
-				TemplateParameterSubstitution substitution = binding.createParameterSubstitution();
-				substitution.setFormal(parameter);
-
-				// now obtain suitable binding for this parameter - look for ports that are typed with
-				// the formal template parameter
-				ParameterableElement actual = actualsIter.next();
-				// for UML <= 2.1
-				// substitution.getActuals ().add ((ParameterableElement) actual);
-				// for UML > 2.2
-				substitution.setActual(actual);
-			}
-		}
-		return binding;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/PostTemplateInstantiationListener.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/PostTemplateInstantiationListener.java
deleted file mode 100644
index d6bf1df..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/PostTemplateInstantiationListener.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.templates;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.FCM.BindingHelper;
-import org.eclipse.papyrus.designer.components.FCM.Template;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.BindingHelperExt;
-import org.eclipse.papyrus.designer.components.transformation.core.listeners.PostCopyListener;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.TemplateBinding;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * Specific tweaking of template instantiation is implemented by means of a PostCopyListener that
- * evaluates the template stereotype.
- * Chiefly used for text templates
- */
-public class PostTemplateInstantiationListener implements PostCopyListener {
-
-	public static PostTemplateInstantiationListener getInstance() {
-		if (postTemplateInstantiationListener == null) {
-			postTemplateInstantiationListener = new PostTemplateInstantiationListener();
-		}
-		return postTemplateInstantiationListener;
-	}
-
-	public void init(LazyCopier copy, TemplateBinding binding) {
-		this.binding = binding;
-	}
-
-	private TemplateBinding binding;
-
-	private static PostTemplateInstantiationListener postTemplateInstantiationListener;
-
-	@Override
-	public void postCopyEObject(LazyCopier copy, EObject targetEObj) {
-		if (targetEObj instanceof Element) {
-
-			Template template = UMLUtil.getStereotypeApplication((Element) targetEObj, Template.class);
-			if ((template != null)) {
-				BindingHelper helper = template.getHelper();
-				if (helper != null) {
-					BindingHelperExt.applyPostHelper(helper, copy, binding, targetEObj);
-				}
-			}
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/PreTemplateInstantiationListener.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/PreTemplateInstantiationListener.java
deleted file mode 100644
index 1763cc6..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/PreTemplateInstantiationListener.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.templates;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.FCM.BindingHelper;
-import org.eclipse.papyrus.designer.components.FCM.Template;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.BindingHelperExt;
-import org.eclipse.papyrus.designer.components.transformation.core.listeners.PreCopyListener;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.uml2.uml.BehavioralFeature;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.OpaqueBehavior;
-import org.eclipse.uml2.uml.TemplateBinding;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * Template instantiation is implemented by means of an CopyListener that
- * evaluates the template stereotype.
- */
-
-public class PreTemplateInstantiationListener implements PreCopyListener {
-
-	public static PreTemplateInstantiationListener getInstance() {
-		if (preTemplateInstantiationListener == null) {
-			preTemplateInstantiationListener = new PreTemplateInstantiationListener();
-			preTemplateInstantiationListener.treatTemplate = false;
-		}
-		return preTemplateInstantiationListener;
-	}
-
-	public void init(LazyCopier copy, TemplateBinding binding) {
-		this.binding = binding;
-		preTemplateInstantiationListener.treatTemplate = false;
-	}
-
-	private TemplateBinding binding;
-
-	private boolean treatTemplate;
-
-	private static PreTemplateInstantiationListener preTemplateInstantiationListener;
-
-	@Override
-	public EObject preCopyEObject(LazyCopier copy, EObject sourceEObj) {
-		if (treatTemplate) {
-			return sourceEObj;
-		}
-		treatTemplate = true;
-		EObject targetEObj = checkEObject(copy, sourceEObj);
-		treatTemplate = false;
-		return targetEObj;
-	}
-
-	protected EObject checkEObject(LazyCopier copy, EObject sourceEObj) {
-
-		// Specific treatment of OpaqueBehaviors: Template instantiations are typically managed
-		// by the associated operation which instantiates operation and behavior. In this case, the
-		// behavior should not be instantiated.
-		if (sourceEObj instanceof OpaqueBehavior) {
-			OpaqueBehavior behavior = (OpaqueBehavior) sourceEObj;
-			BehavioralFeature bf = behavior.getSpecification();
-			if (bf != null) {
-				Template template = UMLUtil.getStereotypeApplication(bf, Template.class);
-				if (template != null) {
-					return null;
-				}
-			}
-		}
-
-		if (sourceEObj instanceof Element) {
-
-			Template template = UMLUtil.getStereotypeApplication((Element) sourceEObj, Template.class);
-			if ((template != null)) {
-				BindingHelper helper = template.getHelper();
-				if (helper != null) {
-					return BindingHelperExt.applyPreHelper(helper, copy, binding, sourceEObj);
-				}
-			}
-		}
-		return sourceEObj;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/TemplateInstantiation.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/TemplateInstantiation.java
deleted file mode 100644
index df5c78e..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/TemplateInstantiation.java
+++ /dev/null
@@ -1,284 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-package org.eclipse.papyrus.designer.components.transformation.core.templates;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.papyrus.designer.components.FCM.BindingHelper;
-import org.eclipse.papyrus.designer.components.FCM.Template;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier.CopyStatus;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationContext;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.filters.FilterSignatures;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.filters.FilterTemplate;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Namespace;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.ParameterableElement;
-import org.eclipse.uml2.uml.TemplateBinding;
-import org.eclipse.uml2.uml.TemplateParameter;
-import org.eclipse.uml2.uml.TemplateParameterSubstitution;
-import org.eclipse.uml2.uml.TemplateSignature;
-import org.eclipse.uml2.uml.TemplateableElement;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * This class encapsulates functions around template instantiation.
- *
- * With respect to composite structures, we need to consider two different
- * cases: (1) the type of a property is a template class itself (2) the type of
- * a property is a sub-class (nesting) of the template class. We consider that
- * such a class inherits the template signature of its owner, i.e. it can access
- * formal parameters of the owning template class. (3) the type of a property is
- * a normal class
- */
-public class TemplateInstantiation {
-
-	public TemplateInstantiation(LazyCopier copy, TemplateBinding binding) throws TransformationException {
-		this(copy, binding, null);
-	}
-
-	/**
-	 *
-	 * @param copier_
-	 *        copier
-	 * @param binding
-	 *        UML template binding
-	 * @param args
-	 *        currently unused
-	 * @throws TransformationException
-	 */
-	public TemplateInstantiation(final LazyCopier copier_, final TemplateBinding binding, Object args[]) throws TransformationException {
-		if(binding == null) {
-			// user should never see this exception
-			throw new TransformationException("Passed binding is null"); //$NON-NLS-1$
-		}
-		signature = binding.getSignature();
-		if(signature == null) {
-			throw new TransformationException("Passed template binding does not have a signature"); //$NON-NLS-1$
-		}
-		packageTemplate = (Package)signature.getOwner();
-		/*
-		 * copier = (Copy)copy_.clone();
-		 * // make copy of copy listeners (clone alone does not duplicate contained lists)
-		 * copier.preCopyListeners = new BasicEList<CopyListener>();
-		 * copier.preCopyListeners.addAll(copy_.preCopyListeners);
-		 * copier.postCopyListeners = new BasicEList<CopyListener>();
-		 * copier.postCopyListeners.addAll(copy_.postCopyListeners);
-		 */
-		copier = copier_;
-		Package boundPackage = (Package)binding.getBoundElement();
-		// set template instantiation parameter. Used by Acceleo templates to get relation between
-		// formal and actual parameters
-		TransformationContext.setTemplateInstantiation(this);
-		TransformationContext.copier = copier;
-		copier.setPackageTemplate(packageTemplate, boundPackage);
-		// some parameters of the package template may not be owned. Thus, an additional package
-		// template is involved in the instantiation
-		for(TemplateParameter parameter : signature.getParameters()) {
-			//
-			if(parameter.getSignature() != signature) {
-				Package addedPkgTemplate = parameter.getSignature().getNearestPackage();
-				copier.setPackageTemplate(addedPkgTemplate, boundPackage);
-			}
-		}
-		if(boundPackage.getPackagedElements() != null) {
-			// bound package is not empty, but copier does not know about it. Fill copyMap with information about the relation
-			// This happens, if the original model already contains template instantiations, e.g. for template ports
-			if(copier.getMap(signature).keySet().size() == 0) {
-				sourceResource =  packageTemplate.eResource();
-				targetResource = boundPackage.eResource();
-				syncCopyMap(packageTemplate, boundPackage);
-			}
-			// syncCopy map would not be necessary, if ports are not updated (by a listener?) during copier)
-		}
-		this.binding = binding;
-		// register a combination of formal/actual in the hashmap
-		// => copier will replace actual with formal
-		for(TemplateParameterSubstitution substitution : binding.getParameterSubstitutions()) {
-			ParameterableElement formal = substitution.getFormal().getParameteredElement();
-			ParameterableElement actual = substitution.getActual();
-			copier.putPair(formal, actual);
-		}
-		// add copy listeners ---
-		// remove template signature
-		if(!copier.preCopyListeners.contains(FilterSignatures.getInstance())) {
-			copier.preCopyListeners.add(FilterSignatures.getInstance());
-		}
-		// 2a. special treatment for elements stereotyped with template parameter
-		if(!copier.preCopyListeners.contains(PreTemplateInstantiationListener.getInstance())) {
-			copier.preCopyListeners.add(PreTemplateInstantiationListener.getInstance());
-		}
-		PreTemplateInstantiationListener.getInstance().init(copier, binding);
-		// 2b. special treatment for elements stereotyped with template parameter
-		if(!copier.postCopyListeners.contains(PostTemplateInstantiationListener.getInstance())) {
-			copier.postCopyListeners.add(PostTemplateInstantiationListener.getInstance());
-		}
-		/*
-		PostTemplateInstantiationListener.getInstance().init(copier, binding);
-		if(!copier.postCopyListeners.contains(FixTemplateSync.getInstance())) {
-			copier.postCopyListeners.add(FixTemplateSync.getInstance());
-		}
-		*/
-	}
-
-	/**
-	 * Synchronize the copy map, i.e. put the correspondences between existing source and target elements into the map.
-	 * Otherwise, a new binding would produce duplicates.
-	 * TODO: A more efficient way would be to cache the copy function and only re-sync, if a new model has been loaded.
-	 * On the other hand, the bound package is normally not very large
-	 *
-	 * @param source
-	 *        An element of the source model
-	 * @param targetPkg
-	 *        The associated element of the target model
-	 */
-	public void syncCopyMap(EObject source, EObject targetPkg) {
-		if((copier.get(source) == null) || copier.getStatus(targetPkg) != CopyStatus.FULL) {
-			copier.put(source, targetPkg);
-			if(source instanceof Package) {
-				copier.setStatus(targetPkg, CopyStatus.SHALLOW);
-			} else {
-				copier.setStatus(targetPkg, CopyStatus.FULL);
-			}
-			for(EObject targetSubElem : targetPkg.eContents()) {
-				EObject sourceSubElement = null;
-				if(targetSubElem instanceof NamedElement) {
-					String targetName = ((NamedElement) targetSubElem).getName();
-					sourceSubElement = Utils.getNamedElementFromList(source.eContents(), targetName);
-				}
-				if (sourceSubElement == null) {
-					// no source element found, try to find via XML URI (copier synchronizes on demand)
-					String uriFragment = targetResource.getURIFragment(targetSubElem);
-					sourceSubElement = sourceResource.getEObject(uriFragment);
-				}
-				if (sourceSubElement != null) {
-					syncCopyMap(sourceSubElement, targetSubElem);
-				}
-			}
-		}
-	}
-
-	Package packageTemplate;
-
-	public TemplateBinding binding;
-
-	public LazyCopier copier;
-
-	protected TemplateSignature signature;
-
-	protected Resource sourceResource;
-	
-	protected Resource targetResource;
-	
-	/**
-	 * Bind a named element. Besides of binding the passed element, this
-	 * operation will bind all elements that are referenced (required) by the
-	 * passed element.
-	 *
-	 * In consequence, typically only a small part of a package template is
-	 * actually created within the bound package. We call this mechanism lazy
-	 * instantiation/binding
-	 *
-	 * @param copier
-	 *        Source and target model
-	 * @param namedElement
-	 *        A member within the package template which should be bound,
-	 *        i.e. for which template instantiation should be performed.
-	 * @param binding
-	 *        The binding between the bound package and the package template
-	 */
-	@SuppressWarnings("unchecked")
-	public <T extends Element> T bindElement(T namedElement) throws TransformationException {
-		if(namedElement == null) {
-			// user should never see this exception
-			throw new TransformationException(Messages.TemplateInstantiation_TemplateIsNull);
-		}
-		Package boundPackage = (Package)binding.getBoundElement();
-		EList<Namespace> path = TemplateUtils.relativePathWithMerge(namedElement, packageTemplate);
-		Template template = UMLUtil.getStereotypeApplication(namedElement, Template.class);
-		BindingHelper helper = (template != null) ? template.getHelper() : null;
-		/*
-		 * if((templateKind == TemplateKind.ACCUMULATE) || (templateKind == TemplateKind.LATE_EVALUATION)) {
-		 * // TODO: not very clean yet
-		 * path = TemplateUtils.relativePathWithMerge(namedElement, copier.source);
-		 * if(path == null) {
-		 * // element is imported
-		 * path = namedElement.allNamespaces();
-		 * }
-		 * boundPackage = copier.target; // CreationUtils.getAndCreate
-		 * // (sat.target, "accumulate");
-		 * }
-		 */
-		if(path != null) {
-			// register owning package template (template can be defined in
-			// multiple packages)
-			Element owner = TemplateUtils.getTemplateOwner(namedElement, signature);
-			if(owner != null) {
-				// note that we might overwrite an existing value
-				copier.put(owner, boundPackage);
-			}
-		} else {
-			// element is not part of the package template referenced by the
-			// binding
-			if(namedElement instanceof TemplateableElement) {
-				// check whether the referenced element is part of another
-				// package template,
-				// (for which we allow for implicit binding with the first
-				// template parameter)
-				TemplateSignature signatureOfNE = TemplateUtils.getSignature((TemplateableElement)namedElement);
-				if((signatureOfNE != null) && (signature != signatureOfNE)) {
-					TemplateBinding subBinding = TemplateUtils.getSubBinding(copier.target, (TemplateableElement)namedElement, binding);
-					TemplateInstantiation ti = new TemplateInstantiation(copier, subBinding);
-					Element ret = ti.bindElement(namedElement);
-					return (T)ret;
-				}
-			}
-			// => nothing to do with respect to template instantiation, but
-			// since the template is potentially instantiated in another model,
-			// the referenced element might need to be copied.
-			return copier.getCopy(namedElement);
-		}
-		// element is contained in the template package, examine whether it
-		// already exists in the
-		// bound package.
-		NamedElement existingMember = (NamedElement)copier.get(namedElement);
-		/*
-		 * if((existingMember != null) && (templateKind != TemplateKind.ACCUMULATE)) {
-		 * // element is already existing (and thus bound), nothing to do
-		 * // additional check, whether the ACCUMULATE information is unset)
-		 * // however: if the element is a package, existence is not sufficient
-		 * // since it might have been created via getAndCreate above
-		 *
-		 * //if(namedElement instanceof Package) {
-		 * // bindPackage((Package)namedElement);
-		 * //}
-		 * return (T)existingMember;
-		 * }
-		 */
-		if(existingMember == null) {
-			FilterTemplate.getInstance().setActive(false);
-			T copiedElement = copier.getCopy(namedElement);
-			FilterTemplate.getInstance().setActive(true);
-			copier.setPackageTemplate(null, null);
-			return copiedElement;
-		}
-		return (T)existingMember;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/TemplateUtils.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/TemplateUtils.java
deleted file mode 100644
index c261326..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/TemplateUtils.java
+++ /dev/null
@@ -1,395 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.templates;
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.designer.components.transformation.core.CreationUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.PortUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.ConnectableElement;
-import org.eclipse.uml2.uml.Connector;
-import org.eclipse.uml2.uml.ConnectorEnd;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.EncapsulatedClassifier;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Namespace;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.PackageMerge;
-import org.eclipse.uml2.uml.ParameterableElement;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.StructuredClassifier;
-import org.eclipse.uml2.uml.TemplateBinding;
-import org.eclipse.uml2.uml.TemplateParameter;
-import org.eclipse.uml2.uml.TemplateParameterSubstitution;
-import org.eclipse.uml2.uml.TemplateSignature;
-import org.eclipse.uml2.uml.TemplateableElement;
-import org.eclipse.uml2.uml.Type;
-
-public class TemplateUtils {
-
-	/**
-	 * Get the template signature of a classifier. If the classifier does not
-	 * have a signature, examine if the owning class provides one
-	 *
-	 * @param template
-	 *            The potential template
-	 * @return the signature or null, if none can be found.
-	 */
-	public static TemplateSignature getSignature(TemplateableElement template) {
-		TemplateSignature signature = getSignatureDirect(template);
-		if (signature != null) {
-			return signature;
-		}
-
-		// no signature found, try signature of owning classifier (nested class)
-		// or package
-		Element owner = template.getOwner();
-		if (owner instanceof TemplateableElement) {
-			// owned by a classifier, not a package
-			return getSignature((TemplateableElement) owner);
-		} else {
-			return null;
-		}
-	}
-
-	public static Element getTemplateOwner(Element ne, TemplateSignature signature) {
-		if ((ne instanceof TemplateableElement) && getSignatureDirect((TemplateableElement) ne) == signature) {
-			return ne;
-		}
-		Element owner = ne.getOwner();
-		if (owner != null) {
-			return getTemplateOwner(owner, signature);
-		}
-		return null;
-	}
-
-	/**
-	 * Get the template signature of a templateable element (typically a package). The class must
-	 * (1) either own the signature
-	 * (2) or merge with a package which owns the signature.
-	 * Qompass enables the "extension" of existing packages via the package merge mechanism
-	 *
-	 * @param template
-	 *            The potential template
-	 * @return the signature or null, if none can be found.
-	 */
-
-	public static TemplateSignature getSignatureDirect(TemplateableElement template) {
-		for (Element element : template.getOwnedElements()) {
-			if (element instanceof TemplateSignature) {
-				return (TemplateSignature) element;
-			}
-		}
-
-		// enable multiple package templates sharing the same signature.
-		if (template instanceof Package) {
-			Package pkg = (Package) template;
-			for (PackageMerge pkgImport : pkg.getPackageMerges()) {
-				Package importedPkg = pkgImport.getMergedPackage();
-				return getSignature(importedPkg);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Create a template binding by using a single, fixed actual (used within
-	 * Qompass for the binding of container extensions depending on the component
-	 * executor)
-	 *
-	 * @param model
-	 *            : target model in which to create the bound package
-	 * @param template
-	 * @param fixedActual
-	 * @return
-	 * @throws TransformationException
-	 */
-	public static TemplateBinding fixedBinding(Package model, TemplateableElement template, Classifier fixedActual)
-			throws TransformationException {
-		// obtain the signature of an element within a package template.
-
-		TemplateSignature signature = getSignature(template);
-		if (signature == null) {
-			// not a template, retain original name
-			Log.log(IStatus.INFO, Log.TEMPLATE_BINDING, String.format(
-					Messages.TemplateUtils_NoTemplateSignature, (template instanceof NamedElement ?
-							((NamedElement) template).getName() : "undef"))); //$NON-NLS-1$
-			return null;
-		}
-
-		EList<Type> actuals = new BasicEList<Type>();
-
-		Package pkgTemplate = (Package) signature.getOwner();
-		String name = pkgTemplate.getName();
-
-		// loop on template parameters;
-		// for (TemplateParameter parameter : signature.getOwnedParameters ()) {
-		// ParameterableElement formal = parameter.getParameteredElement();
-
-		// now obtain suitable binding for this parameter - look for ports that
-		// are typed with the formal template parameter
-
-		actuals.add(fixedActual);
-		name = name + "_" + fixedActual.getName(); //$NON-NLS-1$
-		// }
-
-		// the bound package is instantiated in the same model, in which the
-		// composite can be found (avoid modifying an imported model).
-		// todo: root model as an additional parameter?
-		Namespace owner = (Namespace) pkgTemplate.getOwner();
-		owner = CreationUtils.getAndCreate(model, owner.allNamespaces());
-
-		Package boundPackage = (Package) owner.getMember(name);
-		if (boundPackage == null) {
-			// class does not exist yet, needs to be created.
-			boundPackage = ((Package) owner).createNestedPackage(name);
-
-			Log.log(IStatus.INFO, Log.TEMPLATE_BINDING, String.format(
-					Messages.TemplateUtils_InfoCreateBoundPackage, name, owner.getName()));
-		}
-
-		TemplateBinding binding = boundPackage.getTemplateBinding(signature);
-		if (binding == null) {
-			// binding is not existing yet (should normally only happen, if the class has
-			// just been created - but it's better to re-check, even if the bound package
-			// was already there)
-			binding = boundPackage.createTemplateBinding(signature);
-
-			Iterator<Type> actualsIter = actuals.iterator();
-
-			// loop on template parameters;
-			for (TemplateParameter parameter : signature.getOwnedParameters()) {
-
-				TemplateParameterSubstitution substitution =
-						binding.createParameterSubstitution();
-				substitution.setFormal(parameter);
-
-				// now obtain suitable binding for this parameter - look for
-				// ports that are typed with
-				// the formal template parameter
-				Type actual = actualsIter.next();
-				substitution.setActual(actual);
-			}
-		}
-		return binding;
-	}
-
-	/**
-	 * create a "sub" binding in which the first parameter of type Cl is assumed
-	 * to bind the sub-signature TODO: compared type and name of parameters in
-	 * two signatures TODO: support more than one template parameter
-	 *
-	 * @param model
-	 * @param te
-	 * @param existingBinding
-	 * @return
-	 * @throws TransformationException
-	 */
-	public static TemplateBinding getSubBinding(Package model,
-			TemplateableElement te, TemplateBinding existingBinding)
-			throws TransformationException {
-
-		for (TemplateParameterSubstitution tps : existingBinding.getParameterSubstitutions()) {
-			ParameterableElement pe = tps.getActual();
-			if (pe instanceof Classifier) {
-				return fixedBinding(model, te, (Classifier) pe);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Adapt the actuals within the binding (which correspond either to an
-	 * element of the source model or an imported element) to the target model.
-	 *
-	 * @param sat
-	 * @param binding
-	 */
-	public static void adaptActualsToTargetModel(LazyCopier copy, TemplateBinding binding) {
-		for (TemplateParameterSubstitution substitution : binding.getParameterSubstitutions()) {
-			substitution.setActual(copy.getCopy(substitution.getActual()));
-		}
-	}
-
-	/**
-	 * Return the actual for a potential formal parameter within a
-	 * templateBinding (move to TemplateUtils?)
-	 *
-	 * @param binding
-	 *            a template binding
-	 * @param formal
-	 *            a potential formal parameter, i.e. a parameter for which we
-	 *            check, if it really corresponds to a formal parameter within
-	 *            the template binding.
-	 * @return the actual parameter that is associated with the potential formal
-	 *         parameter, or null if the 2nd parameter does not correspond to a
-	 *         formal parameter of the binding.
-	 */
-	public static Classifier getActualFromBinding(TemplateBinding binding, Type formal) {
-		for (TemplateParameterSubstitution substitution : binding.getParameterSubstitutions()) {
-			ParameterableElement pe = substitution.getFormal().getParameteredElement();
-			if (pe == formal) {
-				Log.log(IStatus.INFO, Log.TEMPLATE_INSTANTIATION, String.format(
-						Messages.TemplateUtils_InfoGetActualFrom, pe));
-				return (Classifier) substitution.getActual();
-			}
-		}
-		return null;
-	}
-
-	public static Classifier getActualFromBinding(TemplateBinding binding, String formalName) {
-		for (TemplateParameterSubstitution substitution : binding.getParameterSubstitutions()) {
-			ParameterableElement pe = substitution.getFormal().getParameteredElement();
-			Log.log(IStatus.INFO, Log.TEMPLATE_INSTANTIATION, String.format(
-					Messages.TemplateUtils_InfoGetActualFrom, pe));
-			if ((pe instanceof NamedElement)
-					&& ((NamedElement) pe).getName().equals(formalName)) {
-				return (Classifier) substitution.getActual();
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Get the first actual from the binding.
-	 *
-	 * @param binding
-	 *            the template binding
-	 * @return the first actual.
-	 */
-	public static Classifier getFirstActualFromBinding(TemplateBinding binding) {
-		for (TemplateParameterSubstitution substitution : binding.getParameterSubstitutions()) {
-			ParameterableElement pe = substitution.getFormal().getParameteredElement();
-			Log.log(IStatus.INFO, Log.TEMPLATE_INSTANTIATION, String.format(
-					Messages.TemplateUtils_InfoGetActualFrom, pe));
-			return (Classifier) substitution.getActual();
-		}
-		return null;
-	}
-
-	/**
-	 * Return a sequence of namespaces for a given element, starting from the "bottom"
-	 * one, i.e. the one in which the element is contained. It will end before the
-	 * searchNS namespace is reached. Returns null, if the element is not contained
-	 * within the search namespace.
-	 * This function will put a merged package into the path (instead of the owner), enabling
-	 * the extension of existing packages.
-	 *
-	 * @param element
-	 * @param searchNS
-	 * @return
-	 */
-	public static EList<Namespace> relativePathWithMerge(Element element, Namespace searchNS) {
-		EList<Namespace> pathList = new BasicEList<Namespace>();
-		Element owner = element.getOwner();
-		if (!(owner instanceof Namespace)) {
-			// happens, if element is contained in a template signature
-			return null;
-		}
-		Namespace ns = (Namespace) owner;
-		while (ns != null) {
-			if (ns == searchNS) {
-				return pathList;
-			}
-			pathList.add(ns);
-
-			if (ns instanceof Package) {
-				Package pkg = (Package) ns;
-				Iterator<PackageMerge> pkgMerges = pkg.getPackageMerges().iterator();
-				// if package merge exists, get first merged package and add it to path
-				if (pkgMerges.hasNext()) {
-					PackageMerge pkgImport = pkgMerges.next();
-					ns = pkgImport.getMergedPackage();
-					continue;
-				}
-			}
-
-			ns = (Namespace) ns.getOwner();
-		}
-		return null;
-	}
-
-	/**
-	 * Re-target connectors after a part has changed its type from template to an instantiation
-	 * of this template. In this case, the roles of the connector ends still reference the port
-	 * of the template instead of the bound template binding.
-	 * The new roles are assigned based on an equal name, assuming that template instantiation
-	 * does not change the name of the ports.
-	 *
-	 * @param composite
-	 *            a composite containing connectors
-	 * @param part
-	 *            a part within the composite whose type has changed.
-	 */
-	public static void retargetConnectors(StructuredClassifier composite, Property part) {
-		Type partType = part.getType();
-		if (partType instanceof EncapsulatedClassifier) {
-			EncapsulatedClassifier partTypeEC = (EncapsulatedClassifier) partType;
-			for (Connector connector : composite.getOwnedConnectors()) {
-				if (ConnectorUtil.connectsPart(connector, part)) {
-					// the connector end targets a port of a part or the composite (in case of delegation)
-					ConnectorEnd connEnd = ConnectorUtil.connEndForPart(connector, part);
-					// redirect role, if pointing to port
-					if (connEnd.getRole() instanceof Port) {
-						Port connectedTemplatePort = (Port) connEnd.getRole();
-						Port connectedBoundPort = (Port) Utils.getNamedElementFromList(
-								PortUtils.getAllPorts(partTypeEC), connectedTemplatePort.getName());
-						connEnd.setRole(connectedBoundPort);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Re-target connectors after an unknown number of parts have changed their type from template
-	 * to an instantiation of this template. In this case, the roles of the connector ends still
-	 * reference the port of the template instead of the bound template binding.
-	 * The new roles are assigned based on an equal name, assuming that template instantiation
-	 * does not change the name of the ports.
-	 *
-	 * @param composite
-	 *            a composite containing connectors
-	 */
-	public static void retargetConnectors(StructuredClassifier composite) {
-		for (Connector connector : composite.getOwnedConnectors()) {
-			// the connector end targets a port of a part or the composite (in case of delegation)
-			for (ConnectorEnd connEnd : connector.getEnds()) {
-				Property part = connEnd.getPartWithPort();
-				if ((part != null) && (part.getType() instanceof EncapsulatedClassifier)) {
-					EncapsulatedClassifier partTypeEC = (EncapsulatedClassifier) part.getType();
-					ConnectableElement role = connEnd.getRole();
-					EList<Port> ports = PortUtils.getAllPorts(partTypeEC);
-					if ((role instanceof Port) && !ports.contains(role)) {
-						// role is not in list of ports
-						Port connectedBoundPort = (Port) Utils.getNamedElementFromList(ports, role.getName());
-						connEnd.setRole(connectedBoundPort);
-					}
-				}
-			}
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/TextTemplateBinding.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/TextTemplateBinding.java
deleted file mode 100644
index ff47071..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/TextTemplateBinding.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    CEA LIST - initial API and implementation
- */
-
-package org.eclipse.papyrus.designer.components.transformation.core.templates;
-
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.NamedElement;
-
-/**
- * Wrap different ways to bind a template. This may be either a reference to an
- * Xtend template or a specific name template.
- */
-public class TextTemplateBinding {
-
-	/**
-	 * Simple template expression that is replaced with the name of a named
-	 * element. Uses an Acceleo syntax
-	 * The objective is that the access to an element name is very common and does
-	 * not need an xtend script behind.
-	 */
-	private static final String NAME_IN_BRACKETS = "[name/]"; //$NON-NLS-1$
-
-	/**
-	 * Simple template expression that is replaced with the name of a named
-	 * element. Slight variation of the Acceleo syntax
-	 */
-	private static final String NAME_IN_BRACKETS_SIMPLE = "[name]"; //$NON-NLS-1$
-
-	/**
-	 * Execute a script passed as parameter. It will be executed in the context
-	 * of a base script that declares the meta-model (UML2) and has additional
-	 * imports (currently none).
-	 *
-	 * @param template
-	 *            The template in string form
-	 * @param element
-	 *            The UML element to which the template is applied
-	 * @return the evaluated template
-	 */
-	public static String bind(String templateStr, Element element) throws TransformationException {
-		return bind(templateStr, element, null);
-	}
-
-	/**
-	 * Execute a script passed as parameter. It will be executed in the context
-	 * of a base script that declares the meta-model (UML2). It allows for
-	 * additional arguments
-	 *
-	 * @param template
-	 *            The template in string form
-	 * @param element
-	 *            The UML element to which the template is applied
-	 * @return the evaluated template
-	 */
-	public static String bind(String templateStr, Element element, Object args[]) throws TransformationException {
-		if (templateStr.startsWith(XtendTemplateBinding.XTEND_MAGIC)) {
-			return XtendTemplateBinding.bind(templateStr, element, args);
-		}
-		else if (element instanceof NamedElement) {
-			String name = ((NamedElement) element).getName();
-			if (templateStr.contains(NAME_IN_BRACKETS)) {
-				return templateStr.replace(NAME_IN_BRACKETS, name);
-			}
-			else if (templateStr.contains(NAME_IN_BRACKETS_SIMPLE)) {
-				return templateStr.replace(NAME_IN_BRACKETS_SIMPLE, name);
-			}
-		}
-		return templateStr;
-		// throw new TransformationException("Template is not supported"); //$NON-NLS-1$
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/XtendTemplateBinding.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/XtendTemplateBinding.java
deleted file mode 100644
index 45e49bd..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/templates/XtendTemplateBinding.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.transformation.core.templates;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.IXtend;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.XtendGenerator;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.uml2.uml.Element;
-
-public class XtendTemplateBinding {
-
-	public static final String XTEND_MAGIC = "!xtend"; //$NON-NLS-1$
-
-	/**
-	 * Execute a script passed as parameter. It will be executed in the context
-	 * of a base script that declares the meta-model (UML2) and has additional
-	 * imports (currently none).
-	 *
-	 * @param template
-	 *            The template in string form
-	 * @param element
-	 *            The UML element to which the template is applied
-	 * @return the evaluated template
-	 */
-	public static String bind(String templateStr, Element element) throws TransformationException {
-		return bind(templateStr, element, null);
-	}
-	
-	/**
-	 * Execute a script passed as parameter. It will be executed in the context
-	 * of a base script that declares the meta-model (UML2) and has additional
-	 * imports (currently none).
-	 *
-	 * @param template
-	 *            The template in string form
-	 * @param element
-	 *            The UML element to which the template is applied
-	 * @return the evaluated template
-	 */
-	public static String bind(String templateStr, Element element, Object args[]) throws TransformationException {
-		String[] templateRef = templateStr.substring(XTEND_MAGIC.length() + 1).split("\\."); //$NON-NLS-1$
-		String templateId = templateRef[0].trim();
-		String methodName = templateRef[1].trim();
-		IXtend generator = XtendGenerator.getXtendGenerator(templateId);
-		if (generator == null) {
-			throw new TransformationException(String.format(Messages.XtendTemplateBinding_TemplateNotFound, templateId, methodName));
-		}
-		
-		try {
-			Object result;
-			if (args != null) {
-				Method method = getMethod(generator, methodName, 1+args.length);
-				result = method.invoke(generator, element, args);
-			}
-			else {
-				Method method = getMethod(generator, methodName, 1);
-				result = method.invoke(generator, element);
-			}
-			if (result instanceof String) {
-				return (String) result;
-			}
-			else if (result instanceof CharSequence) {
-				return result.toString();
-			}
-			else {
-				throw new TransformationException(Messages.XtendTemplateBinding_TemplateResultIsNotAString);
-			}
-		} catch (SecurityException | IllegalAccessException
-				| IllegalArgumentException | InvocationTargetException | NullPointerException e) {
-			throw new TransformationException(e.getMessage());
-		}
-	}
-	
-	public static Method getMethod(IXtend generator, String methodName, int numberOfArguments) {
-		for (Method method : generator.getClass().getMethods()) {
-			if (method.getName().equals(methodName) && method.getParameterTypes().length == numberOfArguments) {
-				return method;
-			}
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/AllocTransfo.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/AllocTransfo.java
deleted file mode 100644
index 693c7bb..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/AllocTransfo.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.transformation.core.transformations;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.AllocUtils;
-import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
-import org.eclipse.uml2.common.util.UML2Util;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Connector;
-import org.eclipse.uml2.uml.ConnectorEnd;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Slot;
-import org.eclipse.uml2.uml.Type;
-
-/**
- * Transform the allocations towards an execution resource (thread) into a suitable connection
- * Current restriction: a thread needs to be defined the same composite as the component which
- * is allocated to this thread.
- */
-public class AllocTransfo {
-	/**
-	 * Name of port provided by component being allocation target
-	*/
-	public static final String RUN = "run"; //$NON-NLS-1$
-	
-	/**
-	 * Name of port provided by thread component (a "required" port)
-	 */
-	public static final String R_RUN = "rRun"; //$NON-NLS-1$
-	
-	/**
-	 * name of main thread
-	 */
-	public static final String MAIN = "main"; //$NON-NLS-1$
-
-	/**
-	 *
-	 * @param copier
-	 *            The copier class. Currently unused
-	 * @param composite
-	 *            A composite. We analyze the allocations of the properties within this
-	 *            Composite. The composite must be an element of the target model that can be modified.
-	 */
-	public void transformAllocs(LazyCopier copy, Class composite) {
-		EList<Property> attributeList = new BasicEList<Property>();
-		attributeList.addAll(composite.getOwnedAttributes()); // use a copy, since the loop eventually destroys an element of the list.
-		for (Property attribute : attributeList) {
-			Type type = attribute.getType();
-			if (!(type instanceof Class)) {
-				continue;
-			}
-			Property thread = AllocUtils.getThreadAlloc(attribute);
-			if (thread != null) {
-				// this attribute represents a thread.
-				if (thread.getName().equals(MAIN)) {
-					// TODO: currently, no support for setting up the priority of the main thread.
-					// we need to get a cleaner solution for the main thread.
-					// destroy eventual connector and associated thread => thread as component with unconnected start thread
-					Connector conn = ConnectorUtil.getConnector(composite, attribute, thread);
-					// Connector targetConn = copier.getCopy(conn);
-					// Property targetThread = copier.getCopy(thread);
-					if (conn != null) {
-						conn.destroy();
-					}
-					// destroy not only the thread, but also the slot within the composites instance specification
-					// (that references the thread via its defining feature).
-					for (Setting setting : UML2Util.getInverseReferences(thread)) {
-						if (setting.getEObject() instanceof Slot) {
-							((Element) setting.getEObject()).destroy();
-						}
-					}
-					thread.destroy();
-				}
-				// check, if there is already a connector between the attribute and the thread
-				else if (!ConnectorUtil.existsConnector(composite, attribute, thread)) {
-					// no connector => create;
-					Class component = (Class) type;
-					Connector c = composite.createOwnedConnector("alloc to " + thread.getName()); //$NON-NLS-1$
-					ConnectorEnd ce1 = c.createEnd();
-					ce1.setPartWithPort(attribute);
-					// TODO: should really use start port instead...
-					// ce1.setRole(AllocUtils.getStartPort(component));
-					NamedElement ne = Utils.getNamedElementFromList(component.getAllAttributes(), RUN);
-					if (ne instanceof Property) {
-						ce1.setRole((Property) ne);
-					}
-					ConnectorEnd ce2 = c.createEnd();
-					ce2.setPartWithPort(thread);
-					Type threadT = thread.getType();
-					if (threadT instanceof Class) {
-						// TODO: nicer way to obtain port ...
-						Property rLC = ((Class) threadT).getAttribute(R_RUN, null);
-						if (rLC instanceof Port) {
-							ce2.setRole(rLC);
-						}
-					}
-				}
-			}
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/CompTypeTrafos.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/CompTypeTrafos.java
deleted file mode 100644
index e3b6e51..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/CompTypeTrafos.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.PortUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Ptr;
-import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Interface;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.PackageableElement;
-import org.eclipse.uml2.uml.Parameter;
-import org.eclipse.uml2.uml.ParameterDirectionKind;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.Type;
-
-/**
- * A collection of transformations related to component-types (or abstract implementations)
- *
- * 1. Add access operations for ports, i.e. operations that return a reference of a port
- * (if port provides interface) and/or allow to connect a port with a given reference
- * (if port requires an interface)
- * 2. Remove ports (after ports have been replaced with standard properties)
- *
- * TODO: transformation is specific to C++
- * TODO: currently unused
- *
- * @author ansgar
- *
- */
-@Deprecated
-public class CompTypeTrafos {
-
-	public static final String INDEX_TYPE_FOR_MULTI_RECEPTACLE = "corba::Long"; //$NON-NLS-1$
-
-	/**
-	 * Complete access operations recursively, i.e. traverse all packageable
-	 * elements and apply the completeAccessOps operation on classes
-	 *
-	 * @param pkg
-	 *            the package for which the completion should start
-	 * @see completeAccessOps(Class)
-	 */
-	public static void completeAccessOps(Package pkg) {
-		for (PackageableElement element : new BasicEList<PackageableElement>(pkg.getPackagedElements())) {
-			if (element instanceof Package) {
-				completeAccessOps((Package) element);
-			} else if (element instanceof Class) {
-				completeAccessOps((Class) element);
-			}
-		}
-	}
-
-	/**
-	 * Complete access operations that return the reference. This function is a completion,
-	 * since the access operations have already been added for component implementations
-	 * (partly, if implementation was abstract).
-	 *
-	 * @param component
-	 *            the component for which access operation should be completed.
-	 * @return
-	 */
-	private static void completeAccessOps(Class component) {
-		// only owned ports => since the operation is also applied on inherited types.
-		for (Port port : component.getOwnedPorts()) {
-			Interface providedIntf = PortUtils.getProvided(port);
-			if (providedIntf != null) {
-				// add operation CCM_<%type%> get_<portname>
-				String getName = PrefixConstants.getP_Prefix + port.getName();
-
-				// create unless already existing
-				if (component.getOwnedOperation(getName, null, null) == null) {
-					Operation op = component.createOwnedOperation(getName, null, null);
-					op.setIsAbstract(true);
-					Parameter retParam = op.createOwnedParameter("ret", providedIntf); //$NON-NLS-1$
-					retParam.setDirection(ParameterDirectionKind.RETURN_LITERAL);
-					StereotypeUtil.apply(retParam, Ptr.class);
-					// StereotypeUtil.apply(op, CppVirtual.class);
-				}
-			}
-			Interface requiredIntf = PortUtils.getRequired(port);
-			if (requiredIntf != null) {
-				// add operation CCM_<%type%> connect_q <portname>
-				String connName = PrefixConstants.connectQ_Prefix + port.getName();
-
-				// create unless already existing
-				if (component.getOwnedOperation(connName, null, null) == null) {
-					Operation op = component.createOwnedOperation(connName, null, null);
-					op.setIsAbstract(true);
-					boolean multiPort = (port.getUpper() > 1) || (port.getUpper() == -1); // -1 indicates "*"
-					if (multiPort) {
-						// add index parameter
-						Element eLong = Utils.getQualifiedElement(PackageUtil.getRootPackage(component), INDEX_TYPE_FOR_MULTI_RECEPTACLE);
-						if (eLong instanceof Type) {
-							op.createOwnedParameter("index", (Type) eLong); //$NON-NLS-1$
-						}
-						else {
-							throw new RuntimeException(String.format(Messages.CompTypeTrafos_CannotFindType, INDEX_TYPE_FOR_MULTI_RECEPTACLE));
-						}
-					}
-					Parameter refParam = op.createOwnedParameter("ref", requiredIntf); //$NON-NLS-1$
-					refParam.setDirection(ParameterDirectionKind.IN_LITERAL);
-					StereotypeUtil.apply(refParam, Ptr.class);
-					// StereotypeUtil.apply(op, CppVirtual.class);
-				}
-			}
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/CopyTo.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/CopyTo.java
deleted file mode 100644
index efb75e7..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/CopyTo.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.transformation.core.transformations;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil.Copier;
-import org.eclipse.uml2.uml.Element;
-
-/**
- * This class enables the copy from a source to a given target element.
- * It assumes that a copy has already been created, but will just not copy it...
- * Unlike the @see Copier class, the element might be copied to a different place
- */
-public class CopyTo {
-	/**
-	 * Copy an element from the source to a target
-	 *
-	 * @param source
-	 *            The element that should be copied
-	 * @param targetContainer
-	 *            The container into which it the source should be copied
-	 * @return the copied object
-	 */
-	@SuppressWarnings("unchecked")
-	public static <T extends Element> T copyTo(T source, Element targetContainer) {
-		Copier copier = new Copier();
-		EObject sourceContainer = source.eContainer();
-		if (sourceContainer != null) {
-			copier.put(sourceContainer, targetContainer);
-		}
-
-		EObject copy = copier.copy(source);
-		copier.copyAll(source.getStereotypeApplications());
-		copier.copyReferences();
-		return (T) copy;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/ExecuteOOTrafo.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/ExecuteOOTrafo.java
deleted file mode 100644
index 66bf87f..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/ExecuteOOTrafo.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.designer.components.FCM.PortKind;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.IOOTrafo;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.OOTrafo;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Connector;
-import org.eclipse.uml2.uml.EncapsulatedClassifier;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.PackageableElement;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.StructuralFeature;
-import org.eclipse.uml2.uml.StructuredClassifier;
-
-public class ExecuteOOTrafo {
-
-	IOOTrafo ooTrafo;
-
-	ExecuteOOTrafo(IOOTrafo ooTrafo) {
-		this.ooTrafo = ooTrafo;
-	}
-
-	/**
-	 * Execute the OO transformation for a package, include removal of connectors
-	 *
-	 * @param pkg
-	 * @throws TransformationException
-	 */
-	public void transformPackage(Package pkg) throws TransformationException {
-		recursiveOOTransformation(pkg);
-		// transformation and removal is not done in same loop. Otherwise it would be possible
-		// that inherited ports have already been removed.
-		recursiveRemoval(pkg);
-	}
-
-	/**
-	 * Execute the OO transformation for a package
-	 *
-	 * @param pkg
-	 * @throws TransformationException
-	 */
-	public void recursiveOOTransformation(Package pkg) throws TransformationException {
-		EList<PackageableElement> peList = new BasicEList<PackageableElement>();
-		peList.addAll(pkg.getPackagedElements());
-		for (PackageableElement element : peList) {
-			if (element instanceof Package) {
-				recursiveOOTransformation((Package) element);
-			} else if (element instanceof Class) {
-				Class implementation = (Class) element;
-				// do not apply transformation to port-kinds
-				if (!StereotypeUtil.isApplied(implementation, PortKind.class)) {
-					ooTrafo.addPortOperations(implementation);
-					ooTrafo.addConnectionOperation(implementation);
-					ooTrafo.transformParts(implementation);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Remove connectors and ports from elements within a package
-	 * 
-	 * @param pkg
-	 * @throws TransformationException
-	 */
-	public void recursiveRemoval(Package pkg) throws TransformationException {
-		EList<PackageableElement> peList = new BasicEList<PackageableElement>();
-		peList.addAll(pkg.getPackagedElements());
-		for (PackageableElement element : peList) {
-			if (element instanceof Package) {
-				recursiveRemoval((Package) element);
-			}
-			else {
-				// delete connectors and ports
-				if (element instanceof StructuredClassifier) {
-					removeConnectors((StructuredClassifier) element);
-				}
-				if (element instanceof EncapsulatedClassifier) {
-					removePorts((EncapsulatedClassifier) element);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Helper: remove connectors from a structured classifier (in most cases a
-	 * class)
-	 * 
-	 * @param implementation
-	 *            A component
-	 */
-	public void removeConnectors(StructuredClassifier implementation) {
-		EList<Connector> connectors = new BasicEList<Connector>();
-		connectors.addAll(implementation.getOwnedConnectors());
-		for (Connector connector : connectors) {
-			connector.destroy();
-		}
-	}
-
-	/**
-	 * Helper: remove ports from a from an encapsulated classifier (in most
-	 * cases a class)
-	 * 
-	 * @param implementation
-	 *            A component
-	 */
-	public void removePorts(EncapsulatedClassifier implementation) {
-		EList<Port> portListCopy = new BasicEList<Port>();
-		portListCopy.addAll(implementation.getOwnedPorts());
-		// avoid dangling references by calling destroy on the port list
-		for (Port port : portListCopy) {
-			port.destroy();
-		}
-	}
-
-	/**
-	 * Transform a component model into an object oriented model.
-	 * 
-	 * @param copier a copier
-	 * @param bootloader the generated bootloader
-	 * @param genModel the model to generate into
-	 * @param OOmodel ignored.
-	 * @throws TransformationException
-	 * @deprecated use variant with ignored parameter
-	 */
-	@Deprecated
-	public static void transform(LazyCopier copier, Class bootloader, Model genModel, boolean OOmodel)
-			throws TransformationException {
-		transform(copier, bootloader, genModel);
-	}
-	
-	public static void transform(LazyCopier copier, Class bootloader, Model genModel)
-			throws TransformationException {
-		String ooTransformation = DepUtils.getOOTransformationFromPackage(genModel);
-		if (ooTransformation == null) {
-			// default OO transformation
-			ooTransformation = "StaticCpp"; //$NON-NLS-1$
-		}
-		IOOTrafo ooTrafo = OOTrafo.getOOTrafo(ooTransformation);
-		ooTrafo.init(copier, bootloader);
-		ExecuteOOTrafo executeOOTrafo = new ExecuteOOTrafo(ooTrafo);
-		executeOOTrafo.transformPackage(genModel);
-
-		// complete access operations?
-	}
-
-	// TODO: always false. Is it really task of OO trafo to decide whether
-	// something is
-	// instantiated by bootloader or not?
-	public static boolean instantiateViaBootloader(StructuralFeature slot) {
-		return false;
-	}
-
-	// TODO: currently used by BOOTLOADER generator. Why needed?
-	public static final String CREATE_CONNECTIONS = "createConnections"; //$NON-NLS-1$
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/FlattenInteractionComponents.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/FlattenInteractionComponents.java
deleted file mode 100644
index cae23c7..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/FlattenInteractionComponents.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.designer.components.FCM.InteractionComponent;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepPlanUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepUtils;
-import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Connector;
-import org.eclipse.uml2.uml.ConnectorEnd;
-import org.eclipse.uml2.uml.DirectedRelationship;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Slot;
-import org.eclipse.uml2.uml.StructuralFeature;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * Deploy instances in a flat way, i.e. only deploy leaves. "Normal" composites
- * still need to be deployed (since they might have a behavior of their own).
- * However, composites tagged as assemblies (FCM stereotype attribute) may be
- * not be deployed, instead their contents is deployed.
- *
- * A composite that is not deployed implies that
- * - assembly connections within this composite need to move up one or more levels
- * in the composite hierarchy
- * - re-targeting connections from/to a composite to the inner part (along delegation connections inside
- * the composite)
- * [Need to stop at a composite]
- *
- * Problems: need to do that on instance level. It could be that the same composite is instantiated
- * at different places in the tree with a different implementation choices => would require different
- * variants of the sub-type.
- * Solution: a. completely flatten except system of which we know that a single
- * instance exists)
- * b. forbid that different implementation variants are used by different instances of same composant
- *
- * CAVEAT: function not yet properly working,
- * function currently not used
- *
- * @author ansgar
- *
- *
- */
-public class FlattenInteractionComponents {
-
-	private static final String FLATTEN_SEP = "_"; //$NON-NLS-1$
-
-	public static FlattenInteractionComponents getInstance() {
-		return instance;
-	}
-
-	private static FlattenInteractionComponents instance = new FlattenInteractionComponents();
-
-	/**
-	 * flatten an assembly, i.e. remove the passed containedPart (which must be a part within the passed containing
-	 * composite)
-	 *
-	 * @param containingComposite
-	 * @param containedPart
-	 *            a part within the passed containing composite
-	 * @param containedComposite
-	 *            the type (implementation) of the passed part
-	 */
-	public void flattenAssembly(InstanceSpecification instance, Slot slot)
-	{
-		Classifier cl = DepUtils.getClassifier(instance);
-		if ((cl instanceof Class) && (slot != null)) {
-			InteractionComponent ic = UMLUtil.getStereotypeApplication(cl, InteractionComponent.class);
-			if ((ic != null) && ic.isForDistribution()) {
-				Slot containingSlot = DepUtils.getParentSlot(instance);
-				InstanceSpecification containingInstance = containingSlot.getOwningInstance();
-				flattenAssembly((Class) cl, instance, containingInstance, containingSlot);
-			}
-		}
-		// loop over sub-instances and apply flatten recursively.
-		// create a copy of the slots, since the recursive flatten call might modify
-		// the number of slots
-		EList<Slot> slots = new BasicEList<Slot>(instance.getSlots());
-		for (Slot subISslot : slots) {
-			InstanceSpecification subIS = DepUtils.getInstance(subISslot);
-			if (subIS != null) {
-				flattenAssembly(subIS, subISslot);
-			}
-		}
-	}
-
-	/**
-	 *
-	 * Flatten a composite interaction component, i.e. replace it by the containing fragments. This includes the following actions
-	 * 1. Parts typed with the interaction component must be replaced with a set of parts typed with the fragment.
-	 * 2. Connectors must be redirected.
-	 *
-	 * Please note that we do not delete the original interaction component, but it will not appear in a model generated for a specific node.
-	 * TODO: We need to re-target connectors in all containing composites, but the same containingComposite might have several instances within an application. In this case,
-	 * we only need to move slots.
-	 *
-	 * Well, there are different classes: first: the flattened interaction component and other components that reference the flattened interaction component.
-	 *
-	 * @param composite
-	 *            a composite class
-	 * @param instance
-	 *            the instance associated with the composite class (1st parameter)
-	 * @param containingInstance
-	 *            an instance of the containing composite
-	 * @param containingSlot
-	 *            the slot associated with the instance (2nd parameter)
-	 */
-	public void flattenAssembly(Class composite, InstanceSpecification instance, InstanceSpecification containingInstance, Slot containingSlot)
-	{
-		Classifier containingCompositeCl = DepUtils.getClassifier(containingInstance);
-		StructuralFeature sfForIA = containingSlot.getDefiningFeature();
-		Map<Property, Property> replaceParts = new HashMap<Property, Property>();
-		if ((containingCompositeCl instanceof Class) && (sfForIA instanceof Property)) {
-			Class containingComposite = (Class) containingCompositeCl;
-			Property partForIA = (Property) sfForIA;
-
-			for (Property fragmentPart : composite.getAllAttributes()) {
-				if (fragmentPart instanceof Port) {
-					continue;
-				}
-				String partName = partForIA.getName() + FLATTEN_SEP + fragmentPart.getName();
-				// create a new part in the containing composite
-				Property newPartForFragment = containingComposite.createOwnedAttribute(partName, fragmentPart.getType());
-				replaceParts.put(fragmentPart, newPartForFragment);
-
-				boolean foundConnector = false;
-				// now redirect connectors: find whether a port delegates to the fragment
-				for (Connector connector : composite.getOwnedConnectors()) {
-					if (ConnectorUtil.connectsPart(connector, fragmentPart)) {
-						foundConnector = true;
-						// internal connector for the part, check whether delegation
-						ConnectorEnd ce = ConnectorUtil.connEndNotPart(connector, fragmentPart);
-						if ((ce != null) && (ce.getPartWithPort() == null)) {
-							// delegation connector, need to re-targed connections to external port
-							Port port = (Port) ce.getRole();
-							// now look for connections to this port in the containingComposite and shortcut these ...
-							retargetConnections(containingComposite, port, partForIA, newPartForFragment);
-						} else {
-							// assembly: assembly connection between fragments are not authorized
-						}
-					}
-				}
-				if (!foundConnector) {
-					throw new RuntimeException("the part <" + fragmentPart.getName() + "> within composite <" + composite.getName() + "> is not connected with any of its ports"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				}
-			}
-			// on instance level: move slots from instance to containingInstance
-			EList<Slot> slots = instance.getSlots();
-			containingInstance.getSlots().addAll(slots);
-			// replace defining feature
-			for (Slot slot : containingInstance.getSlots()) {
-				StructuralFeature sf = slot.getDefiningFeature();
-				if (replaceParts.containsKey(sf)) {
-					slot.setDefiningFeature(replaceParts.get(sf));
-					// assure naming convention for instances: here, we update the name of the instance
-					// and its sub-instances with the name of the containingInstance
-					InstanceSpecification subInstance = DepUtils.getInstance(slot);
-					if ((subInstance != null) && !DepUtils.isShared(slot)) {
-						DepPlanUtils.updateInstanceNames(subInstance, instance.getName() + FLATTEN_SEP + sf.getName());
-					}
-				}
-			}
-
-			containingSlot.destroy();
-			// destroy relationships of flattened instance, in particular allocation
-			for (DirectedRelationship dr : instance.getSourceDirectedRelationships()) {
-				dr.destroy();
-			}
-			instance.destroy();
-			partForIA.destroy();
-
-			// move is
-			/*
-			 * InstanceSpecification partIS;
-			 * DepUtils.createSlot (cdp, newIS, partIS, newPart);
-			 */
-		}
-	}
-
-	/**
-	 * Find a connection within a connecting
-	 *
-	 * @param containingComposite
-	 * @param port
-	 *            A port which delegates to a fragment
-	 * @param part
-	 *            the part within the containing composite (1st parameter) point to the interactionComponent
-	 * @param subPart
-	 *            a newly created part corresponding to the fragment
-	 */
-	public void retargetConnections(Class containingComposite, Port port, Property part, Property subPart) {
-		for (Connector connector : containingComposite.getOwnedConnectors()) {
-			if (ConnectorUtil.connectsPart(connector, part) && ConnectorUtil.connectsPort(connector, port)) {
-				ConnectorEnd ce = ConnectorUtil.connEndForPart(connector, part);
-				if (ce != null) {
-					// TODO: only with with connections targeting a port of a part, not with
-					// those targeting directly a part
-					ce.setPartWithPort(subPart);
-				}
-			}
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/InstantiateDepPlan.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/InstantiateDepPlan.java
deleted file mode 100644
index 57d1bff..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/InstantiateDepPlan.java
+++ /dev/null
@@ -1,621 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.common.util.WrappedException;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.papyrus.designer.components.FCM.Configuration;
-import org.eclipse.papyrus.designer.components.FCM.DeploymentPlan;
-import org.eclipse.papyrus.designer.components.FCM.OperatingSystem;
-import org.eclipse.papyrus.designer.components.FCM.Target;
-import org.eclipse.papyrus.designer.components.FCM.util.MapUtil;
-import org.eclipse.papyrus.designer.components.transformation.core.CommandSupport;
-import org.eclipse.papyrus.designer.components.transformation.core.EnumService;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.ModelManagement;
-import org.eclipse.papyrus.designer.components.transformation.core.ProjectManagement;
-import org.eclipse.papyrus.designer.components.transformation.core.StUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.AllocUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepCreation;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.Deploy;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DeployConstants;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.GatherConfigData;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.AbstractContainerTrafo;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.InstanceConfigurator;
-import org.eclipse.papyrus.designer.components.transformation.core.generate.GenerateCode;
-import org.eclipse.papyrus.designer.components.transformation.core.generate.GenerationOptions;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.filters.FilterPortKind;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.filters.FilterRuleApplication;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.filters.FilterStateMachines;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.filters.FilterTemplate;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.filters.FilterTemplateBinding;
-import org.eclipse.papyrus.designer.languages.common.extensionpoints.AbstractSettings;
-import org.eclipse.papyrus.designer.languages.common.extensionpoints.ILangCodegen;
-import org.eclipse.papyrus.designer.languages.common.extensionpoints.ILangProjectSupport;
-import org.eclipse.papyrus.designer.languages.common.extensionpoints.LanguageCodegen;
-import org.eclipse.papyrus.designer.languages.common.extensionpoints.LanguageProjectSupport;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.PackageableElement;
-import org.eclipse.uml2.uml.Profile;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * This class executes all transformations during the instantiation of a
- * deployment plan, i.e. 1. The reification of connectors (including template
- * instantiation). This transformation targets a new model 2. Adding
- * get_p/connect_q operations to a class (transformation within same model) 3.
- * Remove all component types 4. distribute to nodes
- *
- * @author ansgar
- *
- */
-public class InstantiateDepPlan {
-
-	/**
-	 * The location of the temporary model (relative to current project). TODO:
-	 * make configurable?
-	 */
-	public static final String TEMP_MODEL_FOLDER = "tmpModel"; //$NON-NLS-1$
-
-	/**
-	 * Postfix of the temporary model (prefix = name of top-level package).
-	 * TODO: make configurable?
-	 */
-	public static final String TEMP_MODEL_POSTFIX = "Tmp.uml"; //$NON-NLS-1$
-
-	/**
-	 * Progress monitor of Eclipse.
-	 */
-	protected IProgressMonitor monitor = null;
-
-	protected int generationOptions;
-
-	protected boolean generateCode;
-
-	protected boolean generateCACOnly;
-
-	protected Package srcModelComponentDeploymentPlan = null;
-
-	protected Configuration configuration = null;
-
-	protected IProject project;
-
-	protected IProject genProject;
-
-	public void instantiate(Configuration configuration, IProgressMonitor monitor, IProject project, int genOptions) {
-		this.configuration = configuration;
-		srcModelComponentDeploymentPlan = configuration.getDeploymentPlan().getBase_Package();
-		//
-		if (srcModelComponentDeploymentPlan == null) {
-			String message = String.format(Messages.InstantiateDepPlan_DepPlanStereotypeNotInitialized, configuration.getBase_Class().getName());
-			displayError(Messages.InstantiateDepPlan_TransformationException, message);
-		}
-
-		this.project = project;
-		if (project == null) {
-			String projectName = configuration.getBase_Class().eResource().getURI().toString();
-			this.project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-		}
-		//
-		instantiate(monitor, genOptions);
-	}
-
-	public void instantiate(Package pkg, IProgressMonitor monitor, IProject project, int genOptions) {
-		configuration = null;
-		srcModelComponentDeploymentPlan = pkg;
-		//
-		this.project = project;
-		if (project == null) {
-			String projectName = pkg.eResource().getURI().toString();
-			this.project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-		}
-
-		//
-		instantiate(monitor, genOptions);
-	}
-
-	/**
-	 * Instantiate a deployment plan, i.e. generate an intermediate model via a
-	 * sequence of transformations
-	 *
-	 * @param umlElement
-	 *            a deployment plan (UML package) or a configuration (UML class)
-	 * @param monitor
-	 *            a progress monitor.
-	 *
-	 * @param project
-	 *            the current project. This information is used to store the
-	 *            intermediate model in a subfolder (tmpModel) of the current
-	 *            project
-	 * @param genOptions
-	 *            select whether to produce an intermediate model only, also
-	 *            code, ... @see GenerationOptions
-	 */
-	private void instantiate(IProgressMonitor monitor, int genOptions) {
-		try {
-			initialize(monitor, genOptions);
-			executeTransformation();
-		} catch (final TransformationException e) {
-			printAndDisplayErrorMessage(e, Messages.InstantiateDepPlan_TransformationException, false);
-		} catch (final Exception e) {
-			printAndDisplayErrorMessage(e, Messages.InstantiateDepPlan_ErrorsDuringTransformation, true);
-		}
-	}
-
-	private void initialize(IProgressMonitor monitor, int genOptions) throws TransformationException {
-		this.monitor = monitor;
-		this.generationOptions = genOptions;
-		this.generateCode = (genOptions & GenerationOptions.MODEL_ONLY) == 0;
-		this.generateCACOnly = (genOptions & GenerationOptions.CAC_ONLY) != 0;
-
-		RuleManagement.setConfiguration(configuration);
-	}
-
-	protected void executeTransformation() throws Exception {
-		ModelManagement intermediateModelManagement = null;
-
-		// 1a: create a new model (and applies same profiles / imports)
-		Model existingModel = srcModelComponentDeploymentPlan.getModel();
-		TransformationContext.sourceRoot = existingModel;
-
-		intermediateModelManagement = createTargetModel(existingModel, existingModel.getName(), true);
-
-		// get the temporary model
-		Model intermediateModel = intermediateModelManagement.getModel();
-
-		// create a package for global enumerations that are used by Acceleo code
-		EnumService.createEnumPackage(intermediateModel);
-
-		// create a lazy copier towards the intermediate model
-		LazyCopier intermediateModelCopier = new LazyCopier(existingModel, intermediateModel, false, true);
-		// add pre-copy and post-copy listeners to the copier
-		intermediateModelCopier.preCopyListeners.add(FilterTemplate.getInstance());
-
-		// 1b: reify the connectors "into" the new model
-		monitor.subTask(Messages.InstantiateDepPlan_InfoExpandingConnectors);
-
-		// obtain the component deployment plan in target model
-		Package intermediateModelComponentDeploymentPlan = (Package) intermediateModelCopier.shallowCopy(srcModelComponentDeploymentPlan);
-		intermediateModelCopier.createShallowContainer(srcModelComponentDeploymentPlan);
-
-		AbstractContainerTrafo.init();
-		InstanceConfigurator.onNodeModel = false;
-		MainModelTrafo mainModelTrafo = new MainModelTrafo(intermediateModelCopier, intermediateModelComponentDeploymentPlan);
-
-		Map<InstanceSpecification, InstanceSpecification> instanceMap = new HashMap<InstanceSpecification, InstanceSpecification>();
-		for (PackageableElement pe : srcModelComponentDeploymentPlan.getPackagedElements()) {
-			if (pe instanceof InstanceSpecification) {
-				InstanceSpecification instance = (InstanceSpecification) pe;
-				// check whether a top level instance and not an instance specification of a connector. The latter
-				// is added, since interaction components might have configuration parameters that appear in the
-				// deployment plan. Since the container transformation is not executed at this moment, the interaction is
-				// not represented by a part yet.
-				if (DepUtils.isTopLevelInstance(instance) && !Utils.isInteractionComponent(DepUtils.getClassifier(instance))) {
-					InstanceSpecification newInstance = mainModelTrafo.transformInstance(instance, null);
-
-					// --------------------------------------------------------------------
-					checkProgressStatus();
-					// --------------------------------------------------------------------
-
-					TransformationUtil.applyInstanceConfigurators(newInstance);
-
-					FlattenInteractionComponents.getInstance().flattenAssembly(newInstance, null);
-					TransformationUtil.propagateAllocation(newInstance);
-					instanceMap.put(instance, newInstance);
-				}
-			}
-		}
-
-		if (!generateCACOnly) {
-			deployOnNodes(instanceMap, existingModel, intermediateModel);
-		}
-
-		intermediateModelManagement.saveModel(project, TEMP_MODEL_FOLDER, TEMP_MODEL_POSTFIX);
-
-		// --------------------------------------------------------------------
-		checkProgressStatus();
-		// --------------------------------------------------------------------
-
-		intermediateModelManagement.dispose();
-	}
-
-	private void deployOnNodes(Map<InstanceSpecification, InstanceSpecification> instanceMap, Model existingModel, Model tmpModel) throws TransformationException, InterruptedException {
-
-		// not deploy on each node
-		DepCreation.initAutoValues(instanceMap.values());
-
-		EList<InstanceSpecification> nodes = AllocUtils.getAllNodes(instanceMap.values());
-		if (nodes.size() > 0) {
-			InstanceConfigurator.onNodeModel = true;
-			for (int nodeIndex = 0; nodeIndex < nodes.size(); nodeIndex++) {
-				InstanceSpecification node = nodes.get(nodeIndex);
-
-				deployNode(instanceMap, existingModel, tmpModel, nodes, nodeIndex, node);
-			}
-		} else {
-			throw new TransformationException(Messages.InstantiateDepPlan_InfoNoneAllocated);
-		}
-	}
-
-	private void deployNode(Map<InstanceSpecification, InstanceSpecification> instanceMap, Model existingModel, Model tmpModel, EList<InstanceSpecification> nodes, int nodeIndex, InstanceSpecification node)
-			throws TransformationException, InterruptedException {
-		ModelManagement genModelManagement = createTargetModel(existingModel, MapUtil.rootModelName, false);
-		Model generatedModel = genModelManagement.getModel();
-
-		// --------------------------------------------------------------------
-		checkProgressStatus();
-		// --------------------------------------------------------------------
-
-		// new model has name "root" and contains a package with the
-		// existing model
-		// Package originalRoot = genModel.createNestedPackage
-		// (existingModel.getName ());
-		LazyCopier targetCopier = new LazyCopier(tmpModel, generatedModel, true, true);
-		// TODO: distribution to nodes is currently not done. How
-		// can it be realized with a copier filter ?
-		targetCopier.preCopyListeners.add(FilterStateMachines.getInstance());
-		targetCopier.preCopyListeners.add(FilterRuleApplication.getInstance());
-		targetCopier.preCopyListeners.add(FilterTemplateBinding.getInstance());
-		targetCopier.preCopyListeners.add(FilterPortKind.getInstance());
-
-		monitor.setTaskName(String.format(Messages.InstantiateDepPlan_InfoDeployingForNode, node.getName()));
-
-		if (instanceMap.isEmpty()) {
-			return;
-		}
-		// get first language (restricted to single target language, acceptable?)
-		String targetLanguage = DepUtils.getTargetLanguage(instanceMap.keySet().iterator().next());
-		ILangProjectSupport projectSupport = configureLanguageSupport(targetLanguage, existingModel, node);
-		if (projectSupport == null) {
-			return;
-		}
-
-		GatherConfigData gatherConfigData = new GatherConfigData(projectSupport);
-		Deploy deployment = new Deploy(targetCopier, gatherConfigData, node, nodeIndex, nodes.size());
-
-		for (InstanceSpecification topLevelInstance : instanceMap.keySet()) {
-			InstanceSpecification newTopLevelInstance = instanceMap.get(topLevelInstance);
-			InstanceSpecification nodeRootIS = deployment.distributeToNode(newTopLevelInstance);
-			// TransformationUtil.updateDerivedInterfaces(nodeRootIS);
-		}
-		deployment.finalize(targetLanguage);
-		if ((generationOptions & GenerationOptions.REWRITE_SETTINGS) != 0) {
-			projectSupport.setSettings(genProject, gatherConfigData.getSettings());
-		}
-
-		// --------------------------------------------------------------------
-		checkProgressStatus();
-		// --------------------------------------------------------------------
-
-		removeDerivedInterfacesInRoot(generatedModel);
-
-		ExecuteOOTrafo.transform(targetCopier, deployment.getBootloader(), generatedModel);
-
-		// --------------------------------------------------------------------
-		checkProgressStatus();
-		// --------------------------------------------------------------------
-
-		destroyDeploymentPlanFolder(generatedModel);
-
-		if (generateCode) {
-			ILangCodegen codegen = LanguageCodegen.getGenerator(targetLanguage);
-			GenerateCode codeGenerator = new GenerateCode(genProject, codegen, genModelManagement, monitor);
-			boolean option = (generationOptions & GenerationOptions.ONLY_CHANGED) != 0;
-			codeGenerator.generate(node, targetLanguage, option);
-		}
-
-		genModelManagement.dispose();
-	}
-
-	/**
-	 *
-	 * @param mainInstance
-	 * @param existingModel
-	 * @param node
-	 * @return null, if no language support is available or no project could be created.
-	 * @throws TransformationException
-	 */
-	private ILangProjectSupport configureLanguageSupport(String targetLanguage, Model existingModel, InstanceSpecification node) throws TransformationException {
-		ILangProjectSupport projectSupport = LanguageProjectSupport.getProjectSupport(targetLanguage);
-		AbstractSettings settings = projectSupport.initialConfigurationData();
-		if (settings != null) {
-			settings.targetOS = getTargetOS(node);
-		}
-
-		String projectName = getProjectName(existingModel, node);
-		genProject = ProjectManagement.getNamedProject(projectName);
-		if ((genProject == null) || !genProject.exists()) {
-			genProject = projectSupport.createProject(projectName);
-			if (!genProject.getName().equals(projectName)) {
-				updateProjectMapping(projectName, genProject.getName());
-			}
-			// project is new, force re-write of settings
-			generationOptions |= GenerationOptions.REWRITE_SETTINGS;
-		}
-		return projectSupport;
-	}
-
-	protected String getTargetOS(InstanceSpecification node) {
-		Target target = UMLUtil.getStereotypeApplication(node, Target.class);
-		if (target == null) {
-			// get information from node referenced by the instance
-			target = UMLUtil.getStereotypeApplication(DepUtils.getClassifier(node), Target.class);
-		}
-		if (target != null) {
-			OperatingSystem os = target.getUsedOS();
-			if (os != null) {
-				return os.getBase_Class().getName();
-			}
-		}
-		return null;
-	}
-
-	private void destroyDeploymentPlanFolder(Model generatedModel) {
-		PackageableElement deploymentPlanFolder = generatedModel.getPackagedElement(DeployConstants.depPlanFolderHw);
-		if (deploymentPlanFolder != null) {
-			deploymentPlanFolder.destroy();
-		}
-	}
-
-	private void removeDerivedInterfacesInRoot(Model generatedModel) {
-		// 2b: remove derived interfaces in root: derived interfaces
-		// that can not be placed in the same package as the port type (e.g.
-		// since read-only type from system library), are put in a top-level
-		// package called "derivedInterfaces". Due to the copying of imports,
-		// the top-level package has changed which implies that new derived
-		// interfaces are put into a different package and the derivedInterfaces
-		// package in the original root becomes obsolete. Delete this obsolete
-		// package, if existing.
-		for (PackageableElement packagedElement : generatedModel.getPackagedElements()) {
-			if (packagedElement instanceof Package) {
-				NamedElement derivedInterfaces = ((Package) packagedElement).getPackagedElement("derivedInterfaces"); //$NON-NLS-1$
-				if (derivedInterfaces instanceof Package) {
-					derivedInterfaces.destroy();
-				}
-			}
-		}
-	}
-
-	/**
-	 * Return the name of a project that is associated with a model that
-	 * is deployed on a node (in the context of a deployment plan)
-	 * 
-	 * @param model
-	 *            The model that is deployed
-	 * @param node
-	 *            The node onto which the software is deployed
-	 * @return The resulting project name
-	 */
-	public String getProjectName(Model model, InstanceSpecification node) {
-		String projectName = model.getName() + "_" + node.getName(); //$NON-NLS-1$
-		if (configuration != null) {
-			projectName += "_" + configuration.getBase_Class().getName(); //$NON-NLS-1$
-		} else {
-			projectName += "_" + srcModelComponentDeploymentPlan.getName(); //$NON-NLS-1$
-		}
-		DeploymentPlan depPlan = UMLUtil.getStereotypeApplication(srcModelComponentDeploymentPlan, DeploymentPlan.class);
-		if (depPlan != null) {
-			for (String mapping : depPlan.getProjectMappings()) {
-				if (mapping.startsWith(projectName)) {
-					int index = mapping.indexOf("="); //$NON-NLS-1$
-					if (index != -1) {
-						return mapping.substring(index + 1);
-					}
-				}
-			}
-		}
-		return projectName;
-	}
-
-	/**
-	 * 
-	 * @param canonicalProjectName
-	 *            the automatically calculated project name
-	 * @param userProjectName
-	 *            the project name choosen by the user
-	 */
-	public void updateProjectMapping(final String canonicalProjectName, final String userProjectName) {
-		CommandSupport.exec(srcModelComponentDeploymentPlan, "Update project mapping", new Runnable() {
-
-			@Override
-			public void run() {
-				DeploymentPlan depPlan = UMLUtil.getStereotypeApplication(srcModelComponentDeploymentPlan, DeploymentPlan.class);
-				String mapName = canonicalProjectName + "=" + userProjectName;
-				for (String mapping : depPlan.getProjectMappings()) {
-					if (mapping.startsWith(canonicalProjectName)) {
-						mapping = mapName;
-						return;
-					}
-				}
-				depPlan.getProjectMappings().add(mapName);
-			}
-		});
-
-	}
-
-	private void initiateProgressMonitor(boolean generateCode, EList<InstanceSpecification> nodes) {
-		// -- calc # of steps for progress monitor
-		// 1 (tmpModel creation) + 1 (reification) + 1 (tmpModel save)
-		// 5x on each deployed node (see below)
-		// problem? Connector reification is a single, relatively long step
-		int steps = 3;
-		steps += 5 * nodes.size();
-		if (generateCode) {
-			steps += nodes.size();
-		}
-		monitor.beginTask(Messages.InstantiateDepPlan_InfoGeneratingModel, steps);
-	}
-
-	private void checkProgressStatus() throws InterruptedException {
-		if (monitor.isCanceled()) {
-			throw new InterruptedException();
-		}
-		monitor.worked(1);
-	}
-
-	private void printAndDisplayErrorMessage(Exception e, final String title, final boolean consultConsole) {
-		String message = e.toString();
-		if (consultConsole) {
-			message = message + "\n\n" //$NON-NLS-1$
-					+ Messages.InstantiateDepPlan_ConsultConsole;
-		}
-
-		printAndDisplayErrorMessage(e, title, message, consultConsole);
-	}
-
-	private void printAndDisplayErrorMessage(Exception e, final String title, final String message, final boolean consultConsole) {
-		e.printStackTrace();
-		displayError(title, message);
-		Log.log(IStatus.ERROR, Log.DEPLOYMENT, "", e); //$NON-NLS-1$
-	}
-
-	private void displayError(final String title, final String message) {
-		Display.getDefault().syncExec(new Runnable() {
-			@Override
-			public void run() {
-				Shell shell = Display.getDefault().getActiveShell();
-				MessageDialog.openInformation(shell, title, message);
-			}
-		});
-	}
-
-	/**
-	 * Create a new empty model from an existing model that applies the same
-	 * profiles and has the same imports
-	 *
-	 * @param existingModel
-	 * @return
-	 */
-	public ModelManagement createTargetModel(Model existingModel, String name, boolean copyImports) throws TransformationException {
-		ModelManagement mm = new ModelManagement();
-		Model newModel = mm.getModel();
-		newModel.setName(name);
-
-		try {
-			// copy profile application
-			for (Profile profile : existingModel.getAppliedProfiles()) {
-				// reload profile in resource of new model
-				monitor.subTask(Messages.InstantiateDepPlan_InfoApplyProfile + profile.getQualifiedName());
-
-				if (profile.eResource() == null) {
-					String profileName = profile.getQualifiedName();
-					if (profileName == null) {
-						if (profile instanceof MinimalEObjectImpl.Container) {
-							URI uri = ((MinimalEObjectImpl.Container) profile).eProxyURI();
-							if (uri != null) {
-								throw new TransformationException(String.format(Messages.InstantiateDepPlan_CheckInputModelProfileNoRes, uri));
-							}
-						}
-						throw new TransformationException(Messages.InstantiateDepPlan_CheckInputModelProfileNoResNoName);
-					}
-					throw new TransformationException(String.format(Messages.InstantiateDepPlan_CheckInputModelProfile3, profileName));
-				}
-
-				Resource profileResource = null;
-				try {
-					profileResource = ModelManagement.getResourceSet().getResource(profile.eResource().getURI(), true);
-				} catch (WrappedException e) {
-					// read 2nd time (some diagnostic errors are raised only
-					// once)
-					Log.log(IStatus.WARNING, Log.DEPLOYMENT, "Warning: exception in profile.eResource() " + e.getMessage()); //$NON-NLS-1$
-					profileResource = ModelManagement.getResourceSet().getResource(profile.eResource().getURI(), true);
-				}
-				if (profileResource.getContents().size() == 0) {
-					throw new TransformationException(String.format("Cannot copy profile with URI %s. Check whether the URI corresponds to an existing location", profileResource.getURI()));
-				}
-				Profile newProfileTop = (Profile) profileResource.getContents().get(0);
-				Profile newProfile;
-				String qname = profile.getQualifiedName();
-				if ((qname != null) && qname.contains("::")) { //$NON-NLS-1$
-					// profile is a sub-profile within same resource
-					// TODO: should Copier class copy profile applications?
-					// Should be handled in shallowContainer class.
-					// if we put profile/newProfile pair into copier map, copier
-					// would find (and copier profile
-					// applications in sub-folders
-					qname = qname.substring(qname.indexOf("::") + 2); //$NON-NLS-1$
-					newProfile = (Profile) Utils.getQualifiedElement(newProfileTop, qname);
-				} else {
-					newProfile = newProfileTop;
-				}
-				newProfile.getMember("dummy"); // force profile loading //$NON-NLS-1$
-				newModel.applyProfile(newProfile);
-			}
-		} catch (IllegalArgumentException e) {
-			throw new TransformationException(Messages.InstantiateDepPlan_IllegalArgumentDuringCopy + e.toString());
-		}
-
-		// copier imports (and load resources associated - TODO: might not be
-		// necessary)
-		// While this is useful in general, it implies that code for imported
-		// models
-		// has been generated and compiled (for the right target) into a
-		// library. This may be
-		// quite tedious, unless automatically managed.
-		// Therefore we do not activate this option in a first pass of the model
-		// transformations.
-		if (copyImports) {
-			for (Package importedPackage : existingModel.getImportedPackages()) {
-				if (importedPackage == null) {
-					throw new TransformationException(Messages.InstantiateDepPlan_CheckInputImportPkg);
-				}
-				if (importedPackage.eResource() == null) {
-					String errorMsg = Messages.InstantiateDepPlan_CheckInputImportPkgNoRes;
-					if (importedPackage instanceof MinimalEObjectImpl.Container) {
-						URI uri = ((MinimalEObjectImpl.Container) importedPackage).eProxyURI();
-						if (uri != null) {
-							errorMsg += " - URI: " + uri.devicePath(); //$NON-NLS-1$
-						}
-					}
-					throw new TransformationException(errorMsg);
-				}
-				newModel.createPackageImport(importedPackage);
-				monitor.subTask(String.format(Messages.InstantiateDepPlan_InfoImportPackage, importedPackage.getName()));
-
-				try {
-					importedPackage.eResource().load(null);
-					newModel.getMember("dummy"); // force loading of model //$NON-NLS-1$
-				} catch (IOException e) {
-					throw new TransformationException(e.getMessage());
-				}
-
-			}
-		}
-
-		StUtils.copyStereotypes(existingModel, newModel);
-
-		return mm;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/LazyCopier.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/LazyCopier.java
deleted file mode 100644
index 2b069c6..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/LazyCopier.java
+++ /dev/null
@@ -1,1050 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Stack;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcoreFactory;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.EcoreUtil.Copier;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.papyrus.designer.components.transformation.core.listeners.PostCopyListener;
-import org.eclipse.papyrus.designer.components.transformation.core.listeners.PreCopyListener;
-import org.eclipse.uml2.uml.Behavior;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Feature;
-import org.eclipse.uml2.uml.LiteralBoolean;
-import org.eclipse.uml2.uml.LiteralInteger;
-import org.eclipse.uml2.uml.LiteralNull;
-import org.eclipse.uml2.uml.LiteralString;
-import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
-import org.eclipse.uml2.uml.MultiplicityElement;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Namespace;
-import org.eclipse.uml2.uml.OpaqueExpression;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.PackageableElement;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Slot;
-import org.eclipse.uml2.uml.Stereotype;
-import org.eclipse.uml2.uml.ValueSpecification;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * A specific copier that enables to make iterative and shallow copies of model elements
- * from a source to a target model. It also supports copy-listeners, i.e. listeners that
- * might apply modifications before and after an element is copied.
- * This class is very useful for model transformations that make a lazy copy of elements,
- * i.e. copy only elements that are needed in the target model.
- *
- * Iterative means that you can copy one element after another, i.e. you do not need
- * to copy all elements in a single call.
- * Shallow means that some elements are incomplete copies. For instance, if you copy an
- * attribute of a class into the target model, the copy routine will create the attribute within
- * a shallow copy of the original class. The created class is a kind of shallow "container". It
- * is required, since we can't create the attribute without having a class, but it would initially
- * only contain the attribute that we copy. This class would have the same qualified name as the
- * original, i.e. it would be created within shallow packages.
- * A shallow copy can be transformed into a "real" copy
- * by explicitly copying it.
- *
- */
-public class LazyCopier extends Copier {
-
-	public enum CopyStatus {
-		/**
-		 * The status is not known, in most cases this indicates that the object has not yet been copied.
-		 */
-		UNKNOWN,
-
-		/**
-		 * A full copy obtained via the copy function. Full means that the contained features have been completely
-		 * copied
-		 */
-		FULL,
-
-		/**
-		 * A full copy in progress. Intermediate state of a target element after creation within the copy function,
-		 * before all attributes & references have been copied.
-		 */
-		INPROGRESS,
-
-		/**
-		 * A shallow copy, i.e. a copy only containing a subset of the original element. These are typically containers
-		 * for copied objects and avoids that the copies are not enclosed in an object. A shallow copy may become a full
-		 * copy later on.
-		 */
-		SHALLOW
-	}
-
-	public static final EObject useSourceEObject = EcoreFactory.eINSTANCE.createEObject();
-	
-	/**
-	 *
-	 * @param source
-	 *            source package (root)
-	 * @param target
-	 *            target package (root)
-	 * @param copyExtResources_
-	 *            copy elements that are not within the same resource instead of referencing them.
-	 * @param copyID
-	 *            copyID true, if XML IDs should be copied as well.
-	 */
-	public LazyCopier(Package source, Package target, boolean copyExtResources_, boolean copyID) {
-		this.source = source;
-		this.target = target;
-		// useOriginalReferences = false;
-		copyExtReferences = copyExtResources_;
-		preCopyListeners = new BasicEList<PreCopyListener>();
-		postCopyListeners = new BasicEList<PostCopyListener>();
-		templateMapInfo = new HashMap<EObject, Map<EObject, EObject>>();
-		standardMap = new HashMap<EObject, EObject>();
-		statusMap = new HashMap<EObject, CopyStatus>();
-		boundPackages = new Stack<Namespace>();
-		if (copyExtReferences) {
-			// original source package becomes a sub-package in the target model
-			Package newSourceRoot = target.createNestedPackage(source.getName());
-			put(source, newSourceRoot);
-			setStatus(newSourceRoot, CopyStatus.SHALLOW);
-		}
-		else {
-			put(source, target);
-			setStatus(target, CopyStatus.SHALLOW);
-		}
-		this.copyID = copyID;
-		if (copyID) {
-			copyID(source, target);
-		}
-	};
-
-	/**
- *
- */
-	private static final long serialVersionUID = -1664013545661635289L;
-
-	/**
-	 * Source model within a transformation
-	 */
-
-	public Package source;
-
-	/**
-	 * Target model within a transformation
-	 */
-	public Package target;
-
-	/**
-	 * if true, copy packages or elements that are imported into the target
-	 * model
-	 */
-	public boolean copyExtReferences;
-
-	/**
-	 * Bound package template
-	 */
-	protected Namespace boundPackage;
-
-	/**
-	 * Map to identify target objects when given source objects
-	 */
-	protected Map<EObject, EObject> standardMap;
-
-	/**
-	 * Map to identify target objects when given source objects
-	 */
-	protected Map<EObject, EObject> templateMap;
-
-	/**
-	 * Set of maps for template instantiations
-	 */
-	protected Map<EObject, Map<EObject, EObject>> templateMapInfo;
-
-	/**
-	 * Map using a target EObject as key
-	 */
-	protected Map<EObject, CopyStatus> statusMap;
-
-	protected boolean copyID;
-
-	/**
-	 * Elements within package templates must be treated differently, we have to ensure that:
-	 * (1) several instantiations with same binding of the same package template do not lead to double copies
-	 * (yet, it may be possible that a 2nd instantiation adds contents, e.g. the trace package template could be
-	 * instantiated containing only OTF trace (and superclasses), a second instantiation might add a different trace
-	 * implementation)
-	 * (2) several instantiations with different binding do not prevent classes from being copied that have already
-	 * been copied earlier.
-	 * The solution is to use a different map for the elements with package template. This map is instantiated once
-	 * for each binding (managed by the TemplateInstantiation class)
-	 */
-	public Map<EObject, EObject> getMap(EObject sourceEObj) {
-		boolean withinTemplate = withinTemplate(sourceEObj);
-		return withinTemplate ?
-				templateMap :
-				standardMap;
-	}
-
-	@Override
-	public EObject get(Object sourceEObj) {
-		if (sourceEObj instanceof EObject) {
-			Map<EObject, EObject> map = getMap((EObject) sourceEObj);
-			return map.get(sourceEObj);
-		}
-		return null;
-	}
-
-	@Override
-	public EObject put(EObject sourceEObj, EObject targetEObj) {
-		if (sourceEObj instanceof EObject) {
-			Map<EObject, EObject> map = getMap(sourceEObj);
-			return map.put(sourceEObj, targetEObj);
-		}
-		return null;
-	}
-
-	/**
-	 * Put a pair into the copy map. Unlike the standard put operation,
-	 * the target object is marked as full copy.
-	 * Just using the put operation leads to bug 422899 - [QDesigner] Regression in
-	 * template instantiation
-	 *
-	 * @return
-	 */
-	public EObject putPair(EObject sourceEObj, EObject targetEObj) {
-		EObject target = put(sourceEObj, targetEObj);
-		setStatus(targetEObj, CopyStatus.FULL);
-		return target;
-	}
-
-	@Override
-	public boolean containsKey(Object sourceEObj) {
-		if (sourceEObj instanceof EObject) {
-			Map<EObject, EObject> map = getMap((EObject) sourceEObj);
-			return map.containsKey(sourceEObj);
-		}
-		return false;
-	}
-
-	@Override
-	public EObject remove(Object sourceEObj) {
-		if (sourceEObj instanceof EObject) {
-			Map<EObject, EObject> map = getMap((EObject) sourceEObj);
-			return map.remove(sourceEObj);
-		}
-		return null;
-	}
-
-	/**
-	 * Set the status of a copy object
-	 *
-	 * @param targetEObj
-	 * @param status
-	 */
-	public void setStatus(EObject targetEObj, CopyStatus status) {
-		statusMap.put(targetEObj, status);
-	}
-
-	/**
-	 * return true, if a shallow copy of the passed EObject exists
-	 *
-	 * @param sourceEObj
-	 * @return
-	 */
-	public CopyStatus getStatus(EObject targetEObj) {
-		if (targetEObj != null) {
-			CopyStatus status = statusMap.get(targetEObj);
-			if (status != null) {
-				return status;
-			}
-		}
-		return CopyStatus.UNKNOWN;
-	}
-
-	/**
-	 * Set the reference of a bound package template. It must be a member of the target model.
-	 * Setting the package template is required to assure that elements that are part of a different
-	 * resource get copied (if the copyExtReferences flag is set to false, copying would not be done otherwise)
-	 *
-	 * @param packageTemplate
-	 *            Reference to package (with a template signature) in source model that should be instantiated
-	 * @param boundPackage
-	 *            Reference to (an initially empty) package in which the packate template will be instantiated
-	 *            during the copy process
-	 */
-	public void setPackageTemplate(Namespace packageTemplate, Namespace boundPackage) {
-		this.boundPackage = boundPackage;
-		if (packageTemplate == null) {
-			return;
-		}
-		templateMap =
-				templateMapInfo.get(boundPackage);
-		if (templateMap == null) {
-			templateMap = new HashMap<EObject, EObject>();
-			templateMapInfo.put(boundPackage, templateMap);
-		}
-		// declare relation between packageTemplate and bound package
-		// but: the owner of the package template is not equal to the packageTemplate (e.g. perClass)
-		// since we can extend package templates in different models.
-		standardMap.put(packageTemplate, boundPackage);
-	}
-
-	public void pushPackageTemplate() {
-		boundPackages.push(boundPackage);
-	}
-
-	public void popPackageTemplate() {
-		boundPackage = boundPackages.pop();
-		templateMap =
-				templateMapInfo.get(boundPackage);
-	}
-
-	private Stack<Namespace> boundPackages;
-
-	/**
-	 * Remove an element and its children from the map to enable subsequent copies, in particular if the
-	 * same element (e.g. an operation) is bound multiple times within a template instantiation.
-	 * TODO: there must be a better way to do this.
-	 *
-	 * @param element
-	 */
-	public void removeForCopy(EObject element) {
-		templateMap.remove(element);
-		if (element instanceof Element) {
-			// also remove applied stereotypes
-			for (EObject stereoApplication : ((Element) element).getStereotypeApplications()) {
-				removeForCopy(stereoApplication);
-			}
-		}
-		EClass eClass = element.eClass();
-		for (int i = 0, size = eClass.getFeatureCount(); i < size; ++i)
-		{
-			EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(i);
-			if (eStructuralFeature.isChangeable() && !eStructuralFeature.isDerived())
-			{
-				if (eStructuralFeature instanceof EAttribute) {
-					// copyAttribute((EAttribute)eStructuralFeature, sourceEObj, targetEObj);
-				}
-				else {
-					EReference eReference = (EReference) eStructuralFeature;
-					if (eReference.isContainment()) {
-						for (EObject ref : getRefs(eReference, element)) {
-							removeForCopy(ref);
-						}
-					}
-					else if (!eReference.isContainer()) {
-						// not contained, but copy reference as well
-
-					}
-				}
-			}
-		}
-	}
-
-	@SuppressWarnings("unchecked")
-	public EList<EObject> getRefs(EReference eReference, EObject eObject) {
-		EList<EObject> refs = new BasicEList<EObject>();
-		if (eObject.eIsSet(eReference)) {
-			if (eReference.isMany()) {
-				// @SuppressWarnings("unchecked")
-				refs.addAll((List<EObject>) eObject.eGet(eReference));
-			} else {
-				refs.add((EObject) eObject.eGet(eReference));
-			}
-		}
-		return refs;
-	}
-
-	/**
-	 * Check whether the passed element (within the source model) is within a
-	 * a template, i.e. one of is owners is mapped towards the bound package in
-	 * the target model. Note that multiple owners in the source model may be
-	 * mapped to the same bound package.
-	 *
-	 * @param element
-	 * @return
-	 */
-	public boolean withinTemplate(EObject element) {
-		if (boundPackage != null) {
-			EObject owner = element;
-			if ((element.eContainer() == null) &&
-					!(element instanceof Element)) { // has no eContainer and is not a UML element => likely to be a be a stereotype application.
-				// it is important not to call getBaseElement for all eobjects, since its execution can take
-				// quite a while (in particular, if not called on a stereotype application)
-				Element base = UMLUtil.getBaseElement(owner);
-				if (base != null) {
-					owner = base; // containment check is done with base element
-				}
-			}
-			while (owner != null) {
-				owner = owner.eContainer();
-				if (get(owner) == boundPackage) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Returns a copy of the given eObject.
-	 *
-	 * Normally, we do not want to copy elements that are from a different
-	 * resource. There are two exceptions (1) if this is explicitly specified
-	 * (for producing "complete" models) (2) if we want to copy elements from a
-	 * template into the target model.
-	 *
-	 * @param sourceEObj
-	 *            the object to copy.
-	 * @return the copy.
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public EObject copy(EObject sourceEObj) {
-		if (sourceEObj == null) {
-			// this case may happen, if elements are systematically copied without checking for
-			// null references in the application code (e.g. if we copy a part-with-port which might
-			// be null in case of delegation or connectors without ports
-			return null;
-		}
-
-
-		EObject targetEObj = get(sourceEObj);
-
-		CopyStatus status = getStatus(targetEObj);
-
-		if (status == CopyStatus.FULL || status == CopyStatus.INPROGRESS) {
-			// copy already exists, return targetEObj
-			return targetEObj;
-		}
-
-		boolean withinTemplate = withinTemplate(sourceEObj);
-		boolean sameResource = (sourceEObj.eResource() == source.eResource());
-		if (!sameResource && !copyExtReferences && !withinTemplate) {
-			// do not copy if within different resource, unless
-			// 1. copyImports
-			// 2. within package template
-			return sourceEObj;
-		}
-
-		if (sourceEObj instanceof Stereotype) {
-			// do not copy Stereotypes, as it would imply copying meta-model elements (the base_X
-			// attribute of the stereotype is typed with a meta-model element)
-			return sourceEObj;
-		}
-
-		for (PreCopyListener listener : preCopyListeners) {
-			EObject result = listener.preCopyEObject(this, sourceEObj);
-			if (result != sourceEObj) {
-				if (result == useSourceEObject) {
-					return sourceEObj;
-				}
-				return result;
-			}
-		}
-
-		if (sourceEObj instanceof NamedElement) {
-			String name = ((NamedElement) sourceEObj).getQualifiedName();
-			if ((name != null) && name.startsWith("uml::")) { //$NON-NLS-1$
-				Log.log(IStatus.ERROR, Log.TRAFO_COPY, "copy for meta-model element \"" + name + //$NON-NLS-1$
-						"\" requested. Return original element"); //$NON-NLS-1$
-				return sourceEObj;
-			}
-		}
-		// additional sanity check: want to avoid copying (instead of instantiating) elements
-		// of a package template
-		if ((sourceEObj instanceof Package) && (!withinTemplate)) {
-			if (((Package) sourceEObj).getOwnedTemplateSignature() != null) {
-				Log.log(IStatus.WARNING, Log.TRAFO_COPY, "warning: copying a package template without instantiating a template"); //$NON-NLS-1$
-			}
-		}
-
-		if (status == CopyStatus.SHALLOW) {
-			// copy exists, but was a shallow copy, change status to INPROGRESS
-			setStatus(targetEObj, CopyStatus.INPROGRESS);
-		}
-		else {
-			targetEObj = createCopy(sourceEObj);
-			put(sourceEObj, targetEObj);
-			setStatus(targetEObj, CopyStatus.INPROGRESS);
-			if (copyID) {
-				copyID(sourceEObj, targetEObj);
-			}
-			// creates a shallow copy of the container. This container will update containment references (such as packagedElement)
-			// and thus update links
-			createShallowContainer(sourceEObj);
-		}
-		EClass eClass = sourceEObj.eClass();
-		for (int i = 0, size = eClass.getFeatureCount(); i < size; ++i)
-		{
-			EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(i);
-			if (eStructuralFeature.isChangeable() && !eStructuralFeature.isDerived())
-			{
-				if (eStructuralFeature instanceof EAttribute) {
-					copyAttribute((EAttribute) eStructuralFeature, sourceEObj, targetEObj);
-				}
-				else {
-					EReference eReference = (EReference) eStructuralFeature;
-					if (eReference.isContainment()) {
-						copyContainment(eReference, sourceEObj, targetEObj);
-					}
-					// some containment relationships require copying the container completely
-					// e.g. if an owned template signature is referenced, we need to follow the "template"
-					// reference, which subsets the "owner" relationship.
-					// e.g. if an operation is referenced, we need to copy the whole interface
-					// Currently: only the standard owning reference is not copied recursively.
-
-					else if (!eReference.getName().equals("owner") && //$NON-NLS-1$
-							(!eReference.getName().equals("owningInstance"))) { //$NON-NLS-1$
-						Object feature = sourceEObj.eGet(eStructuralFeature);
-						if (feature instanceof Element) {
-							copy((Element) feature);
-						} else if (feature instanceof EList) {
-							copyAll((EList<Object>) feature);
-						}
-						copyReference(eReference, sourceEObj, targetEObj);
-					}
-				}
-			}
-			else if ((eStructuralFeature instanceof EReference)) {
-				if (eStructuralFeature.getName().equals("clientDependency")) { //$NON-NLS-1$
-					Object feature = sourceEObj.eGet(eStructuralFeature);
-
-					if (feature instanceof Element) {
-						copy((Element) feature);
-					} else if (feature instanceof EList) {
-						copyAll((EList<Object>) feature);
-					}
-				}
-			}
-		}
-		copyProxyURI(sourceEObj, targetEObj);
-		copyID(sourceEObj, targetEObj);
-		copyStereotypes(sourceEObj);
-		setStatus(targetEObj, CopyStatus.FULL);
-
-		for (PostCopyListener listener : postCopyListeners) {
-			listener.postCopyEObject(this, targetEObj);
-		}
-
-		return targetEObj;
-	}
-
-	/**
-	 * @param sourceEObj
-	 * @return a copy, if it already exists. If it does not exist, return the
-	 *         source object itself, if no copy is required, otherwise return null.
-	 */
-	public EObject noCopy(EObject sourceEObj) {
-		boolean withinTemplate = withinTemplate(sourceEObj);
-		boolean sameResource = (sourceEObj.eResource() == source.eResource());
-		if (!sameResource && !copyExtReferences && !withinTemplate) {
-			return sourceEObj;
-		}
-		else {
-			return get(sourceEObj);
-		}
-	}
-
-	/**
-	 * Copy stereotype applications. Since stereotype applications are not part of the containment of an eObject, they are not copied by the
-	 * generic function.
-	 * A problem of copying stereotypes is that it may drag whole hierarchies with it, for instance if we copy the base_ attributes,
-	 * we transform a shallow copy into a normal copy.
-	 * => always make shallow copies of packages, never shallow copies of classes? [the split into fragments is solved, but the split of the system component???]
-	 */
-	public void copyStereotypes(EObject sourceEObj, boolean duringShallow) {
-		if (sourceEObj instanceof Element) {
-
-			for (EObject stereoApplication : ((Element) sourceEObj).getStereotypeApplications()) {
-				EObject copiedStereoApplication = (duringShallow) ?
-						shallowCopy(stereoApplication) :
-						copy(stereoApplication);
-
-				if (copiedStereoApplication != null) {
-					// UMLUtil.setBaseElement(copiedStereoApplication, (Element) get(sourceEObj));
-					// add copied stereotype application to the resource (as top-level objects).
-					if (!target.eResource().getContents().contains(copiedStereoApplication)) {
-						target.eResource().getContents().add(copiedStereoApplication);
-					}
-				}
-			}
-		}
-	}
-
-	public void copyStereotypes(EObject sourceEObj) {
-		copyStereotypes(sourceEObj, false);
-	}
-
-	public void shallowCopyStereotypes(EObject sourceEObj) {
-		copyStereotypes(sourceEObj, true);
-	}
-
-	/**
-	 * Copy the containment of an element with respect to a certain reference
-	 *
-	 * @see org.eclipse.emf.ecore.util.EcoreUtil.Copier#copyContainment(org.eclipse.emf.ecore.EReference, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EObject)
-	 *      Differences to referenced function in ECoreUtil
-	 *      - If an element in copyAll is null, it is not added
-	 *      - List elements are always cleared before copying, since the list elements may already have been
-	 *      partially filled by a previous shallow copy
-	 *
-	 * @param eReference
-	 *            a reference, such as for instance packagedElement (the
-	 *            caller needs to check, is this reference is a containment reference).
-	 * @param eObject
-	 *            the source eObject
-	 * @param copyEObject
-	 *            the copy of this eObject
-	 */
-	@Override
-	protected void copyContainment(EReference eReference, EObject eObject, EObject copyEObject) {
-		if (eObject.eIsSet(eReference)) {
-			if (eReference.isMany()) {
-				@SuppressWarnings("unchecked")
-				List<EObject> source = (List<EObject>) eObject.eGet(eReference);
-				@SuppressWarnings("unchecked")
-				List<EObject> target = (List<EObject>) copyEObject.eGet(getTarget(eReference));
-				// do not clear (would remove elements that are added by copy listeners)
-				// But: better enforce exact copy? (listeners could only add in a post-copy step)
-				// target.clear();
-				if (!source.isEmpty()) {
-					for (EObject copyEObj : copyAll(source)) {
-						if (copyEObj != null) {
-							target.add(copyEObj);
-						}
-					}
-				}
-			} else {
-				EObject childEObject = (EObject) eObject.eGet(eReference);
-				copyEObject.eSet(getTarget(eReference), childEObject == null ? null : copy(childEObject));
-			}
-		}
-	}
-
-	/**
-	 * Copy the containment in a "shallow" way, i.e. copy references to contained objects, if these exist already.
-	 * If called for instance for a package, it will add those elements to the packagedElements list of the
-	 * target package, that have already been copied.
-	 *
-	 * @param eReference
-	 * @param eObject
-	 * @param copyEObject
-	 */
-	protected void shallowCopyContainment(EReference eReference, EObject eObject, EObject copyEObject) {
-		if (eObject.eIsSet(eReference)) {
-			if (eReference.isMany()) {
-				@SuppressWarnings("unchecked")
-				List<EObject> source = (List<EObject>) eObject.eGet(eReference);
-				@SuppressWarnings("unchecked")
-				List<EObject> target = (List<EObject>) copyEObject.eGet(getTarget(eReference));
-				if (source.isEmpty()) {
-					target.clear();
-				} else {
-					for (EObject sourceEObj : source) {
-						// if eObject has already been copied, add it to target
-						// don't add, if copyEObj is identical to sourceEObj. This would imply manipulating an
-						// element of the source model.
-						EObject copyEObj = noCopy(sourceEObj);
-						if ((copyEObj != null) && (copyEObj != sourceEObj) && (!target.contains(copyEObj))) {
-							try  {
-								target.add(copyEObj);
-							}
-							catch (Exception e) {
-								System.err.println(e);
-							}
-						}
-					}
-				}
-			} else {
-				EObject childEObject = (EObject) eObject.eGet(eReference);
-				// get will return null, if object should not be copied. In this case, we do not want to replace
-				copyEObject.eSet(getTarget(eReference), childEObject == null ? null : noCopy(childEObject));
-			}
-		}
-	}
-
-	/**
-	 * Create a "shallow" container for an object, i.e. create (recursively) the owner without
-	 * adding all other children of this owner (e.g. in case of a package, the package itself will
-	 * be created, but not all elements within that package).
-	 *
-	 * @param sourceEObj
-	 */
-	public void createShallowContainer(EObject sourceEObj) {
-		EObject owner = sourceEObj.eContainer();
-		EObject copy = null;
-		EObject lastSource = null;
-		EList<EObject> copyStereoList = new BasicEList<EObject>();
-		while (owner != null) {
-			if (containsKey(owner)) {
-				// owner is in map, still need to re-copy (update) the containment
-				// references, since one of the children did not exist before
-				//
-				shallowCopy(owner);
-				if (lastSource != null) {
-					// StUtils.copyStereotypes(this, (Element)lastSource, (Element)copy);
-				}
-				return;
-				// break;
-			}
-			copy = shallowCopy(owner);
-			// copyStereoList.add(sourceEObj);
-			owner = owner.eContainer();
-		}
-		// copy the stereotypes after the container has been created completely
-		for (EObject copyStereo : copyStereoList) {
-			copyStereotypes(copyStereo);
-		}
-		if (copy instanceof PackageableElement) {
-			// if we copy external resources, we might reach the "top" on the source level
-			// which becomes a sub-package of the new model.
-			target.getPackagedElements().add((PackageableElement) copy);
-		}
-	}
-
-	/**
-	 * Make a shallow copy of an element, i.e. only create the element itself and not
-	 * all of its contents. If a subset of the containing elements already exist in the copied
-	 * model, update the containment references pointing to these. The function may be called
-	 * multiple times in order to add elements to the containment references that
-	 * have been copied since the previous call (i.e. it is possible to make a shallow copy
-	 * of a package after a single class within it has been copied. It may be called again,
-	 * once a second class within the package has been copied => the packagedElements reference
-	 * of the package will be updated).
-	 *
-	 * It is important that the implementation of this object does not make recursive calls.
-	 * In particular, stereotypes are based on shallow copy as well. This means that stereotype
-	 * attributes that reference other model elements will only be initialized if these elements
-	 * exist already.
-	 *
-	 * @param sourceEObj
-	 * @return
-	 */
-	public EObject shallowCopy(EObject sourceEObj) {
-		boolean first = false;
-		EObject targetEObj = get(sourceEObj);
-		if (targetEObj == null) {
-			targetEObj = createCopy(sourceEObj);
-			put(sourceEObj, targetEObj);
-			setStatus(targetEObj, CopyStatus.SHALLOW);
-			if (copyID) {
-				copyID(sourceEObj, targetEObj);
-			}
-			first = true;
-		}
-		else if (getStatus(targetEObj) == CopyStatus.FULL) {
-			// object has already been completely copied. Nothing to do, return targetEObj.
-			// Note that this implies that the update of references below is called for full copies
-			// in progress and shallow copies. The former assures that all copied elements have an
-			// eContainer during the call of pre-copy listeners (example: if a class is copied, its
-			// operations are recursively copied, the ownedOperation relationship is only updated
-			// *afterwards* by the code within the (full) copy operation).
-			return targetEObj;
-		}
-
-		shallowCopyStereotypes(sourceEObj);
-
-		EClass eClass = sourceEObj.eClass();
-
-		for (int i = 0, size = eClass.getFeatureCount(); i < size; ++i) {
-			EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(i);
-			if (eStructuralFeature.isChangeable() && !eStructuralFeature.isDerived()) {
-				if (eStructuralFeature instanceof EAttribute) {
-					// copy all attributes during first pass after creation of target object
-					if (first) {
-						copyAttribute((EAttribute) eStructuralFeature, sourceEObj, targetEObj);
-					}
-				} else {
-					EReference eReference = (EReference) eStructuralFeature;
-					// create a shallow copy of the containment: update only references already in the copy map
-					if (sourceEObj != targetEObj) {
-						shallowCopyContainment(eReference, sourceEObj, targetEObj);
-					}
-				}
-			}
-		}
-		return targetEObj;
-	}
-
-	@SuppressWarnings("unchecked")
-	public <T extends Element> T getCopy(T source) {
-		return (T) copy(source);
-	}
-
-	public EList<PreCopyListener> preCopyListeners;
-
-	public EList<PostCopyListener> postCopyListeners;
-
-	/**
-	 * Called to handle the copying of a cross reference;
-	 * this adds values or sets a single value as appropriate for the multiplicity
-	 * while omitting any bidirectional reference that isn't in the copy map.
-	 *
-	 * @param eReference
-	 *            the reference to copy.
-	 * @param eObject
-	 *            the object from which to copy.
-	 * @param copyEObject
-	 *            the object to copy to.
-	 */
-	@Override
-	protected void copyReference(EReference eReference, EObject eObject, EObject copyEObject)
-	{
-		if (eObject.eIsSet(eReference)) {
-			if (eReference.isMany()) {
-				@SuppressWarnings("unchecked")
-				InternalEList<EObject> source = (InternalEList<EObject>) eObject.eGet(eReference);
-				@SuppressWarnings("unchecked")
-				InternalEList<EObject> target = (InternalEList<EObject>) copyEObject.eGet(getTarget(eReference));
-				if (source.isEmpty()) {
-					target.clear();
-				}
-				else {
-					boolean isBidirectional = eReference.getEOpposite() != null;
-					int index = 0;
-					for (Iterator<EObject> k = resolveProxies ? source.iterator() : source.basicIterator(); k.hasNext();) {
-						EObject referencedEObject = k.next();
-						EObject copyReferencedEObject = get(referencedEObject);
-						// check filters (modification compared to method in superclass)
-						boolean noCopy = false;
-						for (PreCopyListener listener : preCopyListeners) {
-							EObject result = listener.preCopyEObject(this, referencedEObject);
-							if (result != referencedEObject) {
-								copyReferencedEObject = result;
-								noCopy = (result == null);
-								break;
-							}
-						}
-						if (noCopy) {
-							continue;
-						}
-						if (copyReferencedEObject == null) {
-							if (useOriginalReferences && !isBidirectional) {
-								target.addUnique(index, referencedEObject);
-								++index;
-							}
-						}
-						else {
-							if (isBidirectional) {
-								int position = target.indexOf(copyReferencedEObject);
-								if (position == -1) {
-									target.addUnique(index, copyReferencedEObject);
-								}
-								else if (index != position) {
-									target.move(index, copyReferencedEObject);
-								}
-							}
-							else if (!target.contains(copyReferencedEObject)) {
-								// TODO: does not allow multiple identical elements in the list. Problematic?
-								// Check above is necessary, since some references that are not
-								// part of the containment may have already been copied (e.g. in case of
-								// a TemplateSignature "ownedParameter" subsets "parameter", thus copying
-								// ownedParameter as part of the containment adds a template parameter)
-								target.addUnique(index, copyReferencedEObject);
-							}
-							++index;
-						}
-					}
-				}
-			}
-			else {
-				Object referencedEObject = eObject.eGet(eReference, resolveProxies);
-				if (referencedEObject == null) {
-					copyEObject.eSet(getTarget(eReference), null);
-				}
-				else if (referencedEObject instanceof EObject) {
-					// difference to original code in EcoreUtil: we obtain a copy (which might be null or the
-					// source object) of the referenced EObject. This assures that we only set a value of a
-					// reference to something we actually want to have in the target model.
-					// Specific problematic case in original code: classifierBehavior is a reference, but assigning such
-					// a behavior will also add an owned behavior. If we assign a referencedEObject (a behavior) from the
-					// source model in the target, we will actually remove it from the source model (as it is uniquely owned).
-					EObject copyReferencedEObject = copy((EObject) referencedEObject);
-					if (copyReferencedEObject != null) {
-						copyEObject.eSet(getTarget(eReference), copyReferencedEObject);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Copy all methods from the passed source-model class.
-	 * This function is useful, if the passed class only exist
-	 * as a shallow copy.
-	 *
-	 * @param source
-	 *            A class within the source model
-	 */
-	public void copyMethods(Class source) {
-		for (Behavior method : source.getOwnedBehaviors()) {
-			getCopy(method);
-		}
-	}
-
-	/**
-	 * Copy all attributes from the source-model classifier
-	 * This function is useful, if the passed class only exist
-	 * as a shallow copy.
-	 *
-	 * @param source
-	 *            A classifier within the source model
-	 */
-	public void copyAttributes(Classifier source) {
-		for (Property attribute : source.getAttributes()) {
-			getCopy(attribute);
-		}
-	}
-
-	/**
-	 * copy all operations from the source-model classifier.
-	 * This function is useful, if the passed class only exist
-	 * as a shallow copy.
-	 *
-	 * @param source
-	 *            A classifier within the source model
-	 */
-	public void copyOperations(Classifier source) {
-		for (Operation operation : source.getOperations()) {
-			getCopy(operation);
-		}
-	}
-
-	// TODO: the functions that follow are static and should not be part of this class
-	// as they use a different way of copying things.
-
-
-	public static void copyFeatureModifiers(Feature source, Feature target) {
-		target.setIsStatic(source.isStatic());
-		target.setIsLeaf(source.isLeaf());
-	}
-
-	public static void copyMultElemModifiers(MultiplicityElement source, MultiplicityElement target) {
-		target.setIsOrdered(source.isOrdered());
-		target.setIsUnique(source.isUnique());
-		target.setLower(source.getLower());
-		target.setUpper(source.getUpper());
-	}
-
-	/**
-	 * Copy a value to a target slot
-	 *
-	 * @param smValue
-	 * @param target
-	 * @return
-	 */
-	public static ValueSpecification copyValue(ValueSpecification value, Slot target) {
-		ValueSpecification newValue = target.createValue(value.getName(), value.getType(), value.eClass());
-		return copyValue(value, newValue);
-	}
-
-	public static ValueSpecification copyDefaultValue(Property source, Property target) {
-		ValueSpecification value = source.getDefaultValue();
-		if (value != null) {
-			ValueSpecification newValue = target.createDefaultValue(value.getName(), value.getType(), value.eClass());
-			return copyValue(value, newValue);
-		} else {
-			return null;
-		}
-	}
-
-	public static ValueSpecification copyValue(ValueSpecification smValue, ValueSpecification tmValue) {
-		if (smValue instanceof OpaqueExpression) {
-			OpaqueExpression oeValue = (OpaqueExpression) smValue;
-			OpaqueExpression noeValue = (OpaqueExpression) tmValue;
-			for (String language : oeValue.getLanguages()) {
-				noeValue.getLanguages().add(language);
-			}
-			for (String body : oeValue.getBodies()) {
-				noeValue.getBodies().add(body);
-			}
-		} else if (smValue instanceof LiteralString) {
-			((LiteralString) tmValue).setValue(((LiteralString) smValue).getValue());
-		} else if (smValue instanceof LiteralInteger) {
-			((LiteralInteger) tmValue).setValue(((LiteralInteger) smValue).getValue());
-		} else if (smValue instanceof LiteralUnlimitedNatural) {
-			((LiteralUnlimitedNatural) tmValue).setValue(((LiteralUnlimitedNatural) smValue).getValue());
-		} else if (smValue instanceof LiteralBoolean) {
-			((LiteralBoolean) tmValue).setValue(((LiteralBoolean) smValue).booleanValue());
-		} else if (smValue instanceof LiteralNull) {
-		}
-		return tmValue;
-	}
-
-	/**
-	 * Copy the (XML) ID from the source to the destination model element. This
-	 * is useful, if you want to create a diagram for (parts of) the generated
-	 * target model. Otherwise, the IDs would change with each generation and
-	 * references from the diagram to model elements would break (of course,
-	 * they could still break, for instance if structural modifications of the
-	 * source model are made).
-	 *
-	 * @param source
-	 *            source model element
-	 * @param dest
-	 *            corresponding target model element
-	 */
-	public static void copyID(EObject source, EObject target) {
-		copyID(source, target, ""); //$NON-NLS-1$
-	}
-
-	/**
-	 * Copy the (XML) ID from the source to the destination model element.
-	 * Prefix the ID with a string passed as parameter
-	 *
-	 * @param source
-	 *            source model element
-	 * @param dest
-	 *            corresponding target model element
-	 * @param prefix
-	 *            a prefix for the target model ID
-	 */
-	@SuppressWarnings("deprecation")
-	public static void copyID(EObject source, EObject target, String prefix) {
-		Resource resourceSource = source.eResource();
-		Resource resourceTarget = target.eResource();
-		// TODO: use EcoreUtil getURI (InternalEObject) instead?
-
-		if ((resourceSource instanceof XMLResource) && (resourceTarget instanceof XMLResource)) {
-			XMLResource xmlResSource = (XMLResource) resourceSource;
-			XMLResource xmlResTarget = (XMLResource) resourceTarget;
-			String id = prefix + xmlResSource.getID(source);
-			int counter = 0;
-			String uniqueID = id;
-			while (xmlResTarget.getIDToEObjectMap().containsKey(uniqueID)) {
-				uniqueID = id + counter;
-				counter++;
-			}
-			xmlResTarget.setID(target, uniqueID);
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/MainModelTrafo.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/MainModelTrafo.java
deleted file mode 100644
index 97805cd..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/MainModelTrafo.java
+++ /dev/null
@@ -1,489 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations;
-
-/**
- * This file is part of Qompass GenTools
- * Copyright (C) 2008 CEA LIST (http://www-list.cea.fr/)
-
- * initial developer : Christophe JOUVRAY from CEA LIST
- * Major contributions: Ansgar Radermacher from CEA LIST
- */
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.papyrus.designer.components.FCM.ContainerRule;
-import org.eclipse.papyrus.designer.components.FCM.ContainerRuleKind;
-import org.eclipse.papyrus.designer.components.FCM.DeploymentPlan;
-import org.eclipse.papyrus.designer.components.FCM.InteractionComponent;
-import org.eclipse.papyrus.designer.components.FCM.util.FCMUtil;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.PortUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.StUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.UMLTool;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.AllocUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepCreation;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepPlanUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.AbstractContainerTrafo;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TemplateInstantiation;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.connector.ConnectorReification;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.container.ContainerTrafo;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.container.CustomTrafoDelegate;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.container.LWContainerTrafo;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Connector;
-import org.eclipse.uml2.uml.EncapsulatedClassifier;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.InstanceValue;
-import org.eclipse.uml2.uml.Interface;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Slot;
-import org.eclipse.uml2.uml.StructuralFeature;
-import org.eclipse.uml2.uml.Type;
-import org.eclipse.uml2.uml.UMLPackage;
-import org.eclipse.uml2.uml.ValueSpecification;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * This class executes the main model transformation. It traverses the
- * instances of a deployment plan in a recursive way and executes
- * connector reification and container expansion.
- */
-public class MainModelTrafo {
-
-
-	public static final String HW_COMP_PREFIX = "Hwc"; //$NON-NLS-1$
-
-	/**
-	 * Create a new instance of main-model-transformation
-	 *
-	 * @param copier
-	 *            Copier
-	 * @param tmCDP
-	 *            deployment plan in target model
-	 */
-	public MainModelTrafo(LazyCopier copy, Package tmCDP) {
-		nodeHandled = new HashMap<InstanceSpecification, Boolean>();
-		this.copier = copy;
-		this.tmCDP = tmCDP;
-	}
-
-	/**
-	 * Return an instance specification that corresponds to a part. This
-	 * function is useful in the connector context, since it allows to retrieve
-	 * the instance specification that is reference by a connection end-point
-	 * (which points to the part).
-	 *
-	 * @param system
-	 *            the instance specification for the assembly
-	 * @param part
-	 *            the part within a class
-	 * @return The instance specification for the passed part
-	 */
-	public static InstanceSpecification getInstanceForPart(
-			InstanceSpecification system, Property part) {
-		for (Slot slot : system.getSlots()) {
-			if (slot.getDefiningFeature() == part) {
-				for (ValueSpecification value : slot.getValues()) {
-					// instances are accessible via ValueSpecification subclass
-					// InstanceValue
-					if (value instanceof InstanceValue) {
-						return (((InstanceValue) value).getInstance());
-					}
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Find a port that would match a connection
-	 *
-	 * @param connectorType
-	 *            a connector type, i.e. a component with ports
-	 * @param the
-	 *            port on the other side of the connection
-	 * @return the first port (of all ports owned or inherited by the type) that
-	 *         is compatible with the passed otherPort.
-	 */
-	public static Port getConnectorPort(EncapsulatedClassifier connectorType,
-			Port otherPort, boolean isAssembly) {
-		EList<Port> ports = PortUtils.getAllPorts(connectorType);
-		// try to find match via kind
-		for (Port port : ports) {
-			if (PortUtils.matches(port, otherPort, isAssembly)) {
-				return port;
-			}
-		}
-		// no match found, try weaker condition: find 1st match for provided ...
-		boolean otherEndProvides = PortUtils.getProvided(otherPort) != null;
-		for (Port port : ports) {
-			Interface intf;
-			// if isAssembly: take "opposite" port
-			if (otherEndProvides != isAssembly) {
-				intf = PortUtils.getProvided(port);
-			} else {
-				intf = PortUtils.getRequired(port);
-			}
-			if (intf != null) {
-				return port;
-			}
-		}
-		return null;
-	}
-
-
-	/**
-	 * This method performs a model transformation that replaces an Qompass
-	 * connector by a property and a set of simple connectors. The type of the
-	 * newly added connector must be instantiated from its template definition
-	 * in order to adapt the connector to its context. This is done in a
-	 * recursive manner on a compositeInstance. The result is a (composite)
-	 * class which has the added connector. The function will also trigger
-	 * container expansion, if necessary. Please note that we use the naming
-	 * convention to prefix elements of the source model (wrt. to the
-	 * transformation) with sm and elements of the target model with tm.
-	 *
-	 * @param smIS
-	 *            source model instance specification
-	 * @param smDF
-	 *            source model defining feature (null for top-level instance).
-	 * @param inheritedRules
-	 *            container rules inherited from containing composite
-	 * @return new instance specification in traget model
-	 *
-	 * @throws TransformationException
-	 */
-	public InstanceSpecification transformInstance(
-			InstanceSpecification smIS, StructuralFeature smDF) throws TransformationException {
-		Class smComponent = null;
-		Classifier smCl = DepUtils.getClassifier(smIS);
-		if (smCl instanceof Class) {
-			smComponent = (Class) smCl;
-		} else {
-			// should not happen
-			return null;
-		}
-
-		String instName = smIS.getName();
-		// first check, if instance specification exists already. This may be the case for explicitly modeled singleton instances.
-		InstanceSpecification tmIS = (InstanceSpecification)
-				tmCDP.getPackagedElement(instName);
-		if (tmIS == null) {
-			tmIS = (InstanceSpecification)
-					tmCDP.createPackagedElement(instName, UMLPackage.eINSTANCE.getInstanceSpecification());
-		}
-		if (smDF == null) {
-			// no defining feature => must be main instance
-			// => apply deployment plan stereotype and set main instance
-			DeploymentPlan newCDP = StereotypeUtil.applyApp(tmCDP, DeploymentPlan.class);
-			newCDP.setMainInstance(tmIS);
-		}
-
-		Class tmComponent = copier.getCopy(smComponent);
-		if (tmComponent == null) {
-			return null;
-		}
-		tmIS.getClassifiers().add(tmComponent);
-
-		// retrieve the component type object from the static profile (in order
-		// to process rules)
-		EList<ContainerRule> rules = FCMUtil.getAllContainerRules(smComponent);
-
-		// get container trafo instance, if already existing
-		AbstractContainerTrafo containerTrafo = AbstractContainerTrafo.get(tmComponent);
-
-		// general idea: an instance of class ContainerTafo is responsible for a specific component.
-		// the method createContainerInstance must be called for each instance of the application component
-		// (caveat: don't mix-up with instance of Java classes of the development tool)
-		// TODO: since we support multiple container kinds, we need to keep their container map separate!
-		InstanceSpecification containerIS = null;
-		if (containerTrafo == null) {
-			// no container exists, check rules and create eventually
-			for (ContainerRule rule : rules) {
-				if (RuleManagement.isRuleActive(rule)) {
-					// at least one active rule => create container (or get previously instantiated))
-					if (containerTrafo == null) {
-						if (rule.getKind() == ContainerRuleKind.LIGHT_WEIGHT_OO_RULE) {
-							containerTrafo = new LWContainerTrafo(copier, tmCDP);
-						}
-						else if (rule.getKind() == ContainerRuleKind.COMPONENT_RULE) {
-							containerTrafo = new  ContainerTrafo(copier, tmCDP, tmIS);
-						}
-						else {
-							containerTrafo = new CustomTrafoDelegate(copier, tmCDP, rule.getBase_Class().getQualifiedName());
-						}
-						containerTrafo.createContainer(smComponent, tmComponent);
-					}
-					else {
-						// configure only??
-					}
-					containerTrafo.applyRule(rule, smComponent, tmComponent);
-				}
-			}
-			if (containerTrafo != null) {
-				containerTrafo.finalize();
-			}
-		}
-		if (containerTrafo != null) {
-			// create instance of container. This is done after rule application, since
-			// elements that are added by the rules need to be instantiated as well.
-			// TODO: Cannot mix both rules.
-			containerIS = containerTrafo.createContainerInstance(tmComponent, tmIS);
-		}
-		// ------------------- end of container handling of SW nodes
-
-		// copier node allocation
-		for (InstanceSpecification smNode : AllocUtils.getNodes(smIS)) {
-			InstanceSpecification tmNode = copier.getCopy(smNode);
-			if (containerIS != null) {
-				// allocate container instead of executor.
-				AllocUtils.allocate(containerIS, tmNode);
-			}
-			else {
-				AllocUtils.allocate(tmIS, tmNode);
-			}
-
-			if (!nodeHandled.containsKey(tmNode)) {
-				// check if node (on an instance level) has already been treated. This is required, since many
-				// instances might be allocated to the same node.
-				nodeHandled.put(tmNode, true);
-
-				// check, whether a container rule is applied on the tmNode
-				Classifier tmCS = DepUtils.getClassifier(tmNode);
-				if (tmCS instanceof Class) {
-					// ---------------------------
-					EList<ContainerRule> hwRules = FCMUtil.getAllContainerRules(tmCS);
-
-					if (hwRules.size() > 0) {
-
-						ContainerTrafo nodeContainerTrafo = (ContainerTrafo) AbstractContainerTrafo.get((Class) tmCS);
-
-						// issues
-						// - unlike SW component container, don't update references pointing towards the HW node
-						// - create additional part in system (top-level) component for the node container
-						// - container (_cc class) appears in platform component (same package as HW node)
-						// - port copying and creation of delegation connectors does not make much sense, creation of
-						// executor itself does not make much sense, additional operation "createHwContainer"
-
-						// obtain property related to node instance
-						Package smCDP = smIS.getNearestPackage();
-						DeploymentPlan smFCM_CDP = UMLUtil.getStereotypeApplication(smCDP, DeploymentPlan.class);
-
-						if (nodeContainerTrafo == null) {
-							// container does not exist, check rules and create eventually
-							for (ContainerRule rule : hwRules) {
-								if (RuleManagement.isRuleActive(rule)) {
-									if (nodeContainerTrafo == null) {
-										// at least one active rule => create container (or get previously instantiated))
-										nodeContainerTrafo = new ContainerTrafo(copier, tmCDP, tmIS);
-										nodeContainerTrafo.createHwContainer((Class) tmCS);
-										nodeContainerTrafo.applyRule(rule, smComponent, tmComponent);
-									}
-								}
-							}
-						}
-						if (nodeContainerTrafo != null) {
-							InstanceSpecification hwContainerIS =
-									nodeContainerTrafo.createHwContainerInstance(tmComponent, tmNode);
-							// now add attribute in system (obtain via classifier of main instance in smCDP)
-							if (smFCM_CDP != null) {
-								InstanceSpecification smMI = smFCM_CDP.getMainInstance();
-								Classifier smSystem = DepUtils.getClassifier(smMI);
-								Classifier tmSystem = copier.getCopy(smSystem);
-								InstanceSpecification tmMI = DepUtils.getInstanceForClassifier(tmCDP, tmSystem);
-								if (tmSystem instanceof Class) {
-									Property hwcPart =
-											((Class) tmSystem).createOwnedAttribute(smNode.getName() + HW_COMP_PREFIX, nodeContainerTrafo.getContainer());
-									// and now create a slot for the created instance.
-									DepPlanUtils.createSlot(tmCDP, tmMI, hwContainerIS, hwcPart);
-								}
-
-								// now allocate instance
-								AllocUtils.allocate(hwContainerIS, tmNode);
-							}
-						}
-					}
-				}
-			}
-		} // ------------------- end of container handling of HW nodes
-
-
-		// reread instName (may have been changed by container transformation).
-		instName = tmIS.getName();
-
-		// copy parts, i.e. referenced slots
-		// loop on instances (instead of parts), since reification needs to be
-		// based on used implementations.
-		for (Slot slot : smIS.getSlots()) {
-			if (slot.getDefiningFeature() == null) {
-				throw new TransformationException(
-						String.format(Messages.MainModelTrafo_NoDefiningFeature, smIS.getName()));
-			}
-			StructuralFeature smPartDF = slot.getDefiningFeature();
-			Type type = smPartDF.getType();
-			if(type==null){
-				throw new TransformationException(String.format(Messages.MainModelTrafo_NoTypeDefinedFor, smPartDF.getName()));	
-			}
-			if (StereotypeUtil.isApplied(smPartDF.getType(), InteractionComponent.class)) {
-				if (smPartDF instanceof Property) {
-					Property tmPart = ConnectorReification.reifyConnector(copier, tmComponent, (Property) smPartDF, tmIS);
-					// update value specification (to the one just created)
-					InstanceSpecification tmPartIS = EcoreUtil.copy(DepUtils.getInstance(slot));
-					if (tmPartIS.getClassifiers().size() > 0) {
-						// replace classifier referenced from instance with type of reified connector
-						tmPartIS.getClassifiers().set(0, (Classifier) tmPart.getType());
-						TransformationUtil.updateDerivedInterfaces(tmPartIS);
-					}
-					tmCDP.getPackagedElements().add(tmPartIS);
-					// instance specification for connector parts points to connector within package template
-					copier.putPair(DepUtils.getInstance(slot), tmPartIS);
-
-					Type newType = tmPart.getType();
-					if (newType instanceof Classifier) {
-						// update classifier reference, otherwise it would not point to
-						// bound type, but to original type in package template
-						if (tmPartIS.getClassifiers().size() > 0) {
-							tmPartIS.getClassifiers().set(0, (Classifier) newType);
-						}
-					}
-					DepCreation.createSlot(tmIS, tmPartIS, tmPart);
-				}
-			}
-			else if (smPartDF.getType() instanceof Class) {
-
-				InstanceSpecification smPartIS = DepUtils.getInstance(slot);
-				if (smPartIS == null) {
-					throw new TransformationException(
-							String.format(Messages.MainModelTrafo_NoInstanceAssociated, smPartDF.getName()));
-				}
-
-				// recursive reification
-				// returned instance specification in target model is an instance specification for the part
-				// or for a container for that part.
-				InstanceSpecification tmPartIS = transformInstance(smPartIS, smPartDF);
-				// AllocUtils.propagateNodesViaPort (tmPartIS, null, AllocUtils.getNodes(containedInstance));
-
-				// retrieve part in the target model (it has been created during
-				// the copyClassifier operation before)
-				// TODO: avoid cast (use StructuralFeature instead)
-				Property tmPart = (Property) copier.getCopy(smPartDF);
-
-				// check whether the instance specification has been modified
-				// (due to a container transformation)
-				// modification would not be required, if
-				if ((tmPartIS != null) && (DepUtils.getClassifier(tmPartIS) != tmPart.getType())) {
-					Log.log(IStatus.INFO, Log.TRAFO_CONNECTOR, String.format(Messages.MainModelTrafo_ChangePartType, tmPart.getName()));
-					tmPart.setType(DepUtils.getClassifier(tmPartIS));
-				}
-				DepCreation.createSlot(tmIS, tmPartIS, tmPart);
-			} else {
-				// assume primitive type, copy slot values
-				// don't use the copier to avoid duplicate entries (since not all instance specifications created
-				// before are correctly inserted into the map of the copier).
-				Slot tmSlot = EcoreUtil.copy(slot);
-				tmSlot.setDefiningFeature(copier.getCopy(slot.getDefiningFeature()));
-				tmIS.getSlots().add(tmSlot);
-			}
-
-		}
-
-		// NamedElement socket = Utils.getQualifiedElement(smComponent.getModel(), "SocketRuntime::Socket");
-		// NamedElement socketCopy = copier.getCopy(socket);
-
-		// loop on connectors
-		// TODO: check, if true (no instance specification exists for these - unlike a connector which is explicitly specified via a part)
-		// TODO: quite inefficient (and likely wrong), if same composite is instantiated several times (re-reification of connectors)
-		for (Connector smConnector : smComponent.getOwnedConnectors()) {
-			if (StUtils.isConnector(smConnector)) {
-				org.eclipse.papyrus.designer.components.FCM.Connector fcmConn = StUtils.getConnector(smConnector);
-				if (fcmConn != null) {
-					// found an Qompass connector, connector type is specified.
-					// => Reify the connector within the target component, i.e. create a new part and
-					// additional connections for it.
-					Property connectorPart = ConnectorReification.reifyConnector(copier, tmComponent,
-							UMLTool.varName(smConnector), smConnector, tmIS);
-
-					if (connectorPart == null) {
-						continue;
-					}
-
-					// remove simple connector from composite in target model
-					Connector tmConnector = copier.getCopy(smConnector);
-					tmConnector.destroy();
-
-					// Now create an instance specification for the reified connector
-					InstanceSpecification tmReifiedConnectorIS = DepCreation.createDepPlan(
-							tmCDP, (Class) connectorPart.getType(),
-							instName + "." + smConnector.getName(), false); //$NON-NLS-1$
-					TransformationUtil.updateDerivedInterfaces(tmReifiedConnectorIS);
-
-					// copy slots from the source deployment plan that are related to connector configuration
-					InstanceSpecification smConnectorIS = DepUtils.getNamedSubInstance(smIS, smConnector.getName());
-					if (smConnectorIS != null) {
-						// use putPair instead of put only - see bug 426748, avoid that classifier attribute points
-						// to two classifiers (bound and unbound)
-						copier.putPair(smConnectorIS, tmReifiedConnectorIS);
-						// problem: the defining feature of the slot points to the original connector which we don't
-						// want to copy (would have to be done in context of template binding)
-						TemplateInstantiation ti = new TemplateInstantiation(copier, ConnectorReification.binding);
-						for (Slot smSlot : smConnectorIS.getSlots()) {
-							ti.bindElement(smSlot);
-						}
-					}
-
-					Slot partSlot =
-							DepCreation.createSlot(tmIS, tmReifiedConnectorIS, connectorPart);
-
-					ConnectorReification.propagateNodeAllocation(tmComponent, tmIS, partSlot);
-				}
-			}
-		}
-
-		// needs to be called independently
-		// propagateNodeAllocation (cdp, compositeInstance);
-		AllocTransfo at = new AllocTransfo();
-		at.transformAllocs(copier, tmComponent);
-
-		if (containerIS != null) {
-			// return containerIS
-			return containerIS;
-		} else {
-			return tmIS;
-		}
-	}
-
-	protected Map<InstanceSpecification, Boolean> nodeHandled;
-
-	/**
-	 * Copier from source to target model
-	 */
-	protected LazyCopier copier;
-
-	/**
-	 * deployment plan within target model
-	 */
-	protected Package tmCDP;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/PrefixConstants.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/PrefixConstants.java
deleted file mode 100644
index f11c4be..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/PrefixConstants.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations;
-
-/**
- * A set of constants used for the CIF. In particular prefixes for the operations
- * to access the implementation of a provided interface and connect a required interface
- *
- */
-public class PrefixConstants {
-
-	public static String getP_Prefix = "get_"; //$NON-NLS-1$
-
-	public static String getConnQ_Prefix = ""; //$NON-NLS-1$
-
-	public static String connectQ_Prefix = "connect_"; //$NON-NLS-1$
-
-	public static String attributePrefix = ""; //$NON-NLS-1$
-
-	enum CIFvariant {
-		UML, CCM
-	};
-
-	/**
-	 * Initialize a specific CIF variant
-	 *
-	 * TODO currently unused
-	 *
-	 * @param cif
-	 *            Which CIF variant should used?
-	 */
-	void init(CIFvariant cif) {
-		if (cif == CIFvariant.UML) {
-			getP_Prefix = "get_"; //$NON-NLS-1$
-			getConnQ_Prefix = ""; //$NON-NLS-1$
-			connectQ_Prefix = "connect_"; //$NON-NLS-1$
-			attributePrefix = ""; //$NON-NLS-1$
-		} else if (cif == CIFvariant.CCM) {
-			getP_Prefix = "get_"; //$NON-NLS-1$
-			getConnQ_Prefix = "getconnection_"; //$NON-NLS-1$
-			connectQ_Prefix = "connect_"; //$NON-NLS-1$
-			attributePrefix = "m_"; //$NON-NLS-1$
-		}
-	}
-};
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/RuleManagement.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/RuleManagement.java
deleted file mode 100644
index eff891b..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/RuleManagement.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.transformation.core.transformations;
-
-import org.eclipse.papyrus.designer.components.FCM.ConfigOption;
-import org.eclipse.papyrus.designer.components.FCM.Configuration;
-import org.eclipse.papyrus.designer.components.FCM.ContainerRule;
-
-public class RuleManagement {
-	private static Configuration m_config;
-
-	public static void setConfiguration(Configuration config) {
-		m_config = config;
-	}
-
-	/**
-	 * check whether a rule is active in a given configuration
-	 *
-	 * @param aRule
-	 * @return
-	 */
-	public static boolean isRuleActive(ContainerRule rule) {
-		if (m_config != null) {
-			for (ConfigOption option : m_config.getConfigOptions()) {
-				if (rule.getForConfig().contains(option)) {
-					return true;
-				}
-			}
-		}
-		// not already true via specific configuration.
-		// => Also turn on rules by default that are not for a specific configuration option
-		return (rule.getForConfig().size() == 0);
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/TrafoAndCodegenPackage.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/TrafoAndCodegenPackage.java
deleted file mode 100644
index 7454d14..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/TrafoAndCodegenPackage.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.common.util.WrappedException;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.papyrus.designer.components.FCM.ContainerRule;
-import org.eclipse.papyrus.designer.components.FCM.ContainerRuleKind;
-import org.eclipse.papyrus.designer.components.FCM.util.FCMUtil;
-import org.eclipse.papyrus.designer.components.transformation.core.EnumService;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.ModelManagement;
-import org.eclipse.papyrus.designer.components.transformation.core.StUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.AbstractContainerTrafo;
-import org.eclipse.papyrus.designer.components.transformation.core.generate.GenerateCode;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.container.LWContainerTrafo;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.filters.FilterTemplate;
-import org.eclipse.papyrus.designer.languages.common.extensionpoints.ILangCodegen;
-import org.eclipse.papyrus.designer.languages.common.extensionpoints.LanguageCodegen;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.PackageableElement;
-import org.eclipse.uml2.uml.Profile;
-
-/**
- * This class executes all transformations during the instantiation of a
- * deployment plan, i.e.
- * 1. The reification of connectors (including template instantiation). This transformation targets a new model
- * 2. Adding get_p/connect_q operations to a class (transformation within same model)
- * 3. Remove all component types
- * 4. distribute to nodes
- *
- * @author ansgar
- *
- */
-public class TrafoAndCodegenPackage {
-
-	/**
-	 * Iterate over source model and apply transformation
-	 *
-	 * @param copier
-	 * @param pkg
-	 * @throws TransformationException
-	 */
-	public static void applyTrafo(LazyCopier copy, Package pkg) throws TransformationException {
-		EList<PackageableElement> peList = new BasicEList<PackageableElement>();
-		peList.addAll(pkg.getPackagedElements());
-		for (PackageableElement element : peList) {
-			if (element instanceof Package) {
-				applyTrafo(copy, (Package) element);
-			}
-			else if (element instanceof Class) {
-
-				Class smImplementation = (Class) element;
-				Class tmImplementation = copy.getCopy(smImplementation);
-
-				// get container trafo instance, if already existing
-				AbstractContainerTrafo containerTrafo = AbstractContainerTrafo.get(tmImplementation);
-
-				// we may not apply the transformation to the boot-loader itself, in particular it would transform
-				// singletons into pointers.
-				EList<ContainerRule> rules = FCMUtil.getAllContainerRules(smImplementation);
-				for (ContainerRule rule : rules) {
-					// if(RuleManagement.isRuleActive(rule)) {
-					// at least one active rule => create container (or get previously instantiated))
-					if (rule.getKind() == ContainerRuleKind.LIGHT_WEIGHT_OO_RULE) {
-						if (containerTrafo == null) {
-							// container does not exist yet, create
-							containerTrafo = new LWContainerTrafo(copy, null);
-							containerTrafo.createContainer(smImplementation, tmImplementation);
-						}
-						containerTrafo.applyRule(rule, smImplementation, tmImplementation);
-					}
-				}
-				// }
-			}
-		}
-	}
-
-	/**
-	 * Instantiate a deployment plan, i.e. generate an intermediate model via a sequence of transformations
-	 *
-	 * @param cdpOrConfig
-	 *            a deployment plan (UML package) or a configuration (UML class)
-	 * @param monitor
-	 *            a progress monitor.
-	 *
-	 * @param project
-	 *            the current project. This information is used to store the intermediate model in
-	 *            a subfolder (tmpModel) of the current project
-	 * @param genOptions
-	 *            select whether to produce an intermediate model only, also code, ... @see GenerationOptions
-	 */
-	public static void instantiate(Element cdpOrConfig, IProgressMonitor monitor, IProject project) {
-		if (project == null) {
-			String projectName = cdpOrConfig.eResource().getURI().toString();
-			project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-		}
-		Model tmpModel = null;
-		ModelManagement tmpMM = null;
-
-		Package selectedPkg;
-		if (cdpOrConfig instanceof Package) {
-			selectedPkg = (Package) cdpOrConfig;
-			RuleManagement.setConfiguration(null);
-		}
-		else {
-			return;
-		}
-
-		try {
-			EnumService.init();
-			// Package copyCDP = dt.getCopyCDT (selectedCDP);
-
-			// -- calc # of steps for progress monitor
-			// 1 (tmpModel creation) + 1 (reification) + 1 (tmpModel save)
-			// 5x on each deployed node (see below)
-			// problem? Connector reification is a single, relatively long step
-			int steps = 3;
-
-			monitor.beginTask(Messages.InstantiateDepPlan_InfoGeneratingModel, steps);
-			if (monitor.isCanceled()) {
-				return;
-			}
-
-			// 1a: create a new model (and applies same profiles / imports)
-			Model existingModel = selectedPkg.getModel();
-			TransformationContext.sourceRoot = existingModel;
-			tmpMM = createTargetModel(existingModel, monitor, existingModel.getName(), true);
-			tmpModel = tmpMM.getModel();
-			// Declare that the new model is a derivedElement (kind of hack, since the source
-			// element (attribute of derive element) remains undefined). This is used to
-			// de-activate automatic transformations that should not be applied to the generated
-			// model.
-			monitor.worked(1);
-			if (monitor.isCanceled()) {
-				return;
-			}
-
-			// LateEval.clear();
-
-			EnumService.createEnumPackage(tmpModel);
-
-			LazyCopier tmpCopy = new LazyCopier(existingModel, tmpModel, false, true);
-			tmpCopy.preCopyListeners.add(FilterTemplate.getInstance());
-
-			// 1b: reify the connectors "into" the new model
-			monitor.subTask(Messages.InstantiateDepPlan_InfoExpandingConnectors);
-
-			// obtain reference to CDP in target model
-
-			AbstractContainerTrafo.init();
-			monitor.worked(1);
-
-			// create recursive copy of selectedPackage
-			tmpCopy.getCopy(selectedPkg);
-
-			// apply container transformation
-			applyTrafo(tmpCopy, selectedPkg);
-
-			// 1c: late bindings
-			// LateEval.bindLateOperations();
-			// 3: distribute to nodes
-
-			String tmpPath = tmpMM.getPath(project, InstantiateDepPlan.TEMP_MODEL_FOLDER, tmpModel.getName() + InstantiateDepPlan.TEMP_MODEL_POSTFIX);
-			tmpMM.saveModel(tmpPath);
-
-			String targetLanguage = DepUtils.getLanguageFromElement(selectedPkg);
-			// genProject = project
-			ModelManagement genMM = tmpMM;
-			IProject genProject = project;
-			ILangCodegen codegen = LanguageCodegen.getGenerator(targetLanguage);
-			GenerateCode codeGen = new GenerateCode(genProject, codegen, genMM, monitor);
-			codeGen.generate(null, targetLanguage, false);
-
-			genMM.dispose();
-
-			if (monitor.isCanceled()) {
-				return;
-			}
-			monitor.worked(1);
-
-		} catch (TransformationException te) {
-			// Get UI thread to show dialog
-			final TransformationException teFinal = te;
-			Display.getDefault().syncExec(new Runnable() {
-
-				@Override
-				public void run() {
-					Shell shell = Display.getDefault().getActiveShell();
-					MessageDialog.openError(shell, Messages.InstantiateDepPlan_TransformationException, teFinal.getMessage());
-				}
-			});
-			Log.log(IStatus.ERROR, Log.DEPLOYMENT, "", teFinal); //$NON-NLS-1$
-		} catch (Exception e) {
-			final Exception eFinal = e;
-			e.printStackTrace();
-			Display.getDefault().syncExec(new Runnable() {
-
-				@Override
-				public void run() {
-					Shell shell = Display.getDefault().getActiveShell();
-					String msg = eFinal.toString() + "\n\n" + //$NON-NLS-1$
-							Messages.InstantiateDepPlan_ConsultConsole;
-					MessageDialog.openError(shell, Messages.InstantiateDepPlan_ErrorsDuringTransformation, msg);
-				}
-			});
-			Log.log(IStatus.ERROR, Log.DEPLOYMENT, "", e); //$NON-NLS-1$
-		}
-		if (tmpMM != null) {
-			tmpMM.dispose();
-		}
-	}
-
-
-	/**
-	 * Create a new empty model from an existing model that applies the same
-	 * profiles and has the same imports
-	 *
-	 * @param existingModel
-	 * @return
-	 */
-	public static ModelManagement createTargetModel(Model existingModel, IProgressMonitor monitor, String name, boolean copyImports) throws TransformationException {
-		ModelManagement mm = new ModelManagement();
-		Model newModel = mm.getModel();
-		newModel.setName(name);
-
-		try {
-			// copy profile application
-			for (Profile profile : existingModel.getAppliedProfiles()) {
-				// reload profile in resource of new model
-				monitor.subTask(Messages.InstantiateDepPlan_InfoApplyProfile + profile.getQualifiedName());
-
-				if (profile.eResource() == null) {
-					String profileName = profile.getQualifiedName();
-					if (profileName == null) {
-						if (profile instanceof MinimalEObjectImpl.Container) {
-							URI uri = ((MinimalEObjectImpl.Container) profile).eProxyURI();
-							if (uri != null) {
-								throw new TransformationException(String.format(Messages.InstantiateDepPlan_CheckInputModelProfileNoRes, uri));
-							}
-						}
-						throw new TransformationException(Messages.InstantiateDepPlan_CheckInputModelProfileNoResNoName);
-					}
-					throw new TransformationException(String.format(Messages.InstantiateDepPlan_CheckInputModelProfile3, profileName));
-				}
-
-				Resource profileResource = null;
-				try {
-					profileResource = ModelManagement.getResourceSet().getResource(profile.eResource().getURI(), true);
-				} catch (WrappedException e) {
-					// read 2nd time (some diagnostic errors are raised only once)
-					Log.log(IStatus.WARNING, Log.DEPLOYMENT, "Warning: exception in profile.eResource() " + e.getMessage()); //$NON-NLS-1$
-					profileResource = ModelManagement.getResourceSet().getResource(profile.eResource().getURI(), true);
-				}
-				Profile newProfileTop = (Profile) profileResource.getContents().get(0);
-				Profile newProfile;
-				String qname = profile.getQualifiedName();
-				if ((qname != null) && qname.contains("::")) { //$NON-NLS-1$
-					// profile is a sub-profile within same resource
-					// TODO: should Copier class copy profile applications?
-					// Should be handled in shallowContainer class.
-					// if we put profile/newProfile pair into copy map, copier would find (and copy profile
-					// applications in sub-folders
-					qname = qname.substring(qname.indexOf("::") + 2); //$NON-NLS-1$
-					newProfile = (Profile) Utils.getQualifiedElement(newProfileTop, qname);
-				}
-				else {
-					newProfile = newProfileTop;
-				}
-				newProfile.getMember("dummy"); // force profile loading //$NON-NLS-1$
-				newModel.applyProfile(newProfile);
-			}
-		} catch (IllegalArgumentException e) {
-			throw new TransformationException(Messages.InstantiateDepPlan_IllegalArgumentDuringCopy + e.toString());
-		}
-
-		// copier imports (and load resources associated - TODO: might not be necessary)
-		// While this is useful in general, it implies that code for imported models
-		// has been generated and compiled (for the right target) into a library. This may be
-		// quite tedious, unless automatically managed.
-		// Therefore we do not activate this option in a first pass of the model transformations.
-		if (copyImports) {
-			for (Package importedPackage : existingModel.getImportedPackages()) {
-				if (importedPackage == null) {
-					throw new TransformationException(Messages.InstantiateDepPlan_CheckInputImportPkg);
-				}
-				if (importedPackage.eResource() == null) {
-					String errorMsg = Messages.InstantiateDepPlan_CheckInputImportPkgNoRes;
-					if (importedPackage instanceof MinimalEObjectImpl.Container) {
-						URI uri = ((MinimalEObjectImpl.Container) importedPackage).eProxyURI();
-						if (uri != null) {
-							errorMsg += " - URI: " + uri.devicePath(); //$NON-NLS-1$
-						}
-					}
-					throw new TransformationException(errorMsg);
-				}
-				newModel.createPackageImport(importedPackage);
-				monitor.subTask(String.format(Messages.InstantiateDepPlan_InfoImportPackage, importedPackage.getName()));
-
-				try {
-					importedPackage.eResource().load(null);
-					newModel.getMember("dummy"); // force loading of model //$NON-NLS-1$
-				} catch (IOException e) {
-					throw new TransformationException(e.getMessage());
-				}
-
-			}
-		}
-
-		StUtils.copyStereotypes(existingModel, newModel);
-
-		return mm;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/TransformationContext.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/TransformationContext.java
deleted file mode 100644
index 180dfb9..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/TransformationContext.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations;
-
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TemplateInstantiation;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TemplateUtils;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.TemplateBinding;
-
-/**
- * Return information about the current values in the context of a transformation
- * e.g. the current instance, the current port (container transformation), ...
- *
- * TODO: clean separation ContainerContext? (e.g. port should only be in the latter)
- *
- * @author ansgar
- *
- */
-public class TransformationContext {
-
-	public static InstanceSpecification instance;
-
-	public static InstanceSpecification getInstance() {
-		return instance;
-	}
-
-	public static Port port;
-
-	public static Port getPort() {
-		return port;
-	}
-
-	public static Package sourceRoot;
-
-	public static Package getSourceRoot() {
-		return sourceRoot;
-	}
-
-	public static LazyCopier copier;
-	
-	public static LazyCopier getCopier() {
-		return copier;
-	};
-
-	public static Classifier formalParameter;
-
-	public static Classifier getFormalParameter() {
-		return formalParameter;
-	}
-
-	// the element, to which transformations are currently applied.
-	public static Classifier classifier;
-
-	public static Classifier getClassifier() {
-		return classifier;
-	}
-
-	/**
-	 * Set sat and binding context for pkgTemplateParameter function
-	 *
-	 * @param sat
-	 * @param binding
-	 */
-	public static void setTemplateInstantiation(TemplateInstantiation ti) {
-		TransformationContext.ti = ti;
-	}
-
-	public static TemplateInstantiation ti;
-
-	/**
-	 * Return actual (in the current binding context) from a named package template parameter
-	 * Used during template instantiation: code can access actual template parameter via formal
-	 *
-	 * @param formal
-	 *            the name of the formal parameter
-	 * @return the actual
-	 */
-	public static String pkgTemplateParameter(String formal) {
-		Classifier actual = TemplateUtils.getActualFromBinding(ti.binding, formal);
-		if (actual != null) {
-			return actual.getQualifiedName();
-		}
-		else {
-			return ""; //$NON-NLS-1$
-		}
-	}
-
-	public static TemplateBinding getBinding() {
-		return ti.binding;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/TransformationException.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/TransformationException.java
deleted file mode 100644
index 5582e3b..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/TransformationException.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations;
-
-/**
- * Main exception class that is used to represent errors during model transformations
- */
-public class TransformationException extends Exception {
-
-	public TransformationException(String reason) {
-		super(reason);
-	}
-
-	// String m_reason;
-	final static long serialVersionUID = 1234;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/TransformationRTException.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/TransformationRTException.java
deleted file mode 100644
index 00e040f..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/TransformationRTException.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations;
-
-/**
- * Variant of the transformation exception that extends RuntimeException. This
- * is sometimes useful, since it avoids to declare exceptions specifically
- *
- */
-public class TransformationRTException extends RuntimeException {
-
-	public TransformationRTException(String reason) {
-		super(reason);
-	}
-
-	/**
-	 *
-	 */
-	private static final long serialVersionUID = 1235L;
-
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/TransformationUtil.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/TransformationUtil.java
deleted file mode 100644
index b63b2be..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/TransformationUtil.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.transformation.core.transformations;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.UniqueEList;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.AllocUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.InstanceConfigurator;
-import org.eclipse.papyrus.designer.components.transformation.core.sync.CompImplSync;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Slot;
-
-public class TransformationUtil {
-	public static void applyInstanceConfigurators(InstanceSpecification instance) {
-		for (Slot slot : instance.getSlots()) {
-			InstanceSpecification subInstance = DepUtils.getInstance(slot);
-			if (!DepUtils.isShared(slot) && (subInstance != null)) {
-				if (slot.getDefiningFeature() instanceof Property) {
-					InstanceConfigurator.configureInstance(subInstance, (Property) slot.getDefiningFeature(), instance);
-				}
-				applyInstanceConfigurators(subInstance);
-			}
-		}
-	}
-
-	public static void propagateAllocation(InstanceSpecification instance) {
-		propagateAllocation(instance, new UniqueEList<InstanceSpecification>());
-	}
-
-	public static void propagateAllocation(InstanceSpecification instance, EList<InstanceSpecification> nodes) {
-		// create copy of node (otherwise, more and more nodes get aggregated.
-		UniqueEList<InstanceSpecification> nodesCopy = new UniqueEList<InstanceSpecification>();
-		nodesCopy.addAll(nodes);
-		nodesCopy.addAll(AllocUtils.getNodes(instance));
-		for (Slot slot : instance.getSlots()) {
-			InstanceSpecification subInstance = DepUtils.getInstance(slot);
-			if (subInstance != null) {
-				if (DepUtils.isShared(slot)) {
-					for (InstanceSpecification node : nodesCopy) {
-						Log.log(IStatus.INFO, Log.DEPLOYMENT, String.format("Propagate node allocation: %s to %s", subInstance.getName(), node.getName())); //$NON-NLS-1$
-						AllocUtils.allocate(subInstance, node);
-					}
-				}
-				else {
-					propagateAllocation(subInstance, nodesCopy);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Update derived interfaces of ports. This is required, since the Copier does not follow references
-	 * that are referenced via a derived attribute. Derived attributes are used for provided and required
-	 * interfaces in the stereotype attributes of an FCM port. Thus, required (derived) interfaces would be
-	 * unavailable in the copy, if not explicitly updated.
-	 * However, the provided interface is not concerned as it appears in an "implements" relation. If the
-	 * port is connected, the used interface of one port is the provided interface of the port counter part.
-	 * Thus, the explicit update done by this function is not needed in most cases.
-	 *
-	 * see also FixTemplateSync (remove the latter?)
-	 */
-	public static void updateDerivedInterfaces(InstanceSpecification instance) {
-		Classifier cl = DepUtils.getClassifier(instance);
-		if (cl instanceof Class) {
-			Class implementation = (Class) cl;
-			CompImplSync.updatePorts(implementation);
-			CompImplSync.syncRealizations(implementation);
-		}
-		for (Slot slot : instance.getSlots()) {
-			InstanceSpecification subInstance = DepUtils.getInstance(slot);
-			if (!DepUtils.isShared(slot) && (subInstance != null)) {
-				updateDerivedInterfaces(subInstance);
-			}
-		}
-	}
-
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/UpdateUtils.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/UpdateUtils.java
deleted file mode 100644
index f266893..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/UpdateUtils.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.designer.components.FCM.DerivedElement;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * Utility functions for the update derived elements, e.g. operations of a component
- * that depend on the operations of an interface that is offered by the component.
- */
-public class UpdateUtils {
-
-	public static EList<Element> getDerivedElements(Package pkg, NamedElement source) {
-		EList<Element> list = new BasicEList<Element>();
-		Iterator<NamedElement> members = pkg.getOwnedMembers().iterator();
-		while (members.hasNext()) {
-			NamedElement member = members.next();
-			if (getSource(member) == source) {
-				list.add(member);
-			}
-			if (member instanceof Package) {
-				EList<Element> subList = getDerivedElements((Package) member, source);
-				list.addAll(subList);
-			}
-		}
-		return list;
-	}
-
-	public static Element getDerivedElement(EList<? extends Element> list, Element source) {
-		Iterator<? extends Element> elements = list.iterator();
-		while (elements.hasNext()) {
-			Element element = elements.next();
-			if (StereotypeUtil.isApplied(element, DerivedElement.class)) {
-				DerivedElement de = UMLUtil.getStereotypeApplication(element, DerivedElement.class);
-				if ((de != null) && (de.getSource() == source)) {
-					return element;
-				}
-			}
-		}
-		return null;
-	}
-
-	public static void setSource(Element derivedElement, Element source) {
-		DerivedElement de = StereotypeUtil.applyApp(derivedElement, DerivedElement.class);
-		if (de != null) {
-			de.setSource(source);
-		}
-		else {
-			throw new TransformationRTException(Messages.UpdateUtils_CannotApplyFCMstereo);
-		}
-	}
-
-	public static Element getSource(Element element) {
-		if (StereotypeUtil.isApplied(element, DerivedElement.class)) {
-			DerivedElement de = UMLUtil.getStereotypeApplication(element, DerivedElement.class);
-			if (de != null) {
-				return de.getSource();
-			}
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/connector/ConnectorReification.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/connector/ConnectorReification.java
deleted file mode 100644
index 19d8eca..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/connector/ConnectorReification.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations.connector;
-
-/**
- * This file is part of Qompass GenTools
- * Copyright (C) 2008 CEA LIST (http://www-list.cea.fr/)
-
- * initial developer : Christophe JOUVRAY from CEA LIST
- * Major contributions: Ansgar Radermacher from CEA LIST
- */
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.infra.core.Activator;
-import org.eclipse.papyrus.designer.components.FCM.InteractionComponent;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.PortUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.AllocUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.ConnectorBinding;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TemplateInstantiation;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TemplateUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.ConnectableElement;
-import org.eclipse.uml2.uml.Connector;
-import org.eclipse.uml2.uml.ConnectorEnd;
-import org.eclipse.uml2.uml.EncapsulatedClassifier;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Slot;
-import org.eclipse.uml2.uml.TemplateBinding;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * This class enables the reification of connectors, i.e. the replacement of
- * a UML connector with an interaction component. Reification is primarily
- * done on the level of a composite class, the
- */
-public class ConnectorReification {
-
-	/**
-	 * Find a port that would match a connection
-	 *
-	 * @param connectorType
-	 *            a connector type, i.e. a component with ports
-	 * @param the
-	 *            port on the other side of the connection
-	 * @return the first port (of all ports owned or inherited by the type) that
-	 *         is compatible with the passed otherPort.
-	 */
-	public static Port getConnectorPort(EncapsulatedClassifier connectorType,
-			Port otherPort, boolean isAssembly) {
-		EList<Port> ports = PortUtils.getAllPorts(connectorType);
-		// try to find matching port
-		for (Port port : ports) {
-			if (PortUtils.isCompatible(port, otherPort, isAssembly)) {
-				return port;
-			}
-		}
-		throw new RuntimeException(String.format(Messages.ConnectorReification_CannotFindMatchingPort,
-				connectorType.getName(), otherPort.getQualifiedName()));
-	}
-
-	/**
-	 * Reify a connector already represented in form of a part (useful for n-ary connectors)
-	 * 
-	 * @param copier
-	 *            a lazy copier
-	 * @param tmComponent
-	 *            containing composite in target target model
-	 * @param smConnectorPart
-	 *            Part representing the connector
-	 * @param tmIS
-	 *            target instance specification of the composite passed as 2nd parameter
-	 *            (required for obtaining node allocation and choosing the right implementation.
-	 *            Main use: decide whether a distributed implementation of an interaction component needs to be used)
-	 * @return The created part within tmComponent that represents the reified
-	 *         connector
-	 * @throws TransformationException
-	 */
-	public static Property reifyConnector(LazyCopier copier, Class tmComponent,
-			Property smConnectorPart, InstanceSpecification tmIS)
-					throws TransformationException {
-
-		if (!(smConnectorPart.getType() instanceof Class)) {
-			// can not happen since caller checks whether type is stereotyped as ConnectorComp
-			// which extends class
-			Log.log(IStatus.ERROR, Log.TRAFO_CONNECTOR, Messages.ConnectorReification_TemplateTypeNotClass);
-			return null;
-		}
-		// choose an implementation
-		Class connectorImplemTemplate = DepUtils.chooseImplementation(
-				(Class) smConnectorPart.getType(), AllocUtils.getAllNodes(tmIS), null);
-
-		TemplateBinding binding = ConnectorBinding.obtainBinding(tmComponent,
-				smConnectorPart, connectorImplemTemplate, true);
-		Class connectorImplem;
-
-		if (binding != null) {
-			TemplateUtils.adaptActualsToTargetModel(copier, binding);
-			TemplateInstantiation ti = new TemplateInstantiation(copier, binding);
-			connectorImplem = ti.bindElement(connectorImplemTemplate);
-		} else {
-			// no binding, class is not a template => copy as it is
-			connectorImplem = copier.getCopy(connectorImplemTemplate);
-		}
-		Property tmConnectorPart = copier.getCopy(smConnectorPart);
-		tmConnectorPart.setType(connectorImplem);
-		// now re-target connectors towards this part
-		TemplateUtils.retargetConnectors(tmComponent, tmConnectorPart);
-		return tmConnectorPart;
-	}
-
-	/**
-	 * Reify a connector
-	 *
-	 * @param copier
-	 *            The coper from source to target mode
-	 * @param tmComponent
-	 *            containing composite in target target
-	 * @param name
-	 *            name of the connector
-	 * @param smConnector
-	 *            connector element within the source model
-	 * @param tmIS
-	 *            target instance specification of the composite passed as 2nd parameter
-	 *            (required for obtaining node allocation and choosing the right implementation.
-	 *            Main use: decide whether a distributed implementation of an interaction component needs to be used)
-	 * @return the created part within tmComponent
-	 * @throws TransformationException
-	 */
-	public static Property reifyConnector(LazyCopier copier, Class tmComponent,
-			String name, Connector smConnector, InstanceSpecification tmIS)
-					throws TransformationException {
-
-		org.eclipse.papyrus.designer.components.FCM.Connector fcmConn = UMLUtil.getStereotypeApplication(smConnector, org.eclipse.papyrus.designer.components.FCM.Connector.class);
-
-		InteractionComponent connType = fcmConn.getIc();
-		if (connType == null) {
-			return null;
-		}
-
-		// choose an implementation
-		Class connectorImplemTemplate = DepUtils.chooseImplementation(connType.getBase_Class(), AllocUtils.getAllNodes(tmIS), null);
-
-		// ---- obtain binding & instantiate template type ...
-		binding = ConnectorBinding.obtainBinding(tmComponent,
-				smConnector, connectorImplemTemplate, true);
-		Class connectorImplem;
-
-		if (binding != null) {
-			TemplateUtils.adaptActualsToTargetModel(copier, binding);
-			// make copy of bound package and restore it later. Required for nested template instantiations, in particular
-			// the bound package is set within container transformations and is (by default) restored to "null" afterwards.
-			// TODO: TemplateInstantiation should do this automatically
-			copier.pushPackageTemplate();
-			TemplateInstantiation ti = new TemplateInstantiation(copier, binding);
-			connectorImplem = ti.bindElement(connectorImplemTemplate);
-			copier.popPackageTemplate();
-		} else {
-			// no binding, class is not a template => copy as it is
-			connectorImplem = copier.getCopy(connectorImplemTemplate);
-		}
-
-		if (connectorImplem == null) {
-			throw new TransformationException(
-					String.format(Messages.ConnectorReification_CouldNotBind, connectorImplemTemplate.getName()));
-		}
-
-		Property tmConnectorPart = tmComponent.createOwnedAttribute(name, connectorImplemTemplate);
-		// copy id, but prefix it with "p" (for part)
-		LazyCopier.copyID(smConnector, tmConnectorPart, "p"); //$NON-NLS-1$
-		tmConnectorPart.setIsComposite(true);
-
-		Log.log(IStatus.INFO, Log.TRAFO_CONNECTOR,
-				String.format(Messages.ConnectorReification_InfoAddConnectorPart,
-						connectorImplemTemplate.getName(), connectorImplem.getName()));
-
-		// now create (simple) connections towards the new part
-		int i = 0;
-		for (ConnectorEnd smEnd : smConnector.getEnds()) {
-			Connector tmConnector = tmComponent.createOwnedConnector("c " //$NON-NLS-1$
-					+ name + " " + String.valueOf(i)); //$NON-NLS-1$
-			LazyCopier.copyID(smConnector, tmConnector);
-			i++;
-			// the new connector connects the existing end with an end of the
-			// reified connector (the newly created property.)
-
-			// --- first end, connected with the existing end (of another non-connector part)
-			ConnectorEnd tmEnd1 = tmConnector.createEnd();
-			Property smPartWithPort = smEnd.getPartWithPort();
-			Property tmPartWithPort = copier.getCopy(smPartWithPort);
-			ConnectableElement smRole = smEnd.getRole();
-			ConnectableElement tmRole = copier.getCopy(smRole);
-			tmEnd1.setPartWithPort(tmPartWithPort);
-			tmEnd1.setRole(tmRole);
-
-			// --- 2nd end, connected with the reified connector (new part)
-			ConnectorEnd tmEnd2 = tmConnector.createEnd();
-			tmEnd2.setPartWithPort(tmConnectorPart);
-			// inheritance between connector type and implementation (ports should be identical)
-			// TODO: check whether filter condition is unique? (first returned by getConnectorPort is "good" one)
-			if (tmRole instanceof Port) {
-				tmEnd2.setRole(getConnectorPort(connectorImplem, (Port) tmRole, (tmPartWithPort != null)));
-			} else {
-				throw new TransformationException(
-						Messages.ConnectorReification_RequiresUseOfPorts);
-			}
-		}
-
-		tmConnectorPart.setType(connectorImplem);
-		// updatePorts(tmComponent, connectorPart, connectorImplem);
-		// connectContainerPorts(tmComponent, connectorPart);
-
-		return tmConnectorPart;
-	}
-
-	public static TemplateBinding binding;
-	
-	/**
-	 * Simple helper function
-	 *
-	 * @param part
-	 * @param connection
-	 * @return the connector end that is associated with the "other" end of a
-	 *         connection, i.e. the end that is not connected with the part
-	 *         passed as parameter.
-	 */
-	public static ConnectorEnd oppositeConnEnd(Connector connection,
-			ConnectorEnd myEnd) {
-		// look for the other end (connectedEnd != myEnd)
-		for (ConnectorEnd end : connection.getEnds()) {
-			if (end != myEnd) {
-				return end;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Components can contain additional ports that are inherited via the
-	 * container extension. These ports should typically be connected with
-	 * additional ports of the (reified) connector. This connection is based on
-	 * equal port types and is done automatically by this function, i.e. it
-	 * cannot be done by the developer.
-	 *
-	 * @param composite
-	 *            the composite in which a connector has been reified.
-	 * @param reifiedConnector
-	 *            the part associated with the reifiedConnector
-	 */
-	static void connectContainerPorts(Class composite, Property reifiedConnector) {
-		// This function is based on the assumption that the additional ports of the reified
-		// connector need to be connected with a port of a component that is already
-		// connected via the "normal" connectors (explicitly modeled by the user).
-		// For instance, in case of ACCORD-calls, the server component provides the additional
-		// RTU port via its container.
-
-		// Create a subset of connectors that are connected with the reified connector
-		EList<Connector> connSubset = new BasicEList<Connector>();
-		for (Connector connector : composite.getOwnedConnectors()) {
-			if (ConnectorUtil.connectsPart(connector, reifiedConnector)) {
-				connSubset.add(connector);
-			}
-		}
-
-		for (Port port : PortUtils.getAllPorts((Class) reifiedConnector
-				.getType())) {
-			// check, if port is unconnected.
-			boolean connected = false;
-			// check whether a port of the reified connector is not yet
-			// connected.
-			for (Connector connector : connSubset) {
-				if (ConnectorUtil.connectsPort(connector, port)) {
-					connected = true;
-				}
-			}
-			if (!connected) {
-				// port is not connected yet. Check to find a connectable port
-				// among all ports of connected parts.
-				// In the moment, we assume the processes is stopped, as soon as
-				// the port is connected, i.e. we do not want to connect the port to
-				// potentially set of ports (todo: restriction always useful?)
-				for (Connector connector : connSubset) {
-					ConnectorEnd connEnd = ConnectorUtil.connEndNotPart(
-							connector, reifiedConnector);
-					Property otherPart = connEnd.getPartWithPort();
-					// this is a part which is connected with the reified
-					// connector check whether one of its ports is compatible with the
-					// non-connected port.
-					if (!(otherPart.getType() instanceof EncapsulatedClassifier)) {
-						continue;
-					}
-
-					for (Port otherPort : PortUtils.getAllPorts((EncapsulatedClassifier) otherPart.getType())) {
-						Log.log(IStatus.INFO, Log.TRAFO_CONNECTOR, String.format(
-								Messages.ConnectorReification_InfoPortTypes,
-								otherPort.getType().getQualifiedName(),
-								port.getType().getQualifiedName()));
-						if (otherPort.getType() == port.getType()) {
-							Connector newConnector = composite.createOwnedConnector("connector - container of " //$NON-NLS-1$
-									+ otherPart.getName());
-							ConnectorEnd end1 = newConnector.createEnd();
-							ConnectorEnd end2 = newConnector.createEnd();
-							end1.setPartWithPort(reifiedConnector);
-							end1.setRole(port);
-							end2.setPartWithPort(otherPart);
-							end2.setRole(otherPort);
-							connected = true;
-							break;
-						}
-					}
-					if (connected) {
-						break;
-					}
-				}
-				if (!connected) {
-					if (port.getType() == null) {
-						Activator.log.debug(
-								String.format(Messages.ConnectorReification_CouldNotConnectPort, port.getName()));
-					} else {
-						Activator.log.debug(
-								String.format(Messages.ConnectorReification_CouldNotConnectPortOfType, port.getName(), port.getType().getName()));
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Propagate node allocation into a reified connector (identified via its part)
-	 *
-	 * The allocation algorithm works as follows.
-	 * - get a connector (simple) originating from the passed part
-	 * - get the opposite end of this simple connector and identify the connected part
-	 * (other part, e.g. a part typed with an application component)
-	 * - obtain the nodes to which this other part is allocated:
-	 * - in case of a composite, connections are followed up to a monolithic component
-	 * - propagate the node allocation into the connector (propagation will finally
-	 * allocate leafs within a (composite) connector.
-	 *
-	 * @param composite
-	 *            the composite class (e.g. system) in which a connector is reified
-	 * @param compositeIS
-	 *            the associated instance specification
-	 * @param partSlot
-	 *            the slot associated with the part for which nodes are
-	 *            allocated.
-	 */
-	public static void propagateNodeAllocation(Class composite,
-			InstanceSpecification compositeIS, Slot partSlot) {
-		Property part = (Property) partSlot.getDefiningFeature();
-
-		// loop over connectors of composite that originate from passed part.
-		for (Connector connector : composite.getOwnedConnectors()) {
-			ConnectorEnd myEnd = ConnectorUtil.connEndForPart(connector, part);
-			if (myEnd == null) {
-				// the connector does not connect this part
-				continue;
-			}
-			ConnectorEnd otherEnd = ConnectorUtil.connEndNotPart(connector,
-					part);
-
-			Property otherPart = otherEnd.getPartWithPort();
-			Port otherPort = (Port) otherEnd.getRole();
-			// Property myPart = myEnd.getPartWithPort();
-			Port myPort = (Port) myEnd.getRole();
-
-			// find instance that is associated with other part.
-			for (Slot slot : compositeIS.getSlots()) {
-				if (slot.getDefiningFeature() == otherPart) {
-					InstanceSpecification containedInstance = DepUtils.getInstance(slot);
-					EList<InstanceSpecification> nodes = AllocUtils.getAllNodesForPort(containedInstance, otherPort);
-					AllocUtils.propagateNodesViaPort(
-							DepUtils.getInstance(partSlot), myPort, nodes);
-					break;
-				}
-			}
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/container/ContainerTrafo.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/container/ContainerTrafo.java
deleted file mode 100644
index dbf05c8..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/container/ContainerTrafo.java
+++ /dev/null
@@ -1,770 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations.container;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.papyrus.designer.components.FCM.BindTemplate;
-import org.eclipse.papyrus.designer.components.FCM.ContainerRule;
-import org.eclipse.papyrus.designer.components.FCM.ContainerRuleKind;
-import org.eclipse.papyrus.designer.components.FCM.InteractionComponent;
-import org.eclipse.papyrus.designer.components.FCM.InterceptionKind;
-import org.eclipse.papyrus.designer.components.FCM.InterceptionRule;
-import org.eclipse.papyrus.designer.components.FCM.Singleton;
-import org.eclipse.papyrus.designer.components.FCM.util.FCMUtil;
-import org.eclipse.papyrus.designer.components.FCM.util.MapUtil;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.PortUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.StUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.UMLTool;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepCreation;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.AbstractContainerTrafo;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TemplateInstantiation;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TemplateUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.RuleManagement;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationContext;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.connector.ConnectorReification;
-import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
-import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.uml.Association;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Connector;
-import org.eclipse.uml2.uml.ConnectorEnd;
-import org.eclipse.uml2.uml.EncapsulatedClassifier;
-import org.eclipse.uml2.uml.Feature;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Slot;
-import org.eclipse.uml2.uml.TemplateBinding;
-import org.eclipse.uml2.uml.TemplateParameter;
-import org.eclipse.uml2.uml.TemplateSignature;
-import org.eclipse.uml2.uml.Type;
-import org.eclipse.uml2.uml.UMLPackage;
-import org.eclipse.uml2.uml.ValueSpecification;
-import org.eclipse.uml2.uml.VisibilityKind;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * Make the container transformation, i.e. add elements into a container
- *
- */
-public class ContainerTrafo extends AbstractContainerTrafo {
-
-	public static final String executorPartName = "_executor"; //$NON-NLS-1$
-
-	public static final String interceptorName = "intercept "; //$NON-NLS-1$
-
-	public static final String containerPostfix = "_cc"; //$NON-NLS-1$
-
-	public static final String hwContainerPostfix = "_hwcc"; //$NON-NLS-1$
-
-	/**
-	 * Constructor
-	 *
-	 * @param copier
-	 *            copier from source to target model
-	 * @param tmCDP
-	 *            deployment plan within target model
-	 */
-	public ContainerTrafo(LazyCopier copier, Package tmCDP, InstanceSpecification executorIS) {
-		this.copier = copier;
-		this.tmCDP = tmCDP;
-		this.executorIS = executorIS;
-		portInfo = new HashMap<Property, Port>();
-	}
-
-	/**
-	 * creates the executor. Needs to be called *before* the other operations of
-	 * this class.
-	 *
-	 * @param tmComponent
-	 *            the implementation of a component
-	 *
-	 * @throws TransformationException
-	 */
-	@Override
-	public void createContainer(Class smComponent, Class tmComponent) throws TransformationException {
-		Package tmPkgOwner;
-		if (tmComponent.eResource() == tmCDP.eResource()) {
-			// tmComponent is in same model as tmContainer
-			tmPkgOwner = tmComponent.getNearestPackage();
-		}
-		else {
-			// tmComponent is not a member of the target model. This is the case, if tmComponent is
-			// in an imported model that has not been copied during the transformation towards an intermediate
-			// model.
-			tmPkgOwner = MapUtil.getAndCreate(PackageUtil.getRootPackage(tmCDP), tmComponent.allNamespaces(), true);
-		}
-		// create a container with the suitable postfix
-		tmContainerImpl = tmPkgOwner.createOwnedClass(tmComponent.getName() + containerPostfix, false);
-
-		// Apply singleton to container, if original class is a singleton
-		boolean isSingleton = StereotypeUtil.isApplied(smComponent, Singleton.class);
-		if (isSingleton) {
-			StereotypeUtil.apply(tmContainerImpl, Singleton.class);
-		}
-		LazyCopier.copyID(tmComponent, tmContainerImpl, containerPostfix);
-
-		// add part and slot corresponding to component;
-		executorPart = tmContainerImpl.createOwnedAttribute(executorPartName, tmComponent);
-		LazyCopier.copyID(tmComponent, executorPart, "e"); //$NON-NLS-1$
-
-		executorPart.setIsComposite(true);
-
-		// copy ports from the executor (tmComponent) to the container
-		// (tmContainerImpl)
-		// TODO: connectors still point to the ports of the executor, implying a non-well-formed
-		// model. Yet code generation works, as port names are identical
-		for (Port port : PortUtils.getAllPorts(tmComponent)) {
-			// copy port
-			if (port.getVisibility() == VisibilityKind.PUBLIC_LITERAL) {
-				Port newPort = EcoreUtil.copy(port); // don't use copier, since this is not a copier from source to target model
-				tmContainerImpl.getOwnedAttributes().add(newPort);
-				StUtils.copyStereotypes(port, newPort);
-
-				// create delegation for application port
-				Connector containerDelegation = tmContainerImpl.createOwnedConnector("delegation " + port.getName()); //$NON-NLS-1$
-				LazyCopier.copyID(tmContainerImpl, containerDelegation);
-				ConnectorEnd end1 = containerDelegation.createEnd();
-				end1.setRole(newPort);
-				ConnectorEnd end2 = containerDelegation.createEnd();
-				end2.setPartWithPort(executorPart);
-				end2.setRole(port);
-			}
-		}
-
-		// Inheritance issues:
-		// currently: container never copies inheritance relationships, but copies inherited ports into container
-		// Problem: polymorphism would stop working.
-		// Objective: use inheritance, if possible, but avoid that container inherits from an original non-abstract class (avoid duplication of attributes, ...)
-		// Option: container inherits from fully abstract super-classes (might have to consider indirect super-classes).
-		// All connectors and container extension remain within container (i.e. no inheritance of connectors and container extensions)
-		// Remaining problems: Imagine that component A inherits from component B and both have state-charts.
-		// => containers of A and B would define a state-Machine and an event pool.
-		// => No shared pool (but anyway: semantics of this construct is not very clear).
-		containers.put(tmComponent, this);
-	}
-
-	/**
-	 * Create a container for a HW class. This is an additional software class
-	 * within the system. There is no executor part, i.e. executorPart remains
-	 *
-	 * @param tmComponent
-	 *            the implementation of a component
-	 *
-	 * @throws TransformationException
-	 */
-	public void createHwContainer(Class tmComponent) throws TransformationException {
-		Package tmPkgOwner = (Package) tmComponent.getOwner();
-		tmContainerImpl = tmPkgOwner.createOwnedClass(tmComponent.getName() + hwContainerPostfix, false);
-		LazyCopier.copyID(tmComponent, tmContainerImpl, hwContainerPostfix);
-
-		// register created container
-		containers.put(tmComponent, this);
-	}
-
-	/**
-	 * Create an instance of the container (UML instance specification)
-	 *
-	 * @param tmComponent
-	 *            the component within the target model for which we want to create an instance
-	 *
-	 * @param tmIS
-	 *            the existing instance specification for the component before container expansion. This
-	 *            instance specification becomes the new instance specification of the executor.
-	 * @param context
-	 *            Additional information about the container that is used by instance configurators
-	 */
-	@Override
-	public InstanceSpecification createContainerInstance(Class tmComponent, InstanceSpecification tmIS) throws TransformationException {
-		// create an instance specification for the container
-		InstanceSpecification containerIS =
-				(InstanceSpecification) tmCDP.createPackagedElement(tmIS.getName(), UMLPackage.eINSTANCE.getInstanceSpecification());
-		// assign new name to original instance specification which reflects
-		// role within containment hierarchy
-		tmIS.setName(tmIS.getName() + "." + executorPartName); //$NON-NLS-1$
-		containerIS.getClassifiers().add(tmContainerImpl);
-		// existing instance specification (tmIS) is the executor instance specification
-		DepCreation.createSlot(containerIS, tmIS, executorPart);
-		counter = 0;
-		// containers.put(tmComponent, this);
-		EList<Slot> connectorSlots = new BasicEList<Slot>();
-
-		executorIS = tmIS;
-		// now create instances for the contained elements
-		for (Property extensionPart : tmContainerImpl.getAttributes()) {
-			Type tmContainerExtImpl = extensionPart.getType();
-			if (tmContainerExtImpl instanceof Class) {
-				if (DepUtils.getSlot(containerIS, extensionPart) == null) {
-					// no slot for part exists => assume that the part has been added by the container and create an instance specification for it.
-					InstanceSpecification containerExtIS = null;
-
-					String isName = containerIS.getName() + "." + extensionPart.getName(); //$NON-NLS-1$
-
-					// create sub-instance and slot for extensions
-					if (containerExtIS == null) {
-						containerExtIS = DepCreation.createDepPlan(tmCDP, (Class) tmContainerExtImpl, isName, false);
-					}
-					Slot partSlot = DepCreation.createSlot(containerIS, containerExtIS, extensionPart);
-					if (StereotypeUtil.isApplied(tmContainerExtImpl, InteractionComponent.class)) {
-						connectorSlots.add(partSlot);
-					}
-				}
-			}
-		}
-
-		// handle propagation of node allocation for connectors. Do that in 2nd loop, since the allocation
-		// of parts might be incomplete before.
-		for (Slot connectorSlot : connectorSlots) {
-			ConnectorReification.propagateNodeAllocation(tmContainerImpl, containerIS, connectorSlot);
-		}
-		moveSlots(executorIS);
-		return containerIS;
-	}
-
-	/**
-	 * Create an instance of the container (UML instance specification)
-	 *
-	 * @param tmComponent
-	 * @param tmIS
-	 */
-	public InstanceSpecification createHwContainerInstance(Class tmComponent, InstanceSpecification tmNode) {
-		// create an instance specification for the container
-		InstanceSpecification containerIS =
-				(InstanceSpecification) tmCDP.createPackagedElement(tmNode.getName() + hwContainerPostfix, UMLPackage.eINSTANCE.getInstanceSpecification());
-		// assign new name to original instance specification which reflects
-		// role within containment hierarchy
-		containerIS.getClassifiers().add(tmContainerImpl);
-		// containers.put(tmComponent, this);
-		counter = 0;
-		executorIS = tmNode;
-		// copy slots from HW instance specification
-		for (Slot slot : tmNode.getSlots()) {
-			Slot slotCopy = containerIS.createSlot();
-			slotCopy.setDefiningFeature(slot.getDefiningFeature());
-			// copy values (use CopyTo.copyTo(slot, containerIS) instead?)
-			for (ValueSpecification value : slot.getValues()) {
-				LazyCopier.copyValue(value, slotCopy);
-			}
-		}
-		return containerIS;
-	}
-
-	/**
-	 * return the reference of the created container class
-	 *
-	 * @return
-	 */
-	public Class getContainer() {
-		return tmContainerImpl;
-	}
-
-	/**
-	 * apply a container rule, i.e. add either a container extension or an
-	 * interceptor to the container
-	 *
-	 * @param smContainerRule
-	 *            An container rule
-	 * @param smComponent
-	 *            the application component in the source model
-	 * @param tmComponent
-	 *            the application component in the target model
-	 * @param tmIS
-	 *            the instance specification for the application component in the target model
-	 * @throws TransformationException
-	 */
-	@Override
-	public void applyRule(ContainerRule smContainerRule, Class smComponent, Class tmComponent)
-			throws TransformationException
-	{
-		Map<Property, EList<Property>> interceptorPartsMap = new HashMap<Property, EList<Property>>();
-
-		for (Property part : smContainerRule.getBase_Class().getAllAttributes()) {
-			Type type = part.getType();
-			if (type == null) {
-				String ruleName = (smContainerRule.getBase_Class() != null) ? smContainerRule.getBase_Class().getName() : "undefined"; //$NON-NLS-1$
-				throw new TransformationException(String.format(
-						Messages.ContainerTrafo_CannotApplyRule, ruleName));
-			}
-			if (part instanceof Port) {
-				Port newPort = tmContainerImpl.createOwnedPort(part.getName(), part.getType());
-				StUtils.copyStereotypes(part, newPort);
-			}
-			else if (type instanceof Class) {
-				Class extOrInterceptor = (Class) type;
-				// DepUtils.chooseImplementation((Class) type,
-				// new BasicEList<InstanceSpecification>(), false);
-
-				if (StereotypeUtil.isApplied(part, InterceptionRule.class)) {
-					if (StereotypeUtil.isApplied(extOrInterceptor, InteractionComponent.class)) {
-
-						InterceptionRule interceptionRule = UMLUtil.getStereotypeApplication(part, InterceptionRule.class);
-						InterceptionKind interceptionKind = interceptionRule.getInterceptionKind();
-						EList<Feature> interceptFeatures = interceptionRule.getInterceptionSet();
-						EList<Property> interceptorParts =
-								expandInterceptorExtension(interceptionKind, interceptFeatures, extOrInterceptor, tmComponent);
-						interceptorPartsMap.put(part, interceptorParts);
-					}
-					else {
-						throw new TransformationException(String.format(
-								Messages.ContainerTrafo_InterceptionRuleButNoInterceptor,
-								part.getName(), smContainerRule.getBase_Class().getName()));
-					}
-				}
-				else {
-					Property extensionPart =
-							expandAggregationExtension(part, extOrInterceptor, tmComponent);
-					// register relation to facilitate connector copy
-					copier.setPackageTemplate(smContainerRule.getBase_Class(), tmContainerImpl);
-					copier.putPair(part, extensionPart);
-					copier.setPackageTemplate(null, null);
-				}
-			}
-		}
-		createConnectorForAssociations();
-
-		// tell copier that tmcontainerImpl is associated with the smContainerRule
-		// register a package template (although it is not a template) to assure that the connectors
-		// get copied, although they are in a different resource (only the connectors are copied, not
-		// the types of the referenced parts).
-		// [main issue here: properties of container rule are not copies in the sense of identical
-		// copies]
-		copier.setPackageTemplate(smContainerRule.getBase_Class(), tmContainerImpl);
-
-		for (Connector connector : smContainerRule.getBase_Class().getOwnedConnectors()) {
-			Property ruleInterceptorPart = null;
-			for (Property part : interceptorPartsMap.keySet()) {
-				if (ConnectorUtil.connectsPart(connector, part)) {
-					// this connector is a connection between an interceptor (and another part which may not
-					// be an interceptor => TODO: validation rule yet to write
-					// we need to copy this connector multiple times, once for each associated interceptor part
-					ruleInterceptorPart = part;
-					break;
-				}
-			}
-			if (ruleInterceptorPart != null) {
-				for (Property interceptorPart : interceptorPartsMap.get(ruleInterceptorPart)) {
-					// map an interceptor part within rule successively to to an interceptor part
-					// within the container
-					copier.putPair(ruleInterceptorPart, interceptorPart);
-					copier.removeForCopy(connector);
-					copier.getCopy(connector);
-				}
-			}
-			else {
-				// check whether FCM connector
-				org.eclipse.papyrus.designer.components.FCM.Connector fcmConn = StUtils.getConnector(connector);
-				if (fcmConn != null) {
-					ConnectorReification.reifyConnector(copier, tmContainerImpl,
-							UMLTool.varName(connector), connector, executorIS);
-				}
-				else {
-					copier.remove(connector);
-					copier.getCopy(connector);
-				}
-			}
-		}
-		copier.setPackageTemplate(null, null);
-
-		TemplateUtils.retargetConnectors(tmContainerImpl);
-	}
-
-	/**
-	 * This container expansion does not create a new composite. Instead, it
-	 * adds the extension as a part to the copied application component. The
-	 * application component also inherits from the type of the container
-	 * extension in order to avoid copying ports.
-	 */
-	Property expandAggregationExtension(Property smExtensionPart, Class smContainerExtImpl, Class tmComponent) throws TransformationException {
-		Property extensionPart;
-		String name = smExtensionPart.getName();
-		Class tmContainerExtImpl = null;
-
-		TemplateSignature signature = TemplateUtils.getSignature(smContainerExtImpl);
-		if (signature == null) {
-			// no template signature, just copy the container extension into the target model
-			tmContainerExtImpl = copier.getCopy(smContainerExtImpl);
-		}
-		else {
-			// template signature found, instantiate container extension via template binding mechanism
-			Classifier actual;
-			if (StereotypeUtil.isApplied(smExtensionPart, BindTemplate.class)) {
-				BindTemplate bt = UMLUtil.getStereotypeApplication(smExtensionPart, BindTemplate.class);
-				// use explicit binding from stereotype
-				actual = (Classifier) bt.getActual().get(0);
-			}
-			else {
-				// use executor component as actual
-				actual = tmComponent;
-			}
-			// template signature and instantiate container extension via the
-			// template binding mechanism, use executor component as actual
-			TemplateBinding binding = TemplateUtils.fixedBinding(copier.target, smContainerExtImpl, actual);
-			TemplateInstantiation ti = new TemplateInstantiation(copier, binding);
-			tmContainerExtImpl = ti.bindElement(smContainerExtImpl);
-		}
-
-		// --------------------------------------------------
-		// a container extension could be subject to container rules as well, i.e. need
-		// to handle recursive rule application.
-		EList<ContainerRule> rules = FCMUtil.getAllContainerRules(smContainerExtImpl);
-
-		// get container trafo instance, if already existing
-		AbstractContainerTrafo containerTrafo = AbstractContainerTrafo.get(tmContainerExtImpl);
-
-		if (containerTrafo == null) {
-			// no container exists, check rules and create eventually
-			for (ContainerRule rule : rules) {
-				if (RuleManagement.isRuleActive(rule)) {
-					// at least one active rule => create container (or get previously instantiated))
-					if (containerTrafo == null) {
-						if (rule.getKind() == ContainerRuleKind.LIGHT_WEIGHT_OO_RULE) {
-							throw new TransformationException(Messages.ContainerTrafo_RecursiveLWnotSupported);
-						}
-						else {
-							containerTrafo = new ContainerTrafo(copier, tmCDP, null);
-						}
-						containerTrafo.createContainer(smContainerExtImpl, tmContainerExtImpl);
-					}
-					else {
-						// configure only??
-					}
-					containerTrafo.applyRule(rule, smContainerExtImpl, tmContainerExtImpl);
-				}
-			}
-			if (containerTrafo != null) {
-				containerTrafo.finalize();
-				tmContainerExtImpl = ((ContainerTrafo) containerTrafo).getContainer();
-			}
-		}
-		// --------------------------------------------------
-
-		// add part associated with the extension to the container
-		extensionPart = tmContainerImpl.createOwnedAttribute(name, tmContainerExtImpl);
-
-		// Copy.copyID(tmComponent, extensionPart, "a");
-		extensionPart.setAggregation(smExtensionPart.getAggregation());
-		LazyCopier.copyMultElemModifiers(smExtensionPart, extensionPart);
-		LazyCopier.copyFeatureModifiers(smExtensionPart, extensionPart);
-
-		return extensionPart;
-	}
-
-	/**
-	 * Expand an interceptor definition between the container and the executor.
-	 *
-	 * @param extKind
-	 *            the interception kind (intercept which ports: all, some, out, ...)
-	 * @param featureList
-	 *            The set of ports to intercept (In case of "some" above)
-	 * @param smContainerConnImpl
-	 *            The connector (interceptor) implementation in the source model
-	 * @param tmComponent
-	 *            the application component (executor) in the target model
-	 * @return
-	 * @throws TransformationException
-	 */
-	EList<Property> expandInterceptorExtension(InterceptionKind extKind, EList<Feature> featureList, Class smContainerConnImpl, Class tmComponent)
-			throws TransformationException
-	{
-		EList<Property> connectorParts = new BasicEList<Property>();
-		// replace delegation connectors with extension connector
-		for (Port port : PortUtils.getAllPorts(tmComponent)) {
-			// delegate to component via connector
-			boolean match = true;
-			if (extKind == InterceptionKind.INTERCEPT_ALL_IN) {
-				// IN-PORT = provided port
-				match = (PortUtils.getProvided(port) != null);
-			}
-			else if (extKind == InterceptionKind.INTERCEPT_ALL_OUT) {
-				// IN-PORT = provided port
-				match = (PortUtils.getRequired(port) != null);
-			}
-			else if (extKind == InterceptionKind.INTERCEPT_SOME) {
-				// comparison based on name, since in different models
-				match = (Utils.getNamedElementFromList(featureList, port.getName()) != null);
-			}
-			else if (extKind == InterceptionKind.INTERCEPT_MATCHING) {
-				EList<Port> interceptorPorts = PortUtils.getAllPorts(smContainerConnImpl);
-				match = false;
-				// get first port from interception connector that is typed with a template parameter
-				for (Port interceptorPort : interceptorPorts) {
-					if (interceptorPort.getType().getOwner() instanceof TemplateParameter) {
-						match = (PortUtils.getKind(port) == PortUtils.getKind(interceptorPort));
-						break;
-					}
-				}
-			}
-
-			// else INTERCEPT_ALL_PORT => match remains true
-			if (!match) {
-				// port does not match criterion, continue with next port
-				continue;
-			}
-
-			Property connectorPart;
-			String interceptionName = interceptorName + port.getName() + counter;
-			Connector interceptionConnector = null;
-			// get delegation connector
-			for (Connector connector : tmContainerImpl.getOwnedConnectors()) {
-				if (ConnectorUtil.connectsPort(connector, port)) {
-					interceptionConnector = connector;
-					break;
-				}
-			}
-			// interceptionConnector = tmContainerImpl.getOwnedConnector
-			// ("delegation " + port.getName ());
-			if (interceptionConnector == null) {
-				throw new TransformationException(Messages.ContainerTrafo_CannotFindDelegationConn);
-			}
-
-			interceptionConnector.setName(interceptionName);
-			org.eclipse.papyrus.designer.components.FCM.Connector fcmConn = StereotypeUtil.applyApp(interceptionConnector, org.eclipse.papyrus.designer.components.FCM.Connector.class);
-			InteractionComponent fcmConnType = UMLUtil.getStereotypeApplication(smContainerConnImpl, InteractionComponent.class);
-			fcmConn.setIc(fcmConnType);
-
-			// pass target component and port to interceptor (not clean, define
-			// suitable template signature as for instance in methodCall_comp
-			TransformationContext.instance = executorIS;
-			TransformationContext.port = port;
-			connectorPart = ConnectorReification.reifyConnector(copier, tmContainerImpl, UMLTool.varName(interceptionConnector), interceptionConnector, executorIS);
-			connectorParts.add(connectorPart);
-			TransformationContext.port = null;
-			portInfo.put(connectorPart, port);
-			// delete intermediate connector (has been replaced by two
-			// connections to the reified connector)
-			interceptionConnector.destroy();
-		}
-		counter++;
-		return connectorParts;
-	}
-
-	/**
-	 * Move a slot from the executor instance specification to an instance
-	 * specification of an extension/interceptor. This is required, since
-	 * users cannot configure containers directly. The modification is done in
-	 * the target model, i.e. the user model is not affected.
-	 *
-	 * Configuration is based on the idea that we can have multiple classifiers for an
-	 * instance specification and that we add additional slots for attributes of the 2nd
-	 * classifier which becomes "visible" after container transformation.
-	 * Main use: configure priority of thread within container.
-	 *
-	 * TODO: Not clear, whether we should keep this operation, since configuration of elements that are not
-	 * (directly) part of the user model is confusing. Application was: configuration
-	 * of thread priorities within container.
-	 */
-	public void moveSlots(InstanceSpecification containerIS) {
-		// Log.log(Status.INFO, Log.TRAFO_CONTAINER, String.format(Messages.ContainerTrafo_InfoMoveSlots, executorIS.getQualifiedName()));
-		Classifier mainCl = DepUtils.getClassifier(executorIS);
-		Iterator<Slot> slotIt = executorIS.getSlots().iterator();
-		while (slotIt.hasNext()) {
-			Slot slot = slotIt.next();
-			String featureName = slot.getDefiningFeature().getName();
-			if (!mainCl.getAllAttributes().contains(slot.getDefiningFeature())) {
-				// defining feature does not belong to main classifier
-				// => move it to first matching instance specification
-				for (InstanceSpecification is : DepUtils.getContainedInstances(containerIS)) {
-					Classifier containedCl = DepUtils.getClassifier(is);
-					if (Utils.getNamedElementFromList(containedCl.getAllAttributes(), featureName) != null) {
-						if (executorIS != is) {
-							// remove slot first from iterator, as addition below removes it from the list (slots are owned)
-							slotIt.remove();
-							is.getSlots().add(slot);
-							break;
-						}
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Create an connector for parts that have an association. The rationale
-	 * behind this is support connections between the state machine in the container
-	 * and the executor.
-	 *
-	 */
-	public void createConnectorForAssociations() {
-		// TODO: keep list of added parts, only re-check those!
-
-		for (Property part : Utils.getParts(tmContainerImpl)) {
-			if (part.getType() == null) {
-				continue;
-			}
-			for (Association association : part.getType().getAssociations()) {
-				// Part has an association. Check if the other association end
-				// targets one of
-				// other parts within the container
-				for (Property end : association.getMemberEnds()) {
-					Type type = end.getType();
-					if ((type != null) && (type != part.getType())) {
-						// end is not typed with the part we are currently
-						// examining
-						// thus, it might belong to another part of the
-						// composite
-						for (Property checkPart : Utils.getParts(tmContainerImpl)) {
-							if (type == checkPart.getType()) {
-								// found an association between two parts of the
-								// container => create connection,
-								// unless already existing.
-								if (!ConnectorUtil.existsConnector(tmContainerImpl, part, checkPart)) {
-									Connector conn = tmContainerImpl.createOwnedConnector(part.getName() + "_" + checkPart.getName()); //$NON-NLS-1$
-									conn.setType(association);
-									conn.createEnd().setRole(part);
-									conn.createEnd().setRole(checkPart);
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-
-	@Override
-	public void finalize() {
-		discoverServices();
-	}
-
-	/**
-	 * Connector ports of executor with compatible ports offered by container extensions
-	 * (runtime system)
-	 */
-	public void discoverServices() {
-		Type executorType = executorPart.getType();
-		if (!(executorType instanceof EncapsulatedClassifier)) {
-			return;
-		}
-		EncapsulatedClassifier ec = (EncapsulatedClassifier) executorType;
-		for (Port executorPort : ec.getOwnedPorts()) {
-			for (Property svcPart : tmContainerImpl.getOwnedAttributes()) {
-				if (svcPart == executorPart) {
-					continue;
-				}
-				Type containerSvcType = svcPart.getType();
-				if (containerSvcType instanceof EncapsulatedClassifier) {
-					EncapsulatedClassifier containerSvc = (EncapsulatedClassifier) containerSvcType;
-					for (Port svcPort : containerSvc.getOwnedPorts()) {
-						if (PortUtils.matches(executorPort, svcPort, true)) {
-							// create connector
-							Connector c = tmContainerImpl.createOwnedConnector(
-									String.format("auto from %s to %s", executorPart.getName(), svcPart.getName())); //$NON-NLS-1$
-							ConnectorEnd ce1 = c.createEnd();
-							ConnectorEnd ce2 = c.createEnd();
-							ce1.setPartWithPort(executorPart);
-							ce1.setRole(executorPort);
-							ce2.setPartWithPort(svcPart);
-							ce2.setRole(svcPort);
-						}
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Return the containerTrafo associated with a container. This operation is useful for instance
-	 * configurators that need more information about the container context, in particular to associate
-	 * a part with a port that is intercepted.
-	 *
-	 * @param containerInstance
-	 *            the container instance (the parent instance of an instance of a container extension)ight be a container instance)
-	 * @return the containerTrafo info, if found.
-	 */
-	public static ContainerTrafo getContainerTrafo(InstanceSpecification containerInstance) {
-		Classifier containerCandidate = DepUtils.getClassifier(containerInstance);
-		Property executorPart = containerCandidate.getAttribute(executorPartName, null);
-		if ((executorPart != null) && executorPart.getType() instanceof Class) {
-			AbstractContainerTrafo containerTrafo = AbstractContainerTrafo.get((Class) executorPart.getType());
-			if (containerTrafo instanceof ContainerTrafo) {
-				return (ContainerTrafo) containerTrafo;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Utility function to retrieve the executor slot, when given the container instance.
-	 * Needs to be called, after a container instance has been created.
-	 *
-	 * @param containerInstance
-	 *            the instance of a container specification
-	 * @return the associated executor slot, or null, if it cannot be found
-	 */
-	public static Slot getExecutorSlot(InstanceSpecification containerInstance) {
-		for (Slot slot : containerInstance.getSlots()) {
-			if (slot.getDefiningFeature().getName().equals(ContainerTrafo.executorPartName)) {
-				return slot;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Return the port that is intercepted when given a part
-	 *
-	 * @param containerPart
-	 *            a part that participates in a port interception
-	 * @return intercepted port
-	 */
-	public Port getInterceptedPort(Property containerPart) {
-		return portInfo.get(containerPart);
-	}
-
-	/**
-	 * The attribute within the container that holds the executor, i.e. the
-	 * original component
-	 */
-	protected Property executorPart;
-
-	/**
-	 * An instance specification of the executor in the target model (todo: should be source model instead?), i.e.
-	 * of the component before container expansion
-	 */
-	protected InstanceSpecification executorIS;
-
-	/**
-	 * The created container implementation (prefixed with tm, since part of
-	 * target model)
-	 */
-	protected Class tmContainerImpl;
-
-	/**
-	 * A counter which is used to manage unique names for interceptors (if
-	 * multiple interceptors are applied)
-	 */
-	protected int counter;
-
-	/**
-	 * Store information about intercepted port. The map contains a mapping from the part representing
-	 * a reified connector to the port that was intercepted. It is stored, since it might be used by instance
-	 * configurators that configure the container instance.
-	 */
-	protected Map<Property, Port> portInfo;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/container/CustomTrafoDelegate.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/container/CustomTrafoDelegate.java
deleted file mode 100644
index 51eca43..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/container/CustomTrafoDelegate.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.transformation.core.transformations.container;
-
-import org.eclipse.papyrus.designer.components.FCM.ContainerRule;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.AbstractContainerTrafo;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.CustomTrafo;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Package;
-
-public class CustomTrafoDelegate extends AbstractContainerTrafo {
-
-	/**
-	 * Constructor
-	 *
-	 * @param copier
-	 *        copier from source to target model
-	 * @param tmCDP
-	 *        deployment plan within target model
-	 */
-	public CustomTrafoDelegate(LazyCopier copier, Package tmCDP, String transformationID) {
-		this.copier = copier;
-		this.tmCDP = tmCDP;
-		customTrafo = CustomTrafo.getCustomTrafo(transformationID);
-		customTrafo.initialize(copier, tmCDP);
-	}
-	
-	@Override
-	public void createContainer(Class smClass, Class tmClass) throws TransformationException {
-		customTrafo.createContainer(smClass, tmClass);
-	}
-
-	@Override
-	public InstanceSpecification createContainerInstance(Class tmComponent, InstanceSpecification tmExecutorIS) throws TransformationException {
-		return customTrafo.createContainerInstance(tmComponent, tmExecutorIS);
-	}
-
-	@Override
-	public void applyRule(ContainerRule smContainerRule, Class smComponent, Class tmComponent) throws TransformationException {
-		customTrafo.applyRule(smContainerRule, smComponent, tmComponent);
-	}
-	
-	Class smClass;
-	Class tmClass;
-	
-	AbstractContainerTrafo customTrafo;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/container/LWContainerTrafo.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/container/LWContainerTrafo.java
deleted file mode 100644
index 4342624..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/container/LWContainerTrafo.java
+++ /dev/null
@@ -1,451 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations.container;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.papyrus.designer.components.FCM.ContainerRule;
-import org.eclipse.papyrus.designer.components.FCM.InterceptionRule;
-import org.eclipse.papyrus.designer.components.FCM.Template;
-import org.eclipse.papyrus.designer.components.transformation.core.Messages;
-import org.eclipse.papyrus.designer.components.transformation.core.StUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepCreation;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.AbstractContainerTrafo;
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.InstanceConfigurator;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TemplateInstantiation;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TemplateUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TextTemplateBinding;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier.CopyStatus;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationContext;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.uml.Behavior;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Dependency;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Interface;
-import org.eclipse.uml2.uml.InterfaceRealization;
-import org.eclipse.uml2.uml.OpaqueBehavior;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.Port;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.TemplateBinding;
-import org.eclipse.uml2.uml.TemplateSignature;
-import org.eclipse.uml2.uml.Type;
-import org.eclipse.uml2.uml.UMLPackage;
-import org.eclipse.uml2.uml.profile.standard.Create;
-import org.eclipse.uml2.uml.profile.standard.Destroy;
-
-/**
- * A light-weight container transformation. Unlike the standard component-based transformation, this transformation does not add a new class.
- * It is target for standard object-oriented architecture, enabling in particular to intercept the methods of a class (instead of
- * adding interceptors to ports).
- *
- */
-public class LWContainerTrafo extends AbstractContainerTrafo {
-
-	private static final String XTEND_CPP_UTILS_CPP_CALL = "!xtend CppUtils.cppCall"; //$NON-NLS-1$
-
-	public final String origOpPrefix = "orig_"; //$NON-NLS-1$
-
-	/**
-	 * Constructor
-	 *
-	 * @param copier
-	 *            copier from source to target model
-	 * @param tmCDP
-	 *            deployment plan within target model
-	 */
-	public LWContainerTrafo(LazyCopier copier, Package tmCDP) {
-		this.copier = copier;
-		this.tmCDP = tmCDP;
-		interceptionOpMap = new HashMap<Operation, Operation>();
-	}
-
-	/**
-	 * creates the executor. Needs to be called *before* the other operations of
-	 * this class.
-	 *
-	 * @param tmComponent
-	 *            the implementation of a component
-	 *
-	 * @throws TransformationException
-	 */
-	@Override
-	public void createContainer(Class smClass, Class tmClass) throws TransformationException {
-		// for non-components: create a delegation operation for all operations that are provided by a class (excluding those derived by ports)
-		// Calls on model level use CallOperationAction, will point to existing operation, unless changed.
-		// If deployed dynamically (no static component deployment), need to change factories as well.
-		// Pragmatic: rename/add existing operations (as Accord has done), do some renaming and clever model handling (assure
-		// that code referencing classes via name automatically uses the new class.
-		// => container with name of existing class, rename existing class.
-		// possible: move operations into container, existing class gets copied (with updated behaviors)
-
-		// requirements:
-		// - existing creation operations create container (separation activity CreateAction: needs to change.)
-		// trivially in this case case, since container is no separate entity.
-		// - => references could be exchanged during copier operation with a suitable copyFilter (=> container transfo becomes a copier filter)
-		// [in case of ports: quite difficult to handle: if port belongs to abstract components, it may be inherited by multiple components that
-		// might or might-not have a container => only some references need to be changed]
-		// => clarify, how container handles super-classes, i.e. if it inherits ports as well (from a container of the abstract component) or not (not trivial at all!)
-		// TODO: don't copier derived operations
-		this.smClass = smClass;
-		this.tmClass = tmClass;
-		// create a copy of all operations
-		operations = new BasicEList<Operation>(smClass.getOperations());
-	}
-
-	/**
-	 * original operation => operation gets interception prefix
-	 *
-	 * Objectives: existing call operations call interception operation. Existing operations include CallOperationActions as well as calls within
-	 * opaque behavior
-	 * This is assured by keeping same model reference for the operation, but associating a new interception behavior, existing behavior will be
-	 * associated
-	 * with a new renamed operation
-	 *
-	 * @param operation
-	 */
-	protected Operation createInterceptionOperation(Operation operation) throws TransformationException {
-		// create copy of operation
-		Operation copiedOperation = EcoreUtil.copy(operation);
-		tmClass.getOwnedOperations().add(copiedOperation);
-		StUtils.copyStereotypes(operation, copiedOperation);
-
-		copiedOperation.setName(origOpPrefix + operation.getName());
-
-		// create interception code
-		OpaqueBehavior b = (OpaqueBehavior) tmClass.createOwnedBehavior(operation.getName(), UMLPackage.eINSTANCE.getOpaqueBehavior());
-		// TODO: solution is specific to C++ (and creates implicit dependency to modellibs.core which defines the C++ utils class)
-		String body = TextTemplateBinding.bind(XTEND_CPP_UTILS_CPP_CALL, copiedOperation);
-		body += ";";
-		b.getLanguages().add("C/C++"); //$NON-NLS-1$
-		b.getBodies().add(body);
-		// copy existing methods into new operation, copy method list,
-		// since adding the method to copied operation will remove these from original operation)
-		EList<Behavior> methods = new BasicEList<Behavior>(operation.getMethods());
-		for (Behavior behavior : methods) {
-			copiedOperation.getMethods().add(behavior);
-		}
-		// new behavior is associated with existing call.
-		b.setSpecification(operation);
-		return copiedOperation;
-	}
-
-	/**
-	 * return the reference of the created container class
-	 *
-	 * @return
-	 */
-	public Class getContainer() {
-		return tmClass;
-	}
-
-	/**
-	 * apply a container rule, i.e. add either a container extension or an
-	 * interceptor to the container.
-	 *
-	 * @param smContainerRule
-	 *            A container rule
-	 * @param smComponent
-	 *            the application component in the source model
-	 * @param tmComponent
-	 *            the application component in the target model
-	 * @param tmIS
-	 *            the instance specification for the application component in the target model
-	 * @throws TransformationException
-	 */
-	@Override
-	public void applyRule(ContainerRule smContainerRule, Class smComponent, Class tmComponent)
-			throws TransformationException {
-		// dependencies of the rule become dependencies of the class that applies this rule.
-		for (Dependency dependency : smContainerRule.getBase_Class().getClientDependencies()) {
-			//
-			for (Element target : dependency.getTargets()) {
-				// target may, or may not be in a template
-				if (target instanceof Class) {
-					Class targetCl = (Class) target;
-					Class extClass = expandAggregationDep(targetCl, smComponent);
-					tmComponent.createDependency(extClass);
-				}
-				else if (target instanceof Interface) {
-					Interface targetIntf = (Interface) target;
-					if (dependency instanceof InterfaceRealization) {
-						tmComponent.createInterfaceRealization(((InterfaceRealization) dependency).getName(), copier.getCopy(targetIntf));
-					}
-				}
-				// TODO: handle additional dependencies, better use generic copier?
-			}
-		}
-
-		boolean hasConstructor = isOperationStereotypeApplied(Create.class);
-		boolean hasDestructor = isOperationStereotypeApplied(Destroy.class);
-
-		// register relation to facilitate attribute copy
-		copier.setPackageTemplate(smContainerRule.getBase_Class(), tmClass);
-		// reset status to in-progress. Otherwise, the copier will not properly add new
-		// elements.
-		copier.setStatus(tmClass, CopyStatus.INPROGRESS);
-
-		for (Operation templateOperation : smContainerRule.getBase_Class().getOperations()) {
-			// Need a specific treatment of Constructor/destructor: if original class has a
-			// constructor, must add to all constructors, if it has none, copy constructor
-			boolean templateIsConstructor = StereotypeUtil.isApplied(templateOperation, Create.class);
-			boolean templateIsDestructor = StereotypeUtil.isApplied(templateOperation, Destroy.class);
-
-			boolean needsMerge = (templateIsConstructor && hasConstructor) || (templateIsDestructor && hasDestructor);
-			if (needsMerge || StereotypeUtil.isApplied(templateOperation, InterceptionRule.class)) {
-				// operation is an interceptor: add its content to the methods of the
-				// original class
-
-				// reset package template. Make sure not to use template map, otherwise methods of original class might be duplicated
-				copier.setPackageTemplate(null, null);
-				expandInterceptorExtension(smContainerRule, templateOperation);
-			}
-			else {
-				copier.setPackageTemplate(smContainerRule.getBase_Class(), tmClass);
-				// normal operation. Copy from container to class
-				Operation newOperation = copier.getCopy(templateOperation);
-				if (StereotypeUtil.isApplied(templateOperation, Template.class)) {
-					String opBody = getBody(templateOperation);
-					// operation is not an interceptor, assume binding with class itself
-					TransformationContext.classifier = tmClass;
-					opBody = TextTemplateBinding.bind(opBody, tmClass, null);
-					setBody(newOperation, opBody);
-				}
-				if (templateIsConstructor) {
-					newOperation.setName(tmClass.getName());
-				}
-				else if (templateIsConstructor) {
-					newOperation.setName("~" + tmClass.getName());
-				}
-			}
-		}
-
-		copier.setPackageTemplate(smContainerRule.getBase_Class(), tmClass);
-
-		for (Property part : smContainerRule.getBase_Class().getAllAttributes()) {
-			Type type = part.getType();
-			if (type == null) {
-				String ruleName = (smContainerRule.getBase_Class() != null) ? smContainerRule.getBase_Class().getName() : "undefined"; //$NON-NLS-1$
-				throw new TransformationException(String.format(Messages.LWContainerTrafo_CannotApplyRule, ruleName));
-			}
-			if (part instanceof Port) {
-				Port newPort = tmClass.createOwnedPort(part.getName(), part.getType());
-				StUtils.copyStereotypes(part, newPort);
-			}
-			else if (type instanceof Class) {
-				Class extOrInterceptor = (Class) type;
-				// DepUtils.chooseImplementation((Class) type,
-				// new BasicEList<InstanceSpecification>(), false);
-				if (StereotypeUtil.isApplied(part, InterceptionRule.class)) {
-					// port.filter
-					//
-				}
-				else {
-					Property extensionPart = expandAggregationExtension(part.getName(), extOrInterceptor, tmComponent);
-					copier.put(part, extensionPart);
-					copier.setPackageTemplate(null, null);
-				}
-			}
-			else {
-				Property newAttribute = EcoreUtil.copy(part);
-				tmClass.getOwnedAttributes().add(newAttribute);
-			}
-		}
-		// tell copier that tmcontainerImpl is associated with the smContainerRule
-		// register a package template (although it is not a template) to assure that the connectors
-		// get copied, although they are in a different resource (only the connectors are copied, not
-		// the types of the referenced parts).
-		// [main issue here: properties of container rule are not copies in the sense of identical
-		// copies]
-
-		// copier.setPackageTemplate(smContainerRule.getBase_Class(), tmClass);
-		// copier.setPackageTemplate(null, null);
-	}
-
-	protected boolean isOperationStereotypeApplied(java.lang.Class<? extends EObject> stereotype) {
-		for (Operation op : tmClass.getOwnedOperations()) {
-			if (StereotypeUtil.isApplied(op, stereotype)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * This container expansion does not create a new composite. Instead, it
-	 * adds the extension as a part to the copied application component. The
-	 * application component also inherits from the type of the container
-	 * extension in order to avoid copying ports.
-	 */
-	Property expandAggregationExtension(String name, Class smContainerExtImpl, Class tmComponent) throws TransformationException {
-		Class tmContainerExtImpl = expandAggregationDep(smContainerExtImpl, tmComponent);
-
-		// add part associated with the extension to the container
-		Property extensionPart = tmClass.createOwnedAttribute(name, tmContainerExtImpl);
-
-		// problem: would not be unique in case of multiple extensions
-		// Copy.copyID(tmComponent, extensionPart, "a");
-		extensionPart.setIsComposite(true);
-		return extensionPart;
-	}
-
-	Class expandAggregationDep(Class smContainerExtImpl, Class tmComponent) throws TransformationException {
-		Class tmContainerExtImpl = null;
-		TemplateSignature signature = TemplateUtils.getSignature(smContainerExtImpl);
-		if (signature == null) {
-			// no template signature, just copy the container extension into the target model
-			tmContainerExtImpl = copier.getCopy(smContainerExtImpl);
-		}
-		else {
-			// template signature found, instantiate container extension via the
-			// template binding mechanism
-			TemplateBinding binding = TemplateUtils.fixedBinding(copier.target, smContainerExtImpl, tmComponent);
-			Object[] args = new Object[] {};
-			TemplateInstantiation ti = new TemplateInstantiation(copier, binding, args);
-			tmContainerExtImpl = ti.bindElement(smContainerExtImpl);
-		}
-
-		return tmContainerExtImpl;
-	}
-
-	/**
-	 * Add interception code to all operations of the lwContainer.
-	 * Can be called several times with different interception operations (which will then be concatenated)
-	 *
-	 * @throws TransformationException
-	 */
-	EList<Property> expandInterceptorExtension(ContainerRule smContainerRule, Operation interceptionOperationInRule)
-			throws TransformationException
-	{
-		for (Operation smOperation : operations) {
-			Operation tmOperation = copier.getCopy(smOperation);
-			String interceptionBody = getBody(interceptionOperationInRule);
-			if (StereotypeUtil.isApplied(interceptionOperationInRule, Create.class) !=
-				StereotypeUtil.isApplied(smOperation, Create.class)) {
-				// if the intercepting operation is a constructor, the intercepted operation must also be a constructor
-				continue;
-			}
-			if (StereotypeUtil.isApplied(interceptionOperationInRule, Destroy.class) !=
-				StereotypeUtil.isApplied(smOperation, Destroy.class)) {
-				// if the intercepting operation is a destructor, the intercepted operation must also be a destructor
-				continue;
-			}
-			if (StereotypeUtil.isApplied(interceptionOperationInRule, Template.class)) {
-				// pass operation in source model, since this enables Xtend code to check
-				// for markers on model
-				TransformationContext.classifier = tmClass;
-				interceptionBody = TextTemplateBinding.bind(interceptionBody, smOperation, null);
-			}
-			if (interceptionBody.length() > 0) {
-				// only add interception operation, if the interception is not empty
-				interceptionBody = "// --- interception code from rule <" + smContainerRule.getBase_Class().getName() + "> ---\n" + //$NON-NLS-1$ //$NON-NLS-2$
-						interceptionBody;
-				Operation interceptionOpInClass = interceptionOpMap.get(tmOperation);
-				if (interceptionOpInClass == null) {
-					Operation copiedOperation = createInterceptionOperation(tmOperation);
-					// the copied operation has all stereotypes of the original one, but it is
-					// not a con/destructor (it is called by the con/destructor)
-					if (StereotypeUtil.isApplied(copiedOperation, Create.class)) {
-						StereotypeUtil.unapply(copiedOperation, Create.class);
-					}
-					if (StereotypeUtil.isApplied(copiedOperation, Destroy.class)) {
-						StereotypeUtil.unapply(copiedOperation, Destroy.class);
-					}
-					// existing operation becomes interception operation (by assigning it a new behavior and moving its behavior to a new operation
-					interceptionOpInClass = tmOperation;
-					interceptionOpMap.put(tmOperation, interceptionOpInClass);
-				}
-				String newBody = interceptionBody + "\n" + //$NON-NLS-1$
-						getBody(interceptionOpInClass);
-				setBody(interceptionOpInClass, newBody);
-			}
-		}
-		return null;
-	}
-
-	public static String getBody(Operation op) {
-		for (Behavior behavior : op.getMethods()) {
-			if (behavior instanceof OpaqueBehavior) {
-				EList<String> bodies = ((OpaqueBehavior) behavior).getBodies();
-				if (bodies.size() > 0) {
-					// always take first
-					return bodies.get(0);
-				}
-			}
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	public static void setBody(Operation op, String body) {
-		for (Behavior behavior : op.getMethods()) {
-			if (behavior instanceof OpaqueBehavior) {
-				EList<String> bodies = ((OpaqueBehavior) behavior).getBodies();
-				if (bodies.size() > 0) {
-					// always take first
-					bodies.set(0, body);
-					break;
-				}
-			}
-		}
-	}
-
-	// protected InstanceSpecification tmClassIS;
-	protected Class smClass;
-
-	protected EList<Operation> operations;
-
-	protected Map<Operation, Operation> interceptionOpMap;
-
-	/**
-	 * @see AbstractContainerTrafo.createContainerInstance
-	 *      In case of the lightweight container, there is no separate container instance. It is identical with the
-	 *      executor instance (container and executor are merged).
-	 *      The purpose of this operation is therefore the configuration of the instance rather than its creation
-	 */
-	@Override
-	public InstanceSpecification createContainerInstance(Class tmComponent, InstanceSpecification tmExecutorIS) throws TransformationException {
-		InstanceSpecification containerIS = tmExecutorIS;
-		// InstanceConfigurator.configureInstance(smContainerRule, containerIS, null, context);
-
-		// now create instances for the contained elements
-		// TODO: why not limits to parts?
-		// TODO: risk of concurrent modification, if an additional attribute is created as a side effect
-		for (Property extensionPart : tmComponent.getAttributes()) {
-			Type tmContainerExtImpl = extensionPart.getType();
-			if (tmContainerExtImpl instanceof Class) {
-				if (DepUtils.getSlot(tmExecutorIS, extensionPart) == null) {
-					// no slot for part exists => assume that the part has been added by the container and create an instance specification for it.
-					InstanceSpecification containerExtIS = DepCreation.createDepPlan(tmCDP, (Class) tmContainerExtImpl, containerIS.getName() + "." + //$NON-NLS-1$
-							extensionPart.getName(), false);
-					// configure extension
-					InstanceConfigurator.configureInstance(containerExtIS, extensionPart, null);
-					DepCreation.createSlot(containerIS, containerExtIS, extensionPart);
-				}
-			}
-		}
-		return containerIS;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FilterPortKind.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FilterPortKind.java
deleted file mode 100644
index dd026e2..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FilterPortKind.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations.filters;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.FCM.PortKind;
-import org.eclipse.papyrus.designer.components.transformation.core.listeners.PreCopyListener;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.TemplateUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-
-
-/**
- * Filter the PortKind stereotype application, since it can be an extended port within a package template.
- * The rule checks whether the package template is present.
- * The objective is to avoid copying a package template into the target model.
- */
-public class FilterPortKind implements PreCopyListener {
-
-	public static FilterPortKind getInstance() {
-		if (instance == null) {
-			instance = new FilterPortKind();
-		}
-		return instance;
-	}
-
-	@Override
-	public EObject preCopyEObject(LazyCopier copy, EObject sourceEObj) {
-		if (sourceEObj instanceof PortKind) {
-			PortKind portKind = (PortKind) sourceEObj;
-			org.eclipse.uml2.uml.Class umlPortKind = portKind.getBase_Class();
-			if ((umlPortKind != null) && TemplateUtils.getSignature(umlPortKind) != null) {
-				return LazyCopier.useSourceEObject;
-			}
-		}
-		return sourceEObj;
-	}
-
-	private static FilterPortKind instance = null;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FilterRuleApplication.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FilterRuleApplication.java
deleted file mode 100644
index 0b67383..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FilterRuleApplication.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations.filters;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.FCM.RuleApplication;
-import org.eclipse.papyrus.designer.components.transformation.core.listeners.PreCopyListener;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-
-/**
- * Filter the rule application stereotype. The rule application stereotype is not
- * required in the target model (per node). It is harmful, since the container rule
- * can contain interceptors which typically reference elements from package templates.
- * These elements should not should be copied into the target model.
- */
-public class FilterRuleApplication implements PreCopyListener {
-
-	public static FilterRuleApplication getInstance() {
-		if (instance == null) {
-			instance = new FilterRuleApplication();
-		}
-		return instance;
-	}
-
-	@Override
-	public EObject preCopyEObject(LazyCopier copy, EObject sourceEObj) {
-		if (sourceEObj instanceof RuleApplication) {
-			return null;
-		}
-		return sourceEObj;
-	}
-
-	private static FilterRuleApplication instance = null;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FilterSignatures.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FilterSignatures.java
deleted file mode 100644
index 4542a41..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FilterSignatures.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations.filters;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.transformation.core.listeners.PreCopyListener;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.uml2.uml.TemplateSignature;
-
-
-/**
- * Remove signatures from package template (only remove signatures within the
- * template, not others)
- *
- * @author ansgar
- *
- */
-public class FilterSignatures implements PreCopyListener {
-
-	public static FilterSignatures getInstance() {
-		if (instance == null) {
-			instance = new FilterSignatures();
-		}
-		return instance;
-	}
-
-	@Override
-	public EObject preCopyEObject(LazyCopier copier, EObject sourceEObj) {
-		if (sourceEObj instanceof TemplateSignature) {
-			if (copier.withinTemplate(sourceEObj)) {
-				return null;
-			}
-		}
-		return sourceEObj;
-	}
-
-	private static FilterSignatures instance = null;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FilterStateMachines.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FilterStateMachines.java
deleted file mode 100644
index f407412..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FilterStateMachines.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations.filters;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.transformation.core.listeners.PreCopyListener;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.uml2.uml.StateMachine;
-
-/**
- * This filter copies the effect of transitions to the class level.
- */
-public class FilterStateMachines implements PreCopyListener {
-
-	public static FilterStateMachines getInstance() {
-		if (instance == null) {
-			instance = new FilterStateMachines();
-		}
-		return instance;
-	}
-	
-	@Override
-	public EObject preCopyEObject(LazyCopier copier, EObject sourceEObj) {
-		if (sourceEObj instanceof StateMachine) {
-			return null;
-		}
-		return sourceEObj;
-	}
-
-
-	private static FilterStateMachines instance = null;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FilterTemplate.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FilterTemplate.java
deleted file mode 100644
index 2af73b7..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FilterTemplate.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations.filters;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.FCM.InteractionComponent;
-import org.eclipse.papyrus.designer.components.transformation.core.listeners.PreCopyListener;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Connector;
-import org.eclipse.uml2.uml.Element;
-
-
-/**
- * Do not copy connector related elements, i.e.
- * 1. UML connectors with stereotype FCM.Connector
- * The rationale behind this is that we want to avoid copying a FCM connector from the source model
- * into the target model since the target model should only contain the reified form of the connector
- *
- * 2. UML classes that are stereotyped as interaction components
- * We do not want to copy interaction components, since they typically need to be instantiated.
- * TODO: there is no check whether we are actually in a template. An interaction component might be fixed (i.e. not
- * depend on template instantiation) and needs to be copied in this case.
- * (in most cases, these are not copied anyway, since these are in a different model,
- * but we do not want to exclude the case of defining model-local connectors)
- */
-public class FilterTemplate implements PreCopyListener {
-
-	public FilterTemplate() {
-		active = true;
-	}
-
-	public static FilterTemplate getInstance() {
-		if (instance == null) {
-			instance = new FilterTemplate();
-		}
-		return instance;
-	}
-
-	@Override
-	public EObject preCopyEObject(LazyCopier copier, EObject sourceEObj) {
-		if (active && (sourceEObj instanceof Element)) {
-			Element sourceElem = (Element) sourceEObj;
-			if ((sourceEObj instanceof Connector) && StereotypeUtil.isApplied(sourceElem, org.eclipse.papyrus.designer.components.FCM.Connector.class)) {
-	//			return null;
-			}
-			if ((sourceEObj instanceof Class) && StereotypeUtil.isApplied(sourceElem, InteractionComponent.class)) {
-				return null;
-			}
-		}
-		return sourceEObj;
-	}
-
-	public void setActive(boolean active) {
-		this.active = active;
-	}
-
-	private boolean active;
-
-	private static FilterTemplate instance = null;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FilterTemplateBinding.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FilterTemplateBinding.java
deleted file mode 100644
index dcc19c1..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FilterTemplateBinding.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations.filters;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.transformation.core.listeners.PreCopyListener;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.TemplateBinding;
-
-
-/**
- * Remove template bindings to packages from model. The reason is to avoid that the template binding will drag the
- * package template with it.
- * (However, template binding on non-class level)
- *
- */
-public class FilterTemplateBinding implements PreCopyListener {
-
-	public static FilterTemplateBinding getInstance() {
-		if (instance == null) {
-			instance = new FilterTemplateBinding();
-		}
-		return instance;
-	}
-
-	@Override
-	public EObject preCopyEObject(LazyCopier copy, EObject sourceEObj) {
-		if (sourceEObj instanceof TemplateBinding) {
-			TemplateBinding binding = (TemplateBinding) sourceEObj;
-			for (Element target : binding.getTargets()) {
-				if (target != null) {
-					if (!(target.eContainer() instanceof Package)) {
-						return sourceEObj;
-					}
-				}
-			}
-			return null;
-		}
-		return sourceEObj;
-		
-	}
-
-	private static FilterTemplateBinding instance = null;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FixTemplateSync.java b/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FixTemplateSync.java
deleted file mode 100644
index 9ddf862..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/transformations/filters/FixTemplateSync.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.core.transformations.filters;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.components.transformation.core.listeners.PostCopyListener;
-import org.eclipse.papyrus.designer.components.transformation.core.sync.CompImplSync;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier;
-import org.eclipse.uml2.uml.Behavior;
-import org.eclipse.uml2.uml.Class;
-
-/**
- * Synchronize derived realizations (after copying). If re-synchronization is not done, the
- * relationship would point to wrong interface, if it is derived and depending on a formal parameter.
- * (e.g. derived push interface with formal parameter T would be at wrong location).
- * TODO: need better explanation. Solution is quite a hack.
- */
-public class FixTemplateSync implements PostCopyListener {
-
-	public static FixTemplateSync getInstance() {
-		if (instance == null) {
-			instance = new FixTemplateSync();
-		}
-		return instance;
-	}
-
-	@Override
-	public void postCopyEObject(LazyCopier copier, EObject targetEObj) {
-		// if (copier.get(sourceEObj) isWithinTemplate)
-		if (!(targetEObj instanceof Behavior)) {
-			if ((targetEObj instanceof Class) && Utils.isCompImpl((Class) targetEObj)) {
-				Class implementation = (Class) targetEObj;
-				CompImplSync.updatePorts(implementation);
-				CompImplSync.syncRealizations(implementation);
-				// commented out, since it causes dangling references
-				// TODO: why needed originally?
-				// CompImplSync.syncDerivedOperations(implementation);
-			}
-		}
-	}
-
-	private static FixTemplateSync instance = null;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.cpp/META-INF/MANIFEST.MF b/components/org.eclipse.papyrus.designer.components.transformation.cpp/META-INF/MANIFEST.MF
index 7e65555..3763903 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.cpp/META-INF/MANIFEST.MF
+++ b/components/org.eclipse.papyrus.designer.components.transformation.cpp/META-INF/MANIFEST.MF
@@ -5,11 +5,14 @@
  org.eclipse.xtext.xbase.lib,
  org.eclipse.xtend.lib,
  org.eclipse.xtend.lib.macro,
- org.eclipse.papyrus.designer.components.transformation.core;bundle-version="0.7.4",
+ org.eclipse.papyrus.designer.components.transformation;bundle-version="0.7.4",
  org.eclipse.uml2.uml;bundle-version="5.0.1",
  org.eclipse.papyrus.uml.tools.utils;bundle-version="1.2.0",
  org.eclipse.papyrus.designer.languages.cpp.profile;bundle-version="0.7.4",
- org.eclipse.papyrus.uml.tools;bundle-version="1.2.0"
+ org.eclipse.papyrus.uml.tools;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.transformation.core;bundle-version="0.7.4",
+ org.eclipse.papyrus.designer.transformation.base;bundle-version="0.7.4",
+ org.eclipse.papyrus.designer.components.fcm.profile;bundle-version="0.7.4"
 Bundle-Vendor: %providerName
 Bundle-ActivationPolicy: lazy
 Bundle-Version: 0.7.5.qualifier
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.cpp/build.properties b/components/org.eclipse.papyrus.designer.components.transformation.cpp/build.properties
index 3fa3c74..077fcf8 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.cpp/build.properties
+++ b/components/org.eclipse.papyrus.designer.components.transformation.cpp/build.properties
@@ -1,6 +1,6 @@
 source.. = src/,\
            xtend-gen/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                about.html,\
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.cpp/plugin.xml b/components/org.eclipse.papyrus.designer.components.transformation.cpp/plugin.xml
index 5300374..fd1102a 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.cpp/plugin.xml
+++ b/components/org.eclipse.papyrus.designer.components.transformation.cpp/plugin.xml
@@ -2,14 +2,14 @@
 <?eclipse version="3.4"?>
 <plugin>
    <extension
-         point="org.eclipse.papyrus.designer.components.transformation.core.ooTransformation">
+         point="org.eclipse.papyrus.designer.components.transformation.ooTransformation">
       <client
             class="org.eclipse.papyrus.designer.components.transformation.cpp.xtend.StaticCppToOO"
             ooTrafoID="org.eclipse.papyrus.designer.components.transformation.cpp.StaticCpp">
       </client>
    </extension>
    <extension
-         point="org.eclipse.papyrus.designer.components.transformation.core.ooTransformation">
+         point="org.eclipse.papyrus.designer.components.transformation.ooTransformation">
       <client
             class="org.eclipse.papyrus.designer.components.transformation.cpp.xtend.DynamicCppToOO"
             ooTrafoID="org.eclipse.papyrus.designer.components.transformation.cpp.DynamicCpp">
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.cpp/src/org/eclipse/papyrus/designer/components/transformation/cpp/xtend/CppPortMapping.xtend b/components/org.eclipse.papyrus.designer.components.transformation.cpp/src/org/eclipse/papyrus/designer/components/transformation/cpp/xtend/CppPortMapping.xtend
index 60252bb..af9e8fe 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.cpp/src/org/eclipse/papyrus/designer/components/transformation/cpp/xtend/CppPortMapping.xtend
+++ b/components/org.eclipse.papyrus.designer.components.transformation.cpp/src/org/eclipse/papyrus/designer/components/transformation/cpp/xtend/CppPortMapping.xtend
@@ -13,17 +13,12 @@
  *****************************************************************************/
 package org.eclipse.papyrus.designer.components.transformation.cpp.xtend
 
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.IOOTrafo
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier
+import org.eclipse.papyrus.designer.components.transformation.extensions.IOOTrafo
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier
 import org.eclipse.uml2.uml.Class
 import org.eclipse.uml2.uml.Property
 import org.eclipse.uml2.uml.Port
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException
-import org.eclipse.papyrus.designer.components.transformation.core.PortInfo
-import org.eclipse.papyrus.designer.components.transformation.core.PortUtils
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.PrefixConstants
-import org.eclipse.papyrus.designer.components.transformation.core.Utils
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.CompTypeTrafos
+import org.eclipse.papyrus.designer.components.transformation.PortInfo
 import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
 import org.eclipse.uml2.uml.AggregationKind
 import org.eclipse.uml2.uml.UMLPackage
@@ -41,6 +36,13 @@
 import org.eclipse.papyrus.designer.components.transformation.cpp.Constants
 import static extension org.eclipse.papyrus.designer.components.transformation.cpp.xtend.CppUtils.nameRef;
 import org.eclipse.papyrus.uml.tools.utils.PackageUtil
+import org.eclipse.papyrus.designer.components.transformation.PortUtils
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException
+import org.eclipse.papyrus.designer.components.FCM.Assembly
+import org.eclipse.papyrus.designer.transformation.base.utils.CopyUtils
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils
+import org.eclipse.papyrus.designer.components.transformation.component.PrefixConstants
+import org.eclipse.papyrus.designer.components.transformation.component.PrefixConstants.CIFvariant
 
 /**
  * This class realizes the transformation from component-based to object-oriented
@@ -73,6 +75,7 @@
 
 	def override init(LazyCopier copier, Class bootloader) {
 		// this.copier = copier
+		PrefixConstants.init(CIFvariant.UML);
 	}
 
 	override addPortOperations(Class implementation) {
@@ -201,14 +204,14 @@
 					if (multiPort) {
 
 						// add index parameter
-						val eLong = Utils.getQualifiedElement(PackageUtil.getRootPackage(implementation),
-							CompTypeTrafos.INDEX_TYPE_FOR_MULTI_RECEPTACLE)
+						val eLong = ElementUtils.getQualifiedElement(PackageUtil.getRootPackage(implementation),
+							PrefixConstants.INDEX_TYPE_FOR_MULTI_RECEPTACLE)
 						if (eLong instanceof Type) {
 							op.createOwnedParameter("index", eLong as Type) 
 						} else {
 							throw new RuntimeException(
 								String.format(Messages.CompImplTrafos_CannotFindType,
-									CompTypeTrafos.INDEX_TYPE_FOR_MULTI_RECEPTACLE))
+									PrefixConstants.INDEX_TYPE_FOR_MULTI_RECEPTACLE))
 						}
 					}
 					val refParam = op.createOwnedParameter("ref", requiredIntf) 
@@ -248,9 +251,10 @@
 					} else {
 						// no delegation - create attribute for port
 						val attributeName = PrefixConstants.attributePrefix + portInfo.name
-						if (!Utils.hasNonPortOwnedAttribute(implementation, attributeName)) {
-							val attr = implementation.createOwnedAttribute(attributeName, requiredIntf)
-							LazyCopier.copyMultElemModifiers(portInfo.port, attr)
+						var attr = implementation.getOwnedAttribute(attributeName, null)
+						if (attr == null || attr instanceof Port) {
+							attr = implementation.createOwnedAttribute(attributeName, requiredIntf)
+							CopyUtils.copyMultElemModifiers(portInfo.port, attr)
 
 							// is shared (should store a reference)
 							attr.setAggregation(AggregationKind.SHARED_LITERAL)
@@ -495,7 +499,7 @@
 	 * @return
 	 */
 	static def instantiateViaBootloader(Class implementation) {
-		return implementation.isAbstract() || Utils.isAssembly(implementation)
+		return implementation.isAbstract() || StereotypeUtil.isApplied(implementation, Assembly)
 	}
 
 	/**
@@ -537,7 +541,7 @@
 	 */
 	override transformParts(Class compositeImplementation) {
 
-		for (Property attribute : Utils.getParts(compositeImplementation)) {
+		for (Property attribute : ElementUtils.getParts(compositeImplementation)) {
 			val type = attribute.type
 			if (type instanceof Class) {
 				val cl = type as Class
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.cpp/src/org/eclipse/papyrus/designer/components/transformation/cpp/xtend/DynamicCppToOO.xtend b/components/org.eclipse.papyrus.designer.components.transformation.cpp/src/org/eclipse/papyrus/designer/components/transformation/cpp/xtend/DynamicCppToOO.xtend
new file mode 100644
index 0000000..24ca508
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation.cpp/src/org/eclipse/papyrus/designer/components/transformation/cpp/xtend/DynamicCppToOO.xtend
@@ -0,0 +1,508 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.components.transformation.cpp.xtend
+
+import org.eclipse.papyrus.designer.components.transformation.extensions.IOOTrafo
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier
+import org.eclipse.uml2.uml.Class
+import org.eclipse.uml2.uml.Property
+import org.eclipse.uml2.uml.Port
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
+import org.eclipse.uml2.uml.AggregationKind
+import org.eclipse.uml2.uml.UMLPackage
+import org.eclipse.uml2.uml.OpaqueBehavior
+import org.eclipse.uml2.uml.ConnectorEnd
+import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Ptr
+import org.eclipse.uml2.uml.Type
+import java.util.HashMap
+import java.util.Map
+import org.eclipse.uml2.uml.Connector
+import org.eclipse.emf.common.util.EList
+import org.eclipse.papyrus.designer.components.transformation.cpp.Messages
+import org.eclipse.papyrus.designer.components.transformation.cpp.Constants
+import static extension org.eclipse.papyrus.designer.components.transformation.cpp.xtend.CppUtils.nameRef;
+import org.eclipse.papyrus.uml.tools.utils.PackageUtil
+import org.eclipse.papyrus.designer.components.transformation.PortUtils
+import org.eclipse.papyrus.designer.components.transformation.PortInfo
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException
+import org.eclipse.papyrus.designer.transformation.base.utils.CopyUtils
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils
+import org.eclipse.papyrus.designer.components.transformation.component.PrefixConstants
+import org.eclipse.papyrus.designer.components.transformation.component.PrefixConstants.CIFvariant
+
+/**
+ * This class realizes the dynamic variant of the OO-transformation 
+ *
+ */
+class DynamicCppToOO implements IOOTrafo {
+
+	protected LazyCopier copier
+
+	val static final String PART_MANAGER = "services::PartManager"
+
+	val static final String INIT_PARTS = "initParts"
+
+	// 	name of generic "parts" attribute for dynamic deployment (TODO: should be inherited)
+	val static final String PARTS = "parts"
+	
+	val static final String progLang = "C/C++"
+	
+	protected Class bootloader // why required?
+
+	def override init(LazyCopier copier, Class bootloader) {
+		PrefixConstants.init(CIFvariant.UML);
+		this.copier = copier
+		this.bootloader = bootloader
+	}
+
+	override addPortOperations(Class implementation) {
+		addGetPortOperation(implementation)
+		addConnectPortOperation(implementation)
+	}
+
+	/**
+	 * Add the get_p operation for each port with a provided interface. It also
+	 * adds a suitable implementation that evaluates delegation connectors from
+	 * the port to a property within the composite. The delegation target could
+	 * either be a normal class (no port) or an inner component.
+	 *
+	 * @param implementation
+	 */
+	def addGetPortOperation(Class implementation) {
+		for (PortInfo portInfo : PortUtils.flattenExtendedPorts(PortUtils.getAllPorts2(implementation))) {
+			val providedIntf = portInfo.getProvided()
+			if (providedIntf != null) {
+
+				// port provides an interface, add "get_p" operation &
+				// implementation
+				val opName = PrefixConstants.getP_Prefix + portInfo.name
+				var op = implementation.getOwnedOperation(opName, null, null)
+				if (op != null) {
+
+					// operation already exists. Assume that user wants to
+					// override standard delegation
+					if (op.type != providedIntf) {
+						op.createOwnedParameter(Constants.retParamName, providedIntf)
+					}
+				} else {
+					op = implementation.createOwnedOperation(opName, null, null, providedIntf)
+					val retParam = op.getOwnedParameters().get(0)
+					retParam.setName(Constants.retParamName)
+					StereotypeUtil.apply(retParam, Ptr)
+
+					val behavior = implementation.createOwnedBehavior(opName, UMLPackage.eINSTANCE.getOpaqueBehavior()) as OpaqueBehavior
+					op.getMethods().add(behavior)
+
+					val ce = ConnectorUtil.getDelegation(implementation, portInfo.getModelPort())
+
+					// if there is an delegation to an inner property, delegate to
+					// it
+					// Make distinction between delegation to component (with a
+					// port) or
+					// "normal" class (without).
+					var String body
+					if (ce != null) {
+						val part = ce.partWithPort
+						val role = ce.role
+
+						body = "return " 
+						if (role instanceof Port) {
+
+							// check whether the part exists within the implementation (might not be the case
+							// due to partially copied composites).
+							// Check is based on names, since the connector points to elements within another
+							// model (copyClassifier does not make a proper connector copy)
+							// TODO: this will NOT work for extended ports!
+							body += '''«part.nameRef»«PrefixConstants.getP_Prefix»«role.name»();'''
+						} else {
+
+							// role is not a port: connector connects directly to a
+							// structural feature
+							// without passing via a port
+							// TODO: check whether structural feature exists
+							body += role.name
+						}
+					} else {
+
+						// no delegation, check whether port implements provided interface
+						var implementsIntf = implementation.getInterfaceRealization(null, providedIntf) != null
+						if (!implementsIntf) {
+
+							// The extended port itself is not copied to the target
+							// model (since referenced via a stereotype). Therefore,
+							// a port of an extended port still points to the
+							// original model. We try whether the providedIntf
+							// within
+							// the target model is within the interface
+							// realizations.
+							val providedIntfInCopy = copier.getCopy(providedIntf)
+							implementsIntf = implementation.getInterfaceRealization(null, providedIntfInCopy) != null
+						}
+						if (implementsIntf) {
+							body = "return this;" 
+						} else {
+							throw new RuntimeException(
+								String.format(Messages.CompImplTrafos_IntfNotImplemented, providedIntf.name,
+									portInfo.port.name, implementation.name))
+						}
+					}
+					behavior.getLanguages().add(Constants.progLang)
+					behavior.getBodies().add(body)
+				}
+			}
+		}
+	}
+
+	/**
+	 * Add a connect_<portName> operation for ports with a required interface.
+	 * Whereas operation and a behavior is added for each owned port, a behavior
+	 * (method) is needed for ports inherited from a component type (the
+	 * behavior is implementation specific, as it needs to take delegation to
+	 * parts into account)
+	 *
+	 * @param implementation
+	 */
+	static def addConnectPortOperation(Class implementation) {
+		for (PortInfo portInfo : PortUtils.flattenExtendedPorts(PortUtils.getAllPorts2(implementation))) {
+			val requiredIntf = portInfo.getRequired()
+			if (requiredIntf != null) {
+
+				// port requires an interface, add "connect_p" operation &
+				// implementation
+				val opName = PrefixConstants.connectQ_Prefix + portInfo.name
+
+				if (implementation.getOwnedOperation(opName, null, null) != null) {
+					// do not add the operation, if it already exists. This means that the
+					// user wants to override it with custom behavior. In case of extended
+					// ports, we may have to do that.
+				} else {
+					var op = implementation.createOwnedOperation(opName, null, null)
+					val boolean multiPort = (portInfo.getUpper() > 1) || (portInfo.getUpper() == -1) // -1 indicates "*"
+					if (multiPort) {
+
+						// add index parameter
+						val eLong = ElementUtils.getQualifiedElementFromRS(PackageUtil.getRootPackage(implementation),
+							PrefixConstants.INDEX_TYPE_FOR_MULTI_RECEPTACLE)
+						if (eLong instanceof Type) {
+							op.createOwnedParameter("index", eLong as Type) 
+						} else {
+							throw new RuntimeException(
+								String.format(Messages.CompImplTrafos_CannotFindType,
+									PrefixConstants.INDEX_TYPE_FOR_MULTI_RECEPTACLE))
+						}
+					}
+					val refParam = op.createOwnedParameter("ref", requiredIntf) 
+					StereotypeUtil.apply(refParam, Ptr)
+
+					val behavior = implementation.createOwnedBehavior(opName, UMLPackage.eINSTANCE.getOpaqueBehavior()) as OpaqueBehavior
+
+					op.getMethods().add(behavior)
+
+					val ConnectorEnd ce = ConnectorUtil.getDelegation(implementation, portInfo.getModelPort())
+
+					// if there is an delegation to an inner property, delegate to it
+					// Make distinction between delegation to component (with a port) or
+					// "normal" class (without).
+					var String body
+					if (ce != null) {
+						val part = ce.partWithPort
+						body = part.name
+						val role = ce.role
+						if (role instanceof Port) {
+							// in case of a delegation, use name of target port which might be different
+							val targetOpName = PrefixConstants.connectQ_Prefix + role.name
+							body = '''«part.nameRef»«targetOpName»'''
+
+							// TODO: no check that multiplicity of both port matches
+							if ((portInfo.getUpper() > 1) || (portInfo.getUpper() == -1)) {
+								body += "(index, ref);";
+							}
+							else {
+								body += "(ref);";
+							}
+
+						} else {
+							// TODO: does this case make sense?
+							body += '''«part.name»;'''
+						}
+					} else {
+						// no delegation - create attribute for port
+						val attributeName = PrefixConstants.attributePrefix + portInfo.name
+						var attr = implementation.getOwnedAttribute(attributeName, null)
+						if (attr == null || attr instanceof Port) {
+							attr = implementation.createOwnedAttribute(attributeName, requiredIntf)
+							CopyUtils.copyMultElemModifiers(portInfo.port, attr)
+
+							// is shared (should store a reference)
+							attr.setAggregation(AggregationKind.SHARED_LITERAL)
+						}
+						body = attributeName
+						if(multiPort) body += "[index]"
+						body += " = ref;"
+					}
+
+					// TODO: defined by template
+					behavior.getLanguages().add(Constants.progLang)
+					behavior.getBodies().add(body)
+
+					// -------------------------
+					// add body to get-connection operation (which exists already if the port is also
+					// owned, since it is synchronized automatically during model edit)
+					// getConnQ prefix may be empty to indicate that the port is accessed directly
+					// TODO: reconsider optimization that delegated required ports do not have a
+					// local attribute & associated operation (an inner class may delegate, but the
+					// composite may be using it as well).
+					if ((PrefixConstants.getConnQ_Prefix.length() > 0) && (ce != null)) {
+						val getConnOpName = PrefixConstants.getConnQ_Prefix + portInfo.name
+						var getConnOp = implementation.getOwnedOperation(getConnOpName, null, null)
+						if (getConnOp == null) {
+							getConnOp = implementation.createOwnedOperation(getConnOpName, null, null, requiredIntf)
+							val retParam = op.getOwnedParameters().get(0)
+							retParam.setName(Constants.retParamName)
+							StereotypeUtil.apply(retParam, Ptr)
+						}
+						val getConnBehavior = implementation.createOwnedBehavior(getConnOpName,
+							UMLPackage.eINSTANCE.getOpaqueBehavior()) as OpaqueBehavior
+						getConnOp.getMethods().add(getConnBehavior)
+
+						// no delegation
+						val String name = PrefixConstants.attributePrefix + portInfo.name
+						body = '''return «name»;'''
+						behavior.getLanguages().add(Constants.progLang)
+						behavior.getBodies().add(body)
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * Add an operation "createConnections" that implements the connections
+	 * between composite parts. It only takes the assembly connections into
+	 * account, since delegation connectors are handled by the get_ and connect_
+	 * port operations above.
+	 *
+	 * @param implementation
+	 */
+	override addConnectionOperation(Class compositeImplementation) throws TransformationException {
+		var createConnBody = "" 
+		val Map<ConnectorEnd, Integer> indexMap = new HashMap<ConnectorEnd, Integer>()
+
+		for (Connector connector : compositeImplementation.getOwnedConnectors()) {
+			if (ConnectorUtil.isAssembly(connector)) {
+
+				// Boolean associationBased = false
+				if (connector.ends.size() != 2) {
+					throw new TransformationException(
+						'''Connector <«connector.name»> does not have two ends. This is currently not supported''')
+				}
+				val end1 = connector.ends.get(0)
+				val end2 = connector.ends.get(1)
+				var cmd = '''// realization of connector <«connector.name»>\n'''
+				if ((end1.role instanceof Port) && PortUtils.isExtendedPort(end1.role as Port)) {
+					val port = end1.role as Port
+					val EList<PortInfo> subPorts = PortUtils.flattenExtendedPort(port)
+					for (PortInfo subPort : subPorts) {
+						cmd += '''  // realization of connection for sub-port «subPort.port.name»\n'''
+						cmd += connectPorts(indexMap, connector, end1, end2, subPort.port)
+						cmd += connectPorts(indexMap, connector, end2, end1, subPort.port)
+					}
+				} else {
+					cmd += connectPorts(indexMap, connector, end1, end2, null)
+					cmd += connectPorts(indexMap, connector, end2, end1, null)
+				}
+				createConnBody += cmd + "\n" 
+			}
+		}
+
+		// TODO: use template, as in bootloader
+		if (createConnBody.length() > 0) {
+			val operation = compositeImplementation.createOwnedOperation(Constants.CREATE_CONNECTIONS, null, null)
+
+			val behavior = compositeImplementation.createOwnedBehavior("b:" + operation.name, 
+				UMLPackage.eINSTANCE.getOpaqueBehavior()) as OpaqueBehavior
+			behavior.getLanguages().add(Constants.progLang)
+			behavior.getBodies().add(createConnBody)
+			behavior.setSpecification(operation)
+		}
+	}
+
+	/**
+	 * Create the body C++ code code that creates a connection between the two ends
+	 * of a connector. This function checks whether the first end really is a receptacle
+	 * and the second really is a facet.
+	 * TODO: cleaner rewrite in xtend
+	 * 
+	 * @param indexMap
+	 *            a map of indices that are used in case of multiplex
+	 *            receptacles
+	 * @param connector
+	 *            a connector
+	 * @param receptacleEnd
+	 *            an end of the connector that may point to a receptacle port
+	 * @param facetEnd
+	 *            an end of the connector that may point to a facet port
+	 * @param subPort
+	 *            a sub-port in case of extended ports
+	 * @return
+	 * @throws TransformationException
+	 */
+	static def connectPorts(Map<ConnectorEnd, Integer> indexMap, Connector connector, ConnectorEnd receptacleEnd,
+		ConnectorEnd facetEnd, Port subPort) throws TransformationException {
+		val association = connector.type
+		if ((receptacleEnd.role instanceof Port) && (facetEnd.role instanceof Port)) {
+			val facetPort = facetEnd.role as Port
+			val receptaclePort = receptacleEnd.role as Port
+			val facetPI = PortInfo.fromSubPort(facetPort, subPort)
+			val receptaclePI = PortInfo.fromSubPort(receptaclePort, subPort)
+
+			if ((facetPI.getProvided() != null) && (receptaclePI.getRequired() != null)) {
+				val facetPart = facetEnd.partWithPort
+				val receptaclePart = receptacleEnd.partWithPort
+
+				var subPortName = ""
+				if(subPort != null) subPortName += "_" + subPort.name
+				val indexName = getIndexName(indexMap, receptaclePort, receptacleEnd)
+				val setter = '''«receptaclePart.nameRef»connect_«receptaclePort.name» «subPortName»;'''
+				val getter = '''«facetPart.nameRef»get_«facetPort.name» «subPortName»()'''
+				return '''«setter»(«indexName»«getter»);\n'''
+				}
+
+		} else if (receptacleEnd.role instanceof Port) {
+
+			// only the receptacle end is of type port.
+			val Port receptaclePort = receptacleEnd.role as Port
+			if (PortUtils.getRequired(receptaclePort) != null) {
+				val facetPart = facetEnd.role as Property
+				val receptaclePart = facetEnd.partWithPort
+
+				val indexName = getIndexName(indexMap, receptaclePort, receptacleEnd)
+				val setter = '''«receptaclePart.nameRef»connect_«receptaclePort.name»'''
+				val getter = '''&«facetPart.name»'''
+				return '''«setter»(«indexName»«getter»);\n'''
+			}
+		} else if (facetEnd.role instanceof Port) {
+
+			// only the facet end is of type port. Unsupported combination
+			val facetPort = facetEnd.role as Port
+			if (PortUtils.getProvided(facetPort) != null) {
+				val facetPart = facetEnd.partWithPort
+				val receptaclePart = facetEnd.role as Property
+
+				val setter = receptaclePart.name
+				val getter = '''«facetPart.nameRef»get_«facetPort.name»();'''
+				return '''«setter» = «getter»;\n'''
+			}
+		} else if (association != null) {
+
+			// both connector ends do not target ports. In this case, we require that the connector is typed
+			// with an association. We use this association to find out which end is navigable and assume that
+			// the part pointed to by the other end is a pointer that gets initialized with the part of the
+			// navigable end.
+			val facetPart = facetEnd.role as Property
+			val receptaclePart = receptacleEnd.role as Property
+
+			val assocProp1 = association.getMemberEnd(null, facetPart.type)
+
+			// Property assocProp2 = facetPart.getOtherEnd()
+			if ((assocProp1 != null) && assocProp1.isNavigable) {
+				val setter = '''«receptaclePart.nameRef»«assocProp1.name»'''
+				val getter = '''&«facetPart.name»'''
+				return '''«setter» = «getter»;\n'''
+			}
+		} else {
+
+			// not handled (a connector not targeting a port must be typed)
+			throw new TransformationException(
+				"Connector <" + connector.name + 
+					"> does not use ports, but it is not typed (only connectors between ports should not be typed)") 
+		}
+		return "" 
+	}
+
+	/**
+	 * Handle ports with multiplicity > 1. The idea is that we could have
+	 * multiple connections targeting a receptacle. The first connection would
+	 * start with index 0. Implementations can make no assumption which
+	 * connection is associated with a certain index. [want to avoid associative
+	 * array in runtime].
+	 *
+	 * @param port
+	 * @param end
+	 * @return
+	 */
+	static def getIndexName(Map<ConnectorEnd, Integer> indexMap, Port port, ConnectorEnd end) {
+		if ((port.getUpper() > 1) || (port.getUpper() == -1)) {
+
+			// index depends of combination of property and port, use connector
+			// end as key
+			var indexValue = indexMap.get(end)
+			if (indexValue == null) {
+				indexValue = 0
+				indexMap.put(end, indexValue)
+			}
+			var index = indexValue + ", " 
+			indexValue++
+			indexMap.put(end, indexValue)
+			return index
+		}
+		return ""
+	}
+
+	/**
+	 * Transform parts if necessary.
+	 * 
+	 * @param compositeImplementation
+	 *            a (composite) component
+	 */
+	override transformParts(Class compositeImplementation) {
+
+/*
+		for (Property attribute : Utils.getParts(compositeImplementation)) {
+			val type = attribute.type
+			if (type instanceof Class) {
+				val cl = type as Class
+
+				// always transform into pointer (enable dynamic creation)
+				StereotypeUtil.apply(attribute, Ptr)
+			}
+		}
+*/	
+		var String initPartsBody = ""
+		for (Property attribute : ElementUtils.getParts(compositeImplementation)) {
+			val type = attribute.type;
+			if (type instanceof Class) {
+				initPartsBody += initPartBody(attribute);
+				attribute.destroy();
+			}
+		}
+		
+		val partManager = ElementUtils.getQualifiedElementFromRS(compositeImplementation, PART_MANAGER);
+		if (partManager instanceof Type) {
+			compositeImplementation.createOwnedAttribute(PARTS, partManager as Type);
+		}
+		
+		val operation = compositeImplementation.createOwnedOperation(INIT_PARTS, null, null);
+
+		val behavior = compositeImplementation.createOwnedBehavior("b:" + operation.name, UMLPackage.eINSTANCE.opaqueBehavior)
+			as OpaqueBehavior 
+		behavior.getLanguages().add(progLang);
+		behavior.getBodies().add(initPartsBody);
+	}
+	
+	def initPartBody(Property part) {
+		"parts.add(" + part.getName() + ", " + part.getType() + ")"
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.cpp/src/org/eclipse/papyrus/designer/components/transformation/cpp/xtend/DynamicCpptoOO.xtend b/components/org.eclipse.papyrus.designer.components.transformation.cpp/src/org/eclipse/papyrus/designer/components/transformation/cpp/xtend/DynamicCpptoOO.xtend
deleted file mode 100644
index 68cea51..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.cpp/src/org/eclipse/papyrus/designer/components/transformation/cpp/xtend/DynamicCpptoOO.xtend
+++ /dev/null
@@ -1,505 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2015 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-package org.eclipse.papyrus.designer.components.transformation.cpp.xtend
-
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.IOOTrafo
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier
-import org.eclipse.uml2.uml.Class
-import org.eclipse.uml2.uml.Property
-import org.eclipse.uml2.uml.Port
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException
-import org.eclipse.papyrus.designer.components.transformation.core.PortInfo
-import org.eclipse.papyrus.designer.components.transformation.core.PortUtils
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.PrefixConstants
-import org.eclipse.papyrus.designer.components.transformation.core.Utils
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.CompTypeTrafos
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
-import org.eclipse.uml2.uml.AggregationKind
-import org.eclipse.uml2.uml.UMLPackage
-import org.eclipse.uml2.uml.OpaqueBehavior
-import org.eclipse.uml2.uml.ConnectorEnd
-import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Ptr
-import org.eclipse.uml2.uml.Type
-import java.util.HashMap
-import java.util.Map
-import org.eclipse.uml2.uml.Connector
-import org.eclipse.emf.common.util.EList
-import org.eclipse.papyrus.designer.components.transformation.cpp.Messages
-import org.eclipse.papyrus.designer.components.transformation.cpp.Constants
-import static extension org.eclipse.papyrus.designer.components.transformation.cpp.xtend.CppUtils.nameRef;
-import org.eclipse.papyrus.uml.tools.utils.PackageUtil
-
-/**
- * This class realizes the dynamic variant of the OO-transformation 
- *
- */
-class DynamicCppToOO implements IOOTrafo {
-
-	protected LazyCopier copier
-
-	val static final String PART_MANAGER = "services::PartManager"
-
-	val static final String INIT_PARTS = "initParts"
-
-	// 	name of generic "parts" attribute for dynamic deployment (TODO: should be inherited)
-	val static final String PARTS = "parts"
-	
-	val static final String progLang = "C/C++"
-	
-	protected Class bootloader // why required?
-
-	def override init(LazyCopier copier, Class bootloader) {
-		this.copier = copier
-		this.bootloader = bootloader
-	}
-
-	override addPortOperations(Class implementation) {
-		addGetPortOperation(implementation)
-		addConnectPortOperation(implementation)
-	}
-
-	/**
-	 * Add the get_p operation for each port with a provided interface. It also
-	 * adds a suitable implementation that evaluates delegation connectors from
-	 * the port to a property within the composite. The delegation target could
-	 * either be a normal class (no port) or an inner component.
-	 *
-	 * @param implementation
-	 */
-	def addGetPortOperation(Class implementation) {
-		for (PortInfo portInfo : PortUtils.flattenExtendedPorts(PortUtils.getAllPorts2(implementation))) {
-			val providedIntf = portInfo.getProvided()
-			if (providedIntf != null) {
-
-				// port provides an interface, add "get_p" operation &
-				// implementation
-				val opName = PrefixConstants.getP_Prefix + portInfo.name
-				var op = implementation.getOwnedOperation(opName, null, null)
-				if (op != null) {
-
-					// operation already exists. Assume that user wants to
-					// override standard delegation
-					if (op.type != providedIntf) {
-						op.createOwnedParameter(Constants.retParamName, providedIntf)
-					}
-				} else {
-					op = implementation.createOwnedOperation(opName, null, null, providedIntf)
-					val retParam = op.getOwnedParameters().get(0)
-					retParam.setName(Constants.retParamName)
-					StereotypeUtil.apply(retParam, Ptr)
-
-					val behavior = implementation.createOwnedBehavior(opName, UMLPackage.eINSTANCE.getOpaqueBehavior()) as OpaqueBehavior
-					op.getMethods().add(behavior)
-
-					val ce = ConnectorUtil.getDelegation(implementation, portInfo.getModelPort())
-
-					// if there is an delegation to an inner property, delegate to
-					// it
-					// Make distinction between delegation to component (with a
-					// port) or
-					// "normal" class (without).
-					var String body
-					if (ce != null) {
-						val part = ce.partWithPort
-						val role = ce.role
-
-						body = "return " 
-						if (role instanceof Port) {
-
-							// check whether the part exists within the implementation (might not be the case
-							// due to partially copied composites).
-							// Check is based on names, since the connector points to elements within another
-							// model (copyClassifier does not make a proper connector copy)
-							// TODO: this will NOT work for extended ports!
-							body += '''«part.nameRef»«PrefixConstants.getP_Prefix»«role.name»();'''
-						} else {
-
-							// role is not a port: connector connects directly to a
-							// structural feature
-							// without passing via a port
-							// TODO: check whether structural feature exists
-							body += role.name
-						}
-					} else {
-
-						// no delegation, check whether port implements provided interface
-						var implementsIntf = implementation.getInterfaceRealization(null, providedIntf) != null
-						if (!implementsIntf) {
-
-							// The extended port itself is not copied to the target
-							// model (since referenced via a stereotype). Therefore,
-							// a port of an extended port still points to the
-							// original model. We try whether the providedIntf
-							// within
-							// the target model is within the interface
-							// realizations.
-							val providedIntfInCopy = copier.getCopy(providedIntf)
-							implementsIntf = implementation.getInterfaceRealization(null, providedIntfInCopy) != null
-						}
-						if (implementsIntf) {
-							body = "return this;" 
-						} else {
-							throw new RuntimeException(
-								String.format(Messages.CompImplTrafos_IntfNotImplemented, providedIntf.name,
-									portInfo.port.name, implementation.name))
-						}
-					}
-					behavior.getLanguages().add(Constants.progLang)
-					behavior.getBodies().add(body)
-				}
-			}
-		}
-	}
-
-	/**
-	 * Add a connect_<portName> operation for ports with a required interface.
-	 * Whereas operation and a behavior is added for each owned port, a behavior
-	 * (method) is needed for ports inherited from a component type (the
-	 * behavior is implementation specific, as it needs to take delegation to
-	 * parts into account)
-	 *
-	 * @param implementation
-	 */
-	static def addConnectPortOperation(Class implementation) {
-		for (PortInfo portInfo : PortUtils.flattenExtendedPorts(PortUtils.getAllPorts2(implementation))) {
-			val requiredIntf = portInfo.getRequired()
-			if (requiredIntf != null) {
-
-				// port requires an interface, add "connect_p" operation &
-				// implementation
-				val opName = PrefixConstants.connectQ_Prefix + portInfo.name
-
-				if (implementation.getOwnedOperation(opName, null, null) != null) {
-					// do not add the operation, if it already exists. This means that the
-					// user wants to override it with custom behavior. In case of extended
-					// ports, we may have to do that.
-				} else {
-					var op = implementation.createOwnedOperation(opName, null, null)
-					val boolean multiPort = (portInfo.getUpper() > 1) || (portInfo.getUpper() == -1) // -1 indicates "*"
-					if (multiPort) {
-
-						// add index parameter
-						val eLong = Utils.getQualifiedElement(PackageUtil.getRootPackage(implementation),
-							CompTypeTrafos.INDEX_TYPE_FOR_MULTI_RECEPTACLE)
-						if (eLong instanceof Type) {
-							op.createOwnedParameter("index", eLong as Type) 
-						} else {
-							throw new RuntimeException(
-								String.format(Messages.CompImplTrafos_CannotFindType,
-									CompTypeTrafos.INDEX_TYPE_FOR_MULTI_RECEPTACLE))
-						}
-					}
-					val refParam = op.createOwnedParameter("ref", requiredIntf) 
-					StereotypeUtil.apply(refParam, Ptr)
-
-					val behavior = implementation.createOwnedBehavior(opName, UMLPackage.eINSTANCE.getOpaqueBehavior()) as OpaqueBehavior
-
-					op.getMethods().add(behavior)
-
-					val ConnectorEnd ce = ConnectorUtil.getDelegation(implementation, portInfo.getModelPort())
-
-					// if there is an delegation to an inner property, delegate to it
-					// Make distinction between delegation to component (with a port) or
-					// "normal" class (without).
-					var String body
-					if (ce != null) {
-						val part = ce.partWithPort
-						body = part.name
-						val role = ce.role
-						if (role instanceof Port) {
-							// in case of a delegation, use name of target port which might be different
-							val targetOpName = PrefixConstants.connectQ_Prefix + role.name
-							body = '''«part.nameRef»«targetOpName»'''
-
-							// TODO: no check that multiplicity of both port matches
-							if ((portInfo.getUpper() > 1) || (portInfo.getUpper() == -1)) {
-								body += "(index, ref);";
-							}
-							else {
-								body += "(ref);";
-							}
-
-						} else {
-							// TODO: does this case make sense?
-							body += '''«part.name»;'''
-						}
-					} else {
-						// no delegation - create attribute for port
-						val attributeName = PrefixConstants.attributePrefix + portInfo.name
-						if (!Utils.hasNonPortOwnedAttribute(implementation, attributeName)) {
-							val attr = implementation.createOwnedAttribute(attributeName, requiredIntf)
-							LazyCopier.copyMultElemModifiers(portInfo.port, attr)
-
-							// is shared (should store a reference)
-							attr.setAggregation(AggregationKind.SHARED_LITERAL)
-						}
-						body = attributeName
-						if(multiPort) body += "[index]"
-						body += " = ref;"
-					}
-
-					// TODO: defined by template
-					behavior.getLanguages().add(Constants.progLang)
-					behavior.getBodies().add(body)
-
-					// -------------------------
-					// add body to get-connection operation (which exists already if the port is also
-					// owned, since it is synchronized automatically during model edit)
-					// getConnQ prefix may be empty to indicate that the port is accessed directly
-					// TODO: reconsider optimization that delegated required ports do not have a
-					// local attribute & associated operation (an inner class may delegate, but the
-					// composite may be using it as well).
-					if ((PrefixConstants.getConnQ_Prefix.length() > 0) && (ce != null)) {
-						val getConnOpName = PrefixConstants.getConnQ_Prefix + portInfo.name
-						var getConnOp = implementation.getOwnedOperation(getConnOpName, null, null)
-						if (getConnOp == null) {
-							getConnOp = implementation.createOwnedOperation(getConnOpName, null, null, requiredIntf)
-							val retParam = op.getOwnedParameters().get(0)
-							retParam.setName(Constants.retParamName)
-							StereotypeUtil.apply(retParam, Ptr)
-						}
-						val getConnBehavior = implementation.createOwnedBehavior(getConnOpName,
-							UMLPackage.eINSTANCE.getOpaqueBehavior()) as OpaqueBehavior
-						getConnOp.getMethods().add(getConnBehavior)
-
-						// no delegation
-						val String name = PrefixConstants.attributePrefix + portInfo.name
-						body = '''return «name»;'''
-						behavior.getLanguages().add(Constants.progLang)
-						behavior.getBodies().add(body)
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Add an operation "createConnections" that implements the connections
-	 * between composite parts. It only takes the assembly connections into
-	 * account, since delegation connectors are handled by the get_ and connect_
-	 * port operations above.
-	 *
-	 * @param implementation
-	 */
-	override addConnectionOperation(Class compositeImplementation) throws TransformationException {
-		var createConnBody = "" 
-		val Map<ConnectorEnd, Integer> indexMap = new HashMap<ConnectorEnd, Integer>()
-
-		for (Connector connector : compositeImplementation.getOwnedConnectors()) {
-			if (ConnectorUtil.isAssembly(connector)) {
-
-				// Boolean associationBased = false
-				if (connector.ends.size() != 2) {
-					throw new TransformationException(
-						'''Connector <«connector.name»> does not have two ends. This is currently not supported''')
-				}
-				val end1 = connector.ends.get(0)
-				val end2 = connector.ends.get(1)
-				var cmd = '''// realization of connector <«connector.name»>\n'''
-				if ((end1.role instanceof Port) && PortUtils.isExtendedPort(end1.role as Port)) {
-					val port = end1.role as Port
-					val EList<PortInfo> subPorts = PortUtils.flattenExtendedPort(port)
-					for (PortInfo subPort : subPorts) {
-						cmd += '''  // realization of connection for sub-port «subPort.port.name»\n'''
-						cmd += connectPorts(indexMap, connector, end1, end2, subPort.port)
-						cmd += connectPorts(indexMap, connector, end2, end1, subPort.port)
-					}
-				} else {
-					cmd += connectPorts(indexMap, connector, end1, end2, null)
-					cmd += connectPorts(indexMap, connector, end2, end1, null)
-				}
-				createConnBody += cmd + "\n" 
-			}
-		}
-
-		// TODO: use template, as in bootloader
-		if (createConnBody.length() > 0) {
-			val operation = compositeImplementation.createOwnedOperation(Constants.CREATE_CONNECTIONS, null, null)
-
-			val behavior = compositeImplementation.createOwnedBehavior("b:" + operation.name, 
-				UMLPackage.eINSTANCE.getOpaqueBehavior()) as OpaqueBehavior
-			behavior.getLanguages().add(Constants.progLang)
-			behavior.getBodies().add(createConnBody)
-			behavior.setSpecification(operation)
-		}
-	}
-
-	/**
-	 * Create the body C++ code code that creates a connection between the two ends
-	 * of a connector. This function checks whether the first end really is a receptacle
-	 * and the second really is a facet.
-	 * TODO: cleaner rewrite in xtend
-	 * 
-	 * @param indexMap
-	 *            a map of indices that are used in case of multiplex
-	 *            receptacles
-	 * @param connector
-	 *            a connector
-	 * @param receptacleEnd
-	 *            an end of the connector that may point to a receptacle port
-	 * @param facetEnd
-	 *            an end of the connector that may point to a facet port
-	 * @param subPort
-	 *            a sub-port in case of extended ports
-	 * @return
-	 * @throws TransformationException
-	 */
-	static def connectPorts(Map<ConnectorEnd, Integer> indexMap, Connector connector, ConnectorEnd receptacleEnd,
-		ConnectorEnd facetEnd, Port subPort) throws TransformationException {
-		val association = connector.type
-		if ((receptacleEnd.role instanceof Port) && (facetEnd.role instanceof Port)) {
-			val facetPort = facetEnd.role as Port
-			val receptaclePort = receptacleEnd.role as Port
-			val facetPI = PortInfo.fromSubPort(facetPort, subPort)
-			val receptaclePI = PortInfo.fromSubPort(receptaclePort, subPort)
-
-			if ((facetPI.getProvided() != null) && (receptaclePI.getRequired() != null)) {
-				val facetPart = facetEnd.partWithPort
-				val receptaclePart = receptacleEnd.partWithPort
-
-				var subPortName = ""
-				if(subPort != null) subPortName += "_" + subPort.name
-				val indexName = getIndexName(indexMap, receptaclePort, receptacleEnd)
-				val setter = '''«receptaclePart.nameRef»connect_«receptaclePort.name» «subPortName»;'''
-				val getter = '''«facetPart.nameRef»get_«facetPort.name» «subPortName»()'''
-				return '''«setter»(«indexName»«getter»);\n'''
-				}
-
-		} else if (receptacleEnd.role instanceof Port) {
-
-			// only the receptacle end is of type port.
-			val Port receptaclePort = receptacleEnd.role as Port
-			if (PortUtils.getRequired(receptaclePort) != null) {
-				val facetPart = facetEnd.role as Property
-				val receptaclePart = facetEnd.partWithPort
-
-				val indexName = getIndexName(indexMap, receptaclePort, receptacleEnd)
-				val setter = '''«receptaclePart.nameRef»connect_«receptaclePort.name»'''
-				val getter = '''&«facetPart.name»'''
-				return '''«setter»(«indexName»«getter»);\n'''
-			}
-		} else if (facetEnd.role instanceof Port) {
-
-			// only the facet end is of type port. Unsupported combination
-			val facetPort = facetEnd.role as Port
-			if (PortUtils.getProvided(facetPort) != null) {
-				val facetPart = facetEnd.partWithPort
-				val receptaclePart = facetEnd.role as Property
-
-				val setter = receptaclePart.name
-				val getter = '''«facetPart.nameRef»get_«facetPort.name»();'''
-				return '''«setter» = «getter»;\n'''
-			}
-		} else if (association != null) {
-
-			// both connector ends do not target ports. In this case, we require that the connector is typed
-			// with an association. We use this association to find out which end is navigable and assume that
-			// the part pointed to by the other end is a pointer that gets initialized with the part of the
-			// navigable end.
-			val facetPart = facetEnd.role as Property
-			val receptaclePart = receptacleEnd.role as Property
-
-			val assocProp1 = association.getMemberEnd(null, facetPart.type)
-
-			// Property assocProp2 = facetPart.getOtherEnd()
-			if ((assocProp1 != null) && assocProp1.isNavigable) {
-				val setter = '''«receptaclePart.nameRef»«assocProp1.name»'''
-				val getter = '''&«facetPart.name»'''
-				return '''«setter» = «getter»;\n'''
-			}
-		} else {
-
-			// not handled (a connector not targeting a port must be typed)
-			throw new TransformationException(
-				"Connector <" + connector.name + 
-					"> does not use ports, but it is not typed (only connectors between ports should not be typed)") 
-		}
-		return "" 
-	}
-
-	/**
-	 * Handle ports with multiplicity > 1. The idea is that we could have
-	 * multiple connections targeting a receptacle. The first connection would
-	 * start with index 0. Implementations can make no assumption which
-	 * connection is associated with a certain index. [want to avoid associative
-	 * array in runtime].
-	 *
-	 * @param port
-	 * @param end
-	 * @return
-	 */
-	static def getIndexName(Map<ConnectorEnd, Integer> indexMap, Port port, ConnectorEnd end) {
-		if ((port.getUpper() > 1) || (port.getUpper() == -1)) {
-
-			// index depends of combination of property and port, use connector
-			// end as key
-			var indexValue = indexMap.get(end)
-			if (indexValue == null) {
-				indexValue = 0
-				indexMap.put(end, indexValue)
-			}
-			var index = indexValue + ", " 
-			indexValue++
-			indexMap.put(end, indexValue)
-			return index
-		}
-		return ""
-	}
-
-	/**
-	 * Transform parts if necessary.
-	 * 
-	 * @param compositeImplementation
-	 *            a (composite) component
-	 */
-	override transformParts(Class compositeImplementation) {
-
-/*
-		for (Property attribute : Utils.getParts(compositeImplementation)) {
-			val type = attribute.type
-			if (type instanceof Class) {
-				val cl = type as Class
-
-				// always transform into pointer (enable dynamic creation)
-				StereotypeUtil.apply(attribute, Ptr)
-			}
-		}
-*/	
-		var String initPartsBody = ""
-		for (Property attribute : Utils.getParts(compositeImplementation)) {
-			val type = attribute.type;
-			if (type instanceof Class) {
-				initPartsBody += initPartBody(attribute);
-				attribute.destroy();
-			}
-		}
-		
-		val partManager = Utils.getQualifiedElement(PackageUtil.getRootPackage(compositeImplementation), PART_MANAGER);
-		if (partManager instanceof Type) {
-			compositeImplementation.createOwnedAttribute(PARTS, partManager as Type);
-		}
-		
-		val operation = compositeImplementation.createOwnedOperation(INIT_PARTS, null, null);
-
-		val behavior = compositeImplementation.createOwnedBehavior("b:" + operation.name, UMLPackage.eINSTANCE.opaqueBehavior)
-			as OpaqueBehavior 
-		behavior.getLanguages().add(progLang);
-		behavior.getBodies().add(initPartsBody);
-	}
-	
-	def initPartBody(Property part) {
-		"parts.add(" + part.getName() + ", " + part.getType() + ")"
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.cpp/src/org/eclipse/papyrus/designer/components/transformation/cpp/xtend/StaticCppToOO.xtend b/components/org.eclipse.papyrus.designer.components.transformation.cpp/src/org/eclipse/papyrus/designer/components/transformation/cpp/xtend/StaticCppToOO.xtend
index 3ff8790..cd1e1d2 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.cpp/src/org/eclipse/papyrus/designer/components/transformation/cpp/xtend/StaticCppToOO.xtend
+++ b/components/org.eclipse.papyrus.designer.components.transformation.cpp/src/org/eclipse/papyrus/designer/components/transformation/cpp/xtend/StaticCppToOO.xtend
@@ -13,22 +13,13 @@
  *****************************************************************************/
 package org.eclipse.papyrus.designer.components.transformation.cpp.xtend
 
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.IOOTrafo
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier
-import org.eclipse.uml2.uml.Class
-import org.eclipse.uml2.uml.Property
-import org.eclipse.uml2.uml.Port
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException
-import org.eclipse.papyrus.designer.components.transformation.core.PortInfo
-import org.eclipse.papyrus.designer.components.transformation.core.PortUtils
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.PrefixConstants
-import org.eclipse.papyrus.designer.components.transformation.core.Utils
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.CompTypeTrafos
 import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
 import org.eclipse.uml2.uml.AggregationKind
 import org.eclipse.uml2.uml.UMLPackage
 import org.eclipse.uml2.uml.OpaqueBehavior
 import org.eclipse.uml2.uml.ConnectorEnd
+import org.eclipse.uml2.uml.Class
+import org.eclipse.uml2.uml.Property
 import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil
 import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Ptr
 import org.eclipse.uml2.uml.Type
@@ -40,7 +31,17 @@
 import org.eclipse.papyrus.designer.components.transformation.cpp.Messages
 import org.eclipse.papyrus.designer.components.transformation.cpp.Constants
 import static extension org.eclipse.papyrus.designer.components.transformation.cpp.xtend.CppUtils.nameRef;
-import org.eclipse.papyrus.uml.tools.utils.PackageUtil
+import org.eclipse.papyrus.designer.components.transformation.extensions.IOOTrafo
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier
+import org.eclipse.papyrus.designer.components.transformation.PortInfo
+import org.eclipse.papyrus.designer.components.transformation.PortUtils
+import org.eclipse.uml2.uml.Port
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException
+import org.eclipse.papyrus.designer.components.FCM.Assembly
+import org.eclipse.papyrus.designer.transformation.base.utils.CopyUtils
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils
+import org.eclipse.papyrus.designer.components.transformation.component.PrefixConstants
+import org.eclipse.papyrus.designer.components.transformation.component.PrefixConstants.CIFvariant
 
 /**
  * This class realizes the transformation from component-based to object-oriented
@@ -69,12 +70,13 @@
 	protected LazyCopier copier
 
 	def override init(LazyCopier copier, Class bootloader) {
+		PrefixConstants.init(CIFvariant.UML);
 		this.copier = copier
 	}
 
 	override addPortOperations(Class implementation) {
 		// only implementations (non abstract classes) have get operations for ports
-		if (Utils.isCompImpl(implementation)) {
+		if (!implementation.isAbstract) {
 			addGetPortOperation(implementation)
 		}
 		// but all classes need a connection operation, since it does not rely on an implementation 
@@ -201,8 +203,8 @@
 					if (multiPort) {
 
 						// add index parameter
-						var eLong = Utils.getQualifiedElement(copier.source,
-							CompTypeTrafos.INDEX_TYPE_FOR_MULTI_RECEPTACLE)
+						var eLong = ElementUtils.getQualifiedElementFromRS(copier.source,
+							PrefixConstants.INDEX_TYPE_FOR_MULTI_RECEPTACLE)
 						if (eLong != null) {
 							eLong = copier.getCopy(eLong);
 						}
@@ -211,7 +213,7 @@
 						} else {
 							throw new RuntimeException(
 								String.format(Messages.CompImplTrafos_CannotFindType,
-									CompTypeTrafos.INDEX_TYPE_FOR_MULTI_RECEPTACLE))
+									PrefixConstants.INDEX_TYPE_FOR_MULTI_RECEPTACLE))
 						}
 					}
 					val refParam = op.createOwnedParameter("ref", requiredIntf)
@@ -251,9 +253,10 @@
 					} else {
 						// no delegation - create attribute for port
 						val attributeName = PrefixConstants.attributePrefix + portInfo.name
-						if (!Utils.hasNonPortOwnedAttribute(implementation, attributeName)) {
-							val attr = implementation.createOwnedAttribute(attributeName, requiredIntf)
-							LazyCopier.copyMultElemModifiers(portInfo.port, attr)
+						var attr = implementation.getOwnedAttribute(attributeName, null)
+						if (attr == null || attr instanceof Port) {
+							attr = implementation.createOwnedAttribute(attributeName, requiredIntf)
+							CopyUtils.copyMultElemModifiers(portInfo.port, attr)
 
 							// is shared (should store a reference)
 							attr.setAggregation(AggregationKind.SHARED_LITERAL)
@@ -496,7 +499,7 @@
 	 * @return
 	 */
 	static def instantiateViaBootloader(Class implementation) {
-		return implementation.isAbstract() || Utils.isAssembly(implementation)
+		return implementation.isAbstract() || StereotypeUtil.isApplied(implementation, Assembly)
 	}
 
 	/**
@@ -537,7 +540,7 @@
 	 */
 	override transformParts(Class compositeImplementation) {
 
-		for (Property attribute : Utils.getParts(compositeImplementation)) {
+		for (Property attribute : ElementUtils.getParts(compositeImplementation)) {
 			val type = attribute.type
 			if (type instanceof Class) {
 				val cl = type as Class
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.java/META-INF/MANIFEST.MF b/components/org.eclipse.papyrus.designer.components.transformation.java/META-INF/MANIFEST.MF
index 47df5b9..1e5daba 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.java/META-INF/MANIFEST.MF
+++ b/components/org.eclipse.papyrus.designer.components.transformation.java/META-INF/MANIFEST.MF
@@ -3,12 +3,15 @@
  org.eclipse.core.runtime,
  org.eclipse.uml2.uml;bundle-version="5.0.1",
  org.eclipse.papyrus.uml.tools.utils;bundle-version="1.2.0",
- org.eclipse.papyrus.designer.components.transformation.core;bundle-version="0.7.4",
+ org.eclipse.papyrus.designer.components.transformation;bundle-version="0.7.4",
  com.google.guava,
  org.eclipse.xtext.xbase.lib,
  org.eclipse.xtend.lib,
  org.eclipse.xtend.lib.macro,
- org.eclipse.papyrus.uml.tools;bundle-version="1.2.0"
+ org.eclipse.papyrus.uml.tools;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.transformation.core;bundle-version="0.7.4",
+ org.eclipse.papyrus.designer.transformation.base;bundle-version="0.7.4",
+ org.eclipse.papyrus.designer.components.fcm.profile;bundle-version="0.7.4"
 Bundle-Vendor: %providerName
 Bundle-ActivationPolicy: lazy
 Bundle-Version: 0.7.5.qualifier
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.java/build.properties b/components/org.eclipse.papyrus.designer.components.transformation.java/build.properties
index 3fa3c74..077fcf8 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.java/build.properties
+++ b/components/org.eclipse.papyrus.designer.components.transformation.java/build.properties
@@ -1,6 +1,6 @@
 source.. = src/,\
            xtend-gen/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                about.html,\
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.java/plugin.xml b/components/org.eclipse.papyrus.designer.components.transformation.java/plugin.xml
index f76771d..b79238e 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.java/plugin.xml
+++ b/components/org.eclipse.papyrus.designer.components.transformation.java/plugin.xml
@@ -2,7 +2,7 @@
 <?eclipse version="3.4"?>
 <plugin>
    <extension
-         point="org.eclipse.papyrus.designer.components.transformation.core.ooTransformation">
+         point="org.eclipse.papyrus.designer.components.transformation.ooTransformation">
       <client
             class="org.eclipse.papyrus.designer.components.transformation.java.xtend.JavaToOO"
             ooTrafoID="org.eclipse.papyrus.designer.components.transformation.java.Java">
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.java/src/org/eclipse/papyrus/designer/components/transformation/java/xtend/JavaToOO.xtend b/components/org.eclipse.papyrus.designer.components.transformation.java/src/org/eclipse/papyrus/designer/components/transformation/java/xtend/JavaToOO.xtend
index b35d29b..216f31b 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.java/src/org/eclipse/papyrus/designer/components/transformation/java/xtend/JavaToOO.xtend
+++ b/components/org.eclipse.papyrus.designer.components.transformation.java/src/org/eclipse/papyrus/designer/components/transformation/java/xtend/JavaToOO.xtend
@@ -13,16 +13,12 @@
  *****************************************************************************/
 package org.eclipse.papyrus.designer.components.transformation.java.xtend
 
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.LazyCopier
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier
 import org.eclipse.uml2.uml.Class
 import org.eclipse.uml2.uml.Property
 import org.eclipse.uml2.uml.Port
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException
-import org.eclipse.papyrus.designer.components.transformation.core.PortInfo
-import org.eclipse.papyrus.designer.components.transformation.core.PortUtils
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.PrefixConstants
-import org.eclipse.papyrus.designer.components.transformation.core.Utils
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.CompTypeTrafos
+import org.eclipse.papyrus.designer.components.transformation.PortInfo
+import org.eclipse.papyrus.designer.components.transformation.PortUtils
 import org.eclipse.uml2.uml.AggregationKind
 import org.eclipse.uml2.uml.UMLPackage
 import org.eclipse.uml2.uml.OpaqueBehavior
@@ -35,8 +31,15 @@
 import org.eclipse.emf.common.util.EList
 import org.eclipse.uml2.uml.StructuralFeature
 import org.eclipse.papyrus.designer.components.transformation.java.Messages
-import org.eclipse.papyrus.designer.components.transformation.core.extensions.IOOTrafo
+import org.eclipse.papyrus.designer.components.transformation.extensions.IOOTrafo
 import org.eclipse.papyrus.uml.tools.utils.PackageUtil
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
+import org.eclipse.papyrus.designer.components.FCM.Assembly
+import org.eclipse.papyrus.designer.transformation.base.utils.CopyUtils
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils
+import org.eclipse.papyrus.designer.components.transformation.component.PrefixConstants
+import org.eclipse.papyrus.designer.components.transformation.component.PrefixConstants.CIFvariant
 
 /**
  * This class realizes the transformation from component-based to object-oriented
@@ -72,6 +75,7 @@
 	protected Class bootloader // why required?
 
 	override init(LazyCopier copier, Class bootloader) {
+		PrefixConstants.init(CIFvariant.UML);
 		this.copier = copier
 		this.bootloader = bootloader
 	}
@@ -209,14 +213,14 @@
 					if (multiPort) {
 
 						// add index parameter
-						val eLong = Utils.getQualifiedElement(PackageUtil.getRootPackage(implementation),
-							CompTypeTrafos.INDEX_TYPE_FOR_MULTI_RECEPTACLE)
+						val eLong = ElementUtils.getQualifiedElementFromRS(implementation,
+							PrefixConstants.INDEX_TYPE_FOR_MULTI_RECEPTACLE)
 						if (eLong instanceof Type) {
 							op.createOwnedParameter("index", eLong as Type) 
 						} else {
 							throw new RuntimeException(
 								String.format(Messages.CompImplTrafos_CannotFindType,
-									CompTypeTrafos.INDEX_TYPE_FOR_MULTI_RECEPTACLE))
+									PrefixConstants.INDEX_TYPE_FOR_MULTI_RECEPTACLE))
 						}
 					}
 					val refParam = op.createOwnedParameter("ref", requiredIntf) 
@@ -255,9 +259,10 @@
 					} else {
 						// no delegation - create attribute for port
 						val attributeName = PrefixConstants.attributePrefix + portInfo.name
-						if (!Utils.hasNonPortOwnedAttribute(implementation, attributeName)) {
-							val attr = implementation.createOwnedAttribute(attributeName, requiredIntf)
-							LazyCopier.copyMultElemModifiers(portInfo.port, attr)
+						var attr = implementation.getOwnedAttribute(attributeName, null)
+						if (attr == null || attr instanceof Port) {
+							attr = implementation.createOwnedAttribute(attributeName, requiredIntf)
+							CopyUtils.copyMultElemModifiers(portInfo.port, attr)
 
 							// is shared (should store a reference)
 							attr.setAggregation(AggregationKind.SHARED_LITERAL)
@@ -501,7 +506,7 @@
 	 * @return
 	 */
 	static def instantiateViaBootloader(Class implementation) {
-		return implementation.isAbstract() || Utils.isAssembly(implementation)
+		return implementation.isAbstract() || StereotypeUtil.isApplied(implementation, Assembly)
 	}
 
 	/**
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/META-INF/MANIFEST.MF b/components/org.eclipse.papyrus.designer.components.transformation.ui/META-INF/MANIFEST.MF
index 0b30599..fa6261f 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/META-INF/MANIFEST.MF
+++ b/components/org.eclipse.papyrus.designer.components.transformation.ui/META-INF/MANIFEST.MF
@@ -20,9 +20,12 @@
  org.eclipse.papyrus.infra.emf;bundle-version="1.2.0",
  org.eclipse.papyrus.uml.tools.utils;bundle-version="1.2.0",
  org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="1.2.0",
- org.eclipse.papyrus.designer.components.transformation.core;bundle-version="0.7.4",
+ org.eclipse.papyrus.designer.components.transformation;bundle-version="0.7.4",
  org.eclipse.papyrus.designer.ui;bundle-version="0.7.4",
- org.eclipse.papyrus.infra.ui.emf;bundle-version="1.2.0"
+ org.eclipse.papyrus.infra.ui.emf;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.transformation.base;bundle-version="0.7.4",
+ org.eclipse.papyrus.designer.transformation.core;bundle-version="0.7.4",
+ org.eclipse.papyrus.designer.transformation.ui;bundle-version="0.7.4"
 Bundle-Vendor: %providerName
 Bundle-ActivationPolicy: lazy
 Bundle-Version: 0.7.5.qualifier
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/build.properties b/components/org.eclipse.papyrus.designer.components.transformation.ui/build.properties
index f1e29af..dcd652e 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/build.properties
+++ b/components/org.eclipse.papyrus.designer.components.transformation.ui/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.properties,\
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/plugin.xml b/components/org.eclipse.papyrus.designer.components.transformation.ui/plugin.xml
index 87f711b..79419a4 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/plugin.xml
+++ b/components/org.eclipse.papyrus.designer.components.transformation.ui/plugin.xml
@@ -5,34 +5,6 @@
          point="org.eclipse.ui.commands">
       <command
             categoryId="org.eclipse.papyrus.editor.category"
-            defaultHandler="org.eclipse.papyrus.designer.components.transformation.ui.handlers.CreateDepPlanHandler"
-            description="Create deployment plan"
-            id="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.CreateDepPlanCmd"
-            name="dummy">
-      </command>
-      <command
-            categoryId="org.eclipse.papyrus.editor.category"
-            defaultHandler="org.eclipse.papyrus.designer.components.transformation.ui.handlers.CreatePlatformHandler"
-            description="Create platform definition"
-            id="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.CreatePlatformCmd"
-            name="dummy">
-      </command>
-      <command
-            categoryId="org.eclipse.papyrus.editor.category"
-            defaultHandler="org.eclipse.papyrus.designer.components.transformation.ui.handlers.InstantiateDepPlanHandler"
-            description="Generate deployment models and code from plan"
-            id="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.InstantiateDepPlanCmd"
-            name="dummy">
-      </command>
-      <command
-            categoryId="org.eclipse.papyrus.editor.category"
-            defaultHandler="org.eclipse.papyrus.designer.components.transformation.ui.handlers.SyncHandler"
-            description="Synchronize derived elements"
-            id="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.SyncCmd"
-            name="dummy">
-      </command>
-      <command
-            categoryId="org.eclipse.papyrus.editor.category"
             defaultHandler="org.eclipse.papyrus.designer.components.transformation.ui.handlers.SelectConnectorHandler"
             description="Choose connector type and implementation"
             id="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.SelectionConnectorCmd"
@@ -47,13 +19,6 @@
       </command>
       <command
             categoryId="org.eclipse.papyrus.editor.category"
-            defaultHandler="org.eclipse.papyrus.designer.components.transformation.ui.handlers.ConfigureInstanceHandler"
-            description="Configure instance"
-            id="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.ConfigureInstanceCmd"
-            name="dummy">
-      </command>
-      <command
-            categoryId="org.eclipse.papyrus.editor.category"
             defaultHandler="org.eclipse.papyrus.designer.components.transformation.ui.handlers.ConfigurePortHandler"
             description="Configure ports"
             id="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.ConfigurePortsCmd"
@@ -66,75 +31,12 @@
             id="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.AddProfileAndModelLibsCmd"
             name="dummy">
       </command>
-      <command
-            categoryId="org.eclipse.papyrus.editor.category"
-            defaultHandler="org.eclipse.papyrus.designer.components.transformation.ui.handlers.AllocateHandler"
-            description="Allocate to node"
-            id="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.AllocateCmd"
-            name="dummy">
-      </command>
-      <command
-            categoryId="org.eclipse.papyrus.editor.category"
-            defaultHandler="org.eclipse.papyrus.designer.components.transformation.ui.handlers.TrafoAndCodegenHandler"
-            description="dummy"
-            id="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.TrafoAndCodegenCmd"
-            name="dummy">
-      </command>
    </extension>
    <extension
          point="org.eclipse.ui.menus">
 	<menuContribution
 		allPopups="false"
 		locationURI="popup:org.eclipse.papyrus.designer.popup?after=designer">
-		<command
-               commandId="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.CreateDepPlanCmd"
-               icon="icons/depPlan.gif"   
-               
-               id="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.CreateDepPlanMenu"
-               label="Create deployment plan"
-               mnemonic="d"
-               mode="FORCE_TEXT"
-               style="push">
-            <visibleWhen
-                  checkEnabled="true">
-            </visibleWhen>
-         </command>
-         <command
-               commandId="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.CreatePlatformCmd"
-               icon="icons/depPlan.gif"
-               id="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.CreatePlatformMenu"
-               label="Create platform definition"
-               mnemonic="d"
-               mode="FORCE_TEXT"
-               style="push">
-            <visibleWhen
-                  checkEnabled="true">
-            </visibleWhen>
-         </command>
-         <command
-               commandId="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.SyncCmd"
-               icon="icons/sync.gif"
-               id="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.SyncMenu"
-               label="Synchronize derived elements"
-               mnemonic="s"
-               mode="FORCE_TEXT"
-               style="push">
-            <visibleWhen
-                  checkEnabled="true">
-            </visibleWhen>
-         </command>
-         <command
-               commandId="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.InstantiateDepPlanCmd"
-               icon="icons/deploy.gif"
-               id="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.CreateDepPlanMenu"
-               label="Generate deployment models and code from plan"
-               mnemonic="g"
-               mode="FORCE_TEXT"
-               style="push">
-            <visibleWhen
-                  checkEnabled="true">
-            </visibleWhen>
-         </command>
           <command
                commandId="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.SelectionConnectorCmd"
                icon="icons/selConnector.gif"
@@ -159,17 +61,6 @@
             </visibleWhen>
          </command>
          <command
-               commandId="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.ConfigureInstanceCmd"
-               icon="icons/selContainer.gif"
-               id="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.ConfigureInstanceMenu"
-               label="Configure instance properties"
-               mode="FORCE_TEXT"
-               style="push">
-            <visibleWhen
-                  checkEnabled="true">
-            </visibleWhen>
-         </command>
-         <command
                commandId="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.ConfigurePortsCmd"
                icon="icons/selContainer.gif"
                id="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.ConfigurePortsMenu"
@@ -190,42 +81,6 @@
                   checkEnabled="true">
             </visibleWhen>
          </command>
-         <command
-               commandId="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.AllocateCmd"
-               icon="icons/allocation.gif"
-               id="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.AllocateMenu"
-               label="Allocate to node"
-               mnemonic="A"
-               style="push">
-            <visibleWhen
-                  checkEnabled="true">
-            </visibleWhen>
-         </command>
-         <command
-               commandId="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.TrafoAndCodegenCmd"
-               icon="icons/deploy.gif"
-               id="org.eclipse.papyrus.designer.components.transformation.ui.menuActions.TrafoAndCodegenCmd"
-               label="Execute transformation and generate code (w/o deployment)"
-               style="push">
-            <visibleWhen
-                  checkEnabled="true">
-            </visibleWhen>
-         </command>
 	</menuContribution>
 	</extension>
-	<extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            category="org.eclipse.papyrus.infra.core.sasheditor.preferences.generalcategory"
-            class="org.eclipse.papyrus.designer.components.transformation.ui.preferences.PapyrusDesignerPreferencePage"
-            id="org.eclipse.papyrus.designer.components.transformation.ui.preferences.PapyrusDesignerPreferencePage_ID"
-            name="Papyrus designer preferences">
-      </page>
-    </extension>
-    <extension
-         point="org.eclipse.core.runtime.preferences">
-      <initializer
-            class="org.eclipse.papyrus.designer.components.transformation.ui.preferences.PapyrusDesignerPreferenceInitializer">
-      </initializer>
-    </extension>
 </plugin>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/AllocationDialog.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/AllocationDialog.java
deleted file mode 100644
index ce7c8d1..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/AllocationDialog.java
+++ /dev/null
@@ -1,311 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.ui.dialogs;
-
-import org.eclipse.draw2d.Label;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.emf.workspace.AbstractEMFOperation;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource;
-import org.eclipse.papyrus.infra.widgets.toolbox.utils.DialogUtils;
-import org.eclipse.papyrus.designer.components.FCM.DeploymentPlan;
-import org.eclipse.papyrus.designer.components.transformation.core.CommandSupport;
-import org.eclipse.papyrus.designer.components.transformation.core.ElementFilter;
-import org.eclipse.papyrus.designer.components.transformation.core.commands.AddMarteAndFcmProfile;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.AllocUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.BootLoaderGen;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepUtils;
-import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.dialogs.SelectionStatusDialog;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * Allocate elements in a deployment plan to a node or thread
- *
- */
-public class AllocationDialog extends SelectionStatusDialog {
-
-	private DeploymentPlan m_cdp;
-
-	private Tree fTree;
-
-	private Label fLabel;
-
-	private Combo fAlloc;
-
-	private InstanceSpecification currentIS;
-
-	private EList<InstanceSpecification> nodeOrThreadList;
-
-	public AllocationDialog(Shell parent, Package cdp) {
-		super(parent);
-		m_cdp = UMLUtil.getStereotypeApplication(cdp, DeploymentPlan.class);
-		nodeOrThreadList = new BasicEList<InstanceSpecification>();
-		nodeOrThreadList.add(null); // dummy entry for no allocation
-		DepUtils.getAllInstances(cdp.getModel(), nodeOrThreadList, new ElementFilter() {
-
-			@Override
-			public boolean acceptElement(Element element) {
-				if (element instanceof InstanceSpecification) {
-					InstanceSpecification instance = (InstanceSpecification) element;
-					if (instance.getName() == null) {
-						// donn't allocate to root element (detectable via the empty name)
-						return false;
-					}
-					Classifier cl = DepUtils.getClassifier(instance);
-					if (cl instanceof Class) {
-						if (StereotypeUtil.isApplied(cl, SwSchedulableResource.class)) {
-							// threads are valid allocation targets. Therefore, threads are always added to
-							// list, even if within a deployment plan.
-							return true;
-						}
-						if (StereotypeUtil.isApplied(instance.getNearestPackage(), DeploymentPlan.class)) {
-							// instance is part of a deployment plan => don't add to list.
-							return false;
-						}
-						return true;
-					}
-				}
-				return false;
-			}
-		});
-	}
-
-	/**
-	 * @see SelectionStatusDialog#computeResult()
-	 */
-	@Override
-	protected void computeResult() {
-		// nothing to do
-	}
-
-	@Override
-	public Control createDialogArea(Composite parent) {
-		Composite contents = (Composite) super.createDialogArea(parent);
-		// (parent, "Container rules", "Avail. extensions/interceptors");
-
-		fTree = new Tree(contents, SWT.H_SCROLL | SWT.BORDER);
-		fTree.setHeaderVisible(true);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		fTree.setLayoutData(data);
-		data.heightHint = 150;
-		// data.widthHint = 200;
-
-		// Turn off drawing to avoid flicker
-		fTree.setRedraw(false);
-
-		TreeColumn instances = new TreeColumn(fTree, SWT.LEFT);
-		instances.setText("Instance");
-		instances.setWidth(200);
-		TreeColumn explicitAlloc = new TreeColumn(fTree, SWT.LEFT);
-		explicitAlloc.setText("explicit allocation");
-		explicitAlloc.setWidth(150);
-		TreeColumn implicitAlloc = new TreeColumn(fTree, SWT.LEFT);
-		implicitAlloc.setText("implicit allocation");
-		implicitAlloc.setWidth(150);
-
-		fillTree(fTree, null, m_cdp.getMainInstance());
-
-		// Turn drawing back on!
-		fTree.setRedraw(true);
-
-		fTree.addSelectionListener(new SelectionAdapter() {
-
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				if (fTree.getSelection().length > 0) {
-					selectInstance(fTree.getSelection()[0]);
-				}
-			}
-		});
-
-		Label label = new Label();
-		label.setText("seletected instance:");
-		fLabel = new Label();
-
-		createAllocInfo(contents);
-		return contents;
-	}
-
-	/**
-	 * Helper method to fill a tree with data
-	 *
-	 * @param tree
-	 *            the tree to fill
-	 */
-	private void fillTree(Tree tree, TreeItem treeItem, InstanceSpecification is) {
-		TreeItem item;
-		if (treeItem != null) {
-			item = new TreeItem(treeItem, SWT.NONE);
-		} else {
-			item = new TreeItem(tree, SWT.NONE);
-		}
-		item.setData(is);
-		setTextFromData(item);
-
-		// create children
-		for (InstanceSpecification subIS : DepUtils.getContainedNonSharedInstances(is)) {
-			fillTree(tree, item, subIS);
-		}
-	}
-
-	// obtain name and explicit/implicit node Allocation
-	protected void setTextFromData(TreeItem ti) {
-		Object data = ti.getData();
-		if (data instanceof InstanceSpecification) {
-			InstanceSpecification is = (InstanceSpecification) data;
-
-			String name = is.getName();
-			int index = name.lastIndexOf("."); //$NON-NLS-1$
-			if (index != -1) {
-				name = name.substring(index + 1);
-			}
-			InstanceSpecification explicitNodeOrThread = AllocUtils.getNodeOrThread(is);
-			Classifier cl = DepUtils.getClassifier(is);
-			String nodeName;
-			if (explicitNodeOrThread == null) {
-				nodeName = "-"; //$NON-NLS-1$
-			} else {
-				nodeName = getAllocName(explicitNodeOrThread);
-			}
-			if (cl instanceof Class) {
-				if (BootLoaderGen.hasUnconnectedStartRoutine(null, (Class) cl, null)) {
-					nodeName += " (main)"; //$NON-NLS-1$
-				}
-			}
-			EList<InstanceSpecification> implicitNodes = AllocUtils.getAllNodesOrThreadsParent(is);
-			implicitNodes.addAll(AllocUtils.getAllNodesOrThreadsParent(is));
-			String list = ""; //$NON-NLS-1$
-			for (InstanceSpecification node : implicitNodes) {
-				if (list.equals("")) { //$NON-NLS-1$
-					list = getAllocName(node);
-				} else {
-					list += ", " + getAllocName(node); //$NON-NLS-1$
-				}
-			}
-			ti.setText(new String[] { name, nodeName, "[" + list + "]" }); //$NON-NLS-1$//$NON-NLS-2$
-		}
-	}
-
-	protected void refreshTree(TreeItem ti) {
-		setTextFromData(ti);
-		for (TreeItem subItem : ti.getItems()) {
-			refreshTree(subItem);
-		}
-	}
-
-	private String getAllocName(InstanceSpecification nodeOrThread) {
-		if (nodeOrThread == null) {
-			return "no explicit allocation";
-		} else {
-			String name = nodeOrThread.getName();
-			InstanceSpecification threadNode = AllocUtils.getNode(nodeOrThread);
-			return name + (threadNode != null ? " on " + threadNode.getName() : "");
-		}
-	}
-
-	protected void createAllocInfo(Composite parent) {
-		// create extension kind combo
-		fAlloc = DialogUtils.createComboWithText(parent, "Alloc to node:",
-				SWT.DROP_DOWN | SWT.READ_ONLY, SWT.NONE);
-
-		String items[] = new String[nodeOrThreadList.size()];
-		int i = 0;
-		for (InstanceSpecification nodeOrThread : nodeOrThreadList) {
-			items[i++] = getAllocName(nodeOrThread);
-		}
-		fAlloc.setItems(items);
-		fAlloc.addSelectionListener(new SelectionAdapter() {
-
-			@Override
-			public void widgetSelected(SelectionEvent event) {
-				if (currentIS != null) {
-					updateAllocation(currentIS, fAlloc.getSelectionIndex());
-					// selectionCount should always be 1
-					for (TreeItem ti : fTree.getSelection()) {
-						refreshTree(ti);
-					}
-				}
-			}
-		});
-
-		fAlloc.setEnabled(false);
-	}
-
-	/**
-	 * Select a rule, i.e. update the visual representation from the rule
-	 *
-	 * @param rule
-	 */
-	protected void selectInstance(TreeItem item) {
-		// for (Port port : rule.getPortSet ()) {
-		// fPorts.setSelection()
-		// }
-		currentIS = (InstanceSpecification) item.getData();
-		fLabel.setText(currentIS.getName());
-
-		fAlloc.setEnabled(true);
-		InstanceSpecification nodeOrThread = AllocUtils.getNodeOrThread(currentIS);
-
-		for (int i = 0; i < nodeOrThreadList.size(); i++) {
-			if (nodeOrThreadList.get(i) == nodeOrThread) {
-				fAlloc.select(i);
-			}
-		}
-	}
-
-	private void updateAllocation(InstanceSpecification is, int index) {
-		InstanceSpecification oldNode = AllocUtils.getNodeOrThread(is);
-		InstanceSpecification newNode = nodeOrThreadList.get(index);
-
-		if (oldNode == newNode) {
-			return;
-		}
-
-		// add or update
-		if (oldNode == null) {
-			if (!AllocUtils.allocate(is, newNode)) {
-				if (MessageDialog.openQuestion(Display.getDefault().getActiveShell(), "Error",
-						"Stereotype application failed. The profile MARTE::Allocation is probably not applied. Try to apply it?")) {
-					AbstractEMFOperation applyProfile = new AddMarteAndFcmProfile(PackageUtil.getRootPackage(is), AddMarteAndFcmProfile.APPLY_ALLOC, TransactionUtil.getEditingDomain(is));
-					CommandSupport.exec(applyProfile);
-					AllocUtils.allocate(is, newNode);
-				}
-			}
-		} else {
-			AllocUtils.updateAllocation(is, oldNode, newNode);
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/AttributeLabelProvider.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/AttributeLabelProvider.java
deleted file mode 100644
index 749b317..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/AttributeLabelProvider.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.ui.dialogs;
-
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Type;
-
-public class AttributeLabelProvider extends LabelProvider {
-
-	@Override
-	public String getText(Object element) {
-		if (element instanceof Property) {
-			Property p = (Property) element;
-			Type type = p.getType();
-			return p.getClass_().getName() + "." + p.getName() + ((type != null) ?
-					" : " + type.getQualifiedName() :
-					"");
-		}
-		else {
-			return "invalid";
-		}
-	}
-};
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ChooseConfigOpt.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ChooseConfigOpt.java
deleted file mode 100644
index 7f4aaf3..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ChooseConfigOpt.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.ui.dialogs;
-
-import java.util.ArrayList;
-import java.util.Collections;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.designer.components.FCM.ConfigOption;
-import org.eclipse.papyrus.designer.components.FCM.ContainerRule;
-import org.eclipse.papyrus.uml.profile.ui.dialogs.AlphabeticalViewerSorter;
-import org.eclipse.papyrus.uml.profile.ui.dialogs.ChooseSetAssistedDialog;
-import org.eclipse.papyrus.uml.profile.ui.dialogs.IChooseDialog;
-import org.eclipse.papyrus.uml.properties.profile.ui.dialogs.StereotypeQualifiedLabelProvider;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Package;
-
-
-public class ChooseConfigOpt extends ChooseSetAssistedDialog implements IChooseDialog {
-
-	protected EList<Package> visitedPackages;
-
-	/**
-	 * LabelProvider for stereotype completion proposal provider with qualified names.
-	 */
-	final private StereotypeQualifiedLabelProvider qualifiedLabelProvider = new StereotypeQualifiedLabelProvider();
-
-	/**
-	 * Default Constructor.
-	 *
-	 * @param parentShell
-	 *            the parent shell
-	 * @param theElement
-	 *            the UML element to be modified
-	 */
-	public ChooseConfigOpt(Shell parentShell, Package model, ContainerRule rule) {
-		super(parentShell,
-				"Available configuration options: ",
-				"Applied configuration options: ");
-		labelProvider = new ConfigOptionLabelProvider();
-		decoratedContentProposalProvider = new ConfigOptContentProposalProvider();
-
-		for (ConfigOption option : rule.getForConfig()) {
-			selectedElementList.addElement(option.getBase_Class());
-		}
-
-		visitedPackages = new BasicEList<Package>();
-		EList<Class> configOptList = new BasicEList<Class>();
-		getAvailConfigOpts(model, configOptList);
-		for (Class current : configOptList) {
-			if (!selectedElementList.contains(current)) {
-				possibleElementList.addElement(current);
-			}
-		}
-	}
-
-	private void getAvailConfigOpts(Package pkg, EList<Class> configOptList) {
-		for (Element el : pkg.getMembers()) {
-			if (el instanceof Package) {
-				if (!visitedPackages.contains(el)) {
-					visitedPackages.add((Package) el);
-					getAvailConfigOpts((Package) el, configOptList);
-				}
-			} else if (el instanceof Class) {
-				if (StereotypeUtil.isApplied(el, ConfigOption.class)) {
-					configOptList.add((Class) el);
-				}
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see com.cea.papyrus.ui.dialogs.ChooseSetAssistedDialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	/**
-	 * Creates the dialog area.
-	 *
-	 * @param parent
-	 *            the parent
-	 *
-	 * @return the control
-	 */
-	@Override
-	protected Control createDialogArea(Composite parent) {
-		Control composite = super.createDialogArea(parent);
-
-		// Add 2 columns to the table area
-		// possibleElementsTable.setLinesVisible(true);
-		possibleElementsTable.setHeaderVisible(true);
-
-		// 1st column with image/checkboxes - NOTE: The SWT.CENTER has no effect!!
-		TableColumn column = new TableColumn(possibleElementsTable, SWT.CENTER, 0);
-		column.setText("Option");
-		column.setWidth(100);
-		column.addSelectionListener(new SelectionAdapter() {
-
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				possibleElementsTableViewer.setSorter(new AlphabeticalViewerSorter(0));
-			}
-		});
-
-		// 2nd column with task Description
-		column = new TableColumn(possibleElementsTable, SWT.LEFT, 1);
-		column.setText("Information");
-		column.setWidth(165);
-		// Add listener to column so tasks are sorted by description when clicked
-		column.addSelectionListener(new SelectionAdapter() {
-
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				possibleElementsTableViewer.setSorter(new AlphabeticalViewerSorter(1));
-			}
-		});
-
-		// set sorter to the possible element table viewer
-		possibleElementsTableViewer.setSorter(new AlphabeticalViewerSorter(0));
-
-		return composite;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see com.cea.papyrus.ui.dialogs.ChooseSetAssistedDialog#runAddElement(java.lang.String)
-	 */
-	/**
-	 * Run add element.
-	 *
-	 * @param name
-	 *            the name
-	 */
-	@Override
-	protected void runAddElement(String name) {
-		// find the stereotype in the list
-		Class option = null;
-		for (Object possibleElement : possibleElementList.getElements()) {
-			Class element = (Class) possibleElement;
-			if (name.equalsIgnoreCase(element.getName()) ||
-					name.equalsIgnoreCase(element.getQualifiedName())) {
-				option = element;
-			}
-		}
-		if (option != null) {
-			runActionAdd(option);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see com.cea.papyrus.ui.dialogs.ChooseSetAssistedDialog#isSelectableElement(java.lang.String)
-	 */
-	/**
-	 * Checks if is selectable element.
-	 *
-	 * @param text
-	 *            the text
-	 *
-	 * @return true, if is selectable element
-	 */
-	@Override
-	protected boolean isSelectableElement(String text) {
-		// iterate through all possibilities and return true if text corresponds
-		for (Object possibleElement : possibleElementList.getElements()) {
-			Class element = (Class) possibleElement;
-			if (text.equalsIgnoreCase(element.getName()) || text.equalsIgnoreCase(element.getQualifiedName())) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Content Proposal provider for stereotypes dialog. Propose the simple
-	 * name of the stereotype and its qualified name.
-	 *
-	 * @author Remi Schnekenburger
-	 */
-	public class ConfigOptContentProposalProvider extends DecoratedContentProposalProvider {
-
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see com.cea.papyrus.ui.dialogs.ChooseSetAssistedDialog.DecoratedContentProposalProvider#getProposals(java.lang.String, int)
-		 */
-		/**
-		 * Gets the proposals.
-		 *
-		 * @param contents
-		 *            the contents
-		 * @param position
-		 *            the position
-		 *
-		 * @return the proposals
-		 */
-		@Override
-		public DecoratedContentProposal[] getProposals(String contents, int position) {
-			ArrayList<DecoratedContentProposal> proposals = new ArrayList<DecoratedContentProposal>();
-
-			if (possibleElementList != null) {
-				for (Object configOptObj : possibleElementList.getElements()) {
-					final Class configOpt = (Class) configOptObj;
-					final String simpleName = configOpt.getName();
-					final String qualifiedName = configOpt.getQualifiedName();
-
-					if (position < simpleName.length() && contents.substring(0, position).equalsIgnoreCase(simpleName.substring(0, position))) {
-						proposals.add(new DecoratedContentProposal(configOpt, labelProvider));
-					}
-
-					if (position < qualifiedName.length() && contents.substring(0, position).equalsIgnoreCase(qualifiedName.substring(0, position))) {
-						proposals.add(new DecoratedContentProposal(configOpt, qualifiedLabelProvider));
-					}
-				}
-			}
-
-			Collections.sort(proposals);
-			return proposals.toArray(new DecoratedContentProposal[proposals.size()]);
-		}
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ChoosePorts.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ChoosePorts.java
index e25e46a..7288a0a 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ChoosePorts.java
+++ b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ChoosePorts.java
@@ -20,7 +20,7 @@
 import org.eclipse.emf.common.util.BasicEList;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.papyrus.designer.components.FCM.InterceptionRule;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
 import org.eclipse.papyrus.uml.profile.ui.dialogs.AlphabeticalViewerSorter;
 import org.eclipse.papyrus.uml.profile.ui.dialogs.ChooseSetAssistedDialog;
 import org.eclipse.papyrus.uml.profile.ui.dialogs.IChooseDialog;
@@ -74,7 +74,7 @@
 					possibleElementList.addElement(current);
 				}
 			}
-			for (Feature current : Utils.getAllElementsOfType(component, Feature.class)) {
+			for (Feature current : ElementUtils.getAllElementsOfType(component, Feature.class)) {
 				if (!selectedElementList.contains(current)) {
 					possibleElementList.addElement(current);
 				}
@@ -83,7 +83,7 @@
 			// global rule with intercept some policy
 			// choose all ports vs. ports of "standard components"
 			Package top = PackageUtil.getRootPackage(rule.getBase_Property());
-			for (Feature current : Utils.getAllElementsOfType(top, Feature.class)) {
+			for (Feature current : ElementUtils.getAllElementsOfType(top, Feature.class)) {
 				if (!selectedElementList.contains(current)) {
 					possibleElementList.addElement(current);
 				}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ConfigOptionLabelProvider.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ConfigOptionLabelProvider.java
deleted file mode 100644
index 2631835..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ConfigOptionLabelProvider.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.ui.dialogs;
-
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.papyrus.designer.components.transformation.core.Description;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.uml2.uml.Class;
-
-public class ConfigOptionLabelProvider extends LabelProvider implements ITableLabelProvider {
-
-	@Override
-	public String getText(Object element) {
-		return ((Class) element).getName();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
-	 */
-	@Override
-	public String getColumnText(Object element, int columnIndex) {
-		if (columnIndex == 0) {
-			return getText(element);
-		} else if (columnIndex == 1) {
-			return Description.getDescription((Class) element);
-		}
-		return null;
-	}
-
-	@Override
-	public Image getColumnImage(Object element, int columnIndex) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-};
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ConfigureInstanceDialog.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ConfigureInstanceDialog.java
deleted file mode 100644
index f8a95bd..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ConfigureInstanceDialog.java
+++ /dev/null
@@ -1,642 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.ui.dialogs;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.papyrus.infra.widgets.toolbox.utils.DialogUtils;
-import org.eclipse.papyrus.designer.components.FCM.ContainerRule;
-import org.eclipse.papyrus.designer.components.FCM.util.FCMUtil;
-import org.eclipse.papyrus.designer.components.transformation.core.ConfigUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.Description;
-import org.eclipse.papyrus.designer.components.transformation.core.ElementFilter;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepCreation;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepPlanUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.sync.DepPlanSync;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.dialogs.SelectionStatusDialog;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Connector;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Enumeration;
-import org.eclipse.uml2.uml.EnumerationLiteral;
-import org.eclipse.uml2.uml.Feature;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.InstanceValue;
-import org.eclipse.uml2.uml.LiteralBoolean;
-import org.eclipse.uml2.uml.LiteralInteger;
-import org.eclipse.uml2.uml.LiteralString;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Slot;
-import org.eclipse.uml2.uml.Type;
-import org.eclipse.uml2.uml.ValueSpecification;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * Select container rules, either from a list of globally defined rules or from
- * local rules which may be created "on the fly" by this dialog.
- *
- * TODO: extend rule application to instances (problematic, since rules
- * transformation is done on type level)
- */
-public class ConfigureInstanceDialog extends SelectionStatusDialog {
-
-	protected Class m_component;
-
-	protected Label fDescriptionLabel;
-
-	protected Text fDescription;
-
-	protected TreeViewer fInstanceList;
-
-	protected TableViewer fPropertyList;
-
-	protected Property m_currentAttribute;
-
-	protected final String valueLabelPrefix = "Value:"; //$NON-NLS-1$
-
-	protected Label fValueLabel;
-
-	protected Text fValue;
-
-	protected Combo fComboValue;
-
-	protected Package m_model;
-
-	protected Feature m_feature;
-
-	protected EList<Package> visitedPackages;
-
-	protected boolean m_rulePropertiesOnly;
-
-	protected InstanceSpecification m_instance;
-
-	EList<InstanceSpecification> m_instanceList;
-
-	public ConfigureInstanceDialog(Shell parent) {
-		super(parent);
-	}
-
-	public boolean init(Class component, ExecutionEvent from) {
-		// visitedPackages = new BasicEList<Package> ();
-		DepPlanSync.syncAllDepPlans(component);
-		m_component = component;
-		m_instance = null;
-		m_feature = null;
-		m_model = PackageUtil.getUserModel(from);
-		if (m_model == null) {
-			return false;
-		}
-		return checkAndGetInstances();
-	}
-
-	public boolean init(InstanceSpecification instance, ExecutionEvent from) {
-		// visitedPackages = new BasicEList<Package> ();
-		DepPlanSync.syncDepPlan(instance.getNearestPackage());
-		m_component = DepUtils.getImplementation(instance);
-		m_instance = instance;
-		m_feature = null;
-		m_model = PackageUtil.getUserModel(from);
-		return checkAndGetInstances();
-	}
-
-	public boolean init(Feature feature, ExecutionEvent from) {
-		// visitedPackages = new BasicEList<Package> ();
-		m_feature = feature;
-		m_model = PackageUtil.getUserModel(from);
-		if (m_model == null) {
-			m_model = PackageUtil.getRootPackage(feature);
-		}
-		m_instance = null;
-		if (feature instanceof Connector) {
-			org.eclipse.papyrus.designer.components.FCM.Connector fcmConn = UMLUtil.getStereotypeApplication(feature,
-					org.eclipse.papyrus.designer.components.FCM.Connector.class);
-			if ((fcmConn != null) && (fcmConn.getIc() != null)) {
-				m_component = fcmConn.getIc().getBase_Class();
-				return checkAndGetInstances();
-			}
-		} else if (feature instanceof Property) {
-			Type type = ((Property) feature).getType();
-			if (type instanceof Class) {
-				m_component = (Class) type;
-				return checkAndGetInstances();
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * A filter class that selects instances associated with the selected feature or component
-	 */
-	class InstanceFilter implements ElementFilter {
-
-		private String featureCandidateName;
-
-		@Override
-		public boolean acceptElement(Element element) {
-			if (element instanceof InstanceSpecification) {
-				InstanceSpecification instance = (InstanceSpecification) element;
-				if (m_feature instanceof Property) {
-					EList<Slot> slots = DepUtils.getReferencingSlots(instance);
-					for (Slot slot : slots) {
-						if (slot.getDefiningFeature() == m_feature) {
-							return true;
-						}
-					}
-				}
-				else if (m_feature instanceof Connector) {
-					// Connector instances cannot be found via a slot. Since a connector is not a structural feature,
-					// it cannot be referenced via the "definingFeature" property of a slot. Therefore, the deployment
-					// plan creation (@see DepCreation.createDepPlan) simply omits slots, but still creates instances
-					// for the interaction components referenced by an FCM connector.
-					// TODO: the following code relies on specific order of instances and might not always work.
-					Element owner = m_feature.getOwner();
-					if (DepUtils.getImplementation(instance) == owner) {
-						// instance is for owner of feature: examine name
-						featureCandidateName = instance.getName() + "." + m_feature.getName(); //$NON-NLS-1$
-					}
-					else if (featureCandidateName != null) {
-						if (featureCandidateName.equals(instance.getName())) {
-							return true;
-						}
-					}
-				} else if (DepUtils.getImplementation(instance) == m_component) {
-					return true;
-				}
-			}
-			return false;
-		}
-	}
-
-
-	/**
-	 * retrieve the instance list. Returns false, if no deployment plan could be found.
-	 *
-	 * @return
-	 */
-	public boolean checkAndGetInstances() {
-		visitedPackages = new BasicEList<Package>();
-		m_instanceList = new BasicEList<InstanceSpecification>();
-
-		ElementFilter filter = new InstanceFilter();
-		DepUtils.getAllInstances(m_model, m_instanceList, filter);
-
-		if (m_instanceList.size() == 0) {
-			Shell shell = Display.getDefault().getActiveShell();
-			if (DepPlanUtils.getAllDepPlans(m_model).size() == 0) {
-				MessageDialog.openInformation(shell, "Instance configuration",
-						"No deployment plans are defined. Create a deployment plan before configuring instances");
-				return false;
-			}
-			else if (MessageDialog.openConfirm(shell, "Instance configuration",
-					"The list of available instances is empty. Synchronize deployment plans?")) {
-				DepPlanSync.syncAllDepPlans(m_model);
-				visitedPackages = new BasicEList<Package>();
-				DepUtils.getAllInstances(m_model, m_instanceList, filter);
-
-				if (m_instanceList.size() == 0) {
-					MessageDialog
-							.openInformation(
-									shell,
-									"Instance configuration",
-									"There are still no instances available\n. Check whether you created already a deployment plan for your system. Check as well, if the parts in your a composite use \"composite\" as aggregation kind. (Results of deployment plan synchronizations will be unrolled)");
-					return false;
-				}
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * @see SelectionStatusDialog#computeResult()
-	 */
-	@Override
-	protected void computeResult() {
-		// nothing to do
-	}
-
-	@Override
-	public Control createDialogArea(Composite parent) {
-		Composite contents = (Composite) super.createDialogArea(parent);
-		// (parent, "Container rules", "Avail. extensions/interceptors");
-
-		createInstanceSelectionGroup(contents);
-		createInstanceConfigurationGroup(contents);
-		return contents;
-	}
-
-	protected void createInstanceSelectionGroup(Composite parent) {
-		Composite instanceSelection = new Composite(parent, SWT.NONE);
-		GridLayout grid = new GridLayout(1, true);
-		GridData groupGridData = new GridData();
-
-		groupGridData.grabExcessVerticalSpace = true;
-		groupGridData.grabExcessHorizontalSpace = true;
-		groupGridData.horizontalAlignment = GridData.FILL;
-		groupGridData.verticalAlignment = GridData.FILL;
-		instanceSelection.setLayout(grid);
-		instanceSelection.setLayoutData(groupGridData);
-
-		/*
-		 * fRules = DialogUtils.createFilteredList (ruleSelGroup, new
-		 * RuleLabelProvider(), 200, 200, SWT.BORDER | SWT.V_SCROLL |
-		 * SWT.H_SCROLL);
-		 */
-
-		//
-		// --------------- instance selection -------------------
-		//
-		Group instanceSelGroup = new Group(instanceSelection, SWT.BORDER);
-		instanceSelGroup.setText(addSpaces("associated instance specifications"));
-		// ruleGroup.setLayout(new RowLayout (SWT.VERTICAL));
-		instanceSelGroup.setLayout(new GridLayout(1, false));
-		instanceSelGroup.setLayoutData(groupGridData);
-
-		fInstanceList = new TreeViewer(instanceSelGroup, SWT.BORDER);
-
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = 100;
-		data.widthHint = 350;
-
-		fInstanceList.getTree().setLayoutData(data);
-		fInstanceList.setLabelProvider(new InstanceLabelProvider());
-		fInstanceList.setContentProvider(new ITreeContentProvider() {
-
-			@Override
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			}
-
-			@Override
-			public void dispose() {
-			}
-
-			@Override
-			public boolean hasChildren(Object element) {
-				return getChildren(element).length > 0;
-			}
-
-			@Override
-			public Object getParent(Object element) {
-				return null;
-			}
-
-			@Override
-			public Object[] getElements(Object inputElement) {
-				return (Object[]) inputElement;
-			}
-
-			@Override
-			public Object[] getChildren(Object parentElement) {
-				if (parentElement instanceof InstanceSpecification) {
-					return DepUtils.getContainedInstances((InstanceSpecification) parentElement).toArray();
-				}
-				return new Object[0];
-			}
-		});
-
-		fInstanceList.setInput(m_instanceList.toArray());
-		fInstanceList.addSelectionChangedListener(new ISelectionChangedListener() {
-
-			@Override
-			public void selectionChanged(SelectionChangedEvent event) {
-				ISelection selection = fInstanceList.getSelection();
-				if (selection instanceof StructuredSelection) {
-					Object[] selected = ((StructuredSelection) selection)
-							.toArray();
-					if ((selected.length == 1)
-							&& (selected[0] instanceof InstanceSpecification)) {
-						m_instance = (InstanceSpecification) selected[0];
-						Classifier cl = DepUtils.getClassifier(m_instance);
-						fPropertyList.setInput(getConfigAttributes(cl).toArray());
-						selectProperty(m_currentAttribute);
-					}
-				}
-			}
-		});
-		if (m_instance != null) {
-			int index = m_instanceList.indexOf(m_instance);
-			if (index != -1) {
-				TreeItem treeItem = fInstanceList.getTree().getItem(index);
-				fInstanceList.getTree().setSelection(treeItem);
-			}
-		}
-	}
-
-	// create instance configuration group
-	protected void createInstanceConfigurationGroup(Composite parent) {
-		GridData groupGridData = DialogUtils.createFillGridData();
-
-		Group instanceConfigurationGroup = new Group(parent, SWT.BORDER);
-		instanceConfigurationGroup.setText(addSpaces("Configuration"));
-		instanceConfigurationGroup.setLayout(new RowLayout(SWT.VERTICAL));
-		instanceConfigurationGroup.setLayout(new GridLayout(1, false));
-		instanceConfigurationGroup.setLayoutData(groupGridData);
-
-		// fRuleName = new Text (ruleInfoGroup, SWT.NONE);
-		Label configL = new Label(instanceConfigurationGroup, SWT.NONE);
-		configL.setText("Available properties:");
-
-		fPropertyList = new TableViewer(instanceConfigurationGroup, SWT.BORDER);
-		fPropertyList.setLabelProvider(new AttributeLabelProvider());
-		fPropertyList.setContentProvider(new ArrayContentProvider());
-		fPropertyList.setInput(getConfigAttributes(m_component).toArray());
-		fPropertyList
-				.addSelectionChangedListener(new ISelectionChangedListener() {
-
-					@Override
-					public void selectionChanged(SelectionChangedEvent event) {
-						ISelection selection = fPropertyList.getSelection();
-						if (selection instanceof StructuredSelection) {
-							Object[] selected = ((StructuredSelection) selection)
-									.toArray();
-							if ((selected.length == 1)
-									&& (selected[0] instanceof Property)) {
-								selectProperty((Property) selected[0]);
-							}
-						}
-					}
-				});
-
-		fValueLabel = new Label(instanceConfigurationGroup, SWT.NONE);
-
-		GridData span2 = new GridData();
-		span2.horizontalAlignment = GridData.FILL;
-		span2.grabExcessHorizontalSpace = true;
-		span2.heightHint = 70;
-		fPropertyList.getTable().setLayoutData(span2);
-
-		fValue = new Text(instanceConfigurationGroup, SWT.WRAP);
-		span2 = new GridData();
-		span2.horizontalAlignment = GridData.FILL;
-		span2.grabExcessHorizontalSpace = true;
-		fValue.setLayoutData(span2);
-		
-		fValue.addFocusListener(new FocusListener() {
-
-			@Override
-			public void focusLost(FocusEvent e) {
-				// store value, once focus is lost (different element is
-				// selected)
-				String valueStr = fValue.getText();
-				Slot valueSlot = null;
-				if (m_instance == null) {
-					// no instance has been selected
-					// (field should be inactive, if not selected)
-					return;
-				}
-				for (Slot slot : m_instance.getSlots()) {
-					if (slot.getDefiningFeature() == m_currentAttribute) {
-						valueSlot = slot;
-					}
-				}
-				if (valueSlot == null) {
-					// slot does not exist yet, create
-					valueSlot = DepCreation.createSlotForConfigProp(m_instance,
-							m_currentAttribute);
-				}
-				for (ValueSpecification value : valueSlot.getValues()) {
-					if (value instanceof LiteralString) {
-						((LiteralString) value).setValue(valueStr);
-					} else if (value instanceof LiteralInteger) {
-						((LiteralInteger) value).setValue(Integer
-								.parseInt(valueStr));
-					} else if (value instanceof LiteralBoolean) {
-						((LiteralBoolean) value).setValue(Boolean
-								.parseBoolean(valueStr));
-					}
-				}
-			}
-
-			@Override
-			public void focusGained(FocusEvent e) {
-			}
-		});
-
-		fComboValue = new Combo(instanceConfigurationGroup, SWT.NONE);
-		span2 = new GridData();
-		span2.horizontalAlignment = GridData.FILL;
-		span2.grabExcessHorizontalSpace = true;
-		fComboValue.setLayoutData(span2);
-		
-		fComboValue.addSelectionListener(new SelectionAdapter() {
-
-			@Override
-			public void widgetSelected(SelectionEvent event) {
-				// store value, once focus is lost (different element is
-				// selected)
-				int index = fComboValue.getSelectionIndex();
-				if (m_instance == null) {
-					// no instance has been selected
-					// (field should be inactive, if not selected)
-					return;
-				}
-				Slot valueSlot = null;
-				for (Slot slot : m_instance.getSlots()) {
-					if (slot.getDefiningFeature() == m_currentAttribute) {
-						// slot for enumerations can only be configured with instanceValues.
-						// Destroy slots with do not contain at least one instanceValue
-						boolean destroySlot = true;
-						for (ValueSpecification value : slot.getValues()) {
-							if (value instanceof InstanceValue) {
-								destroySlot = false;
-							}
-						}
-						if (destroySlot) {
-							slot.destroy();
-						}
-						else {
-							valueSlot = slot;
-						}
-						break;
-					}
-				}
-				if (valueSlot == null) {
-					// slot does not exist yet, create
-					valueSlot = DepCreation.createSlotForConfigProp(m_instance,
-							m_currentAttribute);
-				}
-				Enumeration enumeration = (Enumeration) m_currentAttribute.getType();
-				for (ValueSpecification value : valueSlot.getValues()) {
-					if (value instanceof InstanceValue) {
-						((InstanceValue) value).setInstance(enumeration.getOwnedLiterals().get(index));
-					}
-				}
-			}
-		});
-		
-		fDescriptionLabel = new Label(instanceConfigurationGroup, SWT.NONE);
-		fDescriptionLabel.setText("Description:");
-		fDescriptionLabel.setLayoutData(span2);
-
-		span2 = new GridData();
-		span2.horizontalAlignment = GridData.FILL;
-		span2.grabExcessHorizontalSpace = true;
-		span2.grabExcessVerticalSpace = true;
-		span2.verticalAlignment = GridData.FILL;
-		span2.heightHint = 80;
-
-		fDescription = new Text(instanceConfigurationGroup, SWT.NONE | SWT.WRAP
-				| SWT.V_SCROLL | SWT.READ_ONLY);
-		fDescription.setLayoutData(span2);
-		// createMessageArea (ruleInfoGroup);
-		instanceConfigurationGroup.pack();
-		setEnabled(false);
-	}
-
-	/**
-	 * Select a rule, i.e. update the visual representation from the rule
-	 *
-	 * @param rule
-	 */
-	protected void selectProperty(Property attribute) {
-		m_currentAttribute = attribute;
-		if ((attribute == null) || (fValue == null)) {
-			setEnabled(false);
-			return;
-		}
-		setEnabled(true);
-		fDescription.setText(Description.getDescription(attribute, "not available"));
-		fValueLabel.setText(getValueLabel(attribute));
-		boolean isEnum = m_currentAttribute.getType() instanceof Enumeration;
-		fValue.setVisible(!isEnum);
-		fComboValue.setVisible(isEnum);
-		if (isEnum) {
-			Enumeration enumeration = (Enumeration) m_currentAttribute.getType();
-			EList<EnumerationLiteral> literals = enumeration.getOwnedLiterals();
-			String items[] = new String[literals.size()];
-			for (int i = 0; i < literals.size(); i++) {
-				items[i] = literals.get(i).getName();
-			}
-			fComboValue.setItems(items);
-		}
-		
-		for (Slot slot : m_instance.getSlots()) {
-			if (slot.getDefiningFeature() == m_currentAttribute) {
-				for (ValueSpecification value : slot.getValues()) {
-					if (value instanceof LiteralInteger) {
-						Integer intVal = ((LiteralInteger) value).getValue();
-						fValue.setText(intVal.toString());
-						return;
-					}
-					if (value instanceof InstanceValue) {
-						InstanceSpecification enumIS = ((InstanceValue) value).getInstance();
-						if (enumIS instanceof EnumerationLiteral) {
-							EnumerationLiteral literal = (EnumerationLiteral) enumIS;
-							int index = literal.getEnumeration().getOwnedLiterals().indexOf(literal);
-							if (index != -1) {
-								fComboValue.select(index);
-							}
-						}
-						return;
-					}
-					else if (value instanceof LiteralBoolean) {
-						Boolean boolVal = ((LiteralBoolean) value).booleanValue();
-						fValue.setText(boolVal.toString());
-						return;
-					}
-					else if (value instanceof LiteralString) {
-						fValue.setText(((LiteralString) value).getValue());
-						return;
-					}
-				}
-			}
-		}
-		fValue.setText(""); //$NON-NLS-1$
-	}
-
-	private void setEnabled(boolean enabled) {
-		fDescriptionLabel.setEnabled(enabled);
-		fDescription.setEnabled(enabled);
-		fValueLabel.setEnabled(enabled);
-		fValue.setEnabled(enabled);
-		if (!enabled) {
-			fValue.setText(""); //$NON-NLS-1$
-			fDescription.setText(""); //$NON-NLS-1$
-			fValueLabel.setText(valueLabelPrefix);
-		}
-	}
-
-	private String getValueLabel(Property attribute) {
-		String label = valueLabelPrefix;
-		if (attribute.getDefault() != null) {
-			return label + " " + String.format("(default = %s)", attribute.getDefault()); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return label;
-	}
-
-	private EList<Property> getConfigAttributes(Classifier component) {
-		EList<Property> list = new BasicEList<Property>();
-		// add properties of component
-		list.addAll(ConfigUtils.getConfigAttributes(component));
-		// now add properties of container rules
-		// TODO: is it possible that multiple container extensions of the same
-		// type exist, and if yes, how do we configure these?
-		if (component instanceof Class) {
-			EList<ContainerRule> rules = FCMUtil.getAllContainerRules((Class) component);
-			if (rules != null) {
-				for (ContainerRule aRule : rules) {
-					// (many, in case of a composite rule)
-					try {
-						list.addAll(ConfigUtils.getConfigAttributes(aRule));
-					} catch (TransformationException e) {
-					}
-				}
-			}
-		}
-		return list;
-	}
-
-	/**
-	 * Add a space before and after
-	 *
-	 * @param text
-	 * @return
-	 */
-	public static String addSpaces(String text) {
-		return " " + text + " "; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ConfigurePortDialog.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ConfigurePortDialog.java
index 2d28f73..b4fe7c1 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ConfigurePortDialog.java
+++ b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ConfigurePortDialog.java
@@ -29,12 +29,12 @@
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.papyrus.designer.components.FCM.PortKind;
+import org.eclipse.papyrus.designer.components.transformation.PortUtils;
+import org.eclipse.papyrus.designer.components.transformation.ui.Messages;
+import org.eclipse.papyrus.designer.transformation.base.utils.DescriptionUtils;
 import org.eclipse.papyrus.infra.widgets.editors.TreeSelectorDialog;
 import org.eclipse.papyrus.infra.widgets.toolbox.utils.DialogUtils;
-import org.eclipse.papyrus.designer.components.FCM.PortKind;
-import org.eclipse.papyrus.designer.components.transformation.core.Description;
-import org.eclipse.papyrus.designer.components.transformation.core.PortUtils;
-import org.eclipse.papyrus.designer.components.transformation.ui.Messages;
 import org.eclipse.papyrus.uml.tools.providers.ServiceEditFilteredContentProvider;
 import org.eclipse.papyrus.uml.tools.providers.UMLLabelProvider;
 import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
@@ -342,7 +342,7 @@
 				int index = portKindList.indexOf(kind) + 1;
 				fKindCombo.select(index);
 			}
-			fDescription.setText(Description.getDescription(kind.getBase_Class(), Messages.ConfigurePortDialog_NotAvail));
+			fDescription.setText(DescriptionUtils.getDescription(kind.getBase_Class(), Messages.ConfigurePortDialog_NotAvail));
 			Interface providedI = PortUtils.getProvided(port);
 			Interface requiredI = PortUtils.getRequired(port);
 			fProvided.setText(providedI != null ? providedI.getQualifiedName() : Messages.ConfigurePortDialog_None);
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ConnectorSelectionDialog.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ConnectorSelectionDialog.java
index beb6f54..0614caf 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ConnectorSelectionDialog.java
+++ b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ConnectorSelectionDialog.java
@@ -17,18 +17,18 @@
 
 import java.util.Arrays;
 
-import org.eclipse.core.runtime.IStatus;
 import org.eclipse.emf.common.util.BasicEList;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.common.util.UniqueEList;
 import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.papyrus.infra.widgets.toolbox.utils.DialogUtils;
+import org.eclipse.papyrus.commands.Activator;
 import org.eclipse.papyrus.designer.components.FCM.InteractionComponent;
-import org.eclipse.papyrus.designer.components.transformation.core.Description;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.components.transformation.core.templates.ConnectorBinding;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
+import org.eclipse.papyrus.designer.components.transformation.templates.ConnectorBinding;
+import org.eclipse.papyrus.designer.transformation.base.utils.DescriptionUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.ui.provider.QNameLabelProvider;
+import org.eclipse.papyrus.infra.widgets.toolbox.utils.DialogUtils;
 import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionEvent;
@@ -155,7 +155,7 @@
 			Class componentCompBase = componentComp.getBase_Class();
 			if (!componentCompBase.isAbstract()) {
 				// get first superclass that is a component type
-				Class componentTypeBase = Utils.componentType(componentCompBase);
+				Class componentTypeBase = ElementUtils.componentType(componentCompBase);
 				componentComp = UMLUtil.getStereotypeApplication(componentTypeBase, InteractionComponent.class);
 			} else {
 				// fLower.setEnabled (false);
@@ -190,7 +190,7 @@
 				Object[] selected = fLower.getSelection();
 				if ((selected.length > 0) && (selected[0] instanceof NamedElement)) {
 					NamedElement selectedNE = (NamedElement) selected[0];
-					m_description.setText(Description.getDescription(selectedNE));
+					m_description.setText(DescriptionUtils.getDescription(selectedNE));
 				}
 				else {
 					m_description.setText("");
@@ -328,7 +328,7 @@
 					getAllConnectors((Package) el, selectedConnector, connectorList);
 				}
 			} else if (el instanceof Class) {
-				if (StereotypeUtil.isApplied(el, InteractionComponent.class) && Utils.isCompType((Class) el)) {
+				if (StereotypeUtil.isApplied(el, InteractionComponent.class) && ((Class) el).isAbstract()) {
 
 					if (selectedConnector == null) {
 						connectorList.add((Class) el);
@@ -337,7 +337,7 @@
 							Element owner = selectedConnector.getOwner();
 							if (owner instanceof Class) {
 								Class composite = (Class) owner;
-								Log.log(IStatus.INFO, Log.DIALOGS, "ConnectorSelectionDialog.getAllConnectors: try to bind connector " + //$NON-NLS-1$
+								Activator.log.info("ConnectorSelectionDialog.getAllConnectors: try to bind connector " + //$NON-NLS-1$
 										((Class) el).getQualifiedName());
 								ConnectorBinding.obtainBinding(composite, selectedConnector, (Class) el, false);
 								connectorList.add((Class) el);
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ContainerDialog.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ContainerDialog.java
index ad3ab5f..5a7dc1c 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ContainerDialog.java
+++ b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/ContainerDialog.java
@@ -23,11 +23,11 @@
 import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.papyrus.infra.widgets.toolbox.utils.DialogUtils;
 import org.eclipse.papyrus.designer.components.FCM.ContainerRule;
 import org.eclipse.papyrus.designer.components.FCM.RuleApplication;
-import org.eclipse.papyrus.designer.components.transformation.core.Description;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
+import org.eclipse.papyrus.designer.components.transformation.component.ContainerUtil;
+import org.eclipse.papyrus.designer.transformation.base.utils.DescriptionUtils;
+import org.eclipse.papyrus.infra.widgets.toolbox.utils.DialogUtils;
 import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
 import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
 import org.eclipse.swt.SWT;
@@ -162,7 +162,7 @@
 		gRuleSelGroup.setLayout(new GridLayout(1, false));
 		gRuleSelGroup.setLayoutData(groupGridData);
 
-		EList<ContainerRule> globalRuleList = Utils.getAllRules(m_model);
+		EList<ContainerRule> globalRuleList = ContainerUtil.getAllRules(m_model);
 		// Table table = new Table(gRuleSelGroup, SWT.CHECK);
 		fRules = CheckboxTableViewer.newCheckList(gRuleSelGroup, SWT.BORDER);
 		// fRules = new CheckboxTableViewer(table);
@@ -235,7 +235,7 @@
 	 */
 	protected void selectRule(ContainerRule rule) {
 		m_currentRule = rule;
-		fDescription.setText(Description.getDescription(rule.getBase_Class()));
+		fDescription.setText(DescriptionUtils.getDescription(rule.getBase_Class()));
 	}
 
 	/**
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/GenerationOptionsDialog.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/GenerationOptionsDialog.java
deleted file mode 100644
index f62d5c6..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/GenerationOptionsDialog.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.ui.dialogs;
-
-import java.util.Arrays;
-
-import org.eclipse.papyrus.designer.components.transformation.core.generate.GenerationOptions;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.SelectionStatusDialog;
-
-/**
- * Select options for code generation.
- *
- * @author ansgar
- */
-public class GenerationOptionsDialog extends SelectionStatusDialog implements GenerationOptions {
-
-	protected Button fButtonModelOnly;
-
-	protected Button fButtonRewriteSettings;
-
-	protected Button fButtonOnlyChanged;
-
-	protected Button fButtonCACOnly;
-
-	public static int oldResultInt = 0;
-
-	public GenerationOptionsDialog(Shell parent) {
-		super(parent);
-	}
-
-	/**
-	 * @see SelectionStatusDialog#computeResult()
-	 */
-	@Override
-	protected void computeResult() {
-		int resultInt = (isRewriteSettings() ? REWRITE_SETTINGS : 0) +
-				(isOnlyChanged() ? ONLY_CHANGED : 0) +
-				(isModelOnly() ? MODEL_ONLY : 0) +
-				(isCACOnly() ? CAC_ONLY : 0);
-		oldResultInt = resultInt;
-		Object[] result = new Object[] {
-				resultInt
-		};
-		setResult(Arrays.asList(result));
-	}
-
-	@Override
-	public Control createDialogArea(Composite parent) {
-		Composite contents = (Composite) super.createDialogArea(parent);
-		// (parent, "Container rules", "Avail. extensions/interceptors");
-
-		fButtonCACOnly = new Button(contents, SWT.CHECK);
-		fButtonCACOnly.setText("Only perform container and connector expansion (intermediate model without code generation)");
-		fButtonCACOnly.addSelectionListener(new SelectionListener() {
-
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				updateButtonEnableStatus();
-			}
-
-			@Override
-			public void widgetDefaultSelected(SelectionEvent e) {
-			}
-		});
-		fButtonCACOnly.setSelection((oldResultInt & CAC_ONLY) != 0);
-
-		fButtonModelOnly = new Button(contents, SWT.CHECK);
-		fButtonModelOnly.setText("Only generate model (not code)");
-		fButtonModelOnly.addSelectionListener(new SelectionListener() {
-
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				// only write types that have changed does not make sense, if the whole directory is cleaned
-				boolean modelOnly = fButtonModelOnly.getSelection();
-				fButtonOnlyChanged.setEnabled(!modelOnly);
-			}
-
-			@Override
-			public void widgetDefaultSelected(SelectionEvent e) {
-			}
-		});
-		fButtonModelOnly.setSelection((oldResultInt & MODEL_ONLY) != 0);
-
-		fButtonRewriteSettings = new Button(contents, SWT.CHECK);
-		fButtonRewriteSettings.setText("Rewrite project settings, if project exists already (may overwrite user settings)");
-		fButtonRewriteSettings.setSelection((oldResultInt & REWRITE_SETTINGS) != 0);
-
-		fButtonOnlyChanged = new Button(contents, SWT.CHECK);
-		fButtonOnlyChanged.setText("Experimental: only write types that have changed (based on a difference model via EMF compare)");
-		fButtonOnlyChanged.setSelection((oldResultInt & ONLY_CHANGED) != 0);
-
-		updateButtonEnableStatus();
-		return contents;
-	}
-
-	protected void updateButtonEnableStatus() {
-		boolean onlyCAC = fButtonCACOnly.getSelection();
-		boolean modelOnly = fButtonModelOnly.getSelection();
-		fButtonModelOnly.setEnabled(!onlyCAC);
-		fButtonOnlyChanged.setEnabled(!modelOnly && !onlyCAC);
-		fButtonRewriteSettings.setEnabled(!onlyCAC);
-	}
-
-	public boolean isRewriteSettings() {
-		return fButtonRewriteSettings.getSelection();
-	}
-
-	public boolean isOnlyChanged() {
-		return fButtonOnlyChanged.getSelection();
-	}
-
-	public boolean isModelOnly() {
-		return fButtonModelOnly.getSelection();
-	}
-
-	public boolean isCACOnly() {
-		return fButtonCACOnly.getSelection();
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/InstanceLabelProvider.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/InstanceLabelProvider.java
deleted file mode 100644
index e0bb6eb..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/InstanceLabelProvider.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.ui.dialogs;
-
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.NamedElement;
-
-public class InstanceLabelProvider extends LabelProvider {
-
-	@Override
-	public String getText(Object element) {
-		if (element instanceof NamedElement) {
-			String instanceName = ((NamedElement) element).getName();
-			Element owner = ((Element) element).getOwner();
-			if (owner instanceof NamedElement) {
-				return "Plan " + ((NamedElement) owner).getName() + ": " + instanceName;
-			}
-			else {
-				return instanceName;
-			}
-		}
-		else {
-			return "not a named element";
-		}
-	}
-};
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/InteractiveImplementationChooser.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/InteractiveImplementationChooser.java
deleted file mode 100644
index 84325ef..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/InteractiveImplementationChooser.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.ui.dialogs;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.ImplementationChooser;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.NamedElement;
-
-public class InteractiveImplementationChooser implements ImplementationChooser {
-
-	@Override
-	public Class chooseImplementation(Class componentType, EList<Class> implList) {
-		// SelectionDialog = SelectionDialog.
-		ILabelProvider ilabel = new LabelProvider() {
-
-			@Override
-			public String getText(Object element) {
-				return ((NamedElement) element).getQualifiedName();
-			}
-		};
-		ElementListSelectionDialog dialog =
-				new ElementListSelectionDialog(Display.getDefault().getActiveShell(), ilabel);
-
-		dialog.setTitle("Multiple implementations found");
-		dialog.setMessage("Select an implementation for component type " + componentType.getName());
-
-		dialog.setElements(implList.toArray());
-
-		dialog.open();
-		Object[] selection = dialog.getResult();
-		if (selection.length == 1) {
-			if (selection[0] instanceof Class) {
-				return (Class) selection[0];
-			}
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/NameLabelProvider.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/NameLabelProvider.java
deleted file mode 100644
index 0809f31..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/NameLabelProvider.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.ui.dialogs;
-
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.uml2.uml.NamedElement;
-
-public class NameLabelProvider extends LabelProvider {
-
-	@Override
-	public String getText(Object element) {
-		return ((NamedElement) element).getName();
-	}
-};
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/QNameLabelProvider.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/QNameLabelProvider.java
deleted file mode 100644
index 5ce8fd7..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/dialogs/QNameLabelProvider.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.ui.dialogs;
-
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.uml2.uml.NamedElement;
-
-public class QNameLabelProvider extends LabelProvider {
-
-	@Override
-	public String getText(Object element) {
-		return ((NamedElement) element).getQualifiedName();
-	}
-};
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/AddProfileAndModelLibsHandler.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/AddProfileAndModelLibsHandler.java
index 8b1a2bb..ccc91f4 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/AddProfileAndModelLibsHandler.java
+++ b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/AddProfileAndModelLibsHandler.java
@@ -17,9 +17,9 @@
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.jface.viewers.ArrayContentProvider;
 import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.papyrus.designer.components.transformation.core.CommandSupport;
-import org.eclipse.papyrus.designer.components.transformation.core.commands.AddMarteAndFcmProfile;
-import org.eclipse.papyrus.designer.components.transformation.core.commands.AddStdModelLibs;
+import org.eclipse.papyrus.designer.components.transformation.commands.AddMarteAndFcmProfile;
+import org.eclipse.papyrus.designer.components.transformation.commands.AddStdModelLibs;
+import org.eclipse.papyrus.designer.transformation.base.utils.CommandSupport;
 import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.dialogs.ListSelectionDialog;
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/AllocateHandler.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/AllocateHandler.java
deleted file mode 100644
index 2ac2fef..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/AllocateHandler.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher (CEA LIST) ansgar.radermacher@cea.fr - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.ui.handlers;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.papyrus.designer.components.FCM.DeploymentPlan;
-import org.eclipse.papyrus.designer.components.transformation.core.CommandSupport;
-import org.eclipse.papyrus.designer.components.transformation.core.RunnableWithResult;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepUtils;
-import org.eclipse.papyrus.designer.components.transformation.ui.dialogs.AllocationDialog;
-import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.uml2.uml.Package;
-
-/**
- * Implementation class for ClassAction action
- */
-public class AllocateHandler extends CmdHandler {
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean isEnabled() {
-		updateSelectedEObject();
-		if (selectedEObject instanceof Package) {
-			return (StereotypeUtil.isApplied((Package) selectedEObject, DeploymentPlan.class));
-		}
-		return false;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public Object execute(ExecutionEvent event)
-			throws ExecutionException {
-		if (!(selectedEObject instanceof Package)) {
-			return null;
-		}
-
-		final Package cdp = (Package) selectedEObject;
-		final Shell shell = Display.getDefault().getActiveShell();
-
-		// org.eclipse.papyrus.designer.components.vsl.ParseVSL.test();
-		if (DepUtils.getMainInstance(cdp) == null) {
-			MessageDialog.openInformation(shell, "Error",
-					"Deployment plan has no main instance (check stereotype attribute mainInstance)");
-			return null;
-		}
-
-		// 1. select possible connectors according to port types
-		// (only show compatible connectors check-box?)
-		// 2. select implementation group according to connector type
-
-		// container dialog: either extension, rule or interceptor
-		// howto select? which? (and howto add/remove?) - Std - dialog is good?
-		CommandSupport.exec("Instance allocation", event, new RunnableWithResult() {
-
-			@Override
-			public CommandResult run() {
-				AllocationDialog allocDialog =
-						new AllocationDialog(shell, cdp);
-				allocDialog.setTitle("Allocate instances");
-				allocDialog.open();
-				if (allocDialog.getReturnCode() == IDialogConstants.OK_ID) {
-					return CommandResult.newOKCommandResult();
-				}
-				else {
-					return CommandResult.newCancelledCommandResult();
-				}
-			}
-		});
-
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/ConfigureInstanceHandler.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/ConfigureInstanceHandler.java
deleted file mode 100644
index 3d7eda0..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/ConfigureInstanceHandler.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/********
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.ui.handlers;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.papyrus.designer.components.transformation.core.CommandSupport;
-import org.eclipse.papyrus.designer.components.transformation.core.RunnableWithResult;
-import org.eclipse.papyrus.designer.components.transformation.ui.dialogs.ConfigureInstanceDialog;
-import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Connector;
-import org.eclipse.uml2.uml.Feature;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Property;
-
-/**
- * Implementation class for ClassAction action
- */
-public class ConfigureInstanceHandler extends CmdHandler {
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean isEnabled() {
-		updateSelectedEObject();
-		if ((selectedEObject instanceof Class) ||
-				(selectedEObject instanceof Connector) ||
-				(selectedEObject instanceof Property) ||
-				(selectedEObject instanceof InstanceSpecification)) {
-			return true;
-		}
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	@Override
-	public Object execute(ExecutionEvent event) throws ExecutionException {
-		if (!(selectedEObject instanceof NamedElement)) {
-			return null;
-		}
-
-		final NamedElement element = (NamedElement) selectedEObject;
-		final Shell shell = Display.getDefault().getActiveShell();
-		final ExecutionEvent from = event;
-
-		// 1. select possible connectors according to port types
-		// (only show compatible connectors check-box?)
-		// 2. select implementation group according to connector type
-
-		if (element instanceof Class) {
-			// container dialog: either extension, rule or interceptor
-			// how-to select? which? (and how-to add/remove?) - is standard dialog sufficient?
-			CommandSupport.exec("Configure associated component instance", event, new RunnableWithResult() { //$NON-NLS-1$
-
-						@Override
-						public CommandResult run() {
-							ConfigureInstanceDialog configureInstanceDialog =
-									new ConfigureInstanceDialog(shell);
-							if (configureInstanceDialog.init((Class) element, from)) {
-								configureInstanceDialog.setTitle("Configure instance"); //$NON-NLS-1$
-								configureInstanceDialog.setMessage("Configure instance for component " + element.getName()); //$NON-NLS-1$
-								configureInstanceDialog.open();
-								if (configureInstanceDialog.getReturnCode() == IDialogConstants.OK_ID) {
-									return CommandResult.newOKCommandResult();
-								}
-							}
-							return CommandResult.newCancelledCommandResult();
-						}
-					});
-		} else if (element instanceof Feature) {
-			CommandSupport.exec("Configure associated instance", event, new RunnableWithResult() { //$NON-NLS-1$
-
-						@Override
-						public CommandResult run() {
-							ConfigureInstanceDialog configureInstanceDialog =
-									new ConfigureInstanceDialog(shell);
-							if (configureInstanceDialog.init((Feature) element, from)) {
-								configureInstanceDialog.setTitle("Configure instance"); //$NON-NLS-1$
-								configureInstanceDialog.setMessage("Configure instance for property/connector " + element.getName()); //$NON-NLS-1$
-								configureInstanceDialog.open();
-								if (configureInstanceDialog.getReturnCode() == IDialogConstants.OK_ID) {
-									return CommandResult.newOKCommandResult();
-								}
-							}
-							return CommandResult.newCancelledCommandResult();
-						}
-					});
-
-
-		} else if (element instanceof InstanceSpecification) {
-
-			CommandSupport.exec("Configure instance", event, new RunnableWithResult() { //$NON-NLS-1$
-
-						@Override
-						public CommandResult run() {
-							ConfigureInstanceDialog configureInstanceDialog =
-									new ConfigureInstanceDialog(shell);
-							if (configureInstanceDialog.init((InstanceSpecification) element, from)) {
-								configureInstanceDialog.setMessage("Configure instance " + element.getName()); //$NON-NLS-1$
-								configureInstanceDialog.open();
-								if (configureInstanceDialog.getReturnCode() == IDialogConstants.OK_ID) {
-									return CommandResult.newOKCommandResult();
-								}
-							}
-							return CommandResult.newCancelledCommandResult();
-						}
-					});
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/ConfigurePortHandler.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/ConfigurePortHandler.java
index 86de6ce..5136494 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/ConfigurePortHandler.java
+++ b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/ConfigurePortHandler.java
@@ -14,10 +14,10 @@
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.gmf.runtime.common.core.command.CommandResult;
 import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.papyrus.designer.components.transformation.core.CommandSupport;
-import org.eclipse.papyrus.designer.components.transformation.core.RunnableWithResult;
 import org.eclipse.papyrus.designer.components.transformation.ui.Messages;
 import org.eclipse.papyrus.designer.components.transformation.ui.dialogs.ConfigurePortDialog;
+import org.eclipse.papyrus.designer.transformation.base.utils.CommandSupport;
+import org.eclipse.papyrus.designer.transformation.base.utils.RunnableWithResult;
 import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Shell;
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/CreateDepPlanHandler.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/CreateDepPlanHandler.java
deleted file mode 100644
index 92d6752..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/CreateDepPlanHandler.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.ui.handlers;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.papyrus.designer.components.transformation.core.CommandSupport;
-import org.eclipse.papyrus.designer.components.transformation.core.RunnableWithResult;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepCreation;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepPlanUtils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DeployConstants;
-import org.eclipse.papyrus.designer.components.transformation.core.sync.DepPlanSync;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.designer.components.transformation.ui.Messages;
-import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.Stereotype;
-
-public class CreateDepPlanHandler extends CmdHandler {
-
-	private Package depPlans;
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean isEnabled() {
-		updateSelectedEObject();
-		if ((selectedEObject instanceof Class) && Utils.isCompImpl((Class) selectedEObject)) {
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public Object execute(ExecutionEvent event) throws ExecutionException {
-		if (!(selectedEObject instanceof Class)) {
-			return null;
-		}
-		final Class selectedComposite = (Class) selectedEObject;
-
-		CommandSupport.exec(Messages.CreateDepPlanHandler_CreateDPs, event, new Runnable() {
-
-			@Override
-			public void run() {
-				// execute with transaction support
-				depPlans = DepPlanUtils.getDepPlanRoot(selectedComposite);
-			}
-		});
-
-		try {
-			String name = selectedComposite.getName() + DeployConstants.DepPlanPostfix;
-			if (depPlans.getMember(name) != null) {
-				Shell shell = Display.getDefault().getActiveShell();
-				String dialogButtonLabels[] = new String[] {
-						Messages.CreateDepPlanHandler_Cancel,
-						Messages.CreateDepPlanHandler_Sync,
-						Messages.CreateDepPlanHandler_CreateNew
-				};
-				MessageDialog dialog = new MessageDialog(shell, Messages.CreateDepPlanHandler_WhatShouldIDo, null,
-						String.format(Messages.CreateDepPlanHandler_DPwithNameExistsAlready, name),
-						MessageDialog.QUESTION, dialogButtonLabels, 0);
-				int result = dialog.open();
-				if (result == 0) {
-					return null;
-				}
-				else if (result == 1) {
-					NamedElement existing = depPlans.getMember(name);
-					if (existing instanceof Package) {
-						DepPlanSync.syncDepPlan((Package) existing);
-						return null;
-					}
-					else {
-						MessageDialog.openError(shell, Messages.CreateDepPlanHandler_CannotSync,
-								String.format(Messages.CreateDepPlanHandler_DPwithNameExistsNoPackage, name));
-					}
-				}
-				else {
-					for (int i = 2;; i++) {
-						name = selectedComposite.getName() + DeployConstants.DepPlanPostfix + i;
-						if (depPlans.getMember(name) == null) {
-							break;
-						}
-					}
-
-				}
-			}
-			final String depPlanName = name;
-
-			CommandSupport.exec(Messages.CreateDepPlanHandler_CreateDP, event, new RunnableWithResult() {
-
-				@Override
-				public CommandResult run() {
-					Package cdp = depPlans.createNestedPackage(depPlanName);
-					Stereotype st = StereotypeUtil.apply(cdp, org.eclipse.papyrus.designer.components.FCM.DeploymentPlan.class);
-					if (st == null) {
-						MessageDialog.openInformation(Display.getDefault().getActiveShell(),
-								Messages.CreateDepPlanHandler_CannotCreateDP,
-								Messages.CreateDepPlanHandler_StereoApplicationFailed);
-						return CommandResult.newErrorCommandResult(Messages.CreateDepPlanHandler_CannotCreateDP);
-					}
-					try {
-						InstanceSpecification newRootIS =
-								DepCreation.createDepPlan(cdp, selectedComposite, DeployConstants.MAIN_INSTANCE, true);
-						DepCreation.initAutoValues(newRootIS);
-						return CommandResult.newOKCommandResult();
-					}
-					catch (TransformationException e) {
-						MessageDialog.openInformation(Display.getDefault().getActiveShell(), Messages.CreateDepPlanHandler_CannotCreateDP,
-								e.getMessage());
-						return CommandResult.newErrorCommandResult(e.getMessage());
-					}
-				}
-			});
-
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/CreatePlatformHandler.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/CreatePlatformHandler.java
deleted file mode 100644
index e4d030f..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/CreatePlatformHandler.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.ui.handlers;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.papyrus.designer.components.transformation.core.CommandSupport;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DepCreation;
-import org.eclipse.papyrus.designer.components.transformation.core.deployment.DeployConstants;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationException;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationRTException;
-import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Package;
-
-public class CreatePlatformHandler extends CmdHandler {
-
-	private Package platform;
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean isEnabled() {
-		updateSelectedEObject();
-		if (selectedEObject instanceof Class) {
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public Object execute(ExecutionEvent event) throws ExecutionException {
-		if (!(selectedEObject instanceof Class)) {
-			return null;
-		}
-		final Class selectedComposite = (Class) selectedEObject;
-
-		CommandSupport.exec("Create platform model", event, new Runnable() { //$NON-NLS-1$
-
-					@Override
-					public void run() {
-						// execute with transaction support
-						platform = Utils.getRoot(selectedComposite, DeployConstants.depPlanFolderHw);
-					}
-				});
-
-		final String newPlatform = selectedComposite.getName() + DeployConstants.DepPlanPostfixHw;
-
-		try {
-			if (platform.getMember(newPlatform) != null) {
-				Shell shell = Display.getDefault().getActiveShell();
-				MessageDialog.openInformation(shell, "Error", //$NON-NLS-1$
-						"Platform definition \"" + newPlatform + "\" exists already"); //$NON-NLS-1$ //$NON-NLS-2$
-			} else {
-				CommandSupport.exec("Create platform definition", event, new Runnable() { //$NON-NLS-1$
-
-							@Override
-							public void run() {
-								Package platformPkg = platform.createNestedPackage(newPlatform);
-								try {
-									DepCreation.createPlatformInstances(platformPkg, selectedComposite, null);
-								}
-								catch (TransformationException e) {
-									throw new TransformationRTException(e.getMessage());
-								}
-							}
-						});
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/GenCollaborationUseHandler.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/GenCollaborationUseHandler.java
deleted file mode 100644
index 6e6df8e..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/GenCollaborationUseHandler.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.transformation.ui.handlers;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.papyrus.designer.components.FCM.Connector;
-import org.eclipse.papyrus.designer.components.FCM.util.FCMUtil;
-import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * TODO: for testing, currently unused
- */
-@Deprecated
-public class GenCollaborationUseHandler extends CmdHandler {
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public Object execute(ExecutionEvent event) throws ExecutionException {
-		return null;
-	}
-
-	/**
-	 * /*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		updateSelectedEObject();
-
-		org.eclipse.uml2.uml.Connector selectedConnector = (org.eclipse.uml2.uml.Connector) selectedEObject;
-		Connector fcmConn = UMLUtil.getStereotypeApplication(selectedConnector, Connector.class);
-		FCMUtil.generateCollaborationUse(fcmConn);
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/GenConnectionPatternHandler.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/GenConnectionPatternHandler.java
index 4b5af03..6cb70bc 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/GenConnectionPatternHandler.java
+++ b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/GenConnectionPatternHandler.java
@@ -15,11 +15,9 @@
 
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.papyrus.designer.components.FCM.InteractionComponent;
 import org.eclipse.papyrus.designer.components.FCM.util.FCMUtil;
-import org.eclipse.papyrus.designer.components.transformation.core.Log;
 import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
 import org.eclipse.ui.IViewPart;
 import org.eclipse.uml2.uml.Class;
@@ -55,7 +53,6 @@
 	public void run(IAction action) {
 		// only one model is selected
 		Class selectedClass = (Class) selectedEObject;
-		Log.log(IStatus.INFO, Log.DIALOGS, "GenConnectionPattern.run: " + selectedClass.getName());
 		InteractionComponent connType = UMLUtil.getStereotypeApplication(selectedClass, InteractionComponent.class);
 		FCMUtil.generateDefaultConnectionPattern(connType);
 	}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/InstantiateDepPlanHandler.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/InstantiateDepPlanHandler.java
deleted file mode 100644
index 717ce15..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/InstantiateDepPlanHandler.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.ui.handlers;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.papyrus.designer.components.FCM.Configuration;
-import org.eclipse.papyrus.designer.components.transformation.core.ProjectManagement;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.InstantiateDepPlan;
-import org.eclipse.papyrus.designer.components.transformation.ui.dialogs.GenerationOptionsDialog;
-import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.util.UMLUtil;
-
-/**
- * handler for instantiating a deployment plan
- */
-public class InstantiateDepPlanHandler extends CmdHandler {
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean isEnabled() {
-		updateSelectedEObject();
-		if ((selectedEObject instanceof Package) || (selectedEObject instanceof Class)) {
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public Object execute(ExecutionEvent event) throws ExecutionException {
-		// only one model is selected
-		selectedCDP = null;
-		if ((selectedEObject instanceof Package) || (selectedEObject instanceof Class)) {
-			selectedCDP = (NamedElement) selectedEObject;
-		} else {
-			return null;
-		}
-		project = ProjectManagement.getCurrentProject();
-
-		GenerationOptionsDialog optionsDialog = new GenerationOptionsDialog(Display.getDefault().getActiveShell());
-		optionsDialog.open();
-		if (optionsDialog.getReturnCode() == IDialogConstants.OK_ID) {
-
-			final int genOptions = (Integer) optionsDialog.getResult()[0];
-			Job job = new Job("Create deployment model (OO)") {
-
-				@Override
-				protected IStatus run(IProgressMonitor monitor) {
-					// execute the task ...
-					if (selectedCDP instanceof Package) {
-						new InstantiateDepPlan().instantiate((Package) selectedCDP, monitor, project, genOptions);
-					} else if (StereotypeUtil.isApplied(selectedCDP, Configuration.class)) {
-						Configuration configuration = UMLUtil.getStereotypeApplication(selectedCDP, Configuration.class);
-						new InstantiateDepPlan().instantiate(configuration, monitor, project, genOptions);
-					}
-					return Status.OK_STATUS;
-				}
-			};
-			job.setUser(true);
-			job.schedule();
-		}
-
-		return null;
-	}
-
-	private NamedElement selectedCDP;
-
-	private IProject project;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/SelectConnectorHandler.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/SelectConnectorHandler.java
index a9cc4eb..007b776 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/SelectConnectorHandler.java
+++ b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/SelectConnectorHandler.java
@@ -14,8 +14,8 @@
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.papyrus.designer.components.FCM.InteractionComponent;
-import org.eclipse.papyrus.designer.components.transformation.core.CommandSupport;
 import org.eclipse.papyrus.designer.components.transformation.ui.dialogs.ConnectorSelectionDialog;
+import org.eclipse.papyrus.designer.transformation.base.utils.CommandSupport;
 import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
 import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
 import org.eclipse.swt.widgets.Display;
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/SelectContainerHandler.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/SelectContainerHandler.java
index 51ce9b5..4cbae23 100644
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/SelectContainerHandler.java
+++ b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/SelectContainerHandler.java
@@ -14,9 +14,9 @@
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.gmf.runtime.common.core.command.CommandResult;
 import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.papyrus.designer.components.transformation.core.CommandSupport;
-import org.eclipse.papyrus.designer.components.transformation.core.RunnableWithResult;
 import org.eclipse.papyrus.designer.components.transformation.ui.dialogs.ContainerDialog;
+import org.eclipse.papyrus.designer.transformation.base.utils.CommandSupport;
+import org.eclipse.papyrus.designer.transformation.base.utils.RunnableWithResult;
 import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Shell;
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/SyncHandler.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/SyncHandler.java
deleted file mode 100644
index 748a84d..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/SyncHandler.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Ansgar Radermacher  ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.designer.components.transformation.ui.handlers;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.papyrus.designer.components.FCM.DeploymentPlan;
-import org.eclipse.papyrus.designer.components.transformation.core.CommandSupport;
-import org.eclipse.papyrus.designer.components.transformation.core.RunnableWithResult;
-import org.eclipse.papyrus.designer.components.transformation.core.Utils;
-import org.eclipse.papyrus.designer.components.transformation.core.sync.CompImplSync;
-import org.eclipse.papyrus.designer.components.transformation.core.sync.DepPlanSync;
-import org.eclipse.papyrus.designer.components.transformation.core.sync.InterfaceSync;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TransformationRTException;
-import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
-import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Interface;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.Property;
-
-/**
- * Handler for synchronizing derived elements. Will do different
- * things, depending on the currently selected object.
- */
-public class SyncHandler extends CmdHandler {
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean isEnabled() {
-		updateSelectedEObject();
-		// if a property is selected, use the associated type
-		if (selectedEObject instanceof Property) {
-			selectedEObject = ((Property) selectedEObject).getType();
-		}
-		
-		if (selectedEObject instanceof Interface) {
-			return true;
-		}
-		if (selectedEObject instanceof Class) {
-			if (Utils.isComponent((Class) selectedEObject)) {
-				return true;
-			}
-		}
-		else if (selectedEObject instanceof Package) {
-			if (StereotypeUtil.isApplied((Package) selectedEObject, DeploymentPlan.class)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public Object execute(ExecutionEvent event) throws ExecutionException {
-		// if a property is selected, use the associated type
-		if (selectedEObject instanceof Property) {
-			selectedEObject = ((Property) selectedEObject).getType();
-		}
-
-		if (selectedEObject instanceof Interface) {
-			final Interface selectedIntf = (Interface) selectedEObject;
-			CommandSupport.exec("Synchronize interface", event, new Runnable() {
-
-				@Override
-				public void run() {
-					InterfaceSync.syncSignalReceptionSupport(selectedIntf);
-				}
-			});
-		}
-		
-		else if (selectedEObject instanceof Class) {
-			final Class selectedClass = (Class) selectedEObject;
-			if (Utils.isCompImpl(selectedClass)) {
-				CommandSupport.exec("Synchronize component via implementation", event, new RunnableWithResult() {
-
-					@Override
-					public CommandResult run() {
-						CompImplSync.updatePorts(selectedClass);
-						try {
-							CompImplSync.syncRealizations(selectedClass);
-						}
-						catch (TransformationRTException e) {
-							MessageDialog.openWarning(Display.getDefault().getActiveShell(), "Problems during synchronization", e.getMessage());
-							return CommandResult.newErrorCommandResult(e.getMessage());
-						}
-
-						// CompImplSync.syncContextOps (selectedClass, true);
-						CompImplSync.interfaceModifications(selectedClass, null);
-						return CommandResult.newOKCommandResult();
-					}
-				});
-			} else if (Utils.isCompType(selectedClass)) {
-				CommandSupport.exec("Synchronize component via type", event, new Runnable() {
-
-					@Override
-					public void run() {
-						if (!CompImplSync.syncViaType(selectedClass, false)) {
-							MessageDialog.openWarning(Display.getDefault().getActiveShell(), "Warning: ineffective command",
-									"Synchronization applied on a component type (abstract class) will synchronize all implementations, i.e. non-abstract classes inheriting from it. However, the selected type has no implementations");
-						}
-						// CompImplSync.syncContextOps (selectedClass, true);
-					}
-				});
-			}
-		}
-		else if (selectedEObject instanceof Package) {
-			final Package selectedPkg = (Package) selectedEObject;
-			CommandSupport.exec("Synchronize deployment plan", event, new RunnableWithResult() {
-
-				@Override
-				public CommandResult run() {
-					try {
-						DepPlanSync.syncDepPlan(selectedPkg);
-						return CommandResult.newOKCommandResult();
-					}
-					catch (TransformationRTException e) {
-						Shell shell = Display.getDefault().getActiveShell();
-						MessageDialog.openError(shell, "Can not synchronize deployment plan", e.getMessage());
-						return CommandResult.newErrorCommandResult(e.getMessage());
-					}
-				}
-			});
-		}
-		return null;
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/TrafoAndCodegenHandler.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/TrafoAndCodegenHandler.java
deleted file mode 100644
index 31953fe..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/handlers/TrafoAndCodegenHandler.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.transformation.ui.handlers;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.papyrus.designer.components.transformation.core.ProjectManagement;
-import org.eclipse.papyrus.designer.components.transformation.core.transformations.TrafoAndCodegenPackage;
-import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
-import org.eclipse.uml2.uml.Package;
-
-public class TrafoAndCodegenHandler extends CmdHandler {
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean isEnabled() {
-		updateSelectedEObject();
-		return (selectedEObject instanceof Package);
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public Object execute(ExecutionEvent event) throws ExecutionException {
-		// only one model is selected
-		selectedPkg = null;
-		if (selectedEObject instanceof Package) {
-			selectedPkg = (Package) selectedEObject;
-		} else {
-			return null;
-		}
-		project = ProjectManagement.getCurrentProject();
-
-		Job job = new Job("Execute transformations and generate code") {
-
-			@Override
-			protected IStatus run(IProgressMonitor monitor) {
-				// execute the task ...
-				TrafoAndCodegenPackage.instantiate(selectedPkg, monitor, project);
-				monitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setUser(true);
-		job.schedule();
-
-		return null;
-	}
-
-	protected Package selectedPkg;
-
-	protected IProject project;
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/preferences/PapyrusDesignerPreferenceInitializer.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/preferences/PapyrusDesignerPreferenceInitializer.java
deleted file mode 100644
index c154a27..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/preferences/PapyrusDesignerPreferenceInitializer.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2012 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.designer.components.transformation.ui.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.designer.components.transformation.core.preferences.PapyrusDesignerPreferenceConstants;
-
-/**
- * Class used to initialize default preference values.
- */
-public class PapyrusDesignerPreferenceInitializer extends AbstractPreferenceInitializer {
-
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	@Override
-	public void initializeDefaultPreferences() {
-		IPreferenceStore store = org.eclipse.papyrus.designer.components.transformation.core.Activator.getDefault().getPreferenceStore();
-		store.setDefault(PapyrusDesignerPreferenceConstants.P_SHOW_PROV_REQ_AS_PORT_ICONS, false);
-		store.setDefault(PapyrusDesignerPreferenceConstants.P_ALL_ATTRIBUTES_ARE_CONFIG_ATTRIBUTES, false);
-		store.setDefault(PapyrusDesignerPreferenceConstants.P_TREAT_NONE_AS_COMPOSITE, false);
-		store.setDefault(PapyrusDesignerPreferenceConstants.P_CODE_GEN_PREFIX, "// generated with Qompass toolchain");
-	}
-
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/preferences/PapyrusDesignerPreferencePage.java b/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/preferences/PapyrusDesignerPreferencePage.java
deleted file mode 100644
index 67c6677..0000000
--- a/components/org.eclipse.papyrus.designer.components.transformation.ui/src/org/eclipse/papyrus/designer/components/transformation/ui/preferences/PapyrusDesignerPreferencePage.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2012 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.designer.components.transformation.ui.preferences;
-
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.papyrus.designer.components.transformation.core.Activator;
-import org.eclipse.papyrus.designer.components.transformation.core.preferences.PapyrusDesignerPreferenceConstants;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-/**
- * This class represents the EC3M preference page
- * <p>
- * This page is used to modify preferences only. They are stored in the preference store that belongs to the main plug-in class. That way, preferences can be accessed directly via the preference store.
- */
-
-public class PapyrusDesignerPreferencePage
-		extends FieldEditorPreferencePage
-		implements IWorkbenchPreferencePage {
-
-	public PapyrusDesignerPreferencePage() {
-		super(GRID);
-		setPreferenceStore(Activator.getDefault().getPreferenceStore());
-		setDescription("Papyrus designer options (for component-based design)");
-	}
-
-	/**
-	 * Creates the field editors. Field editors are abstractions of
-	 * the common GUI blocks needed to manipulate various types
-	 * of preferences. Each field editor knows how to save and
-	 * restore itself.
-	 */
-	@Override
-	public void createFieldEditors() {
-		addField(new BooleanFieldEditor(
-				PapyrusDesignerPreferenceConstants.P_SHOW_PROV_REQ_AS_PORT_ICONS,
-				"&Show icons associated with derived provided/required interfaces instead of kind",
-				getFieldEditorParent()));
-
-		addField(new BooleanFieldEditor(
-				PapyrusDesignerPreferenceConstants.P_TREAT_NONE_AS_COMPOSITE,
-				"Treat aggregation kind \"&None\" as \"Composite\"",
-				getFieldEditorParent()));
-
-		addField(new BooleanFieldEditor(
-				PapyrusDesignerPreferenceConstants.P_ALL_ATTRIBUTES_ARE_CONFIG_ATTRIBUTES,
-				"Treat all attributes as configuration attributes (if false, only attributes of abstract classes and attributes explicitly tagged as FCM::ConfigurationProperty will be considered as configuration attribute",
-				getFieldEditorParent()));
-
-		addField(new StringFieldEditor(
-				PapyrusDesignerPreferenceConstants.P_CODE_GEN_PREFIX,
-				"Code generation prefix: ", getFieldEditorParent()));
-	}
-
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	@Override
-	public void init(IWorkbench workbench) {
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.classpath b/components/org.eclipse.papyrus.designer.components.transformation/.classpath
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.transformation.core/.classpath
rename to components/org.eclipse.papyrus.designer.components.transformation/.classpath
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/.project b/components/org.eclipse.papyrus.designer.components.transformation/.project
new file mode 100644
index 0000000..e3c1e50
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.components.transformation</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/components/org.eclipse.papyrus.designer.components.transformation/.settings/org.eclipse.core.resources.prefs
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
rename to components/org.eclipse.papyrus.designer.components.transformation/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.jdt.core.prefs b/components/org.eclipse.papyrus.designer.components.transformation/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.jdt.core.prefs
rename to components/org.eclipse.papyrus.designer.components.transformation/.settings/org.eclipse.jdt.core.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/components/org.eclipse.papyrus.designer.components.transformation/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
rename to components/org.eclipse.papyrus.designer.components.transformation/.settings/org.eclipse.m2e.core.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/META-INF/MANIFEST.MF b/components/org.eclipse.papyrus.designer.components.transformation/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..54882be
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/META-INF/MANIFEST.MF
@@ -0,0 +1,48 @@
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.designer.components.transformation,
+ org.eclipse.papyrus.designer.components.transformation.commands,
+ org.eclipse.papyrus.designer.components.transformation.component,
+ org.eclipse.papyrus.designer.components.transformation.component.filters,
+ org.eclipse.papyrus.designer.components.transformation.container,
+ org.eclipse.papyrus.designer.components.transformation.extensions,
+ org.eclipse.papyrus.designer.components.transformation.listeners,
+ org.eclipse.papyrus.designer.components.transformation.sync,
+ org.eclipse.papyrus.designer.components.transformation.templates
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore,
+ org.eclipse.uml2.uml,
+ org.eclipse.ui.ide,
+ org.eclipse.core.resources,
+ org.eclipse.papyrus.designer.components.fcm.profile;bundle-version="0.7.4",
+ org.eclipse.papyrus.marte.static.profile;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.transformation.vsl;bundle-version="0.7.0",
+ org.eclipse.papyrus.uml.modelexplorer.widgets;bundle-version="1.2.0",
+ org.eclipse.papyrus.uml.tools;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.languages.cpp.profile;bundle-version="0.7.4",
+ org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
+ org.eclipse.gmf.runtime.common.core;bundle-version="1.7.0",
+ org.eclipse.gmf.runtime.emf.commands.core;bundle-version="1.4.0",
+ org.eclipse.papyrus.infra.widgets;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.emf;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.services.labelprovider;bundle-version="1.2.0",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
+ org.eclipse.ui,
+ org.eclipse.papyrus.designer.languages.common.extensionpoints;bundle-version="0.7.4",
+ org.eclipse.uml2.uml.profile.standard;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.ui;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.languages.common.profile;bundle-version="0.7.1",
+ org.eclipse.papyrus.designer.transformation.core;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.transformation.base;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.deployment.tools;bundle-version="0.7.5",
+ org.eclipse.papyrus.designer.transformation.profile;bundle-version="0.7.3"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 0.7.5.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.designer.components.transformation.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.designer.components.transformation;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/about.html b/components/org.eclipse.papyrus.designer.components.transformation/about.html
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.transformation.core/about.html
rename to components/org.eclipse.papyrus.designer.components.transformation/about.html
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/about.properties b/components/org.eclipse.papyrus.designer.components.transformation/about.properties
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.transformation.core/about.properties
rename to components/org.eclipse.papyrus.designer.components.transformation/about.properties
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/build.properties b/components/org.eclipse.papyrus.designer.components.transformation/build.properties
new file mode 100644
index 0000000..d85a45c
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/build.properties
@@ -0,0 +1,11 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               about.properties,\
+               about.html,\
+               plugin.properties,\
+               schema/
+customBuildCallbacks = build.acceleo
+src.includes = about.html
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/plugin.properties b/components/org.eclipse.papyrus.designer.components.transformation/plugin.properties
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.transformation.core/plugin.properties
rename to components/org.eclipse.papyrus.designer.components.transformation/plugin.properties
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/plugin.xml b/components/org.eclipse.papyrus.designer.components.transformation/plugin.xml
new file mode 100644
index 0000000..00bfcfb
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/plugin.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+   <extension-point id="ooTransformation" name="ooTransformation" schema="schema/ooTransformation.exsd"/>
+   <extension
+         point="org.eclipse.papyrus.infra.core.modelListener">
+      <listener
+            name="PapyrusDesigner.modelListener"
+            realization="org.eclipse.papyrus.designer.components.transformation.listeners.ModelListener">
+      </listener>
+   </extension>
+ </plugin>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/pom.xml b/components/org.eclipse.papyrus.designer.components.transformation/pom.xml
new file mode 100644
index 0000000..e732582
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.designer</groupId>
+		<artifactId>org.eclipse.papyrus.designer.components</artifactId>
+		<version>0.7.5-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.designer.components.transformation</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This module contains the model transformation from a component based model with annotations (connector and containers) to an expanded object-oriented model</description>
+</project>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/schema/ooTransformation.exsd b/components/org.eclipse.papyrus.designer.components.transformation/schema/ooTransformation.exsd
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.transformation.core/schema/ooTransformation.exsd
rename to components/org.eclipse.papyrus.designer.components.transformation/schema/ooTransformation.exsd
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/Activator.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/Activator.java
new file mode 100644
index 0000000..4712d4b
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/Activator.java
@@ -0,0 +1,66 @@
+/**
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.eclipse.papyrus.designer.components.transformation;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.designer.components.transformation"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+
+	public static LogHelper log;
+
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+
+		// register the login helper
+		log = new LogHelper(plugin);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/Messages.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/Messages.java
new file mode 100644
index 0000000..2d8c3de
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/Messages.java
@@ -0,0 +1,136 @@
+/**
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.eclipse.papyrus.designer.components.transformation;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.eclipse.papyrus.designer.transformation.core.messages"; //$NON-NLS-1$
+
+	public static String BootLoaderGen_AtLeastOneBlockingCall;
+
+	public static String BootLoaderGen_CannotApplyCppInclude;
+
+	public static String BootLoaderGen_CannotRetrieveTemplate;
+
+	public static String CommandSupport_NoEditingDomain;
+	public static String CommandSupport_ErrorDuringCmdExec;
+	public static String ConfigUtils_RuleWithoutBaseClass;
+	public static String DepCreation_SingletonExistsAlready;
+
+	public static String DepCreation_CannotFindImplementation;
+
+	public static String DepCreation_CircularReference;
+
+	public static String DepCreation_DefiningFeatureNull;
+
+	public static String DepCreation_FCMconnectorWithoutBaseClass;
+
+	public static String DepCreation_InfoCreateDepPlan;
+
+	public static String DepCreation_TypeInAttributeUndefined;
+
+	public static String Deploy_0;
+
+	public static String Description_NoAvail;
+
+	public static String LWContainerTrafo_CannotApplyRule;
+	
+	public static String ConnectorBinding_CannotFindBinding;
+	public static String ConnectorBinding_CannotFindBindingForPort;
+	public static String ConnectorBinding_CannotFindConsistentBinding;
+	public static String ConnectorBinding_ConnectorsPort;
+	public static String ConnectorBinding_FormalAlreadyBound;
+	public static String ConnectorBinding_InfoActualReturnIntfIs;
+	public static String ConnectorBinding_InfoConnPortConnectedVia;
+	public static String ConnectorBinding_InfoConnectsPort;
+	public static String ConnectorBinding_InfoCreateBoundPackage;
+
+	public static String ConnectorBinding_InfoMatchOtherEnd;
+
+	public static String ConnectorBinding_InfoProvidedPortTypeMatches;
+	public static String ConnectorBinding_NoTemplateSignature;
+
+	public static String ConnectorReification_CannotFindMatchingPort;
+	public static String ConnectorReification_CouldNotBind;
+	public static String ConnectorReification_CouldNotConnectPort;
+	public static String ConnectorReification_CouldNotConnectPortOfType;
+	public static String ConnectorReification_InfoAddConnectorPart;
+	public static String ConnectorReification_InfoPortTypes;
+	public static String ConnectorReification_RequiresUseOfPorts;
+	public static String ConnectorReification_TemplateTypeNotClass;
+
+	public static String GenerateCode_CouldNotDeleteOldCode;
+	public static String GenerateCode_GeneratingCodeForNode;
+	public static String GenerateCode_GeneratingCode;
+
+	public static String TemplateUtils_InfoCreateBoundPackage;
+	public static String TemplateUtils_InfoGetActualFrom;
+	public static String TemplateUtils_NoTemplateSignature;
+
+	public static String TemplateInstantiation_TemplateIsNull;
+	public static String TemplateInstantiationListener_TrafoException;
+
+	public static String CompImplTrafos_CannotFindType;
+	public static String CompImplTrafos_IntfNotImplemented;
+	public static String CompTypeTrafos_CannotFindType;
+
+	public static String ContainerTrafo_CannotApplyRule;
+	public static String ContainerTrafo_CannotFindDelegationConn;
+	public static String ContainerTrafo_InterceptionRuleButNoInterceptor;
+
+	public static String ContainerTrafo_RecursiveLWnotSupported;
+
+	public static String InstanceConfigurator_InvalidPluginExtension;
+
+	public static String InstantiateDepPlan_AcceleoErrors;
+	public static String InstantiateDepPlan_AcceleoErrorsCheckLog;
+	public static String InstantiateDepPlan_CannotGenModel;
+	public static String InstantiateDepPlan_CheckInputImportPkg;
+	public static String InstantiateDepPlan_CheckInputImportPkgNoRes;
+	public static String InstantiateDepPlan_CheckInputModelProfile3;
+	public static String InstantiateDepPlan_CheckInputModelProfileNoRes;
+	public static String InstantiateDepPlan_CheckInputModelProfileNoResNoName;
+	public static String InstantiateDepPlan_ConsultConsole;
+	public static String InstantiateDepPlan_DepPlanStereotypeNotInitialized;
+	public static String InstantiateDepPlan_ErrorsDuringTransformation;
+	public static String InstantiateDepPlan_IllegalArgumentDuringCopy;
+	public static String InstantiateDepPlan_InfoApplyProfile;
+	public static String InstantiateDepPlan_InfoDeployingForNode;
+	public static String InstantiateDepPlan_InfoExpandingConnectors;
+	public static String InstantiateDepPlan_InfoGeneratingModel;
+	public static String InstantiateDepPlan_InfoImportPackage;
+	public static String InstantiateDepPlan_InfoNoneAllocated;
+	public static String InstantiateDepPlan_TransformationException;
+
+	public static String MainModelTrafo_ChangePartType;
+	public static String MainModelTrafo_NoDefiningFeature;
+	public static String MainModelTrafo_NoInstanceAssociated;
+
+	public static String MainModelTrafo_NoTypeDefinedFor;
+
+	public static String CompImplSync_InfoSyncIntf;
+	public static String CompImplSync_InfoSyncViaImpl;
+	public static String CompImplSync_InfoSyncViaType;
+
+	public static String DepPlanUtils_CannotFindAttribute;
+	public static String DepPlanUtils_ConfigOfPropertyFailed;
+
+	public static String UpdateUtils_CannotApplyFCMstereo;
+
+	public static String XtendTemplateBinding_TemplateNotFound;
+
+	public static String XtendTemplateBinding_TemplateResultIsNotAString;
+
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/PortInfo.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/PortInfo.java
new file mode 100644
index 0000000..6741fb9
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/PortInfo.java
@@ -0,0 +1,139 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation;
+
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Port;
+
+/**
+ * Information about a port that might belong to an extended port
+ * It provides information about that port while taking the (optional) parent
+ * port into account
+ */
+public class PortInfo {
+	/**
+	 * Create a new portInfo.
+	 *
+	 * @param port
+	 * @param parentPort
+	 *            optional parent port (null, if no parent port exist, i.e. if this is not an extended port)
+	 */
+	public PortInfo(Port port, Port parentPort) {
+		this.port = port;
+		this.parentPort = parentPort;
+	}
+
+	/**
+	 * Create a new port info for a combination of Port and sub-port. Compared to the constructor,
+	 * the order of sub and parent port is inverted. The function is useful, if the sub-port is optional
+	 *
+	 * @param port
+	 *            a port
+	 * @param subPort
+	 *            an optional supPort.
+	 * @return
+	 */
+	public static PortInfo fromSubPort(Port port, Port subPort) {
+		if (subPort != null) {
+			return new PortInfo(subPort, port);
+		}
+		else {
+			return new PortInfo(port, null);
+		}
+	}
+
+	/**
+	 * @return The name of a port. Might be a composite name in case of an extended port
+	 */
+	public String getName() {
+		if (parentPort != null) {
+			return parentPort.getName() + "_" + port.getName(); //$NON-NLS-1$
+		}
+		else {
+			return port.getName();
+		}
+	}
+
+	/**
+	 * @return the interface provided by a port or sub-port. Takes conjugation of the parent port into account
+	 */
+	public Interface getProvided() {
+		if ((parentPort != null) && parentPort.isConjugated()) {
+			return PortUtils.getRequired(port);
+		}
+		else {
+			return PortUtils.getProvided(port);
+		}
+	}
+
+	/**
+	 * @return the interface required by a port or sub-port. Takes conjugation of the parent port into account
+	 */
+	public Interface getRequired() {
+		if ((parentPort != null) && parentPort.isConjugated()) {
+			return PortUtils.getProvided(port);
+		}
+		else {
+			return PortUtils.getRequired(port);
+		}
+	}
+
+	/**
+	 * @return true, if port is conjugated. Takes conjugation of the parent port into account
+	 */
+	public boolean isConjugated() {
+		if (parentPort != null) {
+			return port.isConjugated() != parentPort.isConjugated();
+		}
+		else {
+			return port.isConjugated();
+		}
+	}
+
+	/**
+	 * TODO: take multiplicity of parent-port into account
+	 *
+	 * @return upper multiplicity of port
+	 */
+	public int getUpper() {
+		return port.getUpper();
+	}
+
+	/**
+	 * @return the described port or sub-port
+	 */
+	public Port getPort() {
+		return port;
+	}
+
+	/**
+	 * @return Return the port of the original model, i.e. the parent port, if the port is actually
+	 *         a sub-port or the original port, if it is not.
+	 *         This function is useful for testing delegation relationships (which could not exist for a
+	 *         sub-port)
+	 */
+	public Port getModelPort() {
+		if (parentPort != null) {
+			return parentPort;
+		}
+		else {
+			return port;
+		}
+	}
+
+	protected Port port;
+
+	protected Port parentPort;
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/PortUtils.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/PortUtils.java
new file mode 100644
index 0000000..175a0cd
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/PortUtils.java
@@ -0,0 +1,320 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.components.FCM.PortKind;
+import org.eclipse.papyrus.designer.components.FCM.TemplatePort;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.EncapsulatedClassifier;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+public class PortUtils {
+
+	/**
+	 * Return the provided interface associated with the UML port, i.e.
+	 * the derived attribute of the FCM profile
+	 *
+	 * @param port
+	 *            the UML port
+	 * @return the provided interface
+	 */
+	public static Interface getProvided(Port port) {
+		if (port.getProvideds().size() > 0) {
+			// return first standard UML provided port
+			return port.getProvideds().get(0);
+		}
+		return null;
+	}
+
+	/**
+	 * Return the required interface associated with the UML port, i.e.
+	 * the derived attribute of the FCM profile
+	 *
+	 * @param port
+	 *            the UML port
+	 * @return the required interface
+	 */
+	public static Interface getRequired(Port port) {
+		if (port.getRequireds().size() > 0) {
+			// return first standard UML required port
+			return port.getRequireds().get(0);
+		}
+		return null;
+	}
+
+	/**
+	 * Return the FCM port (static profile) from a given UML port
+	 *
+	 * @param port
+	 * @return
+	 */
+	public static org.eclipse.papyrus.designer.components.FCM.Port getFCMport(Port port) {
+		return UMLUtil.getStereotypeApplication(port, org.eclipse.papyrus.designer.components.FCM.Port.class);
+	}
+
+	/**
+	 * Return the value of the FCM stereotype attribute "type" 
+	 * @param port a UML port
+	 * @return the value of the type attribute
+	 */
+	public static Type getFCMType(Port port) {
+		org.eclipse.papyrus.designer.components.FCM.Port fcmPort = getFCMport(port);
+		if (fcmPort != null) {
+			return fcmPort.getType();
+		}
+		return null;
+	}
+	
+	/**
+	 * Returns all ports (including inherited ones) for an encapsulated classifier
+	 * It will also flatten extended ports
+	 *
+	 * @param ec
+	 * @return
+	 */
+	public static EList<Port> getAllPorts(EncapsulatedClassifier ec) {
+		EList<Port> ports = new BasicEList<Port>();
+		for (Property attribute : ec.getAllAttributes()) {
+			if (attribute instanceof Port) {
+				ports.add((Port) attribute);
+			}
+		}
+
+		// TODO: for the moment, don't add aggregated ports to list.
+		/*
+		 * ComponentType compType = = UMLUtil.getStereotypeApplication (ec, ComponentType.class);
+		 * for (ContainerRule rule : compType.getContainerRule ())
+		 * {
+		 * if ((rule.getExtensionKind () == ContainerExtKind.AGGREGATION) &&
+		 * (rule.getExtension () != null)) {
+		 * ports.addAll (getAllPorts (rule.getExtension ().getBase_Class ()));
+		 * }
+		 * }
+		 */
+
+		return ports;
+	}
+
+	/**
+	 * Returns all ports for an encapsulated classifier. Inherited ports are
+	 * included, except if the superclass is already a component implementation.
+	 * The motivation for this function is that ports inherited by a
+	 * component implementation have already corresponding operations/attributes,
+	 * only ports inherited by types need these definitions in subclasses.
+	 * TODO: support for abstract implementations that partially implement ports
+	 *
+	 * @param ec
+	 * @return
+	 */
+	public static EList<Port> getAllPorts2(EncapsulatedClassifier ec) {
+		EList<Port> ports = new BasicEList<Port>();
+
+		ports.addAll(ec.getOwnedPorts());
+
+		for (Classifier general : ec.getGenerals()) {
+			if ((general instanceof EncapsulatedClassifier) && (general.isAbstract())) {
+				ports.addAll(getAllPorts2((EncapsulatedClassifier) general));
+			}
+		}
+		return ports;
+	}
+
+	/**
+	 * When given a list of ports, flatten the extended ports within this list
+	 * and return a list of port-infos, i.e. information about ports.
+	 *
+	 * @param ports
+	 *            A list of ports
+	 * @return A list of port-infos
+	 */
+	public static EList<PortInfo> flattenExtendedPorts(EList<Port> ports) {
+		EList<PortInfo> portInfos = new BasicEList<PortInfo>();
+		for (Port port : ports) {
+			portInfos.addAll(flattenExtendedPort(port));
+		}
+		return portInfos;
+	}
+
+
+	/**
+	 * Flatten the given extended port and return a list of port-infos.
+	 *
+	 * @param port
+	 * @return
+	 */
+	public static EList<PortInfo> flattenExtendedPort(Port port) {
+		EList<PortInfo> portInfos = new BasicEList<PortInfo>();
+		if (isExtendedPort(port)) {
+			org.eclipse.papyrus.designer.components.FCM.Port fcmPort = getFCMport(port);
+			org.eclipse.uml2.uml.Class cl;
+			if (isTemplatePort(port)) {
+				TemplatePort tp = UMLUtil.getStereotypeApplication(port, TemplatePort.class);
+				if (tp.getBoundType() == null) {
+					Activator.log.debug("Bound type of template port is null, choosing base class of kind instead"); //$NON-NLS-1$
+					cl = fcmPort.getKind().getBase_Class();
+				}
+				else {
+					cl = tp.getBoundType().getBase_Class();
+				}
+			}
+			else {
+				cl = fcmPort.getKind().getBase_Class();
+			}
+			if ((cl != null) && (getAllPorts(cl).size() > 0)) {
+				EList<Port> extendedPorts = getAllPorts(cl);
+				for (Port extendedPort : extendedPorts) {
+					portInfos.add(new PortInfo(extendedPort, port));
+				}
+			}
+		}
+		else {
+			portInfos.add(new PortInfo(port, null));
+		}
+		return portInfos;
+	}
+
+	/**
+	 * Return true, if the passed port is an extended port
+	 *
+	 * @param port
+	 * @return
+	 */
+	public static boolean isExtendedPort(Port port) {
+		org.eclipse.papyrus.designer.components.FCM.Port fcmPort = getFCMport(port);
+		if ((fcmPort != null) && (fcmPort.getKind() != null)) {
+			org.eclipse.uml2.uml.Class cl = fcmPort.getKind().getBase_Class();
+			return ((cl != null) && (getAllPorts(cl).size() > 0));
+		}
+		return false;
+	}
+
+	/**
+	 * Return true, if the passed port is an extended port
+	 *
+	 * @param port
+	 * @return
+	 */
+	public static boolean isTemplatePort(Port port) {
+		return StereotypeUtil.isApplied(port, TemplatePort.class);
+	}
+
+	/**
+	 * Return the port kind, an element of the static profile
+	 *
+	 * @param port
+	 * @return
+	 */
+	public static PortKind getKind(Port port) {
+		org.eclipse.papyrus.designer.components.FCM.Port fcmPort = getFCMport(port);
+		if (fcmPort != null) {
+			return fcmPort.getKind();
+		}
+		return null;
+	}
+
+	/**
+	 * Check whether two ports have the same port kind. Since different models apparently
+	 * use different Java instances for the same port kind, the check is therefore based
+	 * on the equality of full qualified name.
+	 *
+	 * @param portA
+	 * @param portB
+	 * @return true, if port kinds are identical
+	 */
+	public static boolean sameKinds(Port portA, Port portB) {
+		PortKind kindA = getKind(portA);
+		PortKind kindB = getKind(portB);
+		return kindA == kindB;
+	}
+
+	/**
+	 * Check whether two ports match, i.e. have the same type & kind but different conjugation (assembly)
+	 * or same type, kind and conjugation (delegation). The ports must have the FCM port stereotype.
+	 *
+	 * @param portA
+	 *            first port
+	 * @param portB
+	 *            second port
+	 * @param isAssembly
+	 *            true, if the ports should be connected by an assembly connector (i.e. no delegation)
+	 * @return true, if ports match
+	 */
+	public static boolean matches(Port portA, Port portB, boolean isAssembly) {
+		org.eclipse.papyrus.designer.components.FCM.Port fcmPortA =
+				UMLUtil.getStereotypeApplication(portA, org.eclipse.papyrus.designer.components.FCM.Port.class);
+		org.eclipse.papyrus.designer.components.FCM.Port fcmPortB =
+				UMLUtil.getStereotypeApplication(portB, org.eclipse.papyrus.designer.components.FCM.Port.class);
+		if ((fcmPortA == null) || (fcmPortB == null)) {
+			return false;
+		}
+		boolean sameTypeAndKind = (fcmPortA.getType() == fcmPortB.getType()) && fcmPortA.getKind() == fcmPortB.getKind();
+		if (isAssembly) {
+			return (sameTypeAndKind && portA.isConjugated() != portB.isConjugated());
+		} else {
+			// delegation
+			return (sameTypeAndKind && portA.isConjugated() == portB.isConjugated());
+		}
+	}
+
+	/**
+	 * Check whether two ports are compatible. i.e. either match or are compatible interface wise
+	 *
+	 * @param portA
+	 * @param portB
+	 * @param isAssembly
+	 *            true, if the ports should be connected by an assembly connector (i.e. no delegation)
+	 * @return
+	 */
+	public static boolean isCompatible(Port portA, Port portB, boolean isAssembly) {
+		if (matches(portA, portB, isAssembly)) {
+			return true;
+		}
+		// no match found, try weaker condition: find 1st match for provided ...
+		if (isAssembly) {
+			Interface reqA = PortUtils.getRequired(portA);
+			Interface reqB = PortUtils.getRequired(portB);
+			Interface prodA = PortUtils.getProvided(portA);
+			Interface prodB = PortUtils.getProvided(portB);
+			return (((reqA == null) && isSubInterface(prodA, reqB))
+					|| ((reqB == null) && isSubInterface(prodB, reqA))
+					|| (isSubInterface(prodA, reqB) && isSubInterface(prodB, reqA)));
+		}
+		else {
+			return (PortUtils.getProvided(portA) == PortUtils.getProvided(portB)) &&
+					(PortUtils.getRequired(portB) == PortUtils.getRequired(portA));
+		}
+	}
+
+	/**
+	 * return true, if intfA is a sub-interface of intfB, i.e. either both interfaces are identical or one of the
+	 * super-classes (generalizations of intfA) is identical to B.
+	 * more general than interfaceB.
+	 *
+	 * @param intfA
+	 * @param intfB
+	 * @return
+	 */
+	public static boolean isSubInterface(Interface intfA, Interface intfB) {
+		return (intfA == intfB) || (intfA != null && intfA.getGeneralizations().contains(intfB));
+	}
+}
+ 
\ No newline at end of file
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/commands/AddMarteAndFcmProfile.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/commands/AddMarteAndFcmProfile.java
new file mode 100644
index 0000000..7604872
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/commands/AddMarteAndFcmProfile.java
@@ -0,0 +1,148 @@
+/*******************************************************************************
+ * Copyright (c) 2011 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     CEA LIST - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.papyrus.designer.components.transformation.commands;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.workspace.AbstractEMFOperation;
+import org.eclipse.papyrus.designer.components.transformation.Activator;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Profile;
+
+/**
+ * This class adds the FCM profile, parts of the MARTE profile and required package imports to your model.
+ */
+public class AddMarteAndFcmProfile extends AbstractEMFOperation {
+
+	public AddMarteAndFcmProfile(Package selectedPkg, int applyCode, TransactionalEditingDomain domain) {
+		super(domain, CMD_LABEL);
+		this.selectedPkg = selectedPkg;
+		this.applyCode = applyCode;
+	}
+
+	public static final String CMD_LABEL = "Add MARTE/FCM profiles"; //$NON-NLS-1$
+
+	public static final String FCM_PROFILE_URI = "pathmap://FCM_PROFILES/FCM.profile.uml"; //$NON-NLS-1$
+
+	public static final String MARTE_PROFILE_URI = "pathmap://Papyrus_PROFILES/MARTE.profile.uml";//$NON-NLS-1$
+
+	static final String MARTE_FOUNDATIONS = "MARTE_Foundations"; //$NON-NLS-1$
+
+	static final String MARTE_F_ALLOC = "Alloc"; //$NON-NLS-1$
+
+	static final String MARTE_DESIGN_MODEL = "MARTE_DesignModel"; //$NON-NLS-1$
+
+	static final String MARTE_DM_HLAM = "HLAM"; //$NON-NLS-1$
+
+	static final String MARTE_DM_GCM = "GCM"; //$NON-NLS-1$
+
+	public static final int APPLY_FCM = 1;
+
+	public static final int APPLY_ALLOC = 2;
+
+	public static final int APPLY_HLAM_GCM = 4;
+
+	Package selectedPkg;
+
+	int applyCode;
+
+	public static Element getContent(URI uri, ResourceSet rs) {
+		// Resource resource = getTransactionalEditingDomain ().getResourceSet().getResource (uri, true);
+		Resource resource = rs.getResource(uri, true);
+		return getContent(resource);
+	}
+
+	public static Element getContent(Resource resource) {
+		EList<EObject> contentObj = resource.getContents();
+		if ((contentObj.size() > 0) && (contentObj.get(0) instanceof Element)) {
+			return (Element) contentObj.get(0);
+		}
+		return null;
+	}
+
+	@Override
+	protected IStatus doExecute(IProgressMonitor monitor, IAdaptable info)
+			throws ExecutionException {
+		final ResourceSet resourceSet = selectedPkg.eResource().getResourceSet();
+
+		try {
+			/*
+			 * // Apply UML Standard profile
+			 * // Retrieve standard profile
+			 * Profile umlStdProfile =
+			 * (Profile) getContent (URI.createURI(UMLResource.STANDARD_PROFILE_URI));
+			 * // Apply to new model
+			 * umlModel.applyProfile(umlStdProfile);
+			 */
+
+			if ((applyCode & APPLY_FCM) != 0) {
+				// Retrieve FCM profile
+				Profile fcmProfile =
+						(Profile) getContent(URI.createURI(FCM_PROFILE_URI), resourceSet);
+
+				// Apply FCM profile and its nested profiles to new model
+				if (fcmProfile instanceof Profile) {
+					Profile profile = selectedPkg.getAppliedProfile(fcmProfile.getQualifiedName());
+					if ((profile == null) && (!fcmProfile.getOwnedStereotypes().isEmpty())) {
+						selectedPkg.applyProfile(fcmProfile);
+					}
+				}
+				else {
+					Activator.log.debug("The FCM profile is not available."); //$NON-NLS-1$
+				}
+			}
+
+			if ((applyCode & (APPLY_ALLOC | APPLY_HLAM_GCM)) != 0) {
+				// Retrieve MARTE profile
+				Profile marteProfile =
+						(Profile) getContent(URI.createURI(MARTE_PROFILE_URI), resourceSet);
+
+				// Apply MARTE::MARTE_DesignModel::HLAM
+				// & MARTE::MARTE_DesignModel::GCM
+				if (marteProfile != null) {
+					PackageableElement foundationModel = marteProfile.getPackagedElement(MARTE_FOUNDATIONS);
+					if ((foundationModel instanceof Package) && ((applyCode & APPLY_ALLOC) != 0)) {
+						PackageableElement alloc = ((Package) foundationModel).getPackagedElement(MARTE_F_ALLOC);
+						selectedPkg.applyProfile((Profile) alloc);
+					}
+					PackageableElement designModel = marteProfile.getPackagedElement(MARTE_DESIGN_MODEL);
+					if ((designModel instanceof Package) && ((applyCode & APPLY_HLAM_GCM) != 0)) {
+						PackageableElement hlam = ((Package) designModel).getPackagedElement(MARTE_DM_HLAM);
+						if (hlam instanceof Profile) {
+							selectedPkg.applyProfile((Profile) hlam);
+						}
+						PackageableElement gcm = ((Package) designModel).getPackagedElement(MARTE_DM_GCM);
+						if (gcm instanceof Profile) {
+							selectedPkg.applyProfile((Profile) gcm);
+						}
+					}
+				}
+				else {
+					Activator.log.debug("The MARTE profile is not available."); //$NON-NLS-1$
+				}
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return Status.OK_STATUS;
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/commands/AddStdModelLibs.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/commands/AddStdModelLibs.java
new file mode 100644
index 0000000..0b5a773
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/commands/AddStdModelLibs.java
@@ -0,0 +1,162 @@
+/*******************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     CEA LIST - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.papyrus.designer.components.transformation.commands;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.workspace.AbstractEMFOperation;
+import org.eclipse.papyrus.designer.transformation.base.utils.LibraryUtils;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageImport;
+
+/**
+ * This class adds "standard" model libraries for component-based development: the FCM profile, parts of the MARTE profile (allocation)
+ * and the associated package imports to your model.
+ */
+public class AddStdModelLibs extends AbstractEMFOperation {
+
+	public AddStdModelLibs(Package pkg, TransactionalEditingDomain domain) {
+		super(domain, CMD_LABEL);
+		selectedPkg = pkg;
+		availableImportPackages = null;
+		importList = null;
+	}
+
+	public static final String CMD_LABEL = "Add Designer CORE libraries"; //$NON-NLS-1$
+
+	public static final String DESIGNER_BASIC_TRAFOS_URI = "pathmap://DML_TRAFOS/trafos.uml"; //$NON-NLS-1$
+
+	public static final String DESIGNER_MARTE_CALLS_URI = "pathmap://QML_MARTE/marte.uml"; //$NON-NLS-1$
+
+	protected EList<PackageImport> importList;
+
+	protected EList<PackageImport> availableImportPackages;
+
+	protected Package selectedPkg;
+
+	/**
+	 * Check whether a package import is already done
+	 *
+	 * @param selectedPkg
+	 * @param pi
+	 * @return
+	 */
+	boolean isAlreadyImported(Package selectedPkg, PackageImport pi) {
+		for (PackageImport existingPI : selectedPkg.getPackageImports()) {
+			if ((existingPI.getImportedPackage() == null) ||
+					(pi.getImportedPackage() == null)) {
+				// import package are null (should not happen?!)
+				continue;
+			}
+			if ((existingPI.getImportedPackage().getName() == null) ||
+					(pi.getImportedPackage().getName() == null)) {
+				// import package name not set (should not happen?!)
+				continue;
+			} else if (existingPI.getImportedPackage().getName().equals(pi.getImportedPackage().getName())) {
+				return true;
+			}
+		}
+		return false;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+	 */
+
+	/**
+	 * Return a list of package-imports for standard Qompass model libraries
+	 *
+	 * @return
+	 * @throws ExecutionException
+	 */
+	public EList<PackageImport> getAvailableImportPackages() {
+		if (availableImportPackages != null) {
+			return availableImportPackages;
+		}
+		final ResourceSet resourceSet = selectedPkg.eResource().getResourceSet();
+		availableImportPackages = new BasicEList<PackageImport>();
+
+		PackageImport pi = LibraryUtils.getModelLibraryImportFromURI(URI.createURI(DESIGNER_BASIC_TRAFOS_URI), resourceSet);
+		if (pi != null) {
+			availableImportPackages.add(pi);
+		}
+		pi = LibraryUtils.getModelLibraryImportFromURI(URI.createURI(DESIGNER_MARTE_CALLS_URI), resourceSet);
+		if (pi != null) {
+			availableImportPackages.add(pi);
+		}
+		return availableImportPackages;
+	}
+
+	/**
+	 * @return a list of package-imports that are already imported (within the selected pkg).
+	 */
+	public EList<PackageImport> getAlreadyImportedPackages() {
+		EList<PackageImport> availablePackages = getAvailableImportPackages();
+		EList<PackageImport> selection = new BasicEList<PackageImport>();
+		for (PackageImport pi : availablePackages) {
+			if (isAlreadyImported(selectedPkg, pi)) {
+				selection.add(pi);
+			}
+		}
+		return selection;
+	}
+
+	/**
+	 * Initialize import list. Must be called, before the command gets executed.
+	 *
+	 * @param importList
+	 *            a list of package-imports that will be added to the selectedPkg when
+	 *            the command gets executed.
+	 */
+	public void setImportList(EList<PackageImport> importList) {
+		this.importList = importList;
+	}
+
+
+	/**
+	 * Initialize import list. Must be called, before the command gets executed.
+	 * Convenience method for dialogs that return an array.
+	 *
+	 * @param importArray
+	 *            an array of objects (which must contain package-imports) that will
+	 *            be added to the selectedPkg when the command gets executed.
+	 */
+	public void setImportList(Object importArray[]) {
+		importList = new BasicEList<PackageImport>();
+		for (Object importPkg : importArray) {
+			if (importPkg instanceof PackageImport) {
+				importList.add((PackageImport) importPkg);
+			}
+		}
+	}
+
+	@Override
+	protected IStatus doExecute(IProgressMonitor monitor, IAdaptable info)
+			throws ExecutionException {
+
+		for (PackageImport pi : importList) {
+			if (!isAlreadyImported(selectedPkg, pi)) {
+				selectedPkg.getPackageImports().add(pi);
+			}
+		}
+		return Status.OK_STATUS;
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/component/AllocTransfo.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/component/AllocTransfo.java
new file mode 100644
index 0000000..2c281fe
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/component/AllocTransfo.java
@@ -0,0 +1,113 @@
+/**
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.eclipse.papyrus.designer.components.transformation.component;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.papyrus.designer.deployment.tools.AllocUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
+import org.eclipse.uml2.common.util.UML2Util;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * Transform the allocations towards an execution resource (thread) into a suitable connection
+ * Current restriction: a thread needs to be defined the same composite as the component which
+ * is allocated to this thread.
+ */
+public class AllocTransfo {
+	/**
+	 * Name of port provided by component being allocation target
+	*/
+	public static final String RUN = "run"; //$NON-NLS-1$
+	
+	/**
+	 * Name of port provided by thread component (a "required" port)
+	 */
+	public static final String R_RUN = "rRun"; //$NON-NLS-1$
+	
+	/**
+	 * name of main thread
+	 */
+	public static final String MAIN = "main"; //$NON-NLS-1$
+
+	/**
+	 *
+	 * @param copier
+	 *            The copier class. Currently unused
+	 * @param composite
+	 *            A composite. We analyze the allocations of the properties within this
+	 *            Composite. The composite must be an element of the target model that can be modified.
+	 */
+	public void transformAllocs(LazyCopier copy, Class composite) {
+		EList<Property> attributeList = new BasicEList<Property>();
+		attributeList.addAll(composite.getOwnedAttributes()); // use a copy, since the loop eventually destroys an element of the list.
+		for (Property attribute : attributeList) {
+			Type type = attribute.getType();
+			if (!(type instanceof Class)) {
+				continue;
+			}
+			Property thread = AllocUtils.getThreadAlloc(attribute);
+			if (thread != null) {
+				// this attribute represents a thread.
+				if (thread.getName().equals(MAIN)) {
+					// TODO: currently, no support for setting up the priority of the main thread.
+					// we need to get a cleaner solution for the main thread.
+					// destroy eventual connector and associated thread => thread as component with unconnected start thread
+					Connector conn = ConnectorUtil.getConnector(composite, attribute, thread);
+					// Connector targetConn = copier.getCopy(conn);
+					// Property targetThread = copier.getCopy(thread);
+					if (conn != null) {
+						conn.destroy();
+					}
+					// destroy not only the thread, but also the slot within the composites instance specification
+					// (that references the thread via its defining feature).
+					for (Setting setting : UML2Util.getInverseReferences(thread)) {
+						if (setting.getEObject() instanceof Slot) {
+							((Element) setting.getEObject()).destroy();
+						}
+					}
+					thread.destroy();
+				}
+				// check, if there is already a connector between the attribute and the thread
+				else if (!ConnectorUtil.existsConnector(composite, attribute, thread)) {
+					// no connector => create;
+					Class component = (Class) type;
+					Connector c = composite.createOwnedConnector("alloc to " + thread.getName()); //$NON-NLS-1$
+					ConnectorEnd ce1 = c.createEnd();
+					ce1.setPartWithPort(attribute);
+					// TODO: should really use start port instead...
+					// ce1.setRole(AllocUtils.getStartPort(component));
+					NamedElement ne = ElementUtils.getNamedElementFromList(component.getAllAttributes(), RUN);
+					if (ne instanceof Property) {
+						ce1.setRole((Property) ne);
+					}
+					ConnectorEnd ce2 = c.createEnd();
+					ce2.setPartWithPort(thread);
+					Type threadT = thread.getType();
+					if (threadT instanceof Class) {
+						// TODO: nicer way to obtain port ...
+						Property rLC = ((Class) threadT).getAttribute(R_RUN, null);
+						if (rLC instanceof Port) {
+							ce2.setRole(rLC);
+						}
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/component/ContainerUtil.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/component/ContainerUtil.java
new file mode 100644
index 0000000..8d3a8a7
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/component/ContainerUtil.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.components.transformation.component;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.components.FCM.ContainerRule;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+public class ContainerUtil {
+	 // TODO: need a generic utility function for getting all elements obeying a certain
+    // criteria from a model
+    public static EList<ContainerRule> getAllRules(Package pkg) {
+        EList<Package> visitedPackages = new BasicEList<Package>();
+        EList<ContainerRule> contRuleList = new BasicEList<ContainerRule>();
+        getAllRules(pkg, visitedPackages, contRuleList);
+        return contRuleList;
+    }
+
+    public static void getAllRules(Package pkg, EList<Package> visitedPackages, EList<ContainerRule> contRuleList) {
+        for (Element el : pkg.getMembers()) {
+            if (el instanceof Package) {
+                if (!visitedPackages.contains(el)) {
+                    visitedPackages.add((Package) el);
+                    getAllRules((Package) el, visitedPackages, contRuleList);
+                }
+            }
+            else if (el instanceof Class) {
+                if (StereotypeUtil.isApplied(el, ContainerRule.class)) {
+                    ContainerRule rule = UMLUtil.getStereotypeApplication(el, ContainerRule.class);
+                    contRuleList.add(rule);
+                }
+            }
+        }
+    }
+
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/component/PrefixConstants.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/component/PrefixConstants.java
new file mode 100644
index 0000000..f57ba1d
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/component/PrefixConstants.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation.component;
+
+/**
+ * A set of constants used for the CIF. In particular prefixes for the operations
+ * to access the implementation of a provided interface and connect a required interface
+ *
+ */
+public class PrefixConstants {
+
+	public static String getP_Prefix;
+
+	public static String getConnQ_Prefix;
+
+	public static String connectQ_Prefix;
+
+	public static String attributePrefix;
+
+	public static String createConnections;
+
+	public enum CIFvariant {
+		UML, CCM
+	}
+
+	public static final String INDEX_TYPE_FOR_MULTI_RECEPTACLE = "PrimitiveTypes::Integer"; //$NON-NLS-1$;
+
+	/**
+	 * Initialize a specific CIF variant
+	 *
+	 * TODO currently unused
+	 *
+	 * @param cif
+	 *            Which CIF variant should used?
+	 */
+	public static void init(CIFvariant cif) {
+		if (cif == CIFvariant.UML) {
+			getP_Prefix = "get_"; //$NON-NLS-1$
+			getConnQ_Prefix = ""; //$NON-NLS-1$
+			connectQ_Prefix = "connect_"; //$NON-NLS-1$
+			attributePrefix = ""; //$NON-NLS-1$
+		} else if (cif == CIFvariant.CCM) {
+			getP_Prefix = "get_"; //$NON-NLS-1$
+			getConnQ_Prefix = "getconnection_"; //$NON-NLS-1$
+			connectQ_Prefix = "connect_"; //$NON-NLS-1$
+			attributePrefix = "m_"; //$NON-NLS-1$
+		}
+		createConnections = "createConnections"; //$NON-NLS-1$
+	}
+};
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/component/filters/FilterTemplate.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/component/filters/FilterTemplate.java
new file mode 100644
index 0000000..91c56ae
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/component/filters/FilterTemplate.java
@@ -0,0 +1,74 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation.component.filters;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.designer.components.FCM.InteractionComponent;
+import org.eclipse.papyrus.designer.transformation.core.copylisteners.PreCopyListener;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Element;
+
+
+/**
+ * Do not copy connector related elements, i.e.
+ * 1. UML connectors with stereotype FCM.Connector
+ * The rationale behind this is that we want to avoid copying a FCM connector from the source model
+ * into the target model since the target model should only contain the reified form of the connector
+ *
+ * 2. UML classes that are stereotyped as interaction components
+ * We do not want to copy interaction components, since they typically need to be instantiated.
+ * TODO: there is no check whether we are actually in a template. An interaction component might be fixed (i.e. not
+ * depend on template instantiation) and needs to be copied in this case.
+ * (in most cases, these are not copied anyway, since these are in a different model,
+ * but we do not want to exclude the case of defining model-local connectors)
+ */
+public class FilterTemplate implements PreCopyListener {
+
+	public FilterTemplate() {
+		active = true;
+	}
+
+	public static FilterTemplate getInstance() {
+		if (instance == null) {
+			instance = new FilterTemplate();
+		}
+		return instance;
+	}
+
+	@Override
+	public EObject preCopyEObject(LazyCopier copier, EObject sourceEObj) {
+		if (active && (sourceEObj instanceof Element)) {
+			Element sourceElem = (Element) sourceEObj;
+			if ((sourceEObj instanceof Connector) && StereotypeUtil.isApplied(sourceElem, org.eclipse.papyrus.designer.components.FCM.Connector.class)) {
+	//			return null;
+			}
+			if ((sourceEObj instanceof Class) && StereotypeUtil.isApplied(sourceElem, InteractionComponent.class)) {
+				return null;
+			}
+		}
+		return sourceEObj;
+	}
+
+	public void setActive(boolean active) {
+		this.active = active;
+	}
+
+	private boolean active;
+
+	private static FilterTemplate instance = null;
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/component/filters/FixTemplateSync.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/component/filters/FixTemplateSync.java
new file mode 100644
index 0000000..ca8c994
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/component/filters/FixTemplateSync.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation.component.filters;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.designer.components.transformation.sync.CompImplSync;
+import org.eclipse.papyrus.designer.transformation.core.copylisteners.PostCopyListener;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Class;
+
+/**
+ * Synchronize derived realizations (after copying). If re-synchronization is not done, the
+ * relationship would point to wrong interface, if it is derived and depending on a formal parameter.
+ * (e.g. derived push interface with formal parameter T would be at wrong location).
+ * TODO: need better explanation. Solution is quite a hack.
+ */
+public class FixTemplateSync implements PostCopyListener {
+
+	public static FixTemplateSync getInstance() {
+		if (instance == null) {
+			instance = new FixTemplateSync();
+		}
+		return instance;
+	}
+
+	@Override
+	public void postCopyEObject(LazyCopier copier, EObject targetEObj) {
+		// if (copier.get(sourceEObj) isWithinTemplate)
+		if (!(targetEObj instanceof Behavior)) {
+			if ((targetEObj instanceof Class) && !((Class) targetEObj).isAbstract()) {
+				Class implementation = (Class) targetEObj;
+				CompImplSync.updatePorts(implementation);
+				CompImplSync.syncRealizations(implementation);
+				// commented out, since it causes dangling references
+				// TODO: why needed originally?
+				// CompImplSync.syncDerivedOperations(implementation);
+			}
+		}
+	}
+
+	private static FixTemplateSync instance = null;
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/extensions/AbstractContainerTrafo.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/extensions/AbstractContainerTrafo.java
new file mode 100644
index 0000000..95ec835
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/extensions/AbstractContainerTrafo.java
@@ -0,0 +1,123 @@
+/********
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation.extensions;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.papyrus.designer.components.FCM.ContainerRule;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Package;
+
+
+public abstract class AbstractContainerTrafo {
+
+	public static void init() {
+		containers = new HashMap<Class, AbstractContainerTrafo>();
+	}
+
+	/**
+	 * return the container trafo associated with the tmComponent
+	 *
+	 * @param tmComponent
+	 * @return Container-trafo instance of null
+	 */
+	public static AbstractContainerTrafo get(Class tmComponent) {
+		return containers.get(tmComponent);
+	}
+
+	/**
+	 * Hash map used to identify for which components we already created a container.
+	 * Indexed with components in target model (but before container expansion)
+	 */
+	protected static Map<Class, AbstractContainerTrafo> containers;
+
+	public abstract void createContainer(Class smClass, Class tmClass) throws TransformationException;
+
+	/**
+	 * Create an instance of the container (UML instance specification)
+	 *
+	 * @param tmClass
+	 *            the component within the target model for which we want to create an instance
+	 *
+	 * @param tmExecutorIS
+	 *            the existing instance specification for the component before container expansion.
+	 * @param context
+	 *            Additional information about the container that is used by instance configurators
+	 */
+	public abstract InstanceSpecification createContainerInstance(Class tmClass, InstanceSpecification tmExecutorIS)
+			throws TransformationException;
+
+	/**
+	 * apply a container rule, i.e. add either a container extension or an
+	 * interceptor to the container
+	 *
+	 * @param smContainerRule
+	 *            An container rule
+	 * @param smComponent
+	 *            the application component in the source model
+	 * @param tmComponent
+	 *            the application component in the target model
+	 * @throws TransformationException
+	 */
+	public abstract void applyRule(ContainerRule smContainerRule, Class smComponent, Class tmComponent)
+			throws TransformationException;
+
+	/**
+	 * initialize the transformation. Used by the customTransformation
+	 *
+	 * @param copier
+	 * @param tmCDP
+	 */
+	public void initialize(LazyCopier copier, Package tmCDP) {
+		this.copier = copier;
+		this.tmCDP = tmCDP;
+	}
+	
+	/**
+	 * The instance specification of the created container
+	 */
+	// protected InstanceSpecification containerIS;
+
+	/**
+	 * Copy class from source to target model
+	 */
+	protected LazyCopier copier;
+
+
+	/**
+	 * Is called after a set of rule applications.
+	 * Does nothing by default
+	 */
+	@Override
+	public void finalize() {
+	}
+
+	/**
+	 * The created container implementation (prefixed with tm, since part of
+	 * target model)
+	 */
+	protected Class tmClass;
+
+	/**
+	 * deployment plan within source model
+	 */
+	protected Package smCDP;
+
+	/**
+	 * deployment plan within target model
+	 */
+	protected Package tmCDP;
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/extensions/IOOTrafo.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/extensions/IOOTrafo.java
new file mode 100644
index 0000000..9be76a6
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/extensions/IOOTrafo.java
@@ -0,0 +1,97 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.components.transformation.extensions;
+
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.uml2.uml.Class;
+
+/**
+ * An interface that must be implemented by classes that realize the transformation
+ * from component-based to object-oriented models. It includes the replacement of
+ * ports and connectors. Ports are
+ * replaced with attributes and access operations, connectors within a composite
+ * by an operation that creates the initial setup.
+ * 
+ * 1. add an operation that allows to retrieve the reference to an interface provided
+ * by a port. This operation has a mapping specific name, e.g. get_<port_name>
+ * 2. add an operation that allows to connect a specific port.
+ * the connect_q operation (*including a
+ * storage attribute*) for a port with a required interface
+ * 3. add an implementation for the getcnx_q operation for a port
+ * with a required interface (the operation itself has been added before)
+ *
+ * Problems: need to align bootloader creation with this mapping, since
+ * the bootloader may be responsible for instantiation
+ * 
+ * Caveat: Assure that the folder derivedInterfaces already exists in a model.
+ * Otherwise the call to getProvided/getRequired interface might trigger its
+ * creation resulting in the corruption of list iterators (ConcurrentAccess
+ * exception)
+ *
+ * New considerations: could the OO trafo be seen as a specific form of the
+ * LwContainerTrafo?
+ * [if yes, would that be useful?] Problem: it's not only a merge and operation
+ * interception, but additional operation(s) for ports. But, it might well
+ * be based on similar mechanisms as in merging in a template + Java code instead
+ * of Java code only. Also possible: still have OOTrafo, but there is a collaboration
+ * between the OO trafo and a LW container rule.
+ */
+public interface IOOTrafo {
+
+	/**
+	 * Initialize the transformation. Pass the copier and the bootloader to the
+	 * transformation in case it is needed by an implementation of this interface.
+	 * @param copier an instance of the lazy copier that copies from source (intermediate) model to the OO model.
+	 * @param bootloader
+	 */
+	public void init(LazyCopier copier, Class bootloader);
+	
+	/**
+	 * Transformations adds operations for accessing ports. A common but not necessary
+	 * code generation pattern is to associate different operations with ports that
+	 * provide services (access operations) and ports requiring services (connection operations)
+	 * 
+	 * @param implementation
+	 *            A component implementation
+	 */
+	public void addPortOperations(Class implementation);
+
+
+	/**
+	 * Add an operation that connects the parts within a composite class based on the
+	 * UML connector information.
+	 *
+	 * @param compositeImplementation
+	 *            A (composite) component implementation
+	 * @throws TransformationException
+	 */
+	public void addConnectionOperation(Class compositeImplementation)
+			throws TransformationException;
+
+	/**
+	 * Transform parts if necessary. This transformation is for target programming languages
+	 * like C++ that support different ways of composition for attributes, i.e. references/pointers
+	 * versus values. In case of the latter, the instantiation of a composite directly implies
+	 * the instantiation of its sub-components. In case of the former, parts need to be instantiated
+	 * by a different mechanism, e.g. by the constructor (which is still a valid correspondence for
+	 * composition in UML at a logical level).
+	 * Another possible use is the support of a more dynamic deployment: it is for instance possible
+	 * to use a use a part-list (single attribute) instead of fixed named attributes.
+	 * 
+	 * @param compositeImplementation
+	 *            A (composite) component implementation
+	 */
+	public void transformParts(Class compositeImplementation);
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/extensions/OOTrafo.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/extensions/OOTrafo.java
new file mode 100644
index 0000000..3fbe0f5
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/extensions/OOTrafo.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2011 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     CEA LIST - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation.extensions;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionRegistry;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.papyrus.designer.components.transformation.Activator;
+import org.eclipse.papyrus.designer.components.transformation.Messages;
+
+/**
+ * Support for different OO transformation via the Eclipse extension
+ * mechanism
+ */
+public class OOTrafo {
+
+	public static final String IOO_TRANSFORMATION_ID = Activator.PLUGIN_ID + ".ooTransformation"; //$NON-NLS-1$
+
+	/**
+	 * Get an OOTransformation for a given ID (language)
+	 * 
+	 * @param iOOTrafoID
+	 *            the ID of an OO Transformation
+	 * @return
+	 */
+	public static IOOTrafo getOOTrafo(String iOOTrafoID) {
+		IExtensionRegistry reg = Platform.getExtensionRegistry();
+		IConfigurationElement[] configElements = reg.getConfigurationElementsFor(IOO_TRANSFORMATION_ID);
+		for (IConfigurationElement configElement : configElements) {
+			try {
+				final String iOOTrafoIDext = configElement.getAttribute("ooTrafoID"); //$NON-NLS-1$
+				if (iOOTrafoIDext == null) {
+					throw new RuntimeException(String.format(Messages.InstanceConfigurator_InvalidPluginExtension,
+							iOOTrafoID));
+				}
+				if (iOOTrafoIDext.endsWith("." + iOOTrafoID)) { //$NON-NLS-1$
+					// TODO: cache returned instance (avoid creating a new
+					// instance each time => more efficient, no need for static
+					// attributes)
+					final Object obj = configElement.createExecutableExtension("class"); //$NON-NLS-1$
+					if (obj instanceof IOOTrafo) {
+						return (IOOTrafo) obj;
+					}
+				}
+			} catch (CoreException exception) {
+				exception.printStackTrace();
+			}
+		}
+		return null;
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/listeners/DepPlanListener.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/listeners/DepPlanListener.java
new file mode 100644
index 0000000..5c251db
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/listeners/DepPlanListener.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation.listeners;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.papyrus.designer.components.FCM.DeploymentPlan;
+import org.eclipse.papyrus.infra.core.listenerservice.IPapyrusListener;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * A model listener that updates a deployment plan, e.g. add, remove or
+ * rename instance specifications , if the composites referenced
+ * by a deployment plan change. Since the code is very incomplete, it is
+ * currently not used. It needs to be clarified what changes are useful,
+ * in particular whether delete operations in a composite should immediately
+ * remove the associate slot in instance specifications of the composite and the
+ * referenced instance specifications.
+ *
+ * @author ansgar
+ *
+ */
+public class DepPlanListener implements IPapyrusListener {
+
+	@Override
+	public void notifyChanged(Notification notification) {
+		// TODO Auto-generated method stub
+		int evtType = notification.getEventType();
+		Object notifier = notification.getNotifier();
+		// String name = "";
+
+		if (evtType == Notification.SET) {
+			// Object oldValue = notification.getOldValue ();
+			if (notifier instanceof Package) {
+				DeploymentPlan de = UMLUtil.getStereotypeApplication((Package) notifier, DeploymentPlan.class);
+				Object mainInstance = (de != null) ? de.getMainInstance() : null;
+				if (mainInstance instanceof InstanceSpecification) {
+					// TODO user wants to declare the system component, the instance specification should be created
+					// automatically
+
+				}
+				// if ((oldValue instanceof ) && (notifier instanceof Class)) {
+			}
+		}
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/listeners/InterfaceListener.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/listeners/InterfaceListener.java
new file mode 100644
index 0000000..dc0f75d
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/listeners/InterfaceListener.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation.listeners;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.papyrus.designer.components.transformation.sync.CompImplSync;
+import org.eclipse.papyrus.infra.core.listenerservice.IPapyrusListener;
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Interface;
+
+public class InterfaceListener implements IPapyrusListener {
+
+	public static InterfaceListener getInstance() {
+		if (instance == null) {
+			instance = new InterfaceListener();
+		}
+		return instance;
+	}
+
+	private static InterfaceListener instance = null;
+
+	@Override
+	public void notifyChanged(Notification notification) {
+		int evtType = notification.getEventType();
+		Object notifier = notification.getNotifier();
+		if (evtType == Notification.SET) {
+			if (notifier instanceof Class) {
+				// UMLExecutor.addCCM_intf ((Class) notifier);
+			}
+		} else if (evtType == Notification.ADD) {
+
+			if (notifier instanceof Interface) {
+				// Interface intf = (Interface) notifier;
+
+				// never executed since name is always unset when
+				// an operation is newly added
+			}
+		} else if (evtType == Notification.REMOVE) {
+			Object oldValue = notification.getOldValue();
+			if (oldValue instanceof BehavioralFeature) {
+				BehavioralFeature toBeRemoved = (BehavioralFeature) oldValue;
+
+				Interface intf = (Interface) notifier;
+				CompImplSync.syncViaInterface(intf, toBeRemoved);
+			}
+		}
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/listeners/ModelListener.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/listeners/ModelListener.java
new file mode 100644
index 0000000..3fd4bac
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/listeners/ModelListener.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation.listeners;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.papyrus.infra.core.listenerservice.IPapyrusListener;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Port;
+
+/**
+ * Main listener for model changes (registered via plugin.xml). It will delegate
+ * to the sub-listeners for specific sub-elements (type, operation, port, ...) that
+ * can be found in this package
+ */
+public class ModelListener implements IPapyrusListener {
+
+	@Override
+	public void notifyChanged(Notification notification) {
+		// Activator.log.info(String.format("ModelListener.notifyChanged: %s", notification.getFeature()));
+		Object notifier = notification.getNotifier();
+
+		if (notifier instanceof Operation) {
+			OperationListener.getInstance().notifyChanged(notification);
+		}
+		else if (notifier instanceof Parameter) {
+			ParameterListener.getInstance().notifyChanged(notification);
+		}
+		else if (notifier instanceof Interface) {
+			InterfaceListener.getInstance().notifyChanged(notification);
+		}
+		else if (notifier instanceof Port) {
+			PortListener.getInstance().notifyChanged(notification);
+		}
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/listeners/OperationListener.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/listeners/OperationListener.java
new file mode 100644
index 0000000..a1ee957
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/listeners/OperationListener.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation.listeners;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.papyrus.designer.components.transformation.sync.CompImplSync;
+import org.eclipse.papyrus.infra.core.listenerservice.IPapyrusListener;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Operation;
+
+/**
+ * Track changes of an operation, typically within an interface provided
+ * by a port. This is used to update derived oeprations, e.g. when parameters
+ * are added or removed.
+ *
+ * @author ansgar
+ *
+ */
+public class OperationListener implements IPapyrusListener {
+
+	// TODO: used by TypeAdapter (useful??)
+	public static OperationListener getInstance() {
+		if (instance == null) {
+			instance = new OperationListener();
+		}
+		return instance;
+	}
+
+	private static OperationListener instance = null;
+
+	@Override
+	public void notifyChanged(Notification notification) {
+		int evtType = notification.getEventType();
+		Object notifier = notification.getNotifier();
+		if ((evtType == Notification.SET) || (evtType == Notification.ADD)) {
+			if (notifier instanceof Operation) {
+				Operation operation = (Operation) notifier;
+
+				Element owner = operation.getOwner();
+				if (owner instanceof Interface) {
+					Interface intf = (Interface) owner;
+					CompImplSync.syncViaInterface(intf);
+				}
+			}
+		}
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/listeners/ParameterListener.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/listeners/ParameterListener.java
new file mode 100644
index 0000000..4b2b740
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/listeners/ParameterListener.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation.listeners;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.papyrus.designer.components.transformation.sync.CompImplSync;
+import org.eclipse.papyrus.infra.core.listenerservice.IPapyrusListener;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+
+public class ParameterListener implements IPapyrusListener {
+
+	public static ParameterListener getInstance() {
+		if (instance == null) {
+			instance = new ParameterListener();
+		}
+		return instance;
+	}
+
+	private static ParameterListener instance = null;
+
+	@Override
+	public void notifyChanged(Notification notification) {
+		int evtType = notification.getEventType();
+		Object notifier = notification.getNotifier();
+		if ((evtType == Notification.SET) || (evtType == Notification.ADD)) {
+			if (notifier instanceof Parameter) {
+				Element owner = ((Parameter) notifier).getOwner();
+				if (owner instanceof Operation) {
+					owner = owner.getOwner();
+					if (owner instanceof Interface) {
+						CompImplSync.syncViaInterface((Interface) owner);
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/listeners/PortListener.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/listeners/PortListener.java
new file mode 100644
index 0000000..3efc04f
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/listeners/PortListener.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation.listeners;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.ecore.ENamedElement;
+import org.eclipse.papyrus.designer.components.transformation.sync.CompTypeSync;
+import org.eclipse.papyrus.infra.core.listenerservice.IPapyrusListener;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Port;
+
+public class PortListener implements IPapyrusListener {
+
+	public Notifier getTarget() {
+		return null;
+	}
+
+	public static PortListener getInstance() {
+		if (instance == null) {
+			instance = new PortListener();
+		}
+		return instance;
+	}
+
+	private static PortListener instance;
+
+
+	public boolean isAdapterForType(Object type) {
+		return false;
+	}
+
+	@Override
+	public void notifyChanged(Notification notification) {
+		int evtType = notification.getEventType();
+		Object notifier = notification.getNotifier();
+
+		if (evtType == Notification.SET) {
+			Object obj = notification.getFeature();
+			if (notifier instanceof Port) {
+				Port port = (Port) notifier;
+				if (obj instanceof ENamedElement) {
+					ENamedElement ne = (ENamedElement) obj;
+					if (ne.getName().equals("name")) { //$NON-NLS-1$
+						String oldName = notification.getOldStringValue();
+						CompTypeSync.renamePort((Class) port.getOwner(), port, oldName);
+						// profile modifications are also be indicated as name changes, but might imply a change
+						// of provided and required interfaces.
+						CompTypeSync.syncPort((Class) port.getOwner(), port);
+					} else if (ne.getName().equals("type")) { //$NON-NLS-1$
+						// CompTypeSync.syncPort((Class) port.getOwner(), port);
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/make/GenerateMakefile.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/make/GenerateMakefile.java
new file mode 100644
index 0000000..424da58
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/make/GenerateMakefile.java
@@ -0,0 +1,118 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Manel Fredj
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation.make;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+
+import org.eclipse.papyrus.designer.components.transformation.Activator;
+
+/*
+ * TODO:
+ *  - Currently not used (and unclear, if useful)
+ *
+ * 	- Determination of root folder
+ * 	- files within fileList have relative folder names? (if not assure)
+ *  - supporting def file (not only for Accord)
+ *  - integration with execution
+ */
+
+/**
+ * Generate a makefile based on found source files, i.e. .cpp files
+ *
+ * @author manel
+ *
+ */
+@Deprecated
+public class GenerateMakefile {
+
+	/**
+	 * Makefile Generation Algorithm:
+	 * For each Node
+	 * include $(ROOT_PATH)/Makefile.defs
+	 * NAME = Util
+	 * SRCS =\
+	 * File1.cpp\
+	 * File2.cpp\
+	 * ...
+	 * FileN.cpp
+	 * include $(ROOT_PATH)/Makefile.rules
+	 */
+	public static void generate() {
+		ArrayList<String> fileList = new ArrayList<String>();
+		ArrayList<String> folderList = new ArrayList<String>();
+		ArrayList<String> nodeList = new ArrayList<String>();
+		ArrayList<String> nodeSources = new ArrayList<String>();
+
+		ShowFiles showFiles = new ShowFiles("/local/home/ansgar/workspace-v3.3/TestCppProject/AluSocketGen"); //$NON-NLS-1$
+
+		showFiles.getFilesRec(fileList, folderList);
+		nodeList = showFiles.findNodesDir(folderList);
+		for (String node : nodeList) {
+			nodeSources = showFiles.getNodeSources(fileList, node);
+			String nodePath = showFiles.getRootPath() + File.pathSeparator + node + File.pathSeparator + "Makefile"; //$NON-NLS-1$
+			createFileList(nodePath, nodeSources, node);
+		}
+	}
+
+	/**
+	 * Create a list of .cpp files
+	 *
+	 * @param fileName
+	 * @param cppFileList
+	 * @param NodeName
+	 */
+	public static void createFileList(String fileName, ArrayList<String> cppFileList, String NodeName) {
+		// create the makefile
+		try {
+			java.io.File makefile = new java.io.File(fileName);
+
+			makefile.createNewFile();
+			// not avail in Java 1.5?
+			// makefile.setWritable(true);
+
+			FileOutputStream writer = new java.io.FileOutputStream(makefile);
+
+			writer.write("include $(ACCORD_ROOT)/Makefile.defs\n\n".getBytes()); //$NON-NLS-1$
+			writer.write(("NAME=" + NodeName + "\n\n").getBytes()); //$NON-NLS-1$ //$NON-NLS-2$
+
+			// Calculate list of sources
+			writer.write("SRCS=\\\n".getBytes()); //$NON-NLS-1$
+
+			if (cppFileList != null && cppFileList.size() != 0) {
+
+				// Calculate list of .cpp files
+				for (int i = 0; i < cppFileList.size(); i++) {
+					writer.write(("\t" + cppFileList.get(i)).getBytes()); //$NON-NLS-1$
+					if (i < cppFileList.size() - 1) {
+						// add \ to all but last item
+						writer.write("\\".getBytes()); //$NON-NLS-1$
+					}
+					writer.write("\n".getBytes()); //$NON-NLS-1$
+				}
+			}
+			writer.write("\n".getBytes()); //$NON-NLS-1$
+
+			writer.write("include $(ACCORD_ROOT)/Makefile.rules".getBytes()); //$NON-NLS-1$
+
+			writer.flush();
+			writer.close();
+		} catch (IOException e) {
+			Activator.log.error(e);
+		}
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/make/ShowFiles.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/make/ShowFiles.java
new file mode 100644
index 0000000..a7e2900
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/make/ShowFiles.java
@@ -0,0 +1,104 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation.make;
+
+import java.io.File;
+import java.util.ArrayList;
+
+@Deprecated
+public class ShowFiles {
+
+	/**
+	 * Initialize the ShowFiles class
+	 *
+	 * @param rootPath
+	 *            the path of a folder, that in turn contains a set of folders. It is assume that the
+	 *            latter contain code related to a specific node
+	 */
+	public ShowFiles(String rootPath) {
+		m_rootPath = rootPath;
+	}
+
+	private String m_rootPath;
+
+	public String getRootPath() {
+		return m_rootPath;
+	}
+
+	/**
+	 * takes as input the list of all directories that are included under a root path (allDir), and
+	 * the root path (in case different from ACCORD_ROOT), and potentially, a list of (non empty) files,
+	 * which will be enriched with the set of source files (.cpp) under all directories under the root path
+	 */
+	public void getFilesRec(ArrayList<String> allFiles, ArrayList<String> allDir) {
+		getFilesRec(allFiles, allDir, m_rootPath);
+	}
+
+
+	public void getFilesRec(ArrayList<String> fileList, ArrayList<String> folderList, String root) {
+		File f = new File(root);
+		File[] listFiles = f.listFiles();
+		for (File file : listFiles) {
+			if (file.isDirectory()) {
+				// call recursively with
+				getFilesRec(fileList, folderList, file.toString());
+				folderList.add(file.toString());
+			} else {
+				if (file.toString().endsWith(".cpp")) { //$NON-NLS-1$
+					// found a C++ file
+					fileList.add(file.toString());
+				}
+			}
+		}
+	}
+
+	/**
+	 * takes as input the list of all directories that are included under a root path (folderList),
+	 * in order to provide as a result the subset of directories, corresponding to the nodes
+	 */
+	public ArrayList<String> findNodesDir(ArrayList<String> folderList) {
+		ArrayList<String> allNodes = new ArrayList<String>();
+		for (String dir : folderList) {
+			String tmp = dir.replaceFirst(m_rootPath, ""); //$NON-NLS-1$
+			// all the nodes are at the level (ACCORD_ROOT + 1)
+			tmp = tmp.trim().replaceFirst(File.pathSeparator, ""); //$NON-NLS-1$
+			if (!tmp.contains(File.pathSeparator)) {
+				allNodes.add(tmp.trim());
+			}
+		}
+		return allNodes;
+	}
+
+	/**
+	 * takes as input the list of all files that are included under ACCORD_ROOT path (allFiles), and
+	 * the node name (nodeName) in order to provide as a result the subset of files, corresponding to the
+	 * sources of the node (NodeName)
+	 */
+	public ArrayList<String> getNodeSources(ArrayList<String> allFiles, String nodeName) {
+		ArrayList<String> sourceFilesPath = new ArrayList<String>();
+
+		for (String filePath : allFiles) {
+			if (filePath.contains(nodeName)) {
+				// path is related to given node
+				int index = filePath.indexOf(nodeName);
+				String tmp = filePath.substring(index);
+				index = tmp.indexOf(File.pathSeparator);
+				tmp = tmp.substring(index + 1);
+				sourceFilesPath.add(tmp.trim());
+			}
+		}
+		return sourceFilesPath;
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/messages.properties b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/messages.properties
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/messages.properties
rename to components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/messages.properties
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/sync/CompImplSync.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/sync/CompImplSync.java
new file mode 100644
index 0000000..8ec8b12
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/sync/CompImplSync.java
@@ -0,0 +1,396 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation.sync;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.papyrus.designer.components.FCM.DerivedElement;
+import org.eclipse.papyrus.designer.components.transformation.Activator;
+import org.eclipse.papyrus.designer.components.transformation.Messages;
+import org.eclipse.papyrus.designer.components.transformation.PortInfo;
+import org.eclipse.papyrus.designer.components.transformation.PortUtils;
+import org.eclipse.papyrus.designer.components.transformation.component.PrefixConstants;
+import org.eclipse.papyrus.designer.transformation.base.utils.CommandSupport;
+import org.eclipse.papyrus.designer.transformation.base.utils.OperationUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.RealizationUtils;
+import org.eclipse.papyrus.designer.transformation.core.sync.SyncBehaviorParameters;
+import org.eclipse.papyrus.designer.transformation.core.transformations.UpdateUtils;
+import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Synchronize component implementation classes.
+ * An implementation depends on the component type in the following way:
+ * (1) It has to realize the interfaces that are provided by the components ports, unless
+ * the port is delegated
+ * (1b) For each realized interface, its operations need to be implemented (the tool should detect and report
+ * double entries which can be resolved via delegation)
+ * (2) It can use interface that are required by the component ports. These changes are reflected in the
+ * context object, but are currently not propagated on an implementation level.
+ *
+ * The first aspect may be triggered by
+ * (a) modification of the port (name, kind or type)
+ * (b) modification due to changes of the interface: rename the interface itself or add, remove or rename operations
+ * and add, remove or rename parameters.
+ *
+ * InterfaceRealizations are implemented by means of stereotyped generalizations. This has the advantage
+ * that the operation itself is inherited and does not have to be synchronized.
+ *
+ * @author ansgar
+ *
+ */
+public class CompImplSync {
+
+	public static void syncViaInterface(Interface intf) {
+		syncViaInterface(intf, null);
+	}
+
+	/**
+	 * Delegate a synchronization operation to one or more implementations when an interface
+	 * (which may have changed) is given. I.e. this operation is called when an operation
+	 * of an implemented interface is added, removed or modified.
+	 *
+	 * @param an
+	 *            interface which may be implemented by a set of component implementations.
+	 * @param port
+	 */
+	public static void syncViaInterface(Interface intf, BehavioralFeature toBeRemoved) {
+		// find all implementations of this interface
+		for (DirectedRelationship relationship : intf.getTargetDirectedRelationships(UMLPackage.eINSTANCE.getInterfaceRealization())) {
+			InterfaceRealization ir = (InterfaceRealization) relationship;
+			Classifier cl = ir.getImplementingClassifier();
+			if (cl instanceof Class) {
+				Activator.log.info(String.format(Messages.CompImplSync_InfoSyncIntf, cl.getName()));
+				Class implementation = (Class) cl;
+				// syncRealizations (implementation);
+				CompImplSync.interfaceModifications(implementation, toBeRemoved);
+			}
+		}
+	}
+
+	/**
+	 * Delegate a synchronization operation to one or more implementations when a component
+	 * type is given.
+	 * The function will in particular handle realization operations due to provided
+	 * ports and the behaviors associated with it (e.g. opaque-behaviors implementing the provided
+	 * operations of a component)
+	 *
+	 * @param a
+	 *            component type or a realized interface
+	 * @param port
+	 */
+	public static boolean syncViaType(Class compType, boolean addOnly) {
+		// find all implementations ...
+		boolean foundGeneralization = false;
+		for (DirectedRelationship relationship : compType.getTargetDirectedRelationships(UMLPackage.eINSTANCE.getGeneralization())) {
+			if (relationship instanceof Generalization) {
+				foundGeneralization = true;
+				Classifier cl = ((Generalization) relationship).getSpecific();
+				if (cl instanceof Class) {
+					Activator.log.info(String.format(Messages.CompImplSync_InfoSyncViaType, cl.getName()));
+					Class implementation = (Class) cl;
+					updatePorts(implementation);
+					if (!cl.isAbstract()) {
+						// add realization relationship only for implementations
+						if (addOnly) {
+							addRealizations(implementation);
+							// syncContextOps (implementation, false);
+						} else {
+							syncRealizations(implementation);
+							// syncContextOps (implementation, true);
+						}
+					}
+				}
+			}
+		}
+		return foundGeneralization;
+	}
+
+	/*
+	 * public static void renamePortViaType (Class compType, Port port, String oldName)
+	 * {
+	 * // find all implementations ...
+	 * for (DirectedRelationship relationship :
+	 * compType.getTargetDirectedRelationships (UMLPackage.eINSTANCE.getGeneralization ()))
+	 * {
+	 * if (relationship instanceof Generalization) {
+	 * Classifier cl = ((Generalization) relationship).getSpecific ();
+	 * if (cl instanceof Class) {
+	 * renamePort ((Class) cl, port, oldName);
+	 * }
+	 * }
+	 * }
+	 * }
+	 */
+
+	/**
+	 * Update the ports of a class, i.e. recalculate its derived interfaces
+	 *
+	 * @param component
+	 * @param port
+	 */
+	public static void updatePorts(Class implementation) {
+		for (Port port : PortUtils.getAllPorts(implementation)) {
+			org.eclipse.papyrus.designer.components.FCM.Port fcmPort = UMLUtil.getStereotypeApplication(port, org.eclipse.papyrus.designer.components.FCM.Port.class);
+			// verify if in same eResource (= editable)
+			if ((fcmPort != null) && (port.eResource() == implementation.eResource())) {
+				fcmPort.update();
+			}
+		}
+	}
+
+	/**
+	 * Synchronize realization (generalization) relationship.
+	 *
+	 * @param implementation
+	 * @param port
+	 */
+	public static void syncRealizations(Class implementation) {
+		EList<Interface> providedIntfs = addRealizations(implementation);
+		removeRealizations(providedIntfs, implementation);
+	}
+
+	/**
+	 * add derived realization relationships of a component implementation
+	 * due to provided interfaces of its ports
+	 *
+	 * TODO: depends on OOTrafo, duplicate functionality
+	 * 
+	 * @param implementation a component implementation
+	 */
+	public static EList<Interface> addRealizations(Class implementation) {
+		// create a list of all provided interfaces and check whether realization relationship
+		// exists. If not, create
+		EList<Interface> providedIntfs = new BasicEList<Interface>();
+		for (PortInfo portInfo : PortUtils.flattenExtendedPorts(PortUtils.getAllPorts2(implementation))) {
+			Interface providedIntf = portInfo.getProvided();
+			// check, if there is a getter already. In this case, we assume that we should not synchronize
+			// operations
+			String opName = PrefixConstants.getP_Prefix + portInfo.getName();
+			if (implementation.getOwnedOperation(opName, null, null) != null) {
+				continue;
+			}
+			ConnectorEnd connEnd = ConnectorUtil.getDelegation(implementation, portInfo.getPort());
+			// check that there is no delegation to a part which in turn has to implement the operations.
+			if ((providedIntf != null) && (connEnd == null)) {
+				if (providedIntfs.contains(providedIntf)) {
+					// emit warning that more than one provider for same interface
+					Activator.log.info("The interface " + providedIntf.getName() + //$NON-NLS-1$
+							" is provided by more than one port of class <" + implementation.getQualifiedName() + //$NON-NLS-1$
+							">, inputs would therefore be undistinguishable"); //$NON-NLS-1$
+				}
+				providedIntfs.add(providedIntf);
+				InterfaceRealization ir = implementation.getInterfaceRealization(null,  providedIntf);
+				if (ir == null) {
+					RealizationUtils.addRealization(implementation, providedIntf);
+				} else {
+					String name = RealizationUtils.calcRealizationName(providedIntf);
+					if (!name.equals(ir.getName())) {
+						ir.setName(name);
+					}
+				}
+			}
+		}
+		return providedIntfs;
+	}
+
+	/**
+	 * remove derived realization relationships of a component implementation
+	 * due to provided interfaces of its ports, i.e. remove those for which the
+	 * port no longer provides the interface.
+	 *
+	 * @param implementation
+	 */
+	private static void removeRealizations(EList<Interface> providedIntfs, final Class implementation) {
+		// now loop through all interface realization relations and remove those that are not
+		// related to a provided port.
+		final EList<InterfaceRealization> toBeRemoved = new BasicEList<InterfaceRealization>();
+		for (InterfaceRealization ir : implementation.getInterfaceRealizations()) {
+			String name = ir.getName();
+			// automatically added interface realization is identified via its name (simpler
+			// compared to use of stereotype)
+			if ((name != null) && name.startsWith(RealizationUtils.REALIZATION_OF)) {
+				Interface inheritedIntf = ir.getContract();
+				if (!providedIntfs.contains(inheritedIntf)) {
+					toBeRemoved.add(ir);
+				}
+			}
+		}
+		if (toBeRemoved.size() > 0) {
+			// remove InterfaceRealization, since not part of provided interfaces
+			CommandSupport.exec(TransactionUtil.getEditingDomain(implementation), Messages.CompImplSync_InfoSyncViaImpl, new Runnable() {
+
+				@Override
+				public void run() {
+					// implCopy = implementation;
+					for (InterfaceRealization ir : toBeRemoved) {
+						ir.destroy();
+					}
+				}
+			});
+		}
+	}
+
+	/**
+	 * The interface that types a port has been modified. Subsequently, the names of
+	 * methods have to be adapted accordingly, methods have to be removed or added
+	 *
+	 * @param implementation
+	 * @param port
+	 * @param newName
+	 */
+	public static void interfaceModifications(Class implementation, BehavioralFeature toBeRemoved) {
+		syncDerivedOperations(implementation);
+
+		EList<Operation> ownedOperations = implementation.getOwnedOperations();
+		// loop through all methods, adapt name according to specification name.
+		Iterator<Behavior> behaviors = implementation.getOwnedBehaviors().iterator();
+		while (behaviors.hasNext()) {
+			Behavior behavior = behaviors.next();
+			BehavioralFeature bf = behavior.getSpecification();
+			if ((bf != null) && ownedOperations.contains(bf)) {
+				BehavioralFeature sourceBf = (BehavioralFeature)
+						UpdateUtils.getSource(bf);
+
+				// if an operation is scheduled for deletion, it still exists at this
+				// point (This operation is called by an InterfaceListener which gets called
+				// before the deletion takes place) and the specification of associated behaviors
+				// still point to it. Therefore the check toBeRemoved is added.
+				if (sourceBf != toBeRemoved) {
+					String name = calcBehaviorName(sourceBf, implementation);
+					if (!name.equals(behavior.getName())) {
+						behavior.setName(name);
+					}
+				}
+			}
+		}
+	}
+
+	public static void syncDerivedOperations(Class implementation) {
+		// check for unimplemented operations
+		// EList<DirectedRelationship> relShips = implementation.getSourceDirectedRelationships (UMLPackage.eINSTANCE.getInterfaceRealization ());
+		EList<Interface> realizedInterfaces = new BasicEList<Interface>();
+		// implementation.getInterfaceRealizations returns wrong value??
+
+		EList<Operation> ownedOperations = implementation.getOwnedOperations();
+		for (InterfaceRealization ir : implementation.getInterfaceRealizations()) {
+			/*
+			 * for (DirectedRelationship relShip : relShips)
+			 * if (relShip instanceof InterfaceRealization) {
+			 * InterfaceRealization ir = (InterfaceRealization) relShip;
+			 */
+			Interface intf = ir.getContract();
+			if (intf == null) {
+				// should not happen?
+				continue;
+			}
+			realizedInterfaces.add(intf);
+
+			for (Operation operation : intf.getAllOperations()) {
+				Operation copiedOperation = (Operation)
+						UpdateUtils.getDerivedElement(ownedOperations, operation);
+				if (copiedOperation == null) {
+					// no owned operation derived from the interface operation found.
+					// Would indicate normally that there is no suitable owned operation.
+					// However: stereotype values may not be available during model load, check
+					// whether there is an identical operation, before copying one.
+					copiedOperation = OperationUtils.getSameOperation(operation, implementation);
+					if (copiedOperation == null) {
+						copiedOperation = implementation.createOwnedOperation(operation.getName(), null, null);
+						OperationUtils.syncOperation(operation, copiedOperation);
+						copiedOperation.setIsAbstract(false);
+					}
+					UpdateUtils.setSource(copiedOperation, operation);
+				} else if (!OperationUtils.isSameOperation(operation, copiedOperation)) {
+					OperationUtils.syncOperation(operation, copiedOperation);
+					copiedOperation.setIsAbstract(false);
+				}
+			}
+		}
+		for (Behavior method : implementation.getOwnedBehaviors()) {
+			SyncBehaviorParameters.syncParameters(method);
+		}
+
+		// remove operations that are no longer provided via an interface of a port (and
+		// that are derived elements, i.e. have a source attribute)
+		Iterator<Operation> ownedOpsIter = ownedOperations.iterator();
+		while (ownedOpsIter.hasNext()) {
+			Operation ownedOp = ownedOpsIter.next();
+
+			DerivedElement de = UMLUtil.getStereotypeApplication(ownedOp, DerivedElement.class);
+			if (de != null) {
+				if (de.getSource() instanceof Operation) {
+
+					Operation sourceOp = (Operation) de.getSource();
+					// check, whether sourceOp is offered by one of the realized interfaces
+					boolean contains = false;
+					for (Interface realizedIntf : realizedInterfaces) {
+						if (realizedIntf.getAllOperations().contains(sourceOp)) {
+							contains = true;
+						}
+					}
+					if (!contains) {
+						// operation belongs to an interface which is not implemented => remove
+						ownedOpsIter.remove();
+						ownedOp.destroy();
+					}
+				}
+				else if (de.getSource() == null) {
+					// source element does not exist => remove
+					ownedOpsIter.remove();
+					ownedOp.destroy();
+				}
+			}
+		}
+	}
+
+
+
+	/**
+	 * Calculate the name of a behavior for a given operation
+	 * TODO better handling of overloading (better representation of signature)
+	 *
+	 * @param operation
+	 * @return
+	 */
+	private static String calcBehaviorName(BehavioralFeature bf, Classifier cl) {
+		/*
+		 * Iterator<Operation> operations = cl.getOperations ().iterator ();
+		 * while (operations.hasNext ()) {
+		 * Operation op = operations.next ();
+		 * if ((op.getName () == bf.getName ()) && (op != bf)) {
+		 * // at least one other operation with same name, return long name
+		 * return bf.getName () + bf.getOwnedParameters ().toString ();
+		 * }
+		 * }
+		 */
+		return bf.getName();
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/sync/CompTypeSync.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/sync/CompTypeSync.java
new file mode 100644
index 0000000..02a025d
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/sync/CompTypeSync.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation.sync;
+
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Port;
+
+/**
+ * Create a UML like executor, i.e.
+ * for each port p with a provided interface I, add a get_p to the executor
+ * for each port q with a required interface I, add an attribute q to the executor. This
+ * attribute is manipulated by the container.
+ *
+ * @author ansgar
+ *
+ */
+public class CompTypeSync {
+
+	/**
+	 * Rename the operations/attributes associated with a port, if the ports
+	 * name or type has changed.
+	 * TODO: obsolete, since the port-operations aren't there yet.
+	 *
+	 * @param component
+	 * @param port
+	 */
+	public static void renamePort(Class component, Port port, String oldName) {
+		// CompImplSync.renamePortViaType (component, port, oldName);
+		// CompImplSync.renamePort(component, port, oldName);
+	}
+
+
+	/**
+	 * Synchronizes the operations/attributes associated with a port
+	 *
+	 * @param component
+	 * @param port
+	 */
+	public static void syncPort(Class component, Port port) {
+		CompImplSync.syncViaType(component, false);
+		// CompImplSync.syncContextOps (component, true);
+	}
+};
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/templates/ConnectorBinding.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/templates/ConnectorBinding.java
new file mode 100644
index 0000000..79294eb
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/templates/ConnectorBinding.java
@@ -0,0 +1,452 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation.templates;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.components.transformation.Activator;
+import org.eclipse.papyrus.designer.components.transformation.Messages;
+import org.eclipse.papyrus.designer.components.transformation.PortUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.CreationUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateParameterSubstitution;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * Create an automatic template binding for a connector, i.e. a binding that assures
+ * that the ports of an interaction component match those of an application component
+ * (if possible)
+ */
+public class ConnectorBinding {
+
+	/**
+	 * Helper function for getActual
+	 *
+	 * @param port
+	 *            a port of the the connector template (not evaluated except for debugging output)
+	 * @param connector
+	 *            the connector that is checked for reification
+	 * @param composite
+	 *            a composite class
+	 * @param actual
+	 *            the current candidate for an actual, i.e. result of previous attempts to bind (at different connector ends)
+	 * @param isProvided
+	 *            is an interface provided or required.
+	 * @return the type at the "other" (makes sense for property connector only) end of a connector
+	 * @throws TransformationException
+	 */
+	private static Type matchOtherEnd(Port port, Feature connector, Type actual, boolean isProvided)
+			throws TransformationException {
+		if (connector instanceof Connector) {
+			return matchOtherEnd(port, (Connector) connector, actual, isProvided);
+		}
+		else if (connector instanceof Property) {
+			return matchOtherEnd(port, (Property) connector, actual, isProvided);
+		}
+		return null;
+	}
+
+	private static Type matchOtherEnd(Port port, Connector connector, Type actual, boolean isProvided)
+			throws TransformationException {
+		// the template provides the formal parameter at one of its ports. Now examine
+		// with whom this port is connected, i.e. examine all connectorEnds
+		// The type of the connected port determines the binding.
+		Activator.log.info(String.format("", port.getName())); //$NON-NLS-1$
+		boolean found = false;
+		for (ConnectorEnd connEnd : connector.getEnds()) {
+			// the connector end targets a port of a part or the composite (in case of delegation)
+			ConnectableElement connElem = connEnd.getRole();
+			if (connElem instanceof Port) {
+				Port otherPort = (Port) connElem;
+				Interface otherInterface;
+
+				// distinction between assembly or delegation (other end is null) connectors
+				boolean isAssembly = (connEnd.getPartWithPort() != null);
+
+				if (isProvided == isAssembly) {
+					// need required for other, if first port isProvided and assembly, or if first port isRequired and delegation
+					otherInterface = PortUtils.getRequired(otherPort);
+				} else {
+					otherInterface = PortUtils.getProvided(otherPort);
+				}
+				Activator.log.info(String.format(Messages.ConnectorBinding_ConnectorsPort, otherInterface));
+				if (otherInterface != null) {
+					if (actual == null || actual == otherInterface) {
+						actual = otherInterface;
+						Activator.log.info(String.format(
+								Messages.ConnectorBinding_InfoActualReturnIntfIs, actual.getQualifiedName()));
+						found = true;
+					} else if (actual != otherInterface) {
+						continue;
+					}
+				}
+			}
+		}
+		if (!found) {
+			throw new TransformationException(String.format(
+					Messages.ConnectorBinding_CannotFindConsistentBinding,
+					port.getName(), connector.getName(), connector.getNamespace().getName(), (actual != null) ? actual.getName() : "null"));
+		}
+		return actual;
+	}
+
+
+	private static Type matchOtherEnd(Port port, Property partConnector, Type actual, boolean isProvided)
+			throws TransformationException {
+		// the template provides the formal parameter at one of its ports. Now examine
+		// with whom this port is connected, i.e. examine all connectors of the
+		// composite. The type of the connected port determines the binding.
+		Activator.log.info(String.format(
+				Messages.ConnectorBinding_InfoMatchOtherEnd, port.getName()));
+
+		for (Connector connector : partConnector.getClass_().getOwnedConnectors()) {
+			if (ConnectorUtil.connectsPart(connector, partConnector)) {
+				// the connector end targets a port of a part or the composite (in case of delegation)
+				ConnectorEnd connEnd = ConnectorUtil.connEndNotPart(connector, partConnector);
+				ConnectableElement connElem = connEnd.getRole();
+				if (connElem instanceof Port) {
+					Port otherPort = (Port) connElem;
+					Interface otherInterface;
+
+					// distinction between assembly or delegation (other end is null) connectors
+					boolean isAssembly = (connEnd.getPartWithPort() != null);
+
+					if (isProvided == isAssembly) {
+						// need required for other, if first port isProvided and assembly, or if first port isRequired and delegation
+						otherInterface = PortUtils.getRequired(otherPort);
+					} else {
+						otherInterface = PortUtils.getProvided(otherPort);
+					}
+					Activator.log.info(String.format(Messages.ConnectorBinding_InfoConnectsPort, otherInterface));
+					if (otherInterface != null) {
+						if (actual == null) {
+							actual = otherInterface;
+							Activator.log.info(String.format(
+									Messages.ConnectorBinding_InfoActualReturnIntfIs, actual.getQualifiedName()));
+						} else if (actual != otherInterface) {
+							throw new TransformationException(String.format(
+									Messages.ConnectorBinding_CannotFindConsistentBinding,
+									port.getName(), connector.getName(), connector.getNamespace().getName(), actual.getName()));
+						}
+					}
+				}
+			}
+		}
+		return actual;
+	}
+
+
+	/**
+	 * This function tries to bind a formal template parameter to an "actual". The criterion
+	 * for a successful binding is that the (primitive) connections of the reified connector
+	 * part have a matching port kind.
+	 * The function makes a matching based on (1) either provided and required interfaces (2)
+	 * or identical portKinds and different conjugations
+	 *
+	 * @param composite
+	 *            The composite in which a binding should be determined.
+	 * @param part
+	 *            the part within the composite for which we try to find a binding,
+	 *            The information about the part is used to determine which connection
+	 *            end belongs to the template part and which to another part/port (which
+	 *            determines the binding).
+	 * @param template
+	 *            A template class
+	 * @param formal
+	 *            the formal template parameter
+	 * @throws TransformationException
+	 *             if no consistent binding can be found
+	 * @return the actual
+	 */
+	public static Type getActual(Feature partOrConnector, Class template, ParameterableElement formal)
+			throws TransformationException {
+		Type actual = null;
+
+		// loop through all ports of the template, use getAllPorts to include inherited ports as well.
+		for (Port port : PortUtils.getAllPorts(template)) {
+			Interface providedIntf = PortUtils.getProvided(port);
+
+			// need to check, if the port at the opposite connector is matching, provided that we use a specific
+			// value for the the formal. Typically, ports of the template are typed with the formal parameter. Thus,
+			// we would have to infer the formal from a given provided or required interface. This is not possible
+			// in general (no inverse mapping operation), but the simple case that either the provided or required
+			// interface is identical to the formal parameter are checked.
+			//
+			// 1. provided interface is formal
+			if (providedIntf == formal) {
+				actual = matchOtherEnd(port, partOrConnector, actual, true);
+			}
+
+			// 2. required interface is formal
+			Interface requiredIntf = PortUtils.getRequired(port);
+			if (requiredIntf == formal) {
+				actual = matchOtherEnd(port, partOrConnector, actual, false);
+			}
+
+			// 3. port type is formal (but none of the two cases above)
+			// this check is stronger than the first two, since it requires port kind identity.
+			// If none of the first two variants holds, the port is translating interfaces
+			// for which this stronger condition holds.
+			Type type = PortUtils.getFCMType(port);
+			if ((providedIntf != formal) && (requiredIntf != formal) && (type == formal)) {
+				// the template provides the formal parameter at one of its ports. Now examine
+				// with whom this port is connected, i.e. examine all ends of the
+				// connector. The type of the connected port determines the binding.
+				Activator.log.info(String.format(
+						Messages.ConnectorBinding_InfoProvidedPortTypeMatches, port.getName()));
+				boolean found = false;
+
+				if (partOrConnector instanceof Property) {
+					Property partConnector = (Property) partOrConnector;
+					// iterate over the connectors of the composite containing the part
+					for (Connector connector : partConnector.getClass_().getOwnedConnectors()) {
+						if (ConnectorUtil.connectsPart(connector, partConnector)) {
+							// the connector end targets a port of a part or the composite (in case of delegation)
+							ConnectorEnd connEnd = ConnectorUtil.connEndNotPart(connector, partConnector);
+							actual = matchViaEnd(connEnd, port, partOrConnector, actual);
+							if (actual != null) {
+								found = true;
+								break;
+							}
+						}
+					}
+				}
+				else {
+					for (ConnectorEnd connEnd : ((Connector) partOrConnector).getEnds()) {
+						actual = matchViaEnd(connEnd, port, partOrConnector, actual);
+						if (actual != null) {
+							found = true;
+							break;
+						}
+					}
+				}
+				if (!found) {
+					String errorMsg = createErrorMsg(port, partOrConnector);
+					throw new TransformationException(errorMsg);
+				}
+			}
+		}
+		return actual;
+	}
+
+	protected static String createErrorMsg(Port port, Feature partOrConnector) {
+		String errorMsg = String.format(
+				Messages.ConnectorBinding_CannotFindBindingForPort,
+				port.getName(), partOrConnector.getName());
+		for (Classifier cl : partOrConnector.getFeaturingClassifiers()) {
+			errorMsg += " of class '" + cl.getName() + "'"; //$NON-NLS-1$ //$NON-NLS-2$
+		}
+		errorMsg += ". "; //$NON-NLS-1$
+		return errorMsg;
+	}
+
+	private static Type matchViaEnd(ConnectorEnd connEnd, Port port, Feature partOrConnector, Type actual) throws
+			TransformationException {
+		String errorMsg = createErrorMsg(port, partOrConnector);
+
+		ConnectableElement connElem = connEnd.getRole();
+		if (connElem instanceof Port) {
+			Port otherPort = (Port) connElem;
+
+			Activator.log.info(String.format(
+					Messages.ConnectorBinding_InfoConnPortConnectedVia,
+					port.getName(), partOrConnector.getName()));
+			Type otherType = PortUtils.getFCMType(otherPort);
+
+
+			// type must be the same, kind as well. But depending on delegation or not, one of the ports
+			// must be conjugated
+			// TODO: isAssembly check will wrongly return false, if no port is connected [well, in this case, the role is not a port but a part]
+			boolean isAssembly = (connEnd.getPartWithPort() != null);
+			boolean sameConjugation = (otherPort.isConjugated() == port.isConjugated());
+			// if assembly connection, conjugations must be different.
+			if (isAssembly == sameConjugation) {
+				return actual; // was: continue
+			}
+
+			// now compare kinds
+			if (!PortUtils.sameKinds(port, otherPort)) {
+				// no match, try next end
+				return actual; // was: continue
+			}
+
+			if (otherType != null) {
+				if (actual == null) {
+					actual = otherType;
+					Activator.log.info(String.format(
+							Messages.ConnectorBinding_InfoActualReturnIntfIs, actual.getQualifiedName()));
+				} else if (actual != otherType) {
+					throw new TransformationException(errorMsg + " " + String.format( //$NON-NLS-1$
+							Messages.ConnectorBinding_FormalAlreadyBound, actual.getName()));
+				}
+			}
+		}
+		return actual;
+	}
+
+	/**
+	 * The objective of this function is to find a suitable binding for a part
+	 * typed with a template class (connector) based compatible port types. The binding
+	 * is obtained by examining the connections between the composite and the contained
+	 * part.
+	 *
+	 * @param composite
+	 *            the composite which owns the part
+	 * @param containedPart
+	 *            the part which represents the connector
+	 * @param template
+	 *            an element within a package template (might be deeply nested) which
+	 *            has ports that depend on a template parameter. This method tries to find a binding
+	 *            for the template parameters that renders the ports of this element compatible with
+	 *            the ports of the composition context.
+	 * @return the bound package
+	 *         ? binding information, i.e. information about the bound package, whether already bound and the binding.
+	 */
+	public static TemplateBinding obtainBinding(Class composite,
+			Feature connector, Class template, boolean createBinding) throws TransformationException {
+		// obtain the signature of an element within a package template.
+
+		TemplateSignature signature = TemplateUtils.getSignature(template);
+		if (signature == null) {
+			// not a template. This is not an exception, caller need to handle "null" a return
+			// value indicating that no template instantiation needs to be done.
+			Activator.log.info(String.format(
+					Messages.ConnectorBinding_NoTemplateSignature, template.getName()));
+			return null;
+		}
+
+		// list of actuals (must be ParameterableElements, in our case always a named element as well.
+		EList<ParameterableElement> actuals = new BasicEList<ParameterableElement>();
+
+		Package pkgTemplate = (Package) signature.getOwner();
+		String name = pkgTemplate.getName();
+
+		/*
+		 * Signature extension - useful?? (since binding has to be made as well)
+		 * Stereotype sigExtSt = signature.getAppliedStereotype ("FCM::SignatureExt");
+		 * SignatureExt sigExt = null;
+		 * if (sigExtSt != null) {
+		 * sigExt = (SignatureExt) signature.getStereotypeApplication (sigExtSt);
+		 * }
+		 *
+		 * for (TemplateSignature sig : sigExt.getExtension ()) {
+		 * bindFormal ();
+		 * }
+		 */
+
+		// loop on template parameters
+		boolean firstTP = true;
+		for (TemplateParameter parameter : signature.getParameters()) {
+			ParameterableElement formal = parameter.getParameteredElement();
+
+			// now obtain suitable binding for this parameter - look for ports that are typed with
+			// the formal template parameter
+			ParameterableElement actual = null;
+			if (firstTP) {
+				// only try to match the first template parameter based on ports.
+				actual = getActual(connector, template, formal);
+				firstTP = false;
+			} else {
+				// additional template parameters that are bound automatically based on their name
+				// (this might be considered as a hack, it is merely a convention for automatic template
+				// binding within the Qompass context.
+				if (formal instanceof NamedElement) {
+					NamedElement formalNE = (NamedElement) formal;
+					if ((formal instanceof Class) && (formalNE.getName().equals("T"))) { //$NON-NLS-1$
+						actual = composite;
+					}
+					if ((formal instanceof Port) && (formalNE.getName().equals("P"))) { //$NON-NLS-1$
+						// port (but not available?)
+						// actual = TransformationContext.current.port;
+						// TODO
+						actual = null;
+					}
+				}
+			}
+			if (actual instanceof NamedElement) {
+				actuals.add(actual);
+				name = name + "_" + ((NamedElement) actual).getName(); //$NON-NLS-1$
+			} else {
+				String reason = String.format(
+						Messages.ConnectorBinding_CannotFindBinding,
+						((NamedElement) formal).getName(), composite.getName(), connector.getName(), template.getName());
+				throw new TransformationException(reason);
+			}
+		}
+
+		// the bound package is instantiated in the same model, in which the
+		// composite can be found (avoid modifying an imported model).
+
+		if (!createBinding) {
+			return null;
+		}
+
+		Namespace owner = (Namespace) pkgTemplate.getOwner();
+		owner = CreationUtils.getAndCreate(composite.getModel(), owner.allNamespaces());
+
+		Package boundPackage = (Package) owner.getMember(name);
+		if (boundPackage == null) {
+			// class does not exist yet, needs to be created.
+			boundPackage = ((Package) owner).createNestedPackage(name);
+
+			Activator.log.info(String.format(
+					Messages.ConnectorBinding_InfoCreateBoundPackage, name, owner.getName()));
+		}
+
+		TemplateBinding binding = boundPackage.getTemplateBinding(signature);
+		if (binding == null) {
+			// binding is not existing yet (should normally only happen, if the class has
+			// just been created - but it's better to re-check, even if the bound package
+			// was already there)
+			binding = boundPackage.createTemplateBinding(signature);
+
+			Iterator<ParameterableElement> actualsIter = actuals.iterator();
+
+			// loop on template parameters;
+			for (TemplateParameter parameter : signature.getParameters()) {
+				TemplateParameterSubstitution substitution = binding.createParameterSubstitution();
+				substitution.setFormal(parameter);
+
+				// now obtain suitable binding for this parameter - look for ports that are typed with
+				// the formal template parameter
+				ParameterableElement actual = actualsIter.next();
+				// for UML <= 2.1
+				// substitution.getActuals ().add ((ParameterableElement) actual);
+				// for UML > 2.2
+				substitution.setActual(actual);
+			}
+		}
+		return binding;
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/templates/PortBindingUtils.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/templates/PortBindingUtils.java
new file mode 100644
index 0000000..11760f2
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/templates/PortBindingUtils.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ */
+
+package org.eclipse.papyrus.designer.components.transformation.templates;
+
+import org.eclipse.papyrus.designer.components.transformation.PortUtils;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * TODO: Check whether used/useful
+ */
+public class PortBindingUtils {
+
+	/**
+	 * @param actual
+	 *            the actual template parameter
+	 * @param boundClass
+	 *            the bound class
+	 * @param provides
+	 *            true, if the provided interface should be returned
+	 * @return the provided or required interface of a port (of the passed
+	 *         boundClass) that is typed with the the actual.
+	 */
+	public static Interface getInterfaceFromPortTypedWithActual(Type actual, Class boundClass, boolean provided) {
+		for (Port port : PortUtils.getAllPorts(boundClass)) {
+			Interface provOrReqIntf;
+			if (provided) {
+				provOrReqIntf = PortUtils.getProvided(port);
+			} else {
+				provOrReqIntf = PortUtils.getRequired(port);
+			}
+
+			if ((port.getType() == actual) && (provOrReqIntf != null)) {
+				return provOrReqIntf;
+			}
+		}
+		return null;
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/templates/TemplateUtils.java b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/templates/TemplateUtils.java
new file mode 100644
index 0000000..e54e971
--- /dev/null
+++ b/components/org.eclipse.papyrus.designer.components.transformation/src/org/eclipse/papyrus/designer/components/transformation/templates/TemplateUtils.java
@@ -0,0 +1,394 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.transformation.templates;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.components.transformation.Activator;
+import org.eclipse.papyrus.designer.components.transformation.Messages;
+import org.eclipse.papyrus.designer.components.transformation.PortUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.CreationUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.EncapsulatedClassifier;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.StructuredClassifier;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateParameterSubstitution;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TemplateableElement;
+import org.eclipse.uml2.uml.Type;
+
+public class TemplateUtils {
+
+	/**
+	 * Get the template signature of a classifier. If the classifier does not
+	 * have a signature, examine if the owning class provides one
+	 *
+	 * @param template
+	 *            The potential template
+	 * @return the signature or null, if none can be found.
+	 */
+	public static TemplateSignature getSignature(TemplateableElement template) {
+		TemplateSignature signature = getSignatureDirect(template);
+		if (signature != null) {
+			return signature;
+		}
+
+		// no signature found, try signature of owning classifier (nested class)
+		// or package
+		Element owner = template.getOwner();
+		if (owner instanceof TemplateableElement) {
+			// owned by a classifier, not a package
+			return getSignature((TemplateableElement) owner);
+		} else {
+			return null;
+		}
+	}
+
+	public static Element getTemplateOwner(Element ne, TemplateSignature signature) {
+		if ((ne instanceof TemplateableElement) && getSignatureDirect((TemplateableElement) ne) == signature) {
+			return ne;
+		}
+		Element owner = ne.getOwner();
+		if (owner != null) {
+			return getTemplateOwner(owner, signature);
+		}
+		return null;
+	}
+
+	/**
+	 * Get the template signature of a templateable element (typically a package). The class must
+	 * (1) either own the signature
+	 * (2) or merge with a package which owns the signature.
+	 * Qompass enables the "extension" of existing packages via the package merge mechanism
+	 *
+	 * @param template
+	 *            The potential template
+	 * @return the signature or null, if none can be found.
+	 */
+
+	public static TemplateSignature getSignatureDirect(TemplateableElement template) {
+		for (Element element : template.getOwnedElements()) {
+			if (element instanceof TemplateSignature) {
+				return (TemplateSignature) element;
+			}
+		}
+
+		// enable multiple package templates sharing the same signature.
+		if (template instanceof Package) {
+			Package pkg = (Package) template;
+			for (PackageMerge pkgImport : pkg.getPackageMerges()) {
+				Package importedPkg = pkgImport.getMergedPackage();
+				return getSignature(importedPkg);
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Create a template binding by using a single, fixed actual (used within
+	 * Qompass for the binding of container extensions depending on the component
+	 * executor)
+	 *
+	 * @param model
+	 *            : target model in which to create the bound package
+	 * @param template
+	 * @param fixedActual
+	 * @return
+	 * @throws TransformationException
+	 */
+	public static TemplateBinding fixedBinding(Package model, TemplateableElement template, Classifier fixedActual)
+			throws TransformationException {
+		// obtain the signature of an element within a package template.
+
+		TemplateSignature signature = getSignature(template);
+		if (signature == null) {
+			// not a template, retain original name
+			Activator.log.info(String.format(
+					Messages.TemplateUtils_NoTemplateSignature, (template instanceof NamedElement ?
+							((NamedElement) template).getName() : "undef"))); //$NON-NLS-1$
+			return null;
+		}
+
+		EList<Type> actuals = new BasicEList<Type>();
+
+		Package pkgTemplate = (Package) signature.getOwner();
+		String name = pkgTemplate.getName();
+
+		// loop on template parameters;
+		// for (TemplateParameter parameter : signature.getOwnedParameters ()) {
+		// ParameterableElement formal = parameter.getParameteredElement();
+
+		// now obtain suitable binding for this parameter - look for ports that
+		// are typed with the formal template parameter
+
+		actuals.add(fixedActual);
+		name = name + "_" + fixedActual.getName(); //$NON-NLS-1$
+		// }
+
+		// the bound package is instantiated in the same model, in which the
+		// composite can be found (avoid modifying an imported model).
+		// todo: root model as an additional parameter?
+		Namespace owner = (Namespace) pkgTemplate.getOwner();
+		owner = CreationUtils.getAndCreate(model, owner.allNamespaces());
+
+		Package boundPackage = (Package) owner.getMember(name);
+		if (boundPackage == null) {
+			// class does not exist yet, needs to be created.
+			boundPackage = ((Package) owner).createNestedPackage(name);
+
+			Activator.log.info(String.format(
+					Messages.TemplateUtils_InfoCreateBoundPackage, name, owner.getName()));
+		}
+
+		TemplateBinding binding = boundPackage.getTemplateBinding(signature);
+		if (binding == null) {
+			// binding is not existing yet (should normally only happen, if the class has
+			// just been created - but it's better to re-check, even if the bound package
+			// was already there)
+			binding = boundPackage.createTemplateBinding(signature);
+
+			Iterator<Type> actualsIter = actuals.iterator();
+
+			// loop on template parameters;
+			for (TemplateParameter parameter : signature.getOwnedParameters()) {
+
+				TemplateParameterSubstitution substitution =
+						binding.createParameterSubstitution();
+				substitution.setFormal(parameter);
+
+				// now obtain suitable binding for this parameter - look for
+				// ports that are typed with
+				// the formal template parameter
+				Type actual = actualsIter.next();
+				substitution.setActual(actual);
+			}
+		}
+		return binding;
+	}
+
+	/**
+	 * create a "sub" binding in which the first parameter of type Cl is assumed
+	 * to bind the sub-signature TODO: compared type and name of parameters in
+	 * two signatures TODO: support more than one template parameter
+	 *
+	 * @param model
+	 * @param te
+	 * @param existingBinding
+	 * @return
+	 * @throws TransformationException
+	 */
+	public static TemplateBinding getSubBinding(Package model,
+			TemplateableElement te, TemplateBinding existingBinding)
+			throws TransformationException {
+
+		for (TemplateParameterSubstitution tps : existingBinding.getParameterSubstitutions()) {
+			ParameterableElement pe = tps.getActual();
+			if (pe instanceof Classifier) {
+				return fixedBinding(model, te, (Classifier) pe);
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Adapt the actuals within the binding (which correspond either to an
+	 * element of the source model or an imported element) to the target model.
+	 *
+	 * @param sat
+	 * @param binding
+	 */
+	public static void adaptActualsToTargetModel(LazyCopier copy, TemplateBinding binding) {
+		for (TemplateParameterSubstitution substitution : binding.getParameterSubstitutions()) {
+			substitution.setActual(copy.getCopy(substitution.getActual()));
+		}
+	}
+
+	/**
+	 * Return the actual for a potential formal parameter within a
+	 * templateBinding (move to TemplateUtils?)
+	 *
+	 * @param binding
+	 *            a template binding
+	 * @param formal
+	 *            a potential formal parameter, i.e. a parameter for which we
+	 *            check, if it really corresponds to a formal parameter within
+	 *            the template binding.
+	 * @return the actual parameter that is associated with the potential formal
+	 *         parameter, or null if the 2nd parameter does not correspond to a
+	 *         formal parameter of the binding.
+	 */
+	public static Classifier getActualFromBinding(TemplateBinding binding, Type formal) {
+		for (TemplateParameterSubstitution substitution : binding.getParameterSubstitutions()) {
+			ParameterableElement pe = substitution.getFormal().getParameteredElement();
+			if (pe == formal) {
+				Activator.log.info(String.format(
+						Messages.TemplateUtils_InfoGetActualFrom, pe));
+				return (Classifier) substitution.getActual();
+			}
+		}
+		return null;
+	}
+
+	public static Classifier getActualFromBinding(TemplateBinding binding, String formalName) {
+		for (TemplateParameterSubstitution substitution : binding.getParameterSubstitutions()) {
+			ParameterableElement pe = substitution.getFormal().getParameteredElement();
+			Activator.log.info(String.format(
+					Messages.TemplateUtils_InfoGetActualFrom, pe));
+			if ((pe instanceof NamedElement)
+					&& ((NamedElement) pe).getName().equals(formalName)) {
+				return (Classifier) substitution.getActual();
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Get the first actual from the binding.
+	 *
+	 * @param binding
+	 *            the template binding
+	 * @return the first actual.
+	 */
+	public static Classifier getFirstActualFromBinding(TemplateBinding binding) {
+		for (TemplateParameterSubstitution substitution : binding.getParameterSubstitutions()) {
+			ParameterableElement pe = substitution.getFormal().getParameteredElement();
+			Activator.log.info(String.format(
+					Messages.TemplateUtils_InfoGetActualFrom, pe));
+			return (Classifier) substitution.getActual();
+		}
+		return null;
+	}
+
+	/**
+	 * Return a sequence of namespaces for a given element, starting from the "bottom"
+	 * one, i.e. the one in which the element is contained. It will end before the
+	 * searchNS namespace is reached. Returns null, if the element is not contained
+	 * within the search namespace.
+	 * This function will put a merged package into the path (instead of the owner), enabling
+	 * the extension of existing packages.
+	 *
+	 * @param element
+	 * @param searchNS
+	 * @return
+	 */
+	public static EList<Namespace> relativePathWithMerge(Element element, Namespace searchNS) {
+		EList<Namespace> pathList = new BasicEList<Namespace>();
+		Element owner = element.getOwner();
+		if (!(owner instanceof Namespace)) {
+			// happens, if element is contained in a template signature
+			return null;
+		}
+		Namespace ns = (Namespace) owner;
+		while (ns != null) {
+			if (ns == searchNS) {
+				return pathList;
+			}
+			pathList.add(ns);
+
+			if (ns instanceof Package) {
+				Package pkg = (Package) ns;
+				Iterator<PackageMerge> pkgMerges = pkg.getPackageMerges().iterator();
+				// if package merge exists, get first merged package and add it to path
+				if (pkgMerges.hasNext()) {
+					PackageMerge pkgImport = pkgMerges.next();
+					ns = pkgImport.getMergedPackage();
+					continue;
+				}
+			}
+
+			ns = (Namespace) ns.getOwner();
+		}
+		return null;
+	}
+
+	/**
+	 * Re-target connectors after a part has changed its type from template to an instantiation
+	 * of this template. In this case, the roles of the connector ends still reference the port
+	 * of the template instead of the bound template binding.
+	 * The new roles are assigned based on an equal name, assuming that template instantiation
+	 * does not change the name of the ports.
+	 *
+	 * @param composite
+	 *            a composite containing connectors
+	 * @param part
+	 *            a part within the composite whose type has changed.
+	 */
+	public static void retargetConnectors(StructuredClassifier composite, Property part) {
+		Type partType = part.getType();
+		if (partType instanceof EncapsulatedClassifier) {
+			EncapsulatedClassifier partTypeEC = (EncapsulatedClassifier) partType;
+			for (Connector connector : composite.getOwnedConnectors()) {
+				if (ConnectorUtil.connectsPart(connector, part)) {
+					// the connector end targets a port of a part or the composite (in case of delegation)
+					ConnectorEnd connEnd = ConnectorUtil.connEndForPart(connector, part);
+					// redirect role, if pointing to port
+					if (connEnd.getRole() instanceof Port) {
+						Port connectedTemplatePort = (Port) connEnd.getRole();
+						Port connectedBoundPort = (Port) ElementUtils.getNamedElementFromList(
+								PortUtils.getAllPorts(partTypeEC), connectedTemplatePort.getName());
+						connEnd.setRole(connectedBoundPort);
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * Re-target connectors after an unknown number of parts have changed their type from template
+	 * to an instantiation of this template. In this case, the roles of the connector ends still
+	 * reference the port of the template instead of the bound template binding.
+	 * The new roles are assigned based on an equal name, assuming that template instantiation
+	 * does not change the name of the ports.
+	 *
+	 * @param composite
+	 *            a composite containing connectors
+	 */
+	public static void retargetConnectors(StructuredClassifier composite) {
+		for (Connector connector : composite.getOwnedConnectors()) {
+			// the connector end targets a port of a part or the composite (in case of delegation)
+			for (ConnectorEnd connEnd : connector.getEnds()) {
+				Property part = connEnd.getPartWithPort();
+				if ((part != null) && (part.getType() instanceof EncapsulatedClassifier)) {
+					EncapsulatedClassifier partTypeEC = (EncapsulatedClassifier) part.getType();
+					ConnectableElement role = connEnd.getRole();
+					EList<Port> ports = PortUtils.getAllPorts(partTypeEC);
+					if ((role instanceof Port) && !ports.contains(role)) {
+						// role is not in list of ports
+						Port connectedBoundPort = (Port) ElementUtils.getNamedElementFromList(ports, role.getName());
+						connEnd.setRole(connectedBoundPort);
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.validation/build.properties b/components/org.eclipse.papyrus.designer.components.validation/build.properties
index 1d9f301..ed5571d 100644
--- a/components/org.eclipse.papyrus.designer.components.validation/build.properties
+++ b/components/org.eclipse.papyrus.designer.components.validation/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.project b/components/org.eclipse.papyrus.designer.components.vsl/.project
deleted file mode 100644
index 6c770ea..0000000
--- a/components/org.eclipse.papyrus.designer.components.vsl/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.papyrus.designer.components.vsl</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.m2e.core.maven2Nature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/META-INF/MANIFEST.MF b/components/org.eclipse.papyrus.designer.components.vsl/META-INF/MANIFEST.MF
deleted file mode 100644
index 0024754..0000000
--- a/components/org.eclipse.papyrus.designer.components.vsl/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Export-Package: org.eclipse.papyrus.designer.components.vsl
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.papyrus.marte.vsl;bundle-version="1.2.0",
- org.eclipse.xtext;bundle-version="2.4.0",
- org.eclipse.papyrus.marte.static.profile;bundle-version="1.2.0"
-Bundle-Vendor: %providerName
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 0.7.5.qualifier
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Activator: org.eclipse.papyrus.designer.components.vsl.Activator
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.designer.components.vsl
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/pom.xml b/components/org.eclipse.papyrus.designer.components.vsl/pom.xml
deleted file mode 100644
index 969cca8..0000000
--- a/components/org.eclipse.papyrus.designer.components.vsl/pom.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>org.eclipse.papyrus.designer</groupId>
-		<artifactId>org.eclipse.papyrus.designer.components</artifactId>
-		<version>0.7.5-SNAPSHOT</version>
-	</parent>
-	<artifactId>org.eclipse.papyrus.designer.components.vsl</artifactId>
-	<description>This module contains some utility function for MARTEs value specification language</description>
-	<packaging>eclipse-plugin</packaging>
-</project>
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/src/org/eclipse/papyrus/designer/components/vsl/Activator.java b/components/org.eclipse.papyrus.designer.components.vsl/src/org/eclipse/papyrus/designer/components/vsl/Activator.java
deleted file mode 100644
index 0f820e5..0000000
--- a/components/org.eclipse.papyrus.designer.components.vsl/src/org/eclipse/papyrus/designer/components/vsl/Activator.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.vsl;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.papyrus.designer.components.vsl"; //$NON-NLS-1$
-
-	// The shared instance
-	private static Activator plugin;
-
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/src/org/eclipse/papyrus/designer/components/vsl/Messages.java b/components/org.eclipse.papyrus.designer.components.vsl/src/org/eclipse/papyrus/designer/components/vsl/Messages.java
deleted file mode 100644
index 7a3393b..0000000
--- a/components/org.eclipse.papyrus.designer.components.vsl/src/org/eclipse/papyrus/designer/components/vsl/Messages.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.vsl;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.papyrus.designer.components.vsl.messages"; //$NON-NLS-1$
-	public static String ParseVSL_ErrorInExp_SIZE;
-	public static String ParseVSL_ErrorInExp_TIME;
-	public static String ParseVSL_ErrotInExp_FREQ;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/src/org/eclipse/papyrus/designer/components/vsl/ParseVSL.java b/components/org.eclipse.papyrus.designer.components.vsl/src/org/eclipse/papyrus/designer/components/vsl/ParseVSL.java
deleted file mode 100644
index 6bf7c86..0000000
--- a/components/org.eclipse.papyrus.designer.components.vsl/src/org/eclipse/papyrus/designer/components/vsl/ParseVSL.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/**
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.papyrus.designer.components.vsl;
-
-import java.util.Collections;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.papyrus.MARTE.utils.MarteUtils;
-import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.DataSizeUnitKind;
-import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.FrequencyUnitKind;
-import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.TimeUnitKind;
-import org.eclipse.papyrus.marte.vsl.VSLStandaloneSetupGenerated;
-import org.eclipse.xtext.IGrammarAccess;
-import org.eclipse.xtext.resource.IResourceFactory;
-import org.eclipse.xtext.resource.XtextResource;
-import org.eclipse.xtext.util.StringInputStream;
-
-import com.google.inject.Injector;
-
-
-public class ParseVSL {
-
-	private static final String UNIT = "unit"; //$NON-NLS-1$
-
-	private static final String VALUE = "value"; //$NON-NLS-1$
-
-	private Injector injector;
-
-	private static final String SYNTHETIC_SCHEME = "synthetic"; //$NON-NLS-1$
-
-
-	/**
-	 * Parse a VSL expression and return an xtext resource. Users should check for parsing
-	 * errors (getErrors). The resulting set of eObjects is available via the getContents
-	 * operations (as usual).
-	 *
-	 * @param expression
-	 *            a VSL expression
-	 * @return a resource relating to the expression.
-	 */
-	public XtextResource getXtextResource(String expression) {
-		if (injector == null) {
-			VSLStandaloneSetupGenerated setup = new VSLStandaloneSetupGenerated();
-			injector = setup.createInjectorAndDoEMFRegistration();
-		}
-		;
-		IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class);
-		IGrammarAccess grammarAccess = injector.getInstance(IGrammarAccess.class);
-
-		XtextResource xtextResource = (XtextResource) resourceFactory.createResource(
-				URI.createURI(SYNTHETIC_SCHEME + ":/" + grammarAccess.getGrammar().getName() + ".vsl")); //$NON-NLS-1$ //$NON-NLS-2$
-
-		try {
-			xtextResource.load(new StringInputStream(expression, xtextResource.getEncoding()), Collections.emptyMap());
-		} catch (Exception e) {
-			throw new RuntimeException(e);
-		}
-		return xtextResource;
-	}
-
-	/**
-	 * test function (currently unused)
-	 *
-	 * @param expression
-	 *            a VSL expression
-	 */
-	public static void parseTest(String expression) {
-		/*
-		 * ParseVSL parseVSL = new ParseVSL();
-		 * XtextResource xtextResource = parseVSL.getXtextResource(expression);
-		 * if(xtextResource.getErrors().size() > 0) {
-		 * for(Resource.Diagnostic error : xtextResource.getErrors()) {
-		 * System.err.println(error);
-		 * }
-		 * return;
-		 * }
-		 * EList<EObject> contents = xtextResource.getContents();
-		 * System.out.println("contents.size: " + contents.size());
-		 */
-	}
-
-	public static int getSizeFromVSL(String nfpDatasize) {
-		if (nfpDatasize != null) {
-			String unit = MarteUtils.getValueFromTuple(nfpDatasize, UNIT);
-			String value = MarteUtils.getValueFromTuple(nfpDatasize, VALUE);
-			return Float.valueOf(value).intValue() * getMultiplicatorFromSizeUnit(unit);
-		}
-		return 0;
-	}
-
-	// >>> TODO: from here: ad-hoc functions to retrieve values via simple parser
-
-	/**
-	 * Get the duration in micro-seconds
-	 *
-	 * @param nfpDuration
-	 * @return
-	 */
-	public static long getDurationFromVSL(String nfpDuration) {
-		if (nfpDuration != null) {
-			String unit = MarteUtils.getValueFromTuple(nfpDuration, UNIT);
-			String value = MarteUtils.getValueFromTuple(nfpDuration, VALUE);
-			return Float.valueOf(value).intValue() * getMultiplicatorFromTimeUnit(unit);
-		}
-		return 0;
-	}
-
-	/**
-	 * Get the duration in milli seconds
-	 * 
-	 * @param nfpDuration
-	 * @return
-	 */
-	public static long getMsDurationFromVSL(String nfpDuration) {
-		return getDurationFromVSL(nfpDuration)/1000;
-	}
-
-
-	/**
-	 * Get the frequency in HZ
-	 *
-	 * @param
-	 * @return
-	 */
-	public static long getFrequencyFromVSL(String nfpFrequency) {
-		if (nfpFrequency != null) {
-			String unit = MarteUtils.getValueFromTuple(nfpFrequency, UNIT);
-			String value = MarteUtils.getValueFromTuple(nfpFrequency, VALUE);
-			return (int) (Float.valueOf(value) * getMultiplicatorFromFrequencyUnit(unit));
-		}
-		return 0;
-	}
-
-	public static long getPeriodFromArrivalPattern(String arrivalPattern) {
-		if (arrivalPattern != null) {
-			String period = MarteUtils.getValueFromTuple(arrivalPattern, "period"); //$NON-NLS-1$
-			return getDurationFromVSL(period);
-		}
-		return 0;
-	}
-
-	public static int getMultiplicatorFromSizeUnit(String unit) {
-		DataSizeUnitKind dsuk = DataSizeUnitKind.get(unit);
-		if (dsuk == DataSizeUnitKind.BYTE) {
-			return 1;
-		} else if (dsuk == DataSizeUnitKind.KB) {
-			return 1024;
-		} else if (dsuk == DataSizeUnitKind.MB) {
-			return 1024 * 1024;
-		} else if (dsuk == DataSizeUnitKind.GB) {
-			return 1024 * 1024 * 1024;
-		} else {
-			// do not support bits here.
-			throw new RuntimeException(String.format(Messages.ParseVSL_ErrorInExp_SIZE, unit));
-		}
-	}
-
-	/**
-	 * return the time multiplicator based on micro-seconds unit
-	 *
-	 * @param unit
-	 * @return
-	 */
-	public static long getMultiplicatorFromTimeUnit(String unit) {
-		TimeUnitKind tuk = TimeUnitKind.get(unit);
-		if (tuk == TimeUnitKind.US) {
-			return 1;
-		}
-		if (tuk == TimeUnitKind.MS) {
-			return 1000;
-		} else if (tuk == TimeUnitKind.S) {
-			return 1000 * 1000;
-		} else if (tuk == TimeUnitKind.MIN) {
-			return 60 * 1000 * 1000;
-		} else {
-			throw new RuntimeException(String.format(Messages.ParseVSL_ErrorInExp_TIME, unit));
-		}
-	}
-
-	public static float getMultiplicatorFromFrequencyUnit(String unit) {
-		FrequencyUnitKind fuk = FrequencyUnitKind.get(unit);
-		if (fuk == FrequencyUnitKind.HZ) {
-			return 1;
-		} else if (fuk == FrequencyUnitKind.KHZ) {
-			return 1000;
-		} else if (fuk == FrequencyUnitKind.MHZ) {
-			return 1000 * 1000;
-		} else if (fuk == FrequencyUnitKind.GHZ) {
-			return 1000 * 1000 * 1000;
-		} else if (fuk == FrequencyUnitKind.RPM) {
-			return 1 / 60;
-		} else {
-			// do not support bits here.
-			throw new RuntimeException(String.format(Messages.ParseVSL_ErrotInExp_FREQ, unit));
-		}
-	}
-}
diff --git a/components/pom.xml b/components/pom.xml
index 4fb0d0f..52a410d 100644
--- a/components/pom.xml
+++ b/components/pom.xml
@@ -16,14 +16,13 @@
 	<modules>
 		<module>org.eclipse.papyrus.designer.components.fcm.profile</module>
 		<module>org.eclipse.papyrus.designer.components.doc</module>
-		<module>org.eclipse.papyrus.designer.components.transformation.core</module>
+		<module>org.eclipse.papyrus.designer.components.transformation</module>
 		<module>org.eclipse.papyrus.designer.components.transformation.cpp</module>
 		<module>org.eclipse.papyrus.designer.components.transformation.java</module>
 		<module>org.eclipse.papyrus.designer.components.transformation.ui</module>
 		<module>org.eclipse.papyrus.designer.components.validation</module>
-		<module>org.eclipse.papyrus.designer.components.vsl</module>
-		<module>org.eclipse.papyrus.designer.components.modellibs.core</module>
-		<module>tracing</module>
+		<!-- module>org.eclipse.papyrus.designer.components.modellibs.core</module-->
+		<!-- module>tracing</module-->
 	</modules>
 
 </project>
diff --git a/components/tracing/org.eclipse.papyrus.designer.components.modellibs.tracing/build.properties b/components/tracing/org.eclipse.papyrus.designer.components.modellibs.tracing/build.properties
index 5e1cbdd..3c2f5d7 100644
--- a/components/tracing/org.eclipse.papyrus.designer.components.modellibs.tracing/build.properties
+++ b/components/tracing/org.eclipse.papyrus.designer.components.modellibs.tracing/build.properties
@@ -1,6 +1,6 @@
 source.. = src/,\
            xtend-gen/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
diff --git a/components/tracing/org.eclipse.papyrus.views.tracepoints/build.properties b/components/tracing/org.eclipse.papyrus.views.tracepoints/build.properties
index 7b97eb1..3462450 100644
--- a/components/tracing/org.eclipse.papyrus.views.tracepoints/build.properties
+++ b/components/tracing/org.eclipse.papyrus.views.tracepoints/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = plugin.xml,\
                META-INF/,\
                .,\
diff --git a/deployment/.project b/deployment/.project
new file mode 100644
index 0000000..22a182e
--- /dev/null
+++ b/deployment/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.deployment</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.core.resources.prefs b/deployment/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.core.resources.prefs
copy to deployment/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.m2e.core.prefs b/deployment/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.m2e.core.prefs
copy to deployment/.settings/org.eclipse.m2e.core.prefs
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/.classpath b/deployment/org.eclipse.papyrus.designer.deployment.profile/.classpath
new file mode 100644
index 0000000..c22d3b3
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="src-gen"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/.project b/deployment/org.eclipse.papyrus.designer.deployment.profile/.project
new file mode 100644
index 0000000..2aa26ad
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.deployment.profile</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/deployment/org.eclipse.papyrus.designer.deployment.profile/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to deployment/org.eclipse.papyrus.designer.deployment.profile/.settings/org.eclipse.core.resources.prefs
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/.settings/org.eclipse.jdt.core.prefs b/deployment/org.eclipse.papyrus.designer.deployment.profile/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..a6a6e82
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,309 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=99
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/.settings/org.eclipse.jdt.ui.prefs b/deployment/org.eclipse.papyrus.designer.deployment.profile/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..954281d
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *   CEA LIST - Initial API and implementation\n *   \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/deployment/org.eclipse.papyrus.designer.deployment.profile/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to deployment/org.eclipse.papyrus.designer.deployment.profile/.settings/org.eclipse.m2e.core.prefs
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/META-INF/MANIFEST.MF b/deployment/org.eclipse.papyrus.designer.deployment.profile/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..4f93f2b
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/META-INF/MANIFEST.MF
@@ -0,0 +1,34 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.papyrus.designer.transformation.profile;visibility:=reexport,
+ org.eclipse.uml2.types;visibility:=reexport,
+ org.eclipse.uml2.uml;bundle-version="5.0.0";visibility:=reexport
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Version: 0.7.5.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.designer.deployment.profile.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.designer.deployment.profile;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.eclipse.papyrus.designer.deployment.profile.Deployment;
+  uses:="org.eclipse.emf.ecore,
+   org.eclipse.papyrus.designer.transformation.profile.Transformation,
+   org.eclipse.uml2.uml,
+   org.eclipse.emf.common.util",
+ org.eclipse.papyrus.designer.deployment.profile.Deployment.impl;
+  uses:="org.eclipse.emf.ecore,
+   org.eclipse.emf.ecore.impl,
+   org.eclipse.papyrus.designer.transformation.profile.Transformation,
+   org.eclipse.uml2.uml,
+   org.eclipse.emf.common.util,
+   org.eclipse.papyrus.designer.deployment.profile.Deployment",
+ org.eclipse.papyrus.designer.deployment.profile.Deployment.util;
+  uses:="org.eclipse.emf.ecore,
+   org.eclipse.emf.common.notify,
+   org.eclipse.emf.common.notify.impl,
+   org.eclipse.papyrus.designer.deployment.profile.Deployment,
+   org.eclipse.emf.ecore.util"
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/about.html b/deployment/org.eclipse.papyrus.designer.deployment.profile/about.html
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/about.html
copy to deployment/org.eclipse.papyrus.designer.deployment.profile/about.html
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/build.properties b/deployment/org.eclipse.papyrus.designer.deployment.profile/build.properties
new file mode 100644
index 0000000..20522e2
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/build.properties
@@ -0,0 +1,9 @@
+source.. = src/,\
+           src-gen/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               model/,\
+               about.html,\
+               plugin.properties
+src.includes = about.html
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/model/Deployment.ecore b/deployment/org.eclipse.papyrus.designer.deployment.profile/model/Deployment.ecore
new file mode 100644
index 0000000..f2e8bde
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/model/Deployment.ecore
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="Deployment" nsURI="http://www.eclipse.org/papyrus/Deployment/1"
+    nsPrefix="Deployment">
+  <eClassifiers xsi:type="ecore:EClass" name="ConfigurationProperty">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="AutoIndex">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="AutoIndexPerNode">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CopyAttributeValue">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="InitPrecedence">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="invokeBefore" ordered="false"
+        upperBound="-1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="invokeAfter" ordered="false"
+        upperBound="-1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Target">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="usedOS" ordered="false"
+        lowerBound="1" eType="#//OperatingSystem"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="availRAM" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="availROM" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="OperatingSystem">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ImplementationProperties">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="sizeRam" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="sizeROM" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="supportedOS" ordered="false"
+        upperBound="-1" eType="#//OperatingSystem"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="arch" ordered="false" lowerBound="1"
+        eType="#//TargetArchitecture"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="TargetArchitecture">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="DeploymentPlan">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="projectMappings" ordered="false"
+        upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="chain" ordered="false"
+        eType="ecore:EClass ../../org.eclipse.papyrus.designer.transformation.profile/model/Transformation.ecore#//M2MTrafoChain"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Singleton">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="InstanceConfigurator">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="onNodeModel" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="UseInstanceConfigurator">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="configurator" ordered="false"
+        lowerBound="1" eType="#//InstanceConfigurator"/>
+  </eClassifiers>
+</ecore:EPackage>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di b/deployment/org.eclipse.papyrus.designer.deployment.profile/model/Deployment.profile.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di
copy to deployment/org.eclipse.papyrus.designer.deployment.profile/model/Deployment.profile.di
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/model/Deployment.profile.genmodel b/deployment/org.eclipse.papyrus.designer.deployment.profile/model/Deployment.profile.genmodel
new file mode 100644
index 0000000..59a08b1
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/model/Deployment.profile.genmodel
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/uml2/2.2.0/GenModel"
+    modelDirectory="/org.eclipse.papyrus.designer.deployment.profile/src-gen"
+    editDirectory="/org.eclipse.papyrus.designer.deployment.profile.edit/src" editorDirectory="/org.eclipse.papyrus.designer.deployment.profile.editor/src"
+    modelPluginID="org.eclipse.papyrus.designer.deployment.profile" modelName="Deployment"
+    modelPluginClass="" editPluginClass="org.eclipse.papyrus.designer.deployment.profile.Codegen.provider.DeploymentEditPlugin"
+    editorPluginClass="org.eclipse.papyrus.designer.deployment.profile.Codegen.presentation.DeploymentEditorPlugin"
+    rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" testSuiteClass="org.eclipse.papyrus.designer.deployment.profile.Deployment.tests.DeploymentAllTests"
+    importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="6.0" copyrightFields="false"
+    editPluginID="org.eclipse.papyrus.designer.deployment.profile.edit" editorPluginID="org.eclipse.papyrus.designer.deployment.profile.editor"
+    usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.designer.transformation.profile/model/Transformation.profile.genmodel#//Transformation ../../org.eclipse.uml2.types/model/Types.genmodel#//types ../../org.eclipse.uml2.uml/model/UML.genmodel#//uml"
+    operationReflection="true" importOrganizing="true">
+  <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
+    <details key="OPPOSITE_ROLE_NAMES" value="IGNORE"/>
+    <details key="DUPLICATE_FEATURES" value="DISCARD"/>
+    <details key="ANNOTATION_DETAILS" value="PROCESS"/>
+    <details key="PROPERTY_DEFAULT_EXPRESSIONS" value="IGNORE"/>
+    <details key="DUPLICATE_FEATURE_INHERITANCE" value="DISCARD"/>
+    <details key="COMMENTS" value="PROCESS"/>
+    <details key="DERIVED_FEATURES" value="PROCESS"/>
+    <details key="SUPER_CLASS_ORDER" value="PROCESS"/>
+    <details key="DUPLICATE_OPERATION_INHERITANCE" value="DISCARD"/>
+    <details key="REDEFINING_OPERATIONS" value="REPORT"/>
+    <details key="INVARIANT_CONSTRAINTS" value="PROCESS"/>
+    <details key="UNION_PROPERTIES" value="REPORT"/>
+    <details key="DUPLICATE_OPERATIONS" value="DISCARD"/>
+    <details key="NON_API_INVARIANTS" value="IGNORE"/>
+    <details key="CAMEL_CASE_NAMES" value="IGNORE"/>
+    <details key="SUBSETTING_PROPERTIES" value="REPORT"/>
+    <details key="OPERATION_BODIES" value="IGNORE"/>
+    <details key="ECORE_TAGGED_VALUES" value="PROCESS"/>
+    <details key="UNTYPED_PROPERTIES" value="REPORT"/>
+    <details key="REDEFINING_PROPERTIES" value="REPORT"/>
+    <details key="INVOCATION_DELEGATES" value="IGNORE"/>
+    <details key="VALIDATION_DELEGATES" value="IGNORE"/>
+  </genAnnotations>
+  <foreignModel>Deployment.profile.uml</foreignModel>
+  <genPackages xsi:type="genmodel:GenPackage" prefix="Deployment" basePackage="org.eclipse.papyrus.designer.deployment.profile"
+      disposableProviderFactory="true" ecorePackage="Deployment.ecore#/">
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="Deployment.ecore#//ConfigurationProperty">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//ConfigurationProperty/base_Property"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="Deployment.ecore#//AutoIndex">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//AutoIndex/base_Property"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="Deployment.ecore#//AutoIndexPerNode">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//AutoIndexPerNode/base_Property"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="Deployment.ecore#//CopyAttributeValue">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//CopyAttributeValue/base_Property"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//CopyAttributeValue/source"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="Deployment.ecore#//InitPrecedence">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//InitPrecedence/base_Class"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//InitPrecedence/invokeBefore"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//InitPrecedence/invokeAfter"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="Deployment.ecore#//Target">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//Target/base_Class"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//Target/usedOS"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute Deployment.ecore#//Target/availRAM"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute Deployment.ecore#//Target/availROM"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="Deployment.ecore#//OperatingSystem">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//OperatingSystem/base_Class"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="Deployment.ecore#//ImplementationProperties">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//ImplementationProperties/base_Class"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute Deployment.ecore#//ImplementationProperties/sizeRam"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute Deployment.ecore#//ImplementationProperties/sizeROM"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//ImplementationProperties/supportedOS"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//ImplementationProperties/arch"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="Deployment.ecore#//TargetArchitecture">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//TargetArchitecture/base_Class"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="Deployment.ecore#//DeploymentPlan">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//DeploymentPlan/base_Package"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute Deployment.ecore#//DeploymentPlan/projectMappings"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//DeploymentPlan/chain"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="Deployment.ecore#//Singleton">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//Singleton/base_Class"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="Deployment.ecore#//InstanceConfigurator">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//InstanceConfigurator/base_Class"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute Deployment.ecore#//InstanceConfigurator/onNodeModel"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="Deployment.ecore#//UseInstanceConfigurator">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//UseInstanceConfigurator/base_Class"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Deployment.ecore#//UseInstanceConfigurator/configurator"/>
+    </genClasses>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/model/Deployment.profile.notation b/deployment/org.eclipse.papyrus.designer.deployment.profile/model/Deployment.profile.notation
new file mode 100644
index 0000000..d0334fa
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/model/Deployment.profile.notation
@@ -0,0 +1,536 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_Cur4kD3yEeajPtol9OalIw" type="PapyrusUMLProfileDiagram" name="Deployment" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_KjyvMEN6Eea4W-lfO7m_3g" type="Class_MetaclassShape">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Kj3AoEN6Eea4W-lfO7m_3g" source="Stereotype_Annotation">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Kj3nsEN6Eea4W-lfO7m_3g" key="StereotypeWithQualifiedNameList" value=""/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Kj3nsUN6Eea4W-lfO7m_3g" key="StereotypeList" value="StandardProfile::Metaclass"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Kj3nskN6Eea4W-lfO7m_3g" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Kj3ns0N6Eea4W-lfO7m_3g" key="PropStereoDisplay" value=""/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Kj3ntEN6Eea4W-lfO7m_3g" key="StereotypePropertyLocation" value="Compartment"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Kj1ygEN6Eea4W-lfO7m_3g" type="Class_MetaclassNameLabel"/>
+    <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kj2ZkEN6Eea4W-lfO7m_3g" x="40" y="40" width="821" height="61"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_KkQpQEN6Eea4W-lfO7m_3g" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_KkQpQUN6Eea4W-lfO7m_3g"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_KkQpQ0N6Eea4W-lfO7m_3g" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KkQpQkN6Eea4W-lfO7m_3g" x="280" y="300"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_MbkJIEN6Eea4W-lfO7m_3g" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_MbkwMEN6Eea4W-lfO7m_3g" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_MbkwMUN6Eea4W-lfO7m_3g" type="Stereotype_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_MbkwMkN6Eea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_MbkwM0N6Eea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_MbkwNEN6Eea4W-lfO7m_3g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MbkwNUN6Eea4W-lfO7m_3g"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_MbkwNkN6Eea4W-lfO7m_3g" visible="false" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_MbkwN0N6Eea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_MbkwOEN6Eea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_MbkwOUN6Eea4W-lfO7m_3g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MbkwOkN6Eea4W-lfO7m_3g"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="Deployment.profile.uml#_Mba_MEN6Eea4W-lfO7m_3g"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MbkJIUN6Eea4W-lfO7m_3g" x="40" y="140" width="181" height="101"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_PgjYkEOEEea4W-lfO7m_3g" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Pgj_oEOEEea4W-lfO7m_3g" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_Pgj_oUOEEea4W-lfO7m_3g" type="Stereotype_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Pgj_okOEEea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_Pgj_o0OEEea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_Pgj_pEOEEea4W-lfO7m_3g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Pgj_pUOEEea4W-lfO7m_3g"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_Pgj_pkOEEea4W-lfO7m_3g" visible="false" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Pgj_p0OEEea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_Pgj_qEOEEea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_Pgj_qUOEEea4W-lfO7m_3g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Pgj_qkOEEea4W-lfO7m_3g"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="Deployment.profile.uml#_PggVQEOEEea4W-lfO7m_3g"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PgjYkUOEEea4W-lfO7m_3g" x="260" y="140" width="161" height="101"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_QsbV0EOEEea4W-lfO7m_3g" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Qsb84EOEEea4W-lfO7m_3g" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_Qsb84UOEEea4W-lfO7m_3g" type="Stereotype_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Qsb84kOEEea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_Qsb840OEEea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_Qsb85EOEEea4W-lfO7m_3g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qsb85UOEEea4W-lfO7m_3g"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_Qsb85kOEEea4W-lfO7m_3g" visible="false" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Qsb850OEEea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_Qsb86EOEEea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_Qsb86UOEEea4W-lfO7m_3g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qsb86kOEEea4W-lfO7m_3g"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="Deployment.profile.uml#_QsaHsEOEEea4W-lfO7m_3g"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QsbV0UOEEea4W-lfO7m_3g" x="460" y="140" width="201" height="101"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_SjVNEEOEEea4W-lfO7m_3g" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_SjV0IEOEEea4W-lfO7m_3g" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_SjV0IUOEEea4W-lfO7m_3g" type="Stereotype_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_8BIWAEOEEea4W-lfO7m_3g" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_HcSKsEOFEea4W-lfO7m_3g" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Property" href="Deployment.profile.uml#_8AtfQEOEEea4W-lfO7m_3g"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8BIWAUOEEea4W-lfO7m_3g"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_SjV0IkOEEea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_SjV0I0OEEea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_SjV0JEOEEea4W-lfO7m_3g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SjV0JUOEEea4W-lfO7m_3g"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_SjV0JkOEEea4W-lfO7m_3g" visible="false" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_SjV0J0OEEea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_SjV0KEOEEea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_SjV0KUOEEea4W-lfO7m_3g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SjV0KkOEEea4W-lfO7m_3g"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="Deployment.profile.uml#_SjT-8EOEEea4W-lfO7m_3g"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SjVNEUOEEea4W-lfO7m_3g" x="700" y="140" width="161" height="101"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_79vKQFf9EeanCpyPTMVlnA" type="Class_MetaclassShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_79zbsFf9EeanCpyPTMVlnA" type="Class_MetaclassNameLabel"/>
+    <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_79vKQVf9EeanCpyPTMVlnA" x="42" y="304" width="999"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_7-TK8Ff9EeanCpyPTMVlnA" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_7-TK8Vf9EeanCpyPTMVlnA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_7-TK81f9EeanCpyPTMVlnA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7-TK8lf9EeanCpyPTMVlnA" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_95noIFf9EeanCpyPTMVlnA" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_95oPMFf9EeanCpyPTMVlnA" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_95oPMVf9EeanCpyPTMVlnA" type="Stereotype_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_ptEsgFiQEeanCpyPTMVlnA" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_FuiMIFiREeanCpyPTMVlnA" name="maskLabel">
+          <stringListValue>multiplicity</stringListValue>
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Property" href="Deployment.profile.uml#_ps1b8FiQEeanCpyPTMVlnA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ptEsgViQEeanCpyPTMVlnA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_rq_xwFiQEeanCpyPTMVlnA" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_Ha6OYFiREeanCpyPTMVlnA" name="maskLabel">
+          <stringListValue>multiplicity</stringListValue>
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Property" href="Deployment.profile.uml#_rppt8FiQEeanCpyPTMVlnA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rq_xwViQEeanCpyPTMVlnA"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_95oPMlf9EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_95oPM1f9EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_95oPNFf9EeanCpyPTMVlnA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_95oPNVf9EeanCpyPTMVlnA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_95oPNlf9EeanCpyPTMVlnA" visible="false" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_95oPN1f9EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_95oPOFf9EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_95oPOVf9EeanCpyPTMVlnA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_95oPOlf9EeanCpyPTMVlnA"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="Deployment.profile.uml#_95ivoFf9EeanCpyPTMVlnA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_95noIVf9EeanCpyPTMVlnA" x="40" y="420" width="181" height="81"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_O8bo4Ff-EeanCpyPTMVlnA" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_O8bo4lf-EeanCpyPTMVlnA" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_O8cP8Ff-EeanCpyPTMVlnA" type="Stereotype_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="__T0f0Ff-EeanCpyPTMVlnA" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_H1AJYFiREeanCpyPTMVlnA" name="maskLabel">
+          <stringListValue>multiplicity</stringListValue>
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Property" href="Deployment.profile.uml#__TiL8Ff-EeanCpyPTMVlnA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__T0f0Vf-EeanCpyPTMVlnA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_CT4-kFf_EeanCpyPTMVlnA" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_IKi7kFiREeanCpyPTMVlnA" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Property" href="Deployment.profile.uml#_CTjnYFf_EeanCpyPTMVlnA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CT4-kVf_EeanCpyPTMVlnA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_FESCkFf_EeanCpyPTMVlnA" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_Idqr4FiREeanCpyPTMVlnA" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Property" href="Deployment.profile.uml#_FEFOQFf_EeanCpyPTMVlnA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_FESCkVf_EeanCpyPTMVlnA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_-cJqgG_EEeaWnoc8dDCyEA" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_H5AmgG_FEeaWnoc8dDCyEA" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Property" href="Deployment.profile.uml#_-bSu4G_EEeaWnoc8dDCyEA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_-cJqgW_EEeaWnoc8dDCyEA"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_O8cP8Vf-EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_O8cP8lf-EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_O8cP81f-EeanCpyPTMVlnA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O8cP9Ff-EeanCpyPTMVlnA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_O8cP9Vf-EeanCpyPTMVlnA" visible="false" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_O8cP9lf-EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_O8cP91f-EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_O8cP-Ff-EeanCpyPTMVlnA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O8cP-Vf-EeanCpyPTMVlnA"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="Deployment.profile.uml#_O8X-gFf-EeanCpyPTMVlnA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O8bo4Vf-EeanCpyPTMVlnA" x="240" y="420" width="181" height="101"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_WZi6sFf-EeanCpyPTMVlnA" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_WZi6slf-EeanCpyPTMVlnA" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_WZjhwFf-EeanCpyPTMVlnA" type="Stereotype_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_db0qoFf-EeanCpyPTMVlnA" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_Iy1qoFiREeanCpyPTMVlnA" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Property" href="Deployment.profile.uml#_dbi90Ff-EeanCpyPTMVlnA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_db0qoVf-EeanCpyPTMVlnA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_iy3AwFf-EeanCpyPTMVlnA" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_JHnAwFiREeanCpyPTMVlnA" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Property" href="Deployment.profile.uml#_iyhpkFf-EeanCpyPTMVlnA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_iy3AwVf-EeanCpyPTMVlnA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_wyLbUFf-EeanCpyPTMVlnA" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_Jb9gIFiREeanCpyPTMVlnA" name="maskLabel">
+          <stringListValue>multiplicity</stringListValue>
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Property" href="Deployment.profile.uml#_wx2rMFf-EeanCpyPTMVlnA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wyLbUVf-EeanCpyPTMVlnA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_4dYMcFf-EeanCpyPTMVlnA" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_KLOZ4FiREeanCpyPTMVlnA" name="maskLabel">
+          <stringListValue>multiplicity</stringListValue>
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Property" href="Deployment.profile.uml#_4dI74Ff-EeanCpyPTMVlnA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_4dYMcVf-EeanCpyPTMVlnA"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_WZjhwVf-EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_WZjhwlf-EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_WZjhw1f-EeanCpyPTMVlnA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WZjhxFf-EeanCpyPTMVlnA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_WZjhxVf-EeanCpyPTMVlnA" visible="false" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_WZjhxlf-EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_WZjhx1f-EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_WZjhyFf-EeanCpyPTMVlnA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WZjhyVf-EeanCpyPTMVlnA"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="Deployment.profile.uml#_WZhFgFf-EeanCpyPTMVlnA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WZi6sVf-EeanCpyPTMVlnA" x="460" y="420" width="201" height="101"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_sRYwsFf-EeanCpyPTMVlnA" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_sRZXwFf-EeanCpyPTMVlnA" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_sRZXwVf-EeanCpyPTMVlnA" type="Stereotype_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_sRZXwlf-EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_sRZXw1f-EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_sRZXxFf-EeanCpyPTMVlnA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sRZXxVf-EeanCpyPTMVlnA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_sRZXxlf-EeanCpyPTMVlnA" visible="false" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_sRZXx1f-EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_sRZXyFf-EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_sRZXyVf-EeanCpyPTMVlnA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sRZXylf-EeanCpyPTMVlnA"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="Deployment.profile.uml#_sRW7gFf-EeanCpyPTMVlnA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sRYwsVf-EeanCpyPTMVlnA" x="700" y="420" width="161" height="81"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_tn2NUFf-EeanCpyPTMVlnA" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_tn2NUlf-EeanCpyPTMVlnA" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_tn20YFf-EeanCpyPTMVlnA" type="Stereotype_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_tn20YVf-EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_tn20Ylf-EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_tn20Y1f-EeanCpyPTMVlnA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tn20ZFf-EeanCpyPTMVlnA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_tn20ZVf-EeanCpyPTMVlnA" visible="false" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_tn20Zlf-EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_tn20Z1f-EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_tn20aFf-EeanCpyPTMVlnA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tn20aVf-EeanCpyPTMVlnA"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="Deployment.profile.uml#_tn0YIFf-EeanCpyPTMVlnA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tn2NUVf-EeanCpyPTMVlnA" x="900" y="420" width="141" height="81"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_jxv9kFiQEeanCpyPTMVlnA" type="Class_MetaclassShape">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jxzn8FiQEeanCpyPTMVlnA" source="Stereotype_Annotation">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jx0PAFiQEeanCpyPTMVlnA" key="StereotypeWithQualifiedNameList" value=""/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jx0PAViQEeanCpyPTMVlnA" key="StereotypeList" value="StandardProfile::Metaclass"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jx0PAliQEeanCpyPTMVlnA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jx0PA1iQEeanCpyPTMVlnA" key="PropStereoDisplay" value=""/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jx0PBFiQEeanCpyPTMVlnA" key="StereotypePropertyLocation" value="Compartment"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_jxxLsFiQEeanCpyPTMVlnA" type="Class_MetaclassNameLabel"/>
+    <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxxLsViQEeanCpyPTMVlnA" x="40" y="560" width="181" height="61"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_jyTXMFiQEeanCpyPTMVlnA" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_jyTXMViQEeanCpyPTMVlnA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_jyTXM1iQEeanCpyPTMVlnA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jyTXMliQEeanCpyPTMVlnA" x="300" y="600"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_lxtqMFiQEeanCpyPTMVlnA" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_lxuRQFiQEeanCpyPTMVlnA" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_lxuRQViQEeanCpyPTMVlnA" type="Stereotype_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_RogcAFlbEeanCpyPTMVlnA" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="Deployment.profile.uml#_Rn3i0FlbEeanCpyPTMVlnA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_RogcAVlbEeanCpyPTMVlnA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_nxQtcF-eEea4vqMyw9JI5Q" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="Deployment.profile.uml#_nv40cF-eEea4vqMyw9JI5Q"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_nxQtcV-eEea4vqMyw9JI5Q"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_lxuRQliQEeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_lxuRQ1iQEeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_lxuRRFiQEeanCpyPTMVlnA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lxuRRViQEeanCpyPTMVlnA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_lxuRRliQEeanCpyPTMVlnA" visible="false" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_lxuRR1iQEeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_lxuRSFiQEeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_lxuRSViQEeanCpyPTMVlnA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lxuRSliQEeanCpyPTMVlnA"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="Deployment.profile.uml#_lxr1AFiQEeanCpyPTMVlnA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lxtqMViQEeanCpyPTMVlnA" x="40" y="660" width="181" height="76"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_mXALwFiUEeanCpyPTMVlnA" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_mXAy0FiUEeanCpyPTMVlnA" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_mXAy0ViUEeanCpyPTMVlnA" type="Stereotype_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_mXAy0liUEeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_mXAy01iUEeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_mXAy1FiUEeanCpyPTMVlnA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mXAy1ViUEeanCpyPTMVlnA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_mXAy1liUEeanCpyPTMVlnA" visible="false" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_mXAy11iUEeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_mXAy2FiUEeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_mXAy2ViUEeanCpyPTMVlnA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mXAy2liUEeanCpyPTMVlnA"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="Deployment.profile.uml#_mW8hYFiUEeanCpyPTMVlnA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mXALwViUEeanCpyPTMVlnA" x="780" y="560" width="221" height="81"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_xUVjkFi2EeanCpyPTMVlnA" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_xUX_0Fi2EeanCpyPTMVlnA" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_xUX_0Vi2EeanCpyPTMVlnA" type="Stereotype_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_7ddTMFi3EeanCpyPTMVlnA" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_PUUv8Fi4EeanCpyPTMVlnA" name="maskLabel">
+          <stringListValue>multiplicity</stringListValue>
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Property" href="Deployment.profile.uml#_7dK_UFi3EeanCpyPTMVlnA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_7ddTMVi3EeanCpyPTMVlnA"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_xUX_0li2EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_xUX_01i2EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_xUX_1Fi2EeanCpyPTMVlnA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xUX_1Vi2EeanCpyPTMVlnA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_xUYm4Fi2EeanCpyPTMVlnA" visible="false" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_xUYm4Vi2EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_xUYm4li2EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_xUYm41i2EeanCpyPTMVlnA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xUYm5Fi2EeanCpyPTMVlnA"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="Deployment.profile.uml#_xUJWUFi2EeanCpyPTMVlnA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xUVjkVi2EeanCpyPTMVlnA" x="580" y="560" width="161" height="81"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_0Bu98Fi2EeanCpyPTMVlnA" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_0Bu98li2EeanCpyPTMVlnA" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_0Bu981i2EeanCpyPTMVlnA" type="Stereotype_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_1YbOoFi3EeanCpyPTMVlnA" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_6wGd8Fi3EeanCpyPTMVlnA" name="maskLabel">
+          <stringListValue>multiplicity</stringListValue>
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Property" href="Deployment.profile.uml#_1Xtc8Fi3EeanCpyPTMVlnA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1YbOoVi3EeanCpyPTMVlnA"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_0Bu99Fi2EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_0Bu99Vi2EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_0Bu99li2EeanCpyPTMVlnA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0Bu991i2EeanCpyPTMVlnA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_0Bu9-Fi2EeanCpyPTMVlnA" visible="false" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_0Bu9-Vi2EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_0Bu9-li2EeanCpyPTMVlnA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_0Bu9-1i2EeanCpyPTMVlnA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0Bu9_Fi2EeanCpyPTMVlnA"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="Deployment.profile.uml#_0BtIwFi2EeanCpyPTMVlnA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0Bu98Vi2EeanCpyPTMVlnA" x="340" y="560" width="181" height="81"/>
+  </children>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_Cur4kT3yEeajPtol9OalIw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_Cur4kj3yEeajPtol9OalIw"/>
+  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_Cur4kz3yEeajPtol9OalIw">
+    <owner xmi:type="uml:Profile" href="Deployment.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/>
+  </styles>
+  <element xmi:type="uml:Profile" href="Deployment.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/>
+  <edges xmi:type="notation:Connector" xmi:id="_KkRQUEN6Eea4W-lfO7m_3g" type="StereotypeCommentLink" source="_KjyvMEN6Eea4W-lfO7m_3g" target="_KkQpQEN6Eea4W-lfO7m_3g">
+    <styles xmi:type="notation:FontStyle" xmi:id="_KkRQUUN6Eea4W-lfO7m_3g"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_KkRQVUN6Eea4W-lfO7m_3g" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KkRQUkN6Eea4W-lfO7m_3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KkRQU0N6Eea4W-lfO7m_3g"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KkRQVEN6Eea4W-lfO7m_3g"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_P3uG8EN6Eea4W-lfO7m_3g" type="Extension_Edge" source="_MbkJIEN6Eea4W-lfO7m_3g" target="_KjyvMEN6Eea4W-lfO7m_3g">
+    <styles xmi:type="notation:FontStyle" xmi:id="_P3uG8UN6Eea4W-lfO7m_3g"/>
+    <element xmi:type="uml:Extension" href="Deployment.profile.uml#_P3WTgEN6Eea4W-lfO7m_3g"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_P3uG8kN6Eea4W-lfO7m_3g" points="[140, 140, -643984, -643984]$[140, 90, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_P4CQAEN6Eea4W-lfO7m_3g" id="(0.5524861878453039,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_P4CQAUN6Eea4W-lfO7m_3g" id="(0.1218026796589525,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_VUKV8EOEEea4W-lfO7m_3g" type="Extension_Edge" source="_PgjYkEOEEea4W-lfO7m_3g" target="_KjyvMEN6Eea4W-lfO7m_3g">
+    <styles xmi:type="notation:FontStyle" xmi:id="_VUKV8UOEEea4W-lfO7m_3g"/>
+    <element xmi:type="uml:Extension" href="Deployment.profile.uml#_VTH0IEOEEea4W-lfO7m_3g"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VUKV8kOEEea4W-lfO7m_3g" points="[360, 140, -643984, -643984]$[360, 101, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VUxZ8EOEEea4W-lfO7m_3g" id="(0.4968944099378882,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VUxZ8UOEEea4W-lfO7m_3g" id="(0.3654080389768575,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_WFN_cEOEEea4W-lfO7m_3g" type="Extension_Edge" source="_QsbV0EOEEea4W-lfO7m_3g" target="_KjyvMEN6Eea4W-lfO7m_3g">
+    <styles xmi:type="notation:FontStyle" xmi:id="_WFN_cUOEEea4W-lfO7m_3g"/>
+    <element xmi:type="uml:Extension" href="Deployment.profile.uml#_WEMrwEOEEea4W-lfO7m_3g"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WFN_ckOEEea4W-lfO7m_3g" points="[560, 140, -643984, -643984]$[560, 101, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WFrScEOEEea4W-lfO7m_3g" id="(0.4975124378109453,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WFrScUOEEea4W-lfO7m_3g" id="(0.633373934226553,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_WuHLcEOEEea4W-lfO7m_3g" type="Extension_Edge" source="_SjVNEEOEEea4W-lfO7m_3g" target="_KjyvMEN6Eea4W-lfO7m_3g">
+    <styles xmi:type="notation:FontStyle" xmi:id="_WuHLcUOEEea4W-lfO7m_3g"/>
+    <element xmi:type="uml:Extension" href="Deployment.profile.uml#_WssPIEOEEea4W-lfO7m_3g"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WuHLckOEEea4W-lfO7m_3g" points="[780, 140, -643984, -643984]$[780, 101, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WuiCMEOEEea4W-lfO7m_3g" id="(0.4968944099378882,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WuiCMUOEEea4W-lfO7m_3g" id="(0.9013398294762485,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_7-TyAFf9EeanCpyPTMVlnA" type="StereotypeCommentLink" source="_79vKQFf9EeanCpyPTMVlnA" target="_7-TK8Ff9EeanCpyPTMVlnA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_7-TyAVf9EeanCpyPTMVlnA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_7-TyBVf9EeanCpyPTMVlnA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7-TyAlf9EeanCpyPTMVlnA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7-TyA1f9EeanCpyPTMVlnA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7-TyBFf9EeanCpyPTMVlnA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_-3pWoFf9EeanCpyPTMVlnA" type="Extension_Edge" source="_95noIFf9EeanCpyPTMVlnA" target="_79vKQFf9EeanCpyPTMVlnA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_-3pWoVf9EeanCpyPTMVlnA"/>
+    <element xmi:type="uml:Extension" href="Deployment.profile.uml#_-3NRwFf9EeanCpyPTMVlnA"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-3pWolf9EeanCpyPTMVlnA" points="[140, 420, -643984, -643984]$[140, 354, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-4Ie0Ff9EeanCpyPTMVlnA" id="(0.5524861878453039,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-4JF4Ff9EeanCpyPTMVlnA" id="(0.0980980980980981,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_PpIW0Ff-EeanCpyPTMVlnA" type="Extension_Edge" source="_O8bo4Ff-EeanCpyPTMVlnA" target="_79vKQFf9EeanCpyPTMVlnA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_PpIW0Vf-EeanCpyPTMVlnA"/>
+    <element xmi:type="uml:Extension" href="Deployment.profile.uml#_PoxxgFf-EeanCpyPTMVlnA"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PpIW0lf-EeanCpyPTMVlnA" points="[340, 420, -643984, -643984]$[340, 354, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PqK4oFf-EeanCpyPTMVlnA" id="(0.5524861878453039,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PqK4oVf-EeanCpyPTMVlnA" id="(0.2982982982982983,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_XvmusFf-EeanCpyPTMVlnA" type="Extension_Edge" source="_WZi6sFf-EeanCpyPTMVlnA" target="_79vKQFf9EeanCpyPTMVlnA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_XvmusVf-EeanCpyPTMVlnA"/>
+    <element xmi:type="uml:Extension" href="Deployment.profile.uml#_XuwaIFf-EeanCpyPTMVlnA"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xvmuslf-EeanCpyPTMVlnA" points="[560, 420, -643984, -643984]$[560, 354, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XwDaoFf-EeanCpyPTMVlnA" id="(0.4975124378109453,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XwDaoVf-EeanCpyPTMVlnA" id="(0.5185185185185185,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_vJ4n0Ff-EeanCpyPTMVlnA" type="Extension_Edge" source="_sRYwsFf-EeanCpyPTMVlnA" target="_79vKQFf9EeanCpyPTMVlnA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_vJ4n0Vf-EeanCpyPTMVlnA"/>
+    <element xmi:type="uml:Extension" href="Deployment.profile.uml#_vIbPQFf-EeanCpyPTMVlnA"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vJ4n0lf-EeanCpyPTMVlnA" points="[780, 420, -643984, -643984]$[780, 354, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vKazUFf-EeanCpyPTMVlnA" id="(0.4968944099378882,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vKazUVf-EeanCpyPTMVlnA" id="(0.7387387387387387,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_v9dZ0Ff-EeanCpyPTMVlnA" type="Extension_Edge" source="_tn2NUFf-EeanCpyPTMVlnA" target="_79vKQFf9EeanCpyPTMVlnA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_v9dZ0Vf-EeanCpyPTMVlnA"/>
+    <element xmi:type="uml:Extension" href="Deployment.profile.uml#_v8iMwFf-EeanCpyPTMVlnA"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_v9dZ0lf-EeanCpyPTMVlnA" points="[980, 420, -643984, -643984]$[800, 354, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v99JEFf-EeanCpyPTMVlnA" id="(0.425531914893617,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v99JEVf-EeanCpyPTMVlnA" id="(0.9255189255189256,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jyT-QFiQEeanCpyPTMVlnA" type="StereotypeCommentLink" source="_jxv9kFiQEeanCpyPTMVlnA" target="_jyTXMFiQEeanCpyPTMVlnA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_jyT-QViQEeanCpyPTMVlnA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_jyVMYFiQEeanCpyPTMVlnA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jyT-QliQEeanCpyPTMVlnA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyUlUFiQEeanCpyPTMVlnA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyUlUViQEeanCpyPTMVlnA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_ohAiAFiQEeanCpyPTMVlnA" type="Extension_Edge" source="_lxtqMFiQEeanCpyPTMVlnA" target="_jxv9kFiQEeanCpyPTMVlnA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_ohAiAViQEeanCpyPTMVlnA"/>
+    <element xmi:type="uml:Extension" href="Deployment.profile.uml#_ofrFQFiQEeanCpyPTMVlnA"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ohAiAliQEeanCpyPTMVlnA" points="[140, 660, -643984, -643984]$[140, 621, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ohoNEFiQEeanCpyPTMVlnA" id="(0.5524861878453039,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ohoNEViQEeanCpyPTMVlnA" id="(0.5524861878453039,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_np7MMFiUEeanCpyPTMVlnA" type="Extension_Edge" source="_mXALwFiUEeanCpyPTMVlnA" target="_79vKQFf9EeanCpyPTMVlnA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_np7MMViUEeanCpyPTMVlnA"/>
+    <element xmi:type="uml:Extension" href="Deployment.profile.uml#_noxVoFiUEeanCpyPTMVlnA"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_np7MMliUEeanCpyPTMVlnA" points="[920, 540, -643984, -643984]$[880, 354, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nrocYFiUEeanCpyPTMVlnA" id="(0.45248868778280543,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nrocYViUEeanCpyPTMVlnA" id="(0.8388388388388388,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_3gkcUFi2EeanCpyPTMVlnA" type="Extension_Edge" source="_xUVjkFi2EeanCpyPTMVlnA" target="_79vKQFf9EeanCpyPTMVlnA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_3gkcUVi2EeanCpyPTMVlnA"/>
+    <element xmi:type="uml:Extension" href="Deployment.profile.uml#_3fMjUFi2EeanCpyPTMVlnA"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3gkcUli2EeanCpyPTMVlnA" points="[700, 540, -643984, -643984]$[680, 354, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3hissFi2EeanCpyPTMVlnA" id="(0.6211180124223602,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3hissVi2EeanCpyPTMVlnA" id="(0.6386386386386387,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_4Nw5gFi2EeanCpyPTMVlnA" type="Extension_Edge" source="_0Bu98Fi2EeanCpyPTMVlnA" target="_79vKQFf9EeanCpyPTMVlnA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_4Nw5gVi2EeanCpyPTMVlnA"/>
+    <element xmi:type="uml:Extension" href="Deployment.profile.uml#_4Mg8UFi2EeanCpyPTMVlnA"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4Nw5gli2EeanCpyPTMVlnA" points="[500, 560, -643984, -643984]$[440, 354, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4OTsEFi2EeanCpyPTMVlnA" id="(0.5524861878453039,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4OTsEVi2EeanCpyPTMVlnA" id="(0.3983983983983984,1.0)"/>
+  </edges>
+</notation:Diagram>
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/model/Deployment.profile.uml b/deployment/org.eclipse.papyrus.designer.deployment.profile/model/Deployment.profile.uml
new file mode 100644
index 0000000..c1856cb
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/model/Deployment.profile.uml
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+  <uml:Profile xmi:id="_gPDsIBa-EearhdjjJ6cVzQ" name="Deployment" metaclassReference="_WWO_YBbAEearhdjjJ6cVzQ _LQB30CXmEea8zMl4rVTOhQ _bIj1ICi3EeaXvZJsTlfH8A _KjtPoEN6Eea4W-lfO7m_3g _jxqeAFiQEeanCpyPTMVlnA">
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_WWO_YBbAEearhdjjJ6cVzQ" alias="Model">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Model"/>
+    </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_LQB30CXmEea8zMl4rVTOhQ" alias="Element">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+    </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_bIj1ICi3EeaXvZJsTlfH8A" alias="Class">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+    </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_KjtPoEN6Eea4W-lfO7m_3g" alias="Property">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+    </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_jxqeAFiQEeanCpyPTMVlnA" alias="Package">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+    </elementImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_fTx0EBa-EearhdjjJ6cVzQ">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_cDsTEF-eEea4vqMyw9JI5Q">
+      <importedPackage xmi:type="uml:Profile" href="pathmap://TRAFO_PROFILE/Transformation.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_Mba_MEN6Eea4W-lfO7m_3g" name="ConfigurationProperty">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_P3YvwUN6Eea4W-lfO7m_3g" name="base_Property" association="_P3WTgEN6Eea4W-lfO7m_3g">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_P3WTgEN6Eea4W-lfO7m_3g" name="E_ConfigurationProperty_Property1" memberEnd="_P3YvwEN6Eea4W-lfO7m_3g _P3YvwUN6Eea4W-lfO7m_3g">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_P3YvwEN6Eea4W-lfO7m_3g" name="extension_ConfigurationProperty" type="_Mba_MEN6Eea4W-lfO7m_3g" aggregation="composite" association="_P3WTgEN6Eea4W-lfO7m_3g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_PggVQEOEEea4W-lfO7m_3g" name="AutoIndex">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_VTIbMUOEEea4W-lfO7m_3g" name="base_Property" association="_VTH0IEOEEea4W-lfO7m_3g">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_QsaHsEOEEea4W-lfO7m_3g" name="AutoIndexPerNode">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_WEN54EOEEea4W-lfO7m_3g" name="base_Property" association="_WEMrwEOEEea4W-lfO7m_3g">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_SjT-8EOEEea4W-lfO7m_3g" name="CopyAttributeValue">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Wss2MEOEEea4W-lfO7m_3g" name="base_Property" association="_WssPIEOEEea4W-lfO7m_3g">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_8AtfQEOEEea4W-lfO7m_3g" name="source" visibility="public">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_VTH0IEOEEea4W-lfO7m_3g" name="E_AutoIndex_Property1" memberEnd="_VTIbMEOEEea4W-lfO7m_3g _VTIbMUOEEea4W-lfO7m_3g">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_VTIbMEOEEea4W-lfO7m_3g" name="extension_AutoIndex" type="_PggVQEOEEea4W-lfO7m_3g" aggregation="composite" association="_VTH0IEOEEea4W-lfO7m_3g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_WEMrwEOEEea4W-lfO7m_3g" name="E_AutoIndexPerNode_Property1" memberEnd="_WENS0EOEEea4W-lfO7m_3g _WEN54EOEEea4W-lfO7m_3g">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_WENS0EOEEea4W-lfO7m_3g" name="extension_AutoIndexPerNode" type="_QsaHsEOEEea4W-lfO7m_3g" aggregation="composite" association="_WEMrwEOEEea4W-lfO7m_3g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_WssPIEOEEea4W-lfO7m_3g" name="E_CopyAttributeValue_Property1" memberEnd="_WssPIUOEEea4W-lfO7m_3g _Wss2MEOEEea4W-lfO7m_3g">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_WssPIUOEEea4W-lfO7m_3g" name="extension_CopyAttributeValue" type="_SjT-8EOEEea4W-lfO7m_3g" aggregation="composite" association="_WssPIEOEEea4W-lfO7m_3g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_95ivoFf9EeanCpyPTMVlnA" name="InitPrecedence">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-3Q8IFf9EeanCpyPTMVlnA" name="base_Class" association="_-3NRwFf9EeanCpyPTMVlnA">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ps1b8FiQEeanCpyPTMVlnA" name="invokeBefore" visibility="public">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Cc9tsFiREeanCpyPTMVlnA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_CdAJ8FiREeanCpyPTMVlnA" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_rppt8FiQEeanCpyPTMVlnA" name="invokeAfter" visibility="public">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DI7b0FiREeanCpyPTMVlnA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DJBicFiREeanCpyPTMVlnA" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_-3NRwFf9EeanCpyPTMVlnA" name="E_InitPrecedence_Class1" memberEnd="_-3QVEFf9EeanCpyPTMVlnA _-3Q8IFf9EeanCpyPTMVlnA">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-3QVEFf9EeanCpyPTMVlnA" name="extension_InitPrecedence" type="_95ivoFf9EeanCpyPTMVlnA" aggregation="composite" association="_-3NRwFf9EeanCpyPTMVlnA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_O8X-gFf-EeanCpyPTMVlnA" name="Target">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_PoyYkVf-EeanCpyPTMVlnA" name="base_Class" association="_PoxxgFf-EeanCpyPTMVlnA">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="__TiL8Ff-EeanCpyPTMVlnA" name="usedOS" type="_sRW7gFf-EeanCpyPTMVlnA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_CTjnYFf_EeanCpyPTMVlnA" name="availRAM" visibility="public">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_FEFOQFf_EeanCpyPTMVlnA" name="availROM" visibility="public">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-bSu4G_EEeaWnoc8dDCyEA" name="target" visibility="public" type="_tn0YIFf-EeanCpyPTMVlnA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_PoxxgFf-EeanCpyPTMVlnA" name="E_Target_Class1" memberEnd="_PoyYkFf-EeanCpyPTMVlnA _PoyYkVf-EeanCpyPTMVlnA">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_PoyYkFf-EeanCpyPTMVlnA" name="extension_Target" type="_O8X-gFf-EeanCpyPTMVlnA" aggregation="composite" association="_PoxxgFf-EeanCpyPTMVlnA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_WZhFgFf-EeanCpyPTMVlnA" name="ImplementationProperties">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_XuxBMVf-EeanCpyPTMVlnA" name="base_Class" association="_XuwaIFf-EeanCpyPTMVlnA">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dbi90Ff-EeanCpyPTMVlnA" name="sizeRam">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_iyhpkFf-EeanCpyPTMVlnA" name="sizeROM">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_wx2rMFf-EeanCpyPTMVlnA" name="supportedOS" visibility="public" type="_sRW7gFf-EeanCpyPTMVlnA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1BJ9MFf-EeanCpyPTMVlnA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1BRR8Ff-EeanCpyPTMVlnA" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_4dI74Ff-EeanCpyPTMVlnA" name="arch" type="_tn0YIFf-EeanCpyPTMVlnA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_XuwaIFf-EeanCpyPTMVlnA" name="E_ImplementationProperties_Class1" memberEnd="_XuxBMFf-EeanCpyPTMVlnA _XuxBMVf-EeanCpyPTMVlnA">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_XuxBMFf-EeanCpyPTMVlnA" name="extension_ImplementationProperties" type="_WZhFgFf-EeanCpyPTMVlnA" aggregation="composite" association="_XuwaIFf-EeanCpyPTMVlnA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_sRW7gFf-EeanCpyPTMVlnA" name="OperatingSystem">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_vIdEcFf-EeanCpyPTMVlnA" name="base_Class" association="_vIbPQFf-EeanCpyPTMVlnA">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_tn0YIFf-EeanCpyPTMVlnA" name="TargetArchitecture">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_v8iz0Vf-EeanCpyPTMVlnA" name="base_Class" association="_v8iMwFf-EeanCpyPTMVlnA">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_vIbPQFf-EeanCpyPTMVlnA" name="E_OperatingSystem_Class1" memberEnd="_vIcdYFf-EeanCpyPTMVlnA _vIdEcFf-EeanCpyPTMVlnA">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_vIcdYFf-EeanCpyPTMVlnA" name="extension_OperatingSystem" type="_sRW7gFf-EeanCpyPTMVlnA" aggregation="composite" association="_vIbPQFf-EeanCpyPTMVlnA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_v8iMwFf-EeanCpyPTMVlnA" name="E_TargetArchitecture_Class1" memberEnd="_v8iz0Ff-EeanCpyPTMVlnA _v8iz0Vf-EeanCpyPTMVlnA">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_v8iz0Ff-EeanCpyPTMVlnA" name="extension_TargetArchitecture" type="_tn0YIFf-EeanCpyPTMVlnA" aggregation="composite" association="_v8iMwFf-EeanCpyPTMVlnA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_lxr1AFiQEeanCpyPTMVlnA" name="DeploymentPlan">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ofsTYFiQEeanCpyPTMVlnA" name="base_Package" association="_ofrFQFiQEeanCpyPTMVlnA">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Rn3i0FlbEeanCpyPTMVlnA" name="projectMappings" visibility="public">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WPkGsFlbEeanCpyPTMVlnA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WPmi8FlbEeanCpyPTMVlnA" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_nv40cF-eEea4vqMyw9JI5Q" name="chain" visibility="public">
+        <type xmi:type="uml:Stereotype" href="pathmap://TRAFO_PROFILE/Transformation.profile.uml#_tlAxcEFlEeaVWaGMtmQuJw"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_t0GZoF-eEea4vqMyw9JI5Q"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t0Jc8F-eEea4vqMyw9JI5Q" value="1"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_ofrFQFiQEeanCpyPTMVlnA" name="E_DeploymentPlan_Package1" memberEnd="_ofrsUFiQEeanCpyPTMVlnA _ofsTYFiQEeanCpyPTMVlnA">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_ofrsUFiQEeanCpyPTMVlnA" name="extension_DeploymentPlan" type="_lxr1AFiQEeanCpyPTMVlnA" aggregation="composite" association="_ofrFQFiQEeanCpyPTMVlnA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_mW8hYFiUEeanCpyPTMVlnA" name="Singleton">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_nox8sViUEeanCpyPTMVlnA" name="base_Class" association="_noxVoFiUEeanCpyPTMVlnA">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_noxVoFiUEeanCpyPTMVlnA" name="E_Singleton_Class1" memberEnd="_nox8sFiUEeanCpyPTMVlnA _nox8sViUEeanCpyPTMVlnA">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_nox8sFiUEeanCpyPTMVlnA" name="extension_Singleton" type="_mW8hYFiUEeanCpyPTMVlnA" aggregation="composite" association="_noxVoFiUEeanCpyPTMVlnA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_xUJWUFi2EeanCpyPTMVlnA" name="InstanceConfigurator">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_3fNxcFi2EeanCpyPTMVlnA" name="base_Class" association="_3fMjUFi2EeanCpyPTMVlnA">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_7dK_UFi3EeanCpyPTMVlnA" name="onNodeModel">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_0BtIwFi2EeanCpyPTMVlnA" name="UseInstanceConfigurator">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_4MhjYFi2EeanCpyPTMVlnA" name="base_Class" association="_4Mg8UFi2EeanCpyPTMVlnA">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_1Xtc8Fi3EeanCpyPTMVlnA" name="configurator" visibility="public" type="_xUJWUFi2EeanCpyPTMVlnA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_3fMjUFi2EeanCpyPTMVlnA" name="E_InstanceConfigurator_Class1" memberEnd="_3fNKYFi2EeanCpyPTMVlnA _3fNxcFi2EeanCpyPTMVlnA">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_3fNKYFi2EeanCpyPTMVlnA" name="extension_InstanceConfigurator" type="_xUJWUFi2EeanCpyPTMVlnA" aggregation="composite" association="_3fMjUFi2EeanCpyPTMVlnA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_4Mg8UFi2EeanCpyPTMVlnA" name="E_UseInstanceConfigurator_Class1" memberEnd="_4Mg8UVi2EeanCpyPTMVlnA _4MhjYFi2EeanCpyPTMVlnA">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_4Mg8UVi2EeanCpyPTMVlnA" name="extension_UseInstanceConfigurator" type="_0BtIwFi2EeanCpyPTMVlnA" aggregation="composite" association="_4Mg8UFi2EeanCpyPTMVlnA"/>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_QvyJsBa_EearhdjjJ6cVzQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qv1NABa_EearhdjjJ6cVzQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9hSMIFi3EeanCpyPTMVlnA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9hUBUFi3EeanCpyPTMVlnA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#_Kv8EIKFXEeS_KNX0nfvIVQ"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#ActionLanguage"/>
+    </profileApplication>
+  </uml:Profile>
+  <Ecore:EPackage xmi:id="_RPiAwBa_EearhdjjJ6cVzQ" base_Package="_gPDsIBa-EearhdjjJ6cVzQ" packageName="Deployment" nsPrefix="Deployment" nsURI="http://www.eclipse.org/papyrus/Deployment/1" prefix="Deployment"/>
+</xmi:XMI>
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/plugin.properties b/deployment/org.eclipse.papyrus.designer.deployment.profile/plugin.properties
new file mode 100644
index 0000000..2026301
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2016 CEA LIST.
+# All rights reserved. This program and the accompanying materials 
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     Shuai Li (CEA LIST) <shuai.li@cea.fr> - initial API and implementation
+###############################################################################
+pluginName=Papyrus Designer code generation profile (Incubation)
+providerName=Eclipse Modeling Project
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/plugin.xml b/deployment/org.eclipse.papyrus.designer.deployment.profile/plugin.xml
new file mode 100644
index 0000000..75b0e60
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/plugin.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated Deployment.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/Deployment/1"
+            class="org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage"
+            genModel="model/Deployment.profile.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.uri_mapping">
+		<mapping
+			source="pathmap://DEP_PROFILE/"
+			target="platform:/plugin/org.eclipse.papyrus.designer.deployment.profile/model/"/>
+	</extension>
+   
+    <extension point="org.eclipse.uml2.uml.generated_package">
+		<profile
+            uri="http://www.eclipse.org/papyrus/Deployment/1"
+			location="pathmap://DEP_PROFILE/Deployment.profile.uml#_gPDsIBa-EearhdjjJ6cVzQ"/>
+	</extension>
+	
+	<extension point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+		<profile
+			description="Deployment profile"
+			iconpath="icons/deployment.gif"
+			name="Deployment profile"
+			path="pathmap://DEP_PROFILE/Deployment.profile.uml"
+			provider="CEA LIST"/>
+	</extension>
+</plugin>
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/pom.xml b/deployment/org.eclipse.papyrus.designer.deployment.profile/pom.xml
new file mode 100644
index 0000000..6b73eb5
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/pom.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.designer</groupId>
+		<artifactId>org.eclipse.papyrus.designer.deployment</artifactId>
+		<version>0.7.5-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.designer.deployment.profile</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This module contains a profile for deployment</description>
+</project>
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/AutoIndex.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/AutoIndex.java
new file mode 100644
index 0000000..5b1dc38
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/AutoIndex.java
@@ -0,0 +1,52 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Auto Index</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndex#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getAutoIndex()
+ * @model
+ * @generated
+ */
+public interface AutoIndex extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Property</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Property</em>' reference.
+	 * @see #setBase_Property(Property)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getAutoIndex_Base_Property()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndex#getBase_Property <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Property</em>' reference.
+	 * @see #getBase_Property()
+	 * @generated
+	 */
+	void setBase_Property(Property value);
+
+} // AutoIndex
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/AutoIndexPerNode.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/AutoIndexPerNode.java
new file mode 100644
index 0000000..2af2782
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/AutoIndexPerNode.java
@@ -0,0 +1,52 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Auto Index Per Node</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndexPerNode#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getAutoIndexPerNode()
+ * @model
+ * @generated
+ */
+public interface AutoIndexPerNode extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Property</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Property</em>' reference.
+	 * @see #setBase_Property(Property)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getAutoIndexPerNode_Base_Property()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndexPerNode#getBase_Property <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Property</em>' reference.
+	 * @see #getBase_Property()
+	 * @generated
+	 */
+	void setBase_Property(Property value);
+
+} // AutoIndexPerNode
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/ConfigurationProperty.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/ConfigurationProperty.java
new file mode 100644
index 0000000..d894e31
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/ConfigurationProperty.java
@@ -0,0 +1,52 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Configuration Property</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ConfigurationProperty#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getConfigurationProperty()
+ * @model
+ * @generated
+ */
+public interface ConfigurationProperty extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Property</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Property</em>' reference.
+	 * @see #setBase_Property(Property)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getConfigurationProperty_Base_Property()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ConfigurationProperty#getBase_Property <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Property</em>' reference.
+	 * @see #getBase_Property()
+	 * @generated
+	 */
+	void setBase_Property(Property value);
+
+} // ConfigurationProperty
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/CopyAttributeValue.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/CopyAttributeValue.java
new file mode 100644
index 0000000..4e81d11
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/CopyAttributeValue.java
@@ -0,0 +1,79 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Copy Attribute Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.CopyAttributeValue#getBase_Property <em>Base Property</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.CopyAttributeValue#getSource <em>Source</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getCopyAttributeValue()
+ * @model
+ * @generated
+ */
+public interface CopyAttributeValue extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Property</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Property</em>' reference.
+	 * @see #setBase_Property(Property)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getCopyAttributeValue_Base_Property()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.CopyAttributeValue#getBase_Property <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Property</em>' reference.
+	 * @see #getBase_Property()
+	 * @generated
+	 */
+	void setBase_Property(Property value);
+
+	/**
+	 * Returns the value of the '<em><b>Source</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Source</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</em>' reference.
+	 * @see #setSource(Property)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getCopyAttributeValue_Source()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getSource();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.CopyAttributeValue#getSource <em>Source</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Source</em>' reference.
+	 * @see #getSource()
+	 * @generated
+	 */
+	void setSource(Property value);
+
+} // CopyAttributeValue
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/DeploymentFactory.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/DeploymentFactory.java
new file mode 100644
index 0000000..459a4fd
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/DeploymentFactory.java
@@ -0,0 +1,150 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment;
+
+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 org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage
+ * @generated
+ */
+public interface DeploymentFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	DeploymentFactory eINSTANCE = org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Configuration Property</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Configuration Property</em>'.
+	 * @generated
+	 */
+	ConfigurationProperty createConfigurationProperty();
+
+	/**
+	 * Returns a new object of class '<em>Auto Index</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Auto Index</em>'.
+	 * @generated
+	 */
+	AutoIndex createAutoIndex();
+
+	/**
+	 * Returns a new object of class '<em>Auto Index Per Node</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Auto Index Per Node</em>'.
+	 * @generated
+	 */
+	AutoIndexPerNode createAutoIndexPerNode();
+
+	/**
+	 * Returns a new object of class '<em>Copy Attribute Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Copy Attribute Value</em>'.
+	 * @generated
+	 */
+	CopyAttributeValue createCopyAttributeValue();
+
+	/**
+	 * Returns a new object of class '<em>Init Precedence</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Init Precedence</em>'.
+	 * @generated
+	 */
+	InitPrecedence createInitPrecedence();
+
+	/**
+	 * Returns a new object of class '<em>Target</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Target</em>'.
+	 * @generated
+	 */
+	Target createTarget();
+
+	/**
+	 * Returns a new object of class '<em>Operating System</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Operating System</em>'.
+	 * @generated
+	 */
+	OperatingSystem createOperatingSystem();
+
+	/**
+	 * Returns a new object of class '<em>Implementation Properties</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Implementation Properties</em>'.
+	 * @generated
+	 */
+	ImplementationProperties createImplementationProperties();
+
+	/**
+	 * Returns a new object of class '<em>Target Architecture</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Target Architecture</em>'.
+	 * @generated
+	 */
+	TargetArchitecture createTargetArchitecture();
+
+	/**
+	 * Returns a new object of class '<em>Plan</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Plan</em>'.
+	 * @generated
+	 */
+	DeploymentPlan createDeploymentPlan();
+
+	/**
+	 * Returns a new object of class '<em>Singleton</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Singleton</em>'.
+	 * @generated
+	 */
+	Singleton createSingleton();
+
+	/**
+	 * Returns a new object of class '<em>Instance Configurator</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Instance Configurator</em>'.
+	 * @generated
+	 */
+	InstanceConfigurator createInstanceConfigurator();
+
+	/**
+	 * Returns a new object of class '<em>Use Instance Configurator</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Use Instance Configurator</em>'.
+	 * @generated
+	 */
+	UseInstanceConfigurator createUseInstanceConfigurator();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	DeploymentPackage getDeploymentPackage();
+
+} //DeploymentFactory
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/DeploymentPackage.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/DeploymentPackage.java
new file mode 100644
index 0000000..a048177
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/DeploymentPackage.java
@@ -0,0 +1,1468 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment;
+
+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 org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface DeploymentPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "Deployment";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/Deployment/1";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "Deployment";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	DeploymentPackage eINSTANCE = org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.ConfigurationPropertyImpl <em>Configuration Property</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.ConfigurationPropertyImpl
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getConfigurationProperty()
+	 * @generated
+	 */
+	int CONFIGURATION_PROPERTY = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONFIGURATION_PROPERTY__BASE_PROPERTY = 0;
+
+	/**
+	 * The number of structural features of the '<em>Configuration Property</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONFIGURATION_PROPERTY_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Configuration Property</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONFIGURATION_PROPERTY_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.AutoIndexImpl <em>Auto Index</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.AutoIndexImpl
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getAutoIndex()
+	 * @generated
+	 */
+	int AUTO_INDEX = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AUTO_INDEX__BASE_PROPERTY = 0;
+
+	/**
+	 * The number of structural features of the '<em>Auto Index</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AUTO_INDEX_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Auto Index</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AUTO_INDEX_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.AutoIndexPerNodeImpl <em>Auto Index Per Node</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.AutoIndexPerNodeImpl
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getAutoIndexPerNode()
+	 * @generated
+	 */
+	int AUTO_INDEX_PER_NODE = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AUTO_INDEX_PER_NODE__BASE_PROPERTY = 0;
+
+	/**
+	 * The number of structural features of the '<em>Auto Index Per Node</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AUTO_INDEX_PER_NODE_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Auto Index Per Node</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AUTO_INDEX_PER_NODE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.CopyAttributeValueImpl <em>Copy Attribute Value</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.CopyAttributeValueImpl
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getCopyAttributeValue()
+	 * @generated
+	 */
+	int COPY_ATTRIBUTE_VALUE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COPY_ATTRIBUTE_VALUE__BASE_PROPERTY = 0;
+
+	/**
+	 * The feature id for the '<em><b>Source</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COPY_ATTRIBUTE_VALUE__SOURCE = 1;
+
+	/**
+	 * The number of structural features of the '<em>Copy Attribute Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COPY_ATTRIBUTE_VALUE_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Copy Attribute Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COPY_ATTRIBUTE_VALUE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.InitPrecedenceImpl <em>Init Precedence</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.InitPrecedenceImpl
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getInitPrecedence()
+	 * @generated
+	 */
+	int INIT_PRECEDENCE = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INIT_PRECEDENCE__BASE_CLASS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Invoke Before</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INIT_PRECEDENCE__INVOKE_BEFORE = 1;
+
+	/**
+	 * The feature id for the '<em><b>Invoke After</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INIT_PRECEDENCE__INVOKE_AFTER = 2;
+
+	/**
+	 * The number of structural features of the '<em>Init Precedence</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INIT_PRECEDENCE_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Init Precedence</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INIT_PRECEDENCE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.TargetImpl <em>Target</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.TargetImpl
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getTarget()
+	 * @generated
+	 */
+	int TARGET = 5;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TARGET__BASE_CLASS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Used OS</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TARGET__USED_OS = 1;
+
+	/**
+	 * The feature id for the '<em><b>Avail RAM</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TARGET__AVAIL_RAM = 2;
+
+	/**
+	 * The feature id for the '<em><b>Avail ROM</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TARGET__AVAIL_ROM = 3;
+
+	/**
+	 * The number of structural features of the '<em>Target</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TARGET_FEATURE_COUNT = 4;
+
+	/**
+	 * The number of operations of the '<em>Target</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TARGET_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.OperatingSystemImpl <em>Operating System</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.OperatingSystemImpl
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getOperatingSystem()
+	 * @generated
+	 */
+	int OPERATING_SYSTEM = 6;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATING_SYSTEM__BASE_CLASS = 0;
+
+	/**
+	 * The number of structural features of the '<em>Operating System</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATING_SYSTEM_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Operating System</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATING_SYSTEM_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.ImplementationPropertiesImpl <em>Implementation Properties</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.ImplementationPropertiesImpl
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getImplementationProperties()
+	 * @generated
+	 */
+	int IMPLEMENTATION_PROPERTIES = 7;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION_PROPERTIES__BASE_CLASS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Size Ram</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION_PROPERTIES__SIZE_RAM = 1;
+
+	/**
+	 * The feature id for the '<em><b>Size ROM</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION_PROPERTIES__SIZE_ROM = 2;
+
+	/**
+	 * The feature id for the '<em><b>Supported OS</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION_PROPERTIES__SUPPORTED_OS = 3;
+
+	/**
+	 * The feature id for the '<em><b>Arch</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION_PROPERTIES__ARCH = 4;
+
+	/**
+	 * The number of structural features of the '<em>Implementation Properties</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION_PROPERTIES_FEATURE_COUNT = 5;
+
+	/**
+	 * The number of operations of the '<em>Implementation Properties</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION_PROPERTIES_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.TargetArchitectureImpl <em>Target Architecture</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.TargetArchitectureImpl
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getTargetArchitecture()
+	 * @generated
+	 */
+	int TARGET_ARCHITECTURE = 8;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TARGET_ARCHITECTURE__BASE_CLASS = 0;
+
+	/**
+	 * The number of structural features of the '<em>Target Architecture</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TARGET_ARCHITECTURE_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Target Architecture</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TARGET_ARCHITECTURE_OPERATION_COUNT = 0;
+
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPlanImpl <em>Plan</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPlanImpl
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getDeploymentPlan()
+	 * @generated
+	 */
+	int DEPLOYMENT_PLAN = 9;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPLOYMENT_PLAN__BASE_PACKAGE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Project Mappings</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPLOYMENT_PLAN__PROJECT_MAPPINGS = 1;
+
+	/**
+	 * The feature id for the '<em><b>Chain</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPLOYMENT_PLAN__CHAIN = 2;
+
+	/**
+	 * The number of structural features of the '<em>Plan</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPLOYMENT_PLAN_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Plan</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPLOYMENT_PLAN_OPERATION_COUNT = 0;
+
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.SingletonImpl <em>Singleton</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.SingletonImpl
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getSingleton()
+	 * @generated
+	 */
+	int SINGLETON = 10;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SINGLETON__BASE_CLASS = 0;
+
+	/**
+	 * The number of structural features of the '<em>Singleton</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SINGLETON_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Singleton</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SINGLETON_OPERATION_COUNT = 0;
+
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.InstanceConfiguratorImpl <em>Instance Configurator</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.InstanceConfiguratorImpl
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getInstanceConfigurator()
+	 * @generated
+	 */
+	int INSTANCE_CONFIGURATOR = 11;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INSTANCE_CONFIGURATOR__BASE_CLASS = 0;
+
+	/**
+	 * The feature id for the '<em><b>On Node Model</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INSTANCE_CONFIGURATOR__ON_NODE_MODEL = 1;
+
+	/**
+	 * The number of structural features of the '<em>Instance Configurator</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INSTANCE_CONFIGURATOR_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Instance Configurator</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INSTANCE_CONFIGURATOR_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.UseInstanceConfiguratorImpl <em>Use Instance Configurator</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.UseInstanceConfiguratorImpl
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getUseInstanceConfigurator()
+	 * @generated
+	 */
+	int USE_INSTANCE_CONFIGURATOR = 12;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_INSTANCE_CONFIGURATOR__BASE_CLASS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Configurator</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_INSTANCE_CONFIGURATOR__CONFIGURATOR = 1;
+
+	/**
+	 * The number of structural features of the '<em>Use Instance Configurator</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_INSTANCE_CONFIGURATOR_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Use Instance Configurator</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_INSTANCE_CONFIGURATOR_OPERATION_COUNT = 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ConfigurationProperty <em>Configuration Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Configuration Property</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.ConfigurationProperty
+	 * @generated
+	 */
+	EClass getConfigurationProperty();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ConfigurationProperty#getBase_Property <em>Base Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Property</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.ConfigurationProperty#getBase_Property()
+	 * @see #getConfigurationProperty()
+	 * @generated
+	 */
+	EReference getConfigurationProperty_Base_Property();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndex <em>Auto Index</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Auto Index</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndex
+	 * @generated
+	 */
+	EClass getAutoIndex();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndex#getBase_Property <em>Base Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Property</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndex#getBase_Property()
+	 * @see #getAutoIndex()
+	 * @generated
+	 */
+	EReference getAutoIndex_Base_Property();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndexPerNode <em>Auto Index Per Node</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Auto Index Per Node</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndexPerNode
+	 * @generated
+	 */
+	EClass getAutoIndexPerNode();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndexPerNode#getBase_Property <em>Base Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Property</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndexPerNode#getBase_Property()
+	 * @see #getAutoIndexPerNode()
+	 * @generated
+	 */
+	EReference getAutoIndexPerNode_Base_Property();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.CopyAttributeValue <em>Copy Attribute Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Copy Attribute Value</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.CopyAttributeValue
+	 * @generated
+	 */
+	EClass getCopyAttributeValue();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.CopyAttributeValue#getBase_Property <em>Base Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Property</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.CopyAttributeValue#getBase_Property()
+	 * @see #getCopyAttributeValue()
+	 * @generated
+	 */
+	EReference getCopyAttributeValue_Base_Property();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.CopyAttributeValue#getSource <em>Source</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Source</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.CopyAttributeValue#getSource()
+	 * @see #getCopyAttributeValue()
+	 * @generated
+	 */
+	EReference getCopyAttributeValue_Source();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.InitPrecedence <em>Init Precedence</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Init Precedence</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.InitPrecedence
+	 * @generated
+	 */
+	EClass getInitPrecedence();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.InitPrecedence#getBase_Class <em>Base Class</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Class</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.InitPrecedence#getBase_Class()
+	 * @see #getInitPrecedence()
+	 * @generated
+	 */
+	EReference getInitPrecedence_Base_Class();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.InitPrecedence#getInvokeBefore <em>Invoke Before</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Invoke Before</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.InitPrecedence#getInvokeBefore()
+	 * @see #getInitPrecedence()
+	 * @generated
+	 */
+	EReference getInitPrecedence_InvokeBefore();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.InitPrecedence#getInvokeAfter <em>Invoke After</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Invoke After</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.InitPrecedence#getInvokeAfter()
+	 * @see #getInitPrecedence()
+	 * @generated
+	 */
+	EReference getInitPrecedence_InvokeAfter();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Target <em>Target</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Target</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.Target
+	 * @generated
+	 */
+	EClass getTarget();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Target#getBase_Class <em>Base Class</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Class</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.Target#getBase_Class()
+	 * @see #getTarget()
+	 * @generated
+	 */
+	EReference getTarget_Base_Class();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Target#getUsedOS <em>Used OS</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Used OS</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.Target#getUsedOS()
+	 * @see #getTarget()
+	 * @generated
+	 */
+	EReference getTarget_UsedOS();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Target#getAvailRAM <em>Avail RAM</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Avail RAM</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.Target#getAvailRAM()
+	 * @see #getTarget()
+	 * @generated
+	 */
+	EAttribute getTarget_AvailRAM();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Target#getAvailROM <em>Avail ROM</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Avail ROM</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.Target#getAvailROM()
+	 * @see #getTarget()
+	 * @generated
+	 */
+	EAttribute getTarget_AvailROM();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.OperatingSystem <em>Operating System</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Operating System</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.OperatingSystem
+	 * @generated
+	 */
+	EClass getOperatingSystem();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.OperatingSystem#getBase_Class <em>Base Class</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Class</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.OperatingSystem#getBase_Class()
+	 * @see #getOperatingSystem()
+	 * @generated
+	 */
+	EReference getOperatingSystem_Base_Class();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties <em>Implementation Properties</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Implementation Properties</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties
+	 * @generated
+	 */
+	EClass getImplementationProperties();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getBase_Class <em>Base Class</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Class</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getBase_Class()
+	 * @see #getImplementationProperties()
+	 * @generated
+	 */
+	EReference getImplementationProperties_Base_Class();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getSizeRam <em>Size Ram</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Size Ram</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getSizeRam()
+	 * @see #getImplementationProperties()
+	 * @generated
+	 */
+	EAttribute getImplementationProperties_SizeRam();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getSizeROM <em>Size ROM</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Size ROM</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getSizeROM()
+	 * @see #getImplementationProperties()
+	 * @generated
+	 */
+	EAttribute getImplementationProperties_SizeROM();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getSupportedOS <em>Supported OS</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Supported OS</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getSupportedOS()
+	 * @see #getImplementationProperties()
+	 * @generated
+	 */
+	EReference getImplementationProperties_SupportedOS();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getArch <em>Arch</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Arch</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getArch()
+	 * @see #getImplementationProperties()
+	 * @generated
+	 */
+	EReference getImplementationProperties_Arch();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.TargetArchitecture <em>Target Architecture</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Target Architecture</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.TargetArchitecture
+	 * @generated
+	 */
+	EClass getTargetArchitecture();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.TargetArchitecture#getBase_Class <em>Base Class</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Class</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.TargetArchitecture#getBase_Class()
+	 * @see #getTargetArchitecture()
+	 * @generated
+	 */
+	EReference getTargetArchitecture_Base_Class();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan <em>Plan</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Plan</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan
+	 * @generated
+	 */
+	EClass getDeploymentPlan();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan#getBase_Package <em>Base Package</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Package</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan#getBase_Package()
+	 * @see #getDeploymentPlan()
+	 * @generated
+	 */
+	EReference getDeploymentPlan_Base_Package();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan#getProjectMappings <em>Project Mappings</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Project Mappings</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan#getProjectMappings()
+	 * @see #getDeploymentPlan()
+	 * @generated
+	 */
+	EAttribute getDeploymentPlan_ProjectMappings();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan#getChain <em>Chain</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Chain</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan#getChain()
+	 * @see #getDeploymentPlan()
+	 * @generated
+	 */
+	EReference getDeploymentPlan_Chain();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Singleton <em>Singleton</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Singleton</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.Singleton
+	 * @generated
+	 */
+	EClass getSingleton();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Singleton#getBase_Class <em>Base Class</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Class</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.Singleton#getBase_Class()
+	 * @see #getSingleton()
+	 * @generated
+	 */
+	EReference getSingleton_Base_Class();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.InstanceConfigurator <em>Instance Configurator</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Instance Configurator</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.InstanceConfigurator
+	 * @generated
+	 */
+	EClass getInstanceConfigurator();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.InstanceConfigurator#getBase_Class <em>Base Class</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Class</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.InstanceConfigurator#getBase_Class()
+	 * @see #getInstanceConfigurator()
+	 * @generated
+	 */
+	EReference getInstanceConfigurator_Base_Class();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.InstanceConfigurator#isOnNodeModel <em>On Node Model</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>On Node Model</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.InstanceConfigurator#isOnNodeModel()
+	 * @see #getInstanceConfigurator()
+	 * @generated
+	 */
+	EAttribute getInstanceConfigurator_OnNodeModel();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.UseInstanceConfigurator <em>Use Instance Configurator</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Use Instance Configurator</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.UseInstanceConfigurator
+	 * @generated
+	 */
+	EClass getUseInstanceConfigurator();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.UseInstanceConfigurator#getBase_Class <em>Base Class</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Class</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.UseInstanceConfigurator#getBase_Class()
+	 * @see #getUseInstanceConfigurator()
+	 * @generated
+	 */
+	EReference getUseInstanceConfigurator_Base_Class();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.UseInstanceConfigurator#getConfigurator <em>Configurator</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Configurator</em>'.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.UseInstanceConfigurator#getConfigurator()
+	 * @see #getUseInstanceConfigurator()
+	 * @generated
+	 */
+	EReference getUseInstanceConfigurator_Configurator();
+
+	/**
+	 * 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
+	 */
+	DeploymentFactory getDeploymentFactory();
+
+	/**
+	 * <!-- 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 org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.ConfigurationPropertyImpl <em>Configuration Property</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.ConfigurationPropertyImpl
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getConfigurationProperty()
+		 * @generated
+		 */
+		EClass CONFIGURATION_PROPERTY = eINSTANCE.getConfigurationProperty();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CONFIGURATION_PROPERTY__BASE_PROPERTY = eINSTANCE.getConfigurationProperty_Base_Property();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.AutoIndexImpl <em>Auto Index</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.AutoIndexImpl
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getAutoIndex()
+		 * @generated
+		 */
+		EClass AUTO_INDEX = eINSTANCE.getAutoIndex();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference AUTO_INDEX__BASE_PROPERTY = eINSTANCE.getAutoIndex_Base_Property();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.AutoIndexPerNodeImpl <em>Auto Index Per Node</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.AutoIndexPerNodeImpl
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getAutoIndexPerNode()
+		 * @generated
+		 */
+		EClass AUTO_INDEX_PER_NODE = eINSTANCE.getAutoIndexPerNode();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference AUTO_INDEX_PER_NODE__BASE_PROPERTY = eINSTANCE.getAutoIndexPerNode_Base_Property();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.CopyAttributeValueImpl <em>Copy Attribute Value</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.CopyAttributeValueImpl
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getCopyAttributeValue()
+		 * @generated
+		 */
+		EClass COPY_ATTRIBUTE_VALUE = eINSTANCE.getCopyAttributeValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference COPY_ATTRIBUTE_VALUE__BASE_PROPERTY = eINSTANCE.getCopyAttributeValue_Base_Property();
+
+		/**
+		 * The meta object literal for the '<em><b>Source</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference COPY_ATTRIBUTE_VALUE__SOURCE = eINSTANCE.getCopyAttributeValue_Source();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.InitPrecedenceImpl <em>Init Precedence</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.InitPrecedenceImpl
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getInitPrecedence()
+		 * @generated
+		 */
+		EClass INIT_PRECEDENCE = eINSTANCE.getInitPrecedence();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference INIT_PRECEDENCE__BASE_CLASS = eINSTANCE.getInitPrecedence_Base_Class();
+
+		/**
+		 * The meta object literal for the '<em><b>Invoke Before</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference INIT_PRECEDENCE__INVOKE_BEFORE = eINSTANCE.getInitPrecedence_InvokeBefore();
+
+		/**
+		 * The meta object literal for the '<em><b>Invoke After</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference INIT_PRECEDENCE__INVOKE_AFTER = eINSTANCE.getInitPrecedence_InvokeAfter();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.TargetImpl <em>Target</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.TargetImpl
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getTarget()
+		 * @generated
+		 */
+		EClass TARGET = eINSTANCE.getTarget();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TARGET__BASE_CLASS = eINSTANCE.getTarget_Base_Class();
+
+		/**
+		 * The meta object literal for the '<em><b>Used OS</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TARGET__USED_OS = eINSTANCE.getTarget_UsedOS();
+
+		/**
+		 * The meta object literal for the '<em><b>Avail RAM</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute TARGET__AVAIL_RAM = eINSTANCE.getTarget_AvailRAM();
+
+		/**
+		 * The meta object literal for the '<em><b>Avail ROM</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute TARGET__AVAIL_ROM = eINSTANCE.getTarget_AvailROM();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.OperatingSystemImpl <em>Operating System</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.OperatingSystemImpl
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getOperatingSystem()
+		 * @generated
+		 */
+		EClass OPERATING_SYSTEM = eINSTANCE.getOperatingSystem();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference OPERATING_SYSTEM__BASE_CLASS = eINSTANCE.getOperatingSystem_Base_Class();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.ImplementationPropertiesImpl <em>Implementation Properties</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.ImplementationPropertiesImpl
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getImplementationProperties()
+		 * @generated
+		 */
+		EClass IMPLEMENTATION_PROPERTIES = eINSTANCE.getImplementationProperties();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference IMPLEMENTATION_PROPERTIES__BASE_CLASS = eINSTANCE.getImplementationProperties_Base_Class();
+
+		/**
+		 * The meta object literal for the '<em><b>Size Ram</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IMPLEMENTATION_PROPERTIES__SIZE_RAM = eINSTANCE.getImplementationProperties_SizeRam();
+
+		/**
+		 * The meta object literal for the '<em><b>Size ROM</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IMPLEMENTATION_PROPERTIES__SIZE_ROM = eINSTANCE.getImplementationProperties_SizeROM();
+
+		/**
+		 * The meta object literal for the '<em><b>Supported OS</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference IMPLEMENTATION_PROPERTIES__SUPPORTED_OS = eINSTANCE.getImplementationProperties_SupportedOS();
+
+		/**
+		 * The meta object literal for the '<em><b>Arch</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference IMPLEMENTATION_PROPERTIES__ARCH = eINSTANCE.getImplementationProperties_Arch();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.TargetArchitectureImpl <em>Target Architecture</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.TargetArchitectureImpl
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getTargetArchitecture()
+		 * @generated
+		 */
+		EClass TARGET_ARCHITECTURE = eINSTANCE.getTargetArchitecture();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TARGET_ARCHITECTURE__BASE_CLASS = eINSTANCE.getTargetArchitecture_Base_Class();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPlanImpl <em>Plan</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPlanImpl
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getDeploymentPlan()
+		 * @generated
+		 */
+		EClass DEPLOYMENT_PLAN = eINSTANCE.getDeploymentPlan();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DEPLOYMENT_PLAN__BASE_PACKAGE = eINSTANCE.getDeploymentPlan_Base_Package();
+
+		/**
+		 * The meta object literal for the '<em><b>Project Mappings</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DEPLOYMENT_PLAN__PROJECT_MAPPINGS = eINSTANCE.getDeploymentPlan_ProjectMappings();
+
+		/**
+		 * The meta object literal for the '<em><b>Chain</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DEPLOYMENT_PLAN__CHAIN = eINSTANCE.getDeploymentPlan_Chain();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.SingletonImpl <em>Singleton</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.SingletonImpl
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getSingleton()
+		 * @generated
+		 */
+		EClass SINGLETON = eINSTANCE.getSingleton();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference SINGLETON__BASE_CLASS = eINSTANCE.getSingleton_Base_Class();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.InstanceConfiguratorImpl <em>Instance Configurator</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.InstanceConfiguratorImpl
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getInstanceConfigurator()
+		 * @generated
+		 */
+		EClass INSTANCE_CONFIGURATOR = eINSTANCE.getInstanceConfigurator();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference INSTANCE_CONFIGURATOR__BASE_CLASS = eINSTANCE.getInstanceConfigurator_Base_Class();
+
+		/**
+		 * The meta object literal for the '<em><b>On Node Model</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INSTANCE_CONFIGURATOR__ON_NODE_MODEL = eINSTANCE.getInstanceConfigurator_OnNodeModel();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.UseInstanceConfiguratorImpl <em>Use Instance Configurator</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.UseInstanceConfiguratorImpl
+		 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPackageImpl#getUseInstanceConfigurator()
+		 * @generated
+		 */
+		EClass USE_INSTANCE_CONFIGURATOR = eINSTANCE.getUseInstanceConfigurator();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference USE_INSTANCE_CONFIGURATOR__BASE_CLASS = eINSTANCE.getUseInstanceConfigurator_Base_Class();
+
+		/**
+		 * The meta object literal for the '<em><b>Configurator</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference USE_INSTANCE_CONFIGURATOR__CONFIGURATOR = eINSTANCE.getUseInstanceConfigurator_Configurator();
+
+	}
+
+} //DeploymentPackage
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/DeploymentPlan.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/DeploymentPlan.java
new file mode 100644
index 0000000..15b88c2
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/DeploymentPlan.java
@@ -0,0 +1,96 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafoChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Plan</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan#getBase_Package <em>Base Package</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan#getProjectMappings <em>Project Mappings</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan#getChain <em>Chain</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getDeploymentPlan()
+ * @model
+ * @generated
+ */
+public interface DeploymentPlan extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Package</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Package</em>' reference.
+	 * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getDeploymentPlan_Base_Package()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Package getBase_Package();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan#getBase_Package <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Package</em>' reference.
+	 * @see #getBase_Package()
+	 * @generated
+	 */
+	void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+	/**
+	 * Returns the value of the '<em><b>Project Mappings</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Project Mappings</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>Project Mappings</em>' attribute list.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getDeploymentPlan_ProjectMappings()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	EList<String> getProjectMappings();
+
+	/**
+	 * Returns the value of the '<em><b>Chain</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Chain</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Chain</em>' reference.
+	 * @see #setChain(M2MTrafoChain)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getDeploymentPlan_Chain()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	M2MTrafoChain getChain();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan#getChain <em>Chain</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Chain</em>' reference.
+	 * @see #getChain()
+	 * @generated
+	 */
+	void setChain(M2MTrafoChain value);
+
+} // DeploymentPlan
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/ImplementationProperties.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/ImplementationProperties.java
new file mode 100644
index 0000000..f81292e
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/ImplementationProperties.java
@@ -0,0 +1,150 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Implementation Properties</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getSizeRam <em>Size Ram</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getSizeROM <em>Size ROM</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getSupportedOS <em>Supported OS</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getArch <em>Arch</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getImplementationProperties()
+ * @model
+ * @generated
+ */
+public interface ImplementationProperties extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Class</em>' reference.
+	 * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getImplementationProperties_Base_Class()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getBase_Class <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Class</em>' reference.
+	 * @see #getBase_Class()
+	 * @generated
+	 */
+	void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+	/**
+	 * Returns the value of the '<em><b>Size Ram</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Size Ram</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Size Ram</em>' attribute.
+	 * @see #setSizeRam(int)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getImplementationProperties_SizeRam()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getSizeRam();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getSizeRam <em>Size Ram</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Size Ram</em>' attribute.
+	 * @see #getSizeRam()
+	 * @generated
+	 */
+	void setSizeRam(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Size ROM</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Size ROM</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Size ROM</em>' attribute.
+	 * @see #setSizeROM(int)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getImplementationProperties_SizeROM()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getSizeROM();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getSizeROM <em>Size ROM</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Size ROM</em>' attribute.
+	 * @see #getSizeROM()
+	 * @generated
+	 */
+	void setSizeROM(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Supported OS</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.designer.deployment.profile.Deployment.OperatingSystem}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Supported OS</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>Supported OS</em>' reference list.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getImplementationProperties_SupportedOS()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<OperatingSystem> getSupportedOS();
+
+	/**
+	 * Returns the value of the '<em><b>Arch</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Arch</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Arch</em>' reference.
+	 * @see #setArch(TargetArchitecture)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getImplementationProperties_Arch()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	TargetArchitecture getArch();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties#getArch <em>Arch</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Arch</em>' reference.
+	 * @see #getArch()
+	 * @generated
+	 */
+	void setArch(TargetArchitecture value);
+
+} // ImplementationProperties
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/InitPrecedence.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/InitPrecedence.java
new file mode 100644
index 0000000..1041578
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/InitPrecedence.java
@@ -0,0 +1,134 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Init Precedence</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.InitPrecedence#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.InitPrecedence#getInvokeBefore <em>Invoke Before</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.InitPrecedence#getInvokeAfter <em>Invoke After</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getInitPrecedence()
+ * @model
+ * @generated
+ */
+public interface InitPrecedence extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Class</em>' reference.
+	 * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getInitPrecedence_Base_Class()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.InitPrecedence#getBase_Class <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Class</em>' reference.
+	 * @see #getBase_Class()
+	 * @generated
+	 */
+	void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+	/**
+	 * Returns the value of the '<em><b>Invoke Before</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Class}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Invoke Before</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>Invoke Before</em>' reference list.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getInitPrecedence_InvokeBefore()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<org.eclipse.uml2.uml.Class> getInvokeBefore();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Class} with the specified '<em><b>Name</b></em>' from the '<em><b>Invoke Before</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Class} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Class} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getInvokeBefore()
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getInvokeBefore(String name);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Class} with the specified '<em><b>Name</b></em>' from the '<em><b>Invoke Before</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Class} to retrieve, or <code>null</code>.
+	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.Class} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Class} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getInvokeBefore()
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getInvokeBefore(String name, boolean ignoreCase, EClass eClass);
+
+	/**
+	 * Returns the value of the '<em><b>Invoke After</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Class}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Invoke After</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>Invoke After</em>' reference list.
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getInitPrecedence_InvokeAfter()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<org.eclipse.uml2.uml.Class> getInvokeAfter();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Class} with the specified '<em><b>Name</b></em>' from the '<em><b>Invoke After</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Class} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Class} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getInvokeAfter()
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getInvokeAfter(String name);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Class} with the specified '<em><b>Name</b></em>' from the '<em><b>Invoke After</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Class} to retrieve, or <code>null</code>.
+	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.Class} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Class} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getInvokeAfter()
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getInvokeAfter(String name, boolean ignoreCase, EClass eClass);
+
+} // InitPrecedence
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/InstanceConfigurator.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/InstanceConfigurator.java
new file mode 100644
index 0000000..88bfd10
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/InstanceConfigurator.java
@@ -0,0 +1,77 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Instance Configurator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.InstanceConfigurator#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.InstanceConfigurator#isOnNodeModel <em>On Node Model</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getInstanceConfigurator()
+ * @model
+ * @generated
+ */
+public interface InstanceConfigurator extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Class</em>' reference.
+	 * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getInstanceConfigurator_Base_Class()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.InstanceConfigurator#getBase_Class <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Class</em>' reference.
+	 * @see #getBase_Class()
+	 * @generated
+	 */
+	void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+	/**
+	 * Returns the value of the '<em><b>On Node Model</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>On Node Model</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>On Node Model</em>' attribute.
+	 * @see #setOnNodeModel(boolean)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getInstanceConfigurator_OnNodeModel()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+	 * @generated
+	 */
+	boolean isOnNodeModel();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.InstanceConfigurator#isOnNodeModel <em>On Node Model</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>On Node Model</em>' attribute.
+	 * @see #isOnNodeModel()
+	 * @generated
+	 */
+	void setOnNodeModel(boolean value);
+
+} // InstanceConfigurator
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/OperatingSystem.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/OperatingSystem.java
new file mode 100644
index 0000000..838ba9f
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/OperatingSystem.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Operating System</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.OperatingSystem#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getOperatingSystem()
+ * @model
+ * @generated
+ */
+public interface OperatingSystem extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Class</em>' reference.
+	 * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getOperatingSystem_Base_Class()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.OperatingSystem#getBase_Class <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Class</em>' reference.
+	 * @see #getBase_Class()
+	 * @generated
+	 */
+	void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+} // OperatingSystem
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/Singleton.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/Singleton.java
new file mode 100644
index 0000000..b090e8f
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/Singleton.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Singleton</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Singleton#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getSingleton()
+ * @model
+ * @generated
+ */
+public interface Singleton extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Class</em>' reference.
+	 * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getSingleton_Base_Class()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Singleton#getBase_Class <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Class</em>' reference.
+	 * @see #getBase_Class()
+	 * @generated
+	 */
+	void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+} // Singleton
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/Target.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/Target.java
new file mode 100644
index 0000000..c63bf89
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/Target.java
@@ -0,0 +1,131 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Target</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Target#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Target#getUsedOS <em>Used OS</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Target#getAvailRAM <em>Avail RAM</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Target#getAvailROM <em>Avail ROM</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getTarget()
+ * @model
+ * @generated
+ */
+public interface Target extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Class</em>' reference.
+	 * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getTarget_Base_Class()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Target#getBase_Class <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Class</em>' reference.
+	 * @see #getBase_Class()
+	 * @generated
+	 */
+	void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+	/**
+	 * Returns the value of the '<em><b>Used OS</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Used OS</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Used OS</em>' reference.
+	 * @see #setUsedOS(OperatingSystem)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getTarget_UsedOS()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	OperatingSystem getUsedOS();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Target#getUsedOS <em>Used OS</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Used OS</em>' reference.
+	 * @see #getUsedOS()
+	 * @generated
+	 */
+	void setUsedOS(OperatingSystem value);
+
+	/**
+	 * Returns the value of the '<em><b>Avail RAM</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Avail RAM</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Avail RAM</em>' attribute.
+	 * @see #setAvailRAM(int)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getTarget_AvailRAM()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getAvailRAM();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Target#getAvailRAM <em>Avail RAM</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Avail RAM</em>' attribute.
+	 * @see #getAvailRAM()
+	 * @generated
+	 */
+	void setAvailRAM(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Avail ROM</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Avail ROM</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Avail ROM</em>' attribute.
+	 * @see #setAvailROM(int)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getTarget_AvailROM()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getAvailROM();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Target#getAvailROM <em>Avail ROM</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Avail ROM</em>' attribute.
+	 * @see #getAvailROM()
+	 * @generated
+	 */
+	void setAvailROM(int value);
+
+} // Target
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/TargetArchitecture.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/TargetArchitecture.java
new file mode 100644
index 0000000..41db70a
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/TargetArchitecture.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Target Architecture</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.TargetArchitecture#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getTargetArchitecture()
+ * @model
+ * @generated
+ */
+public interface TargetArchitecture extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Class</em>' reference.
+	 * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getTargetArchitecture_Base_Class()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.TargetArchitecture#getBase_Class <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Class</em>' reference.
+	 * @see #getBase_Class()
+	 * @generated
+	 */
+	void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+} // TargetArchitecture
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/UseInstanceConfigurator.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/UseInstanceConfigurator.java
new file mode 100644
index 0000000..1230aa4
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/UseInstanceConfigurator.java
@@ -0,0 +1,77 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Use Instance Configurator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.UseInstanceConfigurator#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.UseInstanceConfigurator#getConfigurator <em>Configurator</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getUseInstanceConfigurator()
+ * @model
+ * @generated
+ */
+public interface UseInstanceConfigurator extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Class</em>' reference.
+	 * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getUseInstanceConfigurator_Base_Class()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.UseInstanceConfigurator#getBase_Class <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Class</em>' reference.
+	 * @see #getBase_Class()
+	 * @generated
+	 */
+	void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+	/**
+	 * Returns the value of the '<em><b>Configurator</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Configurator</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Configurator</em>' reference.
+	 * @see #setConfigurator(InstanceConfigurator)
+	 * @see org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#getUseInstanceConfigurator_Configurator()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	InstanceConfigurator getConfigurator();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.UseInstanceConfigurator#getConfigurator <em>Configurator</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Configurator</em>' reference.
+	 * @see #getConfigurator()
+	 * @generated
+	 */
+	void setConfigurator(InstanceConfigurator value);
+
+} // UseInstanceConfigurator
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/AutoIndexImpl.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/AutoIndexImpl.java
new file mode 100644
index 0000000..1bdd1cc
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/AutoIndexImpl.java
@@ -0,0 +1,158 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment.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 org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndex;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Auto Index</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.AutoIndexImpl#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AutoIndexImpl extends MinimalEObjectImpl.Container implements AutoIndex {
+	/**
+	 * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Property()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property base_Property;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AutoIndexImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DeploymentPackage.Literals.AUTO_INDEX;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getBase_Property() {
+		if (base_Property != null && base_Property.eIsProxy()) {
+			InternalEObject oldBase_Property = (InternalEObject)base_Property;
+			base_Property = (Property)eResolveProxy(oldBase_Property);
+			if (base_Property != oldBase_Property) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentPackage.AUTO_INDEX__BASE_PROPERTY, oldBase_Property, base_Property));
+			}
+		}
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetBase_Property() {
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Property(Property newBase_Property) {
+		Property oldBase_Property = base_Property;
+		base_Property = newBase_Property;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.AUTO_INDEX__BASE_PROPERTY, oldBase_Property, base_Property));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DeploymentPackage.AUTO_INDEX__BASE_PROPERTY:
+				if (resolve) return getBase_Property();
+				return basicGetBase_Property();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DeploymentPackage.AUTO_INDEX__BASE_PROPERTY:
+				setBase_Property((Property)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.AUTO_INDEX__BASE_PROPERTY:
+				setBase_Property((Property)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.AUTO_INDEX__BASE_PROPERTY:
+				return base_Property != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //AutoIndexImpl
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/AutoIndexPerNodeImpl.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/AutoIndexPerNodeImpl.java
new file mode 100644
index 0000000..03d9c3f
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/AutoIndexPerNodeImpl.java
@@ -0,0 +1,158 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment.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 org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndexPerNode;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Auto Index Per Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.AutoIndexPerNodeImpl#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AutoIndexPerNodeImpl extends MinimalEObjectImpl.Container implements AutoIndexPerNode {
+	/**
+	 * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Property()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property base_Property;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AutoIndexPerNodeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DeploymentPackage.Literals.AUTO_INDEX_PER_NODE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getBase_Property() {
+		if (base_Property != null && base_Property.eIsProxy()) {
+			InternalEObject oldBase_Property = (InternalEObject)base_Property;
+			base_Property = (Property)eResolveProxy(oldBase_Property);
+			if (base_Property != oldBase_Property) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentPackage.AUTO_INDEX_PER_NODE__BASE_PROPERTY, oldBase_Property, base_Property));
+			}
+		}
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetBase_Property() {
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Property(Property newBase_Property) {
+		Property oldBase_Property = base_Property;
+		base_Property = newBase_Property;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.AUTO_INDEX_PER_NODE__BASE_PROPERTY, oldBase_Property, base_Property));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DeploymentPackage.AUTO_INDEX_PER_NODE__BASE_PROPERTY:
+				if (resolve) return getBase_Property();
+				return basicGetBase_Property();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DeploymentPackage.AUTO_INDEX_PER_NODE__BASE_PROPERTY:
+				setBase_Property((Property)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.AUTO_INDEX_PER_NODE__BASE_PROPERTY:
+				setBase_Property((Property)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.AUTO_INDEX_PER_NODE__BASE_PROPERTY:
+				return base_Property != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //AutoIndexPerNodeImpl
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/ConfigurationPropertyImpl.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/ConfigurationPropertyImpl.java
new file mode 100644
index 0000000..484c20d
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/ConfigurationPropertyImpl.java
@@ -0,0 +1,158 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment.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 org.eclipse.papyrus.designer.deployment.profile.Deployment.ConfigurationProperty;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Configuration Property</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.ConfigurationPropertyImpl#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConfigurationPropertyImpl extends MinimalEObjectImpl.Container implements ConfigurationProperty {
+	/**
+	 * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Property()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property base_Property;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ConfigurationPropertyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DeploymentPackage.Literals.CONFIGURATION_PROPERTY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getBase_Property() {
+		if (base_Property != null && base_Property.eIsProxy()) {
+			InternalEObject oldBase_Property = (InternalEObject)base_Property;
+			base_Property = (Property)eResolveProxy(oldBase_Property);
+			if (base_Property != oldBase_Property) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentPackage.CONFIGURATION_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+			}
+		}
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetBase_Property() {
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Property(Property newBase_Property) {
+		Property oldBase_Property = base_Property;
+		base_Property = newBase_Property;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.CONFIGURATION_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DeploymentPackage.CONFIGURATION_PROPERTY__BASE_PROPERTY:
+				if (resolve) return getBase_Property();
+				return basicGetBase_Property();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DeploymentPackage.CONFIGURATION_PROPERTY__BASE_PROPERTY:
+				setBase_Property((Property)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.CONFIGURATION_PROPERTY__BASE_PROPERTY:
+				setBase_Property((Property)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.CONFIGURATION_PROPERTY__BASE_PROPERTY:
+				return base_Property != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ConfigurationPropertyImpl
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/CopyAttributeValueImpl.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/CopyAttributeValueImpl.java
new file mode 100644
index 0000000..6157639
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/CopyAttributeValueImpl.java
@@ -0,0 +1,218 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment.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 org.eclipse.papyrus.designer.deployment.profile.Deployment.CopyAttributeValue;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Copy Attribute Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.CopyAttributeValueImpl#getBase_Property <em>Base Property</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.CopyAttributeValueImpl#getSource <em>Source</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CopyAttributeValueImpl extends MinimalEObjectImpl.Container implements CopyAttributeValue {
+	/**
+	 * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Property()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property base_Property;
+
+	/**
+	 * The cached value of the '{@link #getSource() <em>Source</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSource()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property source;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CopyAttributeValueImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DeploymentPackage.Literals.COPY_ATTRIBUTE_VALUE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getBase_Property() {
+		if (base_Property != null && base_Property.eIsProxy()) {
+			InternalEObject oldBase_Property = (InternalEObject)base_Property;
+			base_Property = (Property)eResolveProxy(oldBase_Property);
+			if (base_Property != oldBase_Property) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentPackage.COPY_ATTRIBUTE_VALUE__BASE_PROPERTY, oldBase_Property, base_Property));
+			}
+		}
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetBase_Property() {
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Property(Property newBase_Property) {
+		Property oldBase_Property = base_Property;
+		base_Property = newBase_Property;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.COPY_ATTRIBUTE_VALUE__BASE_PROPERTY, oldBase_Property, base_Property));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property getSource() {
+		if (source != null && source.eIsProxy()) {
+			InternalEObject oldSource = (InternalEObject)source;
+			source = (Property)eResolveProxy(oldSource);
+			if (source != oldSource) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentPackage.COPY_ATTRIBUTE_VALUE__SOURCE, oldSource, source));
+			}
+		}
+		return source;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetSource() {
+		return source;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSource(Property newSource) {
+		Property oldSource = source;
+		source = newSource;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.COPY_ATTRIBUTE_VALUE__SOURCE, oldSource, source));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DeploymentPackage.COPY_ATTRIBUTE_VALUE__BASE_PROPERTY:
+				if (resolve) return getBase_Property();
+				return basicGetBase_Property();
+			case DeploymentPackage.COPY_ATTRIBUTE_VALUE__SOURCE:
+				if (resolve) return getSource();
+				return basicGetSource();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DeploymentPackage.COPY_ATTRIBUTE_VALUE__BASE_PROPERTY:
+				setBase_Property((Property)newValue);
+				return;
+			case DeploymentPackage.COPY_ATTRIBUTE_VALUE__SOURCE:
+				setSource((Property)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.COPY_ATTRIBUTE_VALUE__BASE_PROPERTY:
+				setBase_Property((Property)null);
+				return;
+			case DeploymentPackage.COPY_ATTRIBUTE_VALUE__SOURCE:
+				setSource((Property)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.COPY_ATTRIBUTE_VALUE__BASE_PROPERTY:
+				return base_Property != null;
+			case DeploymentPackage.COPY_ATTRIBUTE_VALUE__SOURCE:
+				return source != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //CopyAttributeValueImpl
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/DeploymentFactoryImpl.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/DeploymentFactoryImpl.java
new file mode 100644
index 0000000..16f1ecc
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/DeploymentFactoryImpl.java
@@ -0,0 +1,227 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment.impl;
+
+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 org.eclipse.papyrus.designer.deployment.profile.Deployment.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DeploymentFactoryImpl extends EFactoryImpl implements DeploymentFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static DeploymentFactory init() {
+		try {
+			DeploymentFactory theDeploymentFactory = (DeploymentFactory)EPackage.Registry.INSTANCE.getEFactory(DeploymentPackage.eNS_URI);
+			if (theDeploymentFactory != null) {
+				return theDeploymentFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new DeploymentFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeploymentFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case DeploymentPackage.CONFIGURATION_PROPERTY: return createConfigurationProperty();
+			case DeploymentPackage.AUTO_INDEX: return createAutoIndex();
+			case DeploymentPackage.AUTO_INDEX_PER_NODE: return createAutoIndexPerNode();
+			case DeploymentPackage.COPY_ATTRIBUTE_VALUE: return createCopyAttributeValue();
+			case DeploymentPackage.INIT_PRECEDENCE: return createInitPrecedence();
+			case DeploymentPackage.TARGET: return createTarget();
+			case DeploymentPackage.OPERATING_SYSTEM: return createOperatingSystem();
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES: return createImplementationProperties();
+			case DeploymentPackage.TARGET_ARCHITECTURE: return createTargetArchitecture();
+			case DeploymentPackage.DEPLOYMENT_PLAN: return createDeploymentPlan();
+			case DeploymentPackage.SINGLETON: return createSingleton();
+			case DeploymentPackage.INSTANCE_CONFIGURATOR: return createInstanceConfigurator();
+			case DeploymentPackage.USE_INSTANCE_CONFIGURATOR: return createUseInstanceConfigurator();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ConfigurationProperty createConfigurationProperty() {
+		ConfigurationPropertyImpl configurationProperty = new ConfigurationPropertyImpl();
+		return configurationProperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AutoIndex createAutoIndex() {
+		AutoIndexImpl autoIndex = new AutoIndexImpl();
+		return autoIndex;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AutoIndexPerNode createAutoIndexPerNode() {
+		AutoIndexPerNodeImpl autoIndexPerNode = new AutoIndexPerNodeImpl();
+		return autoIndexPerNode;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CopyAttributeValue createCopyAttributeValue() {
+		CopyAttributeValueImpl copyAttributeValue = new CopyAttributeValueImpl();
+		return copyAttributeValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InitPrecedence createInitPrecedence() {
+		InitPrecedenceImpl initPrecedence = new InitPrecedenceImpl();
+		return initPrecedence;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Target createTarget() {
+		TargetImpl target = new TargetImpl();
+		return target;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OperatingSystem createOperatingSystem() {
+		OperatingSystemImpl operatingSystem = new OperatingSystemImpl();
+		return operatingSystem;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ImplementationProperties createImplementationProperties() {
+		ImplementationPropertiesImpl implementationProperties = new ImplementationPropertiesImpl();
+		return implementationProperties;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TargetArchitecture createTargetArchitecture() {
+		TargetArchitectureImpl targetArchitecture = new TargetArchitectureImpl();
+		return targetArchitecture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeploymentPlan createDeploymentPlan() {
+		DeploymentPlanImpl deploymentPlan = new DeploymentPlanImpl();
+		return deploymentPlan;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Singleton createSingleton() {
+		SingletonImpl singleton = new SingletonImpl();
+		return singleton;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InstanceConfigurator createInstanceConfigurator() {
+		InstanceConfiguratorImpl instanceConfigurator = new InstanceConfiguratorImpl();
+		return instanceConfigurator;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public UseInstanceConfigurator createUseInstanceConfigurator() {
+		UseInstanceConfiguratorImpl useInstanceConfigurator = new UseInstanceConfiguratorImpl();
+		return useInstanceConfigurator;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeploymentPackage getDeploymentPackage() {
+		return (DeploymentPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static DeploymentPackage getPackage() {
+		return DeploymentPackage.eINSTANCE;
+	}
+
+} //DeploymentFactoryImpl
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/DeploymentPackageImpl.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/DeploymentPackageImpl.java
new file mode 100644
index 0000000..f0c4f8c
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/DeploymentPackageImpl.java
@@ -0,0 +1,729 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment.impl;
+
+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 org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndex;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndexPerNode;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.ConfigurationProperty;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.CopyAttributeValue;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentFactory;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.InitPrecedence;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.InstanceConfigurator;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.OperatingSystem;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.Singleton;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.Target;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.TargetArchitecture;
+
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.UseInstanceConfigurator;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage;
+import org.eclipse.uml2.types.TypesPackage;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DeploymentPackageImpl extends EPackageImpl implements DeploymentPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass configurationPropertyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass autoIndexEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass autoIndexPerNodeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass copyAttributeValueEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass initPrecedenceEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass targetEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass operatingSystemEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass implementationPropertiesEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass targetArchitectureEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass deploymentPlanEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass singletonEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass instanceConfiguratorEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass useInstanceConfiguratorEClass = 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 org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private DeploymentPackageImpl() {
+		super(eNS_URI, DeploymentFactory.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 DeploymentPackage#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 DeploymentPackage init() {
+		if (isInited) return (DeploymentPackage)EPackage.Registry.INSTANCE.getEPackage(DeploymentPackage.eNS_URI);
+
+		// Obtain or create and register package
+		DeploymentPackageImpl theDeploymentPackage = (DeploymentPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof DeploymentPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new DeploymentPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		TransformationPackage.eINSTANCE.eClass();
+
+		// Create package meta-data objects
+		theDeploymentPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theDeploymentPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theDeploymentPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(DeploymentPackage.eNS_URI, theDeploymentPackage);
+		return theDeploymentPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getConfigurationProperty() {
+		return configurationPropertyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getConfigurationProperty_Base_Property() {
+		return (EReference)configurationPropertyEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAutoIndex() {
+		return autoIndexEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAutoIndex_Base_Property() {
+		return (EReference)autoIndexEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAutoIndexPerNode() {
+		return autoIndexPerNodeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAutoIndexPerNode_Base_Property() {
+		return (EReference)autoIndexPerNodeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCopyAttributeValue() {
+		return copyAttributeValueEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCopyAttributeValue_Base_Property() {
+		return (EReference)copyAttributeValueEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCopyAttributeValue_Source() {
+		return (EReference)copyAttributeValueEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getInitPrecedence() {
+		return initPrecedenceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getInitPrecedence_Base_Class() {
+		return (EReference)initPrecedenceEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getInitPrecedence_InvokeBefore() {
+		return (EReference)initPrecedenceEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getInitPrecedence_InvokeAfter() {
+		return (EReference)initPrecedenceEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getTarget() {
+		return targetEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getTarget_Base_Class() {
+		return (EReference)targetEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getTarget_UsedOS() {
+		return (EReference)targetEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getTarget_AvailRAM() {
+		return (EAttribute)targetEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getTarget_AvailROM() {
+		return (EAttribute)targetEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getOperatingSystem() {
+		return operatingSystemEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getOperatingSystem_Base_Class() {
+		return (EReference)operatingSystemEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getImplementationProperties() {
+		return implementationPropertiesEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getImplementationProperties_Base_Class() {
+		return (EReference)implementationPropertiesEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getImplementationProperties_SizeRam() {
+		return (EAttribute)implementationPropertiesEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getImplementationProperties_SizeROM() {
+		return (EAttribute)implementationPropertiesEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getImplementationProperties_SupportedOS() {
+		return (EReference)implementationPropertiesEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getImplementationProperties_Arch() {
+		return (EReference)implementationPropertiesEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getTargetArchitecture() {
+		return targetArchitectureEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getTargetArchitecture_Base_Class() {
+		return (EReference)targetArchitectureEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDeploymentPlan() {
+		return deploymentPlanEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDeploymentPlan_Base_Package() {
+		return (EReference)deploymentPlanEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDeploymentPlan_ProjectMappings() {
+		return (EAttribute)deploymentPlanEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDeploymentPlan_Chain() {
+		return (EReference)deploymentPlanEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getSingleton() {
+		return singletonEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getSingleton_Base_Class() {
+		return (EReference)singletonEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getInstanceConfigurator() {
+		return instanceConfiguratorEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getInstanceConfigurator_Base_Class() {
+		return (EReference)instanceConfiguratorEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getInstanceConfigurator_OnNodeModel() {
+		return (EAttribute)instanceConfiguratorEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getUseInstanceConfigurator() {
+		return useInstanceConfiguratorEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getUseInstanceConfigurator_Base_Class() {
+		return (EReference)useInstanceConfiguratorEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getUseInstanceConfigurator_Configurator() {
+		return (EReference)useInstanceConfiguratorEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeploymentFactory getDeploymentFactory() {
+		return (DeploymentFactory)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
+		configurationPropertyEClass = createEClass(CONFIGURATION_PROPERTY);
+		createEReference(configurationPropertyEClass, CONFIGURATION_PROPERTY__BASE_PROPERTY);
+
+		autoIndexEClass = createEClass(AUTO_INDEX);
+		createEReference(autoIndexEClass, AUTO_INDEX__BASE_PROPERTY);
+
+		autoIndexPerNodeEClass = createEClass(AUTO_INDEX_PER_NODE);
+		createEReference(autoIndexPerNodeEClass, AUTO_INDEX_PER_NODE__BASE_PROPERTY);
+
+		copyAttributeValueEClass = createEClass(COPY_ATTRIBUTE_VALUE);
+		createEReference(copyAttributeValueEClass, COPY_ATTRIBUTE_VALUE__BASE_PROPERTY);
+		createEReference(copyAttributeValueEClass, COPY_ATTRIBUTE_VALUE__SOURCE);
+
+		initPrecedenceEClass = createEClass(INIT_PRECEDENCE);
+		createEReference(initPrecedenceEClass, INIT_PRECEDENCE__BASE_CLASS);
+		createEReference(initPrecedenceEClass, INIT_PRECEDENCE__INVOKE_BEFORE);
+		createEReference(initPrecedenceEClass, INIT_PRECEDENCE__INVOKE_AFTER);
+
+		targetEClass = createEClass(TARGET);
+		createEReference(targetEClass, TARGET__BASE_CLASS);
+		createEReference(targetEClass, TARGET__USED_OS);
+		createEAttribute(targetEClass, TARGET__AVAIL_RAM);
+		createEAttribute(targetEClass, TARGET__AVAIL_ROM);
+
+		operatingSystemEClass = createEClass(OPERATING_SYSTEM);
+		createEReference(operatingSystemEClass, OPERATING_SYSTEM__BASE_CLASS);
+
+		implementationPropertiesEClass = createEClass(IMPLEMENTATION_PROPERTIES);
+		createEReference(implementationPropertiesEClass, IMPLEMENTATION_PROPERTIES__BASE_CLASS);
+		createEAttribute(implementationPropertiesEClass, IMPLEMENTATION_PROPERTIES__SIZE_RAM);
+		createEAttribute(implementationPropertiesEClass, IMPLEMENTATION_PROPERTIES__SIZE_ROM);
+		createEReference(implementationPropertiesEClass, IMPLEMENTATION_PROPERTIES__SUPPORTED_OS);
+		createEReference(implementationPropertiesEClass, IMPLEMENTATION_PROPERTIES__ARCH);
+
+		targetArchitectureEClass = createEClass(TARGET_ARCHITECTURE);
+		createEReference(targetArchitectureEClass, TARGET_ARCHITECTURE__BASE_CLASS);
+
+		deploymentPlanEClass = createEClass(DEPLOYMENT_PLAN);
+		createEReference(deploymentPlanEClass, DEPLOYMENT_PLAN__BASE_PACKAGE);
+		createEAttribute(deploymentPlanEClass, DEPLOYMENT_PLAN__PROJECT_MAPPINGS);
+		createEReference(deploymentPlanEClass, DEPLOYMENT_PLAN__CHAIN);
+
+		singletonEClass = createEClass(SINGLETON);
+		createEReference(singletonEClass, SINGLETON__BASE_CLASS);
+
+		instanceConfiguratorEClass = createEClass(INSTANCE_CONFIGURATOR);
+		createEReference(instanceConfiguratorEClass, INSTANCE_CONFIGURATOR__BASE_CLASS);
+		createEAttribute(instanceConfiguratorEClass, INSTANCE_CONFIGURATOR__ON_NODE_MODEL);
+
+		useInstanceConfiguratorEClass = createEClass(USE_INSTANCE_CONFIGURATOR);
+		createEReference(useInstanceConfiguratorEClass, USE_INSTANCE_CONFIGURATOR__BASE_CLASS);
+		createEReference(useInstanceConfiguratorEClass, USE_INSTANCE_CONFIGURATOR__CONFIGURATOR);
+	}
+
+	/**
+	 * <!-- 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);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+		TransformationPackage theTransformationPackage = (TransformationPackage)EPackage.Registry.INSTANCE.getEPackage(TransformationPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(configurationPropertyEClass, ConfigurationProperty.class, "ConfigurationProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getConfigurationProperty_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, ConfigurationProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(autoIndexEClass, AutoIndex.class, "AutoIndex", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getAutoIndex_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, AutoIndex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(autoIndexPerNodeEClass, AutoIndexPerNode.class, "AutoIndexPerNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getAutoIndexPerNode_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, AutoIndexPerNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(copyAttributeValueEClass, CopyAttributeValue.class, "CopyAttributeValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getCopyAttributeValue_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, CopyAttributeValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getCopyAttributeValue_Source(), theUMLPackage.getProperty(), null, "source", null, 1, 1, CopyAttributeValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(initPrecedenceEClass, InitPrecedence.class, "InitPrecedence", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getInitPrecedence_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, InitPrecedence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getInitPrecedence_InvokeBefore(), theUMLPackage.getClass_(), null, "invokeBefore", null, 0, -1, InitPrecedence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getInitPrecedence_InvokeAfter(), theUMLPackage.getClass_(), null, "invokeAfter", null, 0, -1, InitPrecedence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(targetEClass, Target.class, "Target", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getTarget_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, Target.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getTarget_UsedOS(), this.getOperatingSystem(), null, "usedOS", null, 1, 1, Target.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getTarget_AvailRAM(), theTypesPackage.getInteger(), "availRAM", null, 1, 1, Target.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getTarget_AvailROM(), theTypesPackage.getInteger(), "availROM", null, 1, 1, Target.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(operatingSystemEClass, OperatingSystem.class, "OperatingSystem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getOperatingSystem_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, OperatingSystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(implementationPropertiesEClass, ImplementationProperties.class, "ImplementationProperties", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getImplementationProperties_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, ImplementationProperties.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getImplementationProperties_SizeRam(), theTypesPackage.getInteger(), "sizeRam", null, 1, 1, ImplementationProperties.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getImplementationProperties_SizeROM(), theTypesPackage.getInteger(), "sizeROM", null, 1, 1, ImplementationProperties.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getImplementationProperties_SupportedOS(), this.getOperatingSystem(), null, "supportedOS", null, 0, -1, ImplementationProperties.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getImplementationProperties_Arch(), this.getTargetArchitecture(), null, "arch", null, 1, 1, ImplementationProperties.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(targetArchitectureEClass, TargetArchitecture.class, "TargetArchitecture", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getTargetArchitecture_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, TargetArchitecture.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(deploymentPlanEClass, DeploymentPlan.class, "DeploymentPlan", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getDeploymentPlan_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, DeploymentPlan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getDeploymentPlan_ProjectMappings(), theTypesPackage.getString(), "projectMappings", null, 0, -1, DeploymentPlan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getDeploymentPlan_Chain(), theTransformationPackage.getM2MTrafoChain(), null, "chain", null, 0, 1, DeploymentPlan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(singletonEClass, Singleton.class, "Singleton", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getSingleton_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, Singleton.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(instanceConfiguratorEClass, InstanceConfigurator.class, "InstanceConfigurator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getInstanceConfigurator_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, InstanceConfigurator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getInstanceConfigurator_OnNodeModel(), theTypesPackage.getBoolean(), "onNodeModel", null, 1, 1, InstanceConfigurator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(useInstanceConfiguratorEClass, UseInstanceConfigurator.class, "UseInstanceConfigurator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getUseInstanceConfigurator_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, UseInstanceConfigurator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getUseInstanceConfigurator_Configurator(), this.getInstanceConfigurator(), null, "configurator", null, 1, 1, UseInstanceConfigurator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		// Create resource
+		createResource(eNS_URI);
+	}
+
+} //DeploymentPackageImpl
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/DeploymentPlanImpl.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/DeploymentPlanImpl.java
new file mode 100644
index 0000000..0b45a4c
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/DeploymentPlanImpl.java
@@ -0,0 +1,271 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment.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.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.papyrus.designer.deployment.profile.Deployment.DeploymentPackage;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafoChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Plan</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPlanImpl#getBase_Package <em>Base Package</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPlanImpl#getProjectMappings <em>Project Mappings</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.DeploymentPlanImpl#getChain <em>Chain</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DeploymentPlanImpl extends MinimalEObjectImpl.Container implements DeploymentPlan {
+	/**
+	 * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Package()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Package base_Package;
+
+	/**
+	 * The cached value of the '{@link #getProjectMappings() <em>Project Mappings</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProjectMappings()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> projectMappings;
+
+	/**
+	 * The cached value of the '{@link #getChain() <em>Chain</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getChain()
+	 * @generated
+	 * @ordered
+	 */
+	protected M2MTrafoChain chain;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DeploymentPlanImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DeploymentPackage.Literals.DEPLOYMENT_PLAN;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package getBase_Package() {
+		if (base_Package != null && base_Package.eIsProxy()) {
+			InternalEObject oldBase_Package = (InternalEObject)base_Package;
+			base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+			if (base_Package != oldBase_Package) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentPackage.DEPLOYMENT_PLAN__BASE_PACKAGE, oldBase_Package, base_Package));
+			}
+		}
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+		org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+		base_Package = newBase_Package;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.DEPLOYMENT_PLAN__BASE_PACKAGE, oldBase_Package, base_Package));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getProjectMappings() {
+		if (projectMappings == null) {
+			projectMappings = new EDataTypeUniqueEList<String>(String.class, this, DeploymentPackage.DEPLOYMENT_PLAN__PROJECT_MAPPINGS);
+		}
+		return projectMappings;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public M2MTrafoChain getChain() {
+		if (chain != null && chain.eIsProxy()) {
+			InternalEObject oldChain = (InternalEObject)chain;
+			chain = (M2MTrafoChain)eResolveProxy(oldChain);
+			if (chain != oldChain) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentPackage.DEPLOYMENT_PLAN__CHAIN, oldChain, chain));
+			}
+		}
+		return chain;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public M2MTrafoChain basicGetChain() {
+		return chain;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setChain(M2MTrafoChain newChain) {
+		M2MTrafoChain oldChain = chain;
+		chain = newChain;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.DEPLOYMENT_PLAN__CHAIN, oldChain, chain));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DeploymentPackage.DEPLOYMENT_PLAN__BASE_PACKAGE:
+				if (resolve) return getBase_Package();
+				return basicGetBase_Package();
+			case DeploymentPackage.DEPLOYMENT_PLAN__PROJECT_MAPPINGS:
+				return getProjectMappings();
+			case DeploymentPackage.DEPLOYMENT_PLAN__CHAIN:
+				if (resolve) return getChain();
+				return basicGetChain();
+		}
+		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 DeploymentPackage.DEPLOYMENT_PLAN__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+				return;
+			case DeploymentPackage.DEPLOYMENT_PLAN__PROJECT_MAPPINGS:
+				getProjectMappings().clear();
+				getProjectMappings().addAll((Collection<? extends String>)newValue);
+				return;
+			case DeploymentPackage.DEPLOYMENT_PLAN__CHAIN:
+				setChain((M2MTrafoChain)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.DEPLOYMENT_PLAN__BASE_PACKAGE:
+				setBase_Package((org.eclipse.uml2.uml.Package)null);
+				return;
+			case DeploymentPackage.DEPLOYMENT_PLAN__PROJECT_MAPPINGS:
+				getProjectMappings().clear();
+				return;
+			case DeploymentPackage.DEPLOYMENT_PLAN__CHAIN:
+				setChain((M2MTrafoChain)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.DEPLOYMENT_PLAN__BASE_PACKAGE:
+				return base_Package != null;
+			case DeploymentPackage.DEPLOYMENT_PLAN__PROJECT_MAPPINGS:
+				return projectMappings != null && !projectMappings.isEmpty();
+			case DeploymentPackage.DEPLOYMENT_PLAN__CHAIN:
+				return chain != 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(" (projectMappings: ");
+		result.append(projectMappings);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DeploymentPlanImpl
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/ImplementationPropertiesImpl.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/ImplementationPropertiesImpl.java
new file mode 100644
index 0000000..f6072c8
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/ImplementationPropertiesImpl.java
@@ -0,0 +1,381 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment.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.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.OperatingSystem;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.TargetArchitecture;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Implementation Properties</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.ImplementationPropertiesImpl#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.ImplementationPropertiesImpl#getSizeRam <em>Size Ram</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.ImplementationPropertiesImpl#getSizeROM <em>Size ROM</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.ImplementationPropertiesImpl#getSupportedOS <em>Supported OS</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.ImplementationPropertiesImpl#getArch <em>Arch</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ImplementationPropertiesImpl extends MinimalEObjectImpl.Container implements ImplementationProperties {
+	/**
+	 * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Class()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Class base_Class;
+
+	/**
+	 * The default value of the '{@link #getSizeRam() <em>Size Ram</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSizeRam()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int SIZE_RAM_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getSizeRam() <em>Size Ram</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSizeRam()
+	 * @generated
+	 * @ordered
+	 */
+	protected int sizeRam = SIZE_RAM_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getSizeROM() <em>Size ROM</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSizeROM()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int SIZE_ROM_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getSizeROM() <em>Size ROM</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSizeROM()
+	 * @generated
+	 * @ordered
+	 */
+	protected int sizeROM = SIZE_ROM_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getSupportedOS() <em>Supported OS</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSupportedOS()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<OperatingSystem> supportedOS;
+
+	/**
+	 * The cached value of the '{@link #getArch() <em>Arch</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getArch()
+	 * @generated
+	 * @ordered
+	 */
+	protected TargetArchitecture arch;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ImplementationPropertiesImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DeploymentPackage.Literals.IMPLEMENTATION_PROPERTIES;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getBase_Class() {
+		if (base_Class != null && base_Class.eIsProxy()) {
+			InternalEObject oldBase_Class = (InternalEObject)base_Class;
+			base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+			if (base_Class != oldBase_Class) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentPackage.IMPLEMENTATION_PROPERTIES__BASE_CLASS, oldBase_Class, base_Class));
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+		org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+		base_Class = newBase_Class;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.IMPLEMENTATION_PROPERTIES__BASE_CLASS, oldBase_Class, base_Class));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getSizeRam() {
+		return sizeRam;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSizeRam(int newSizeRam) {
+		int oldSizeRam = sizeRam;
+		sizeRam = newSizeRam;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.IMPLEMENTATION_PROPERTIES__SIZE_RAM, oldSizeRam, sizeRam));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getSizeROM() {
+		return sizeROM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSizeROM(int newSizeROM) {
+		int oldSizeROM = sizeROM;
+		sizeROM = newSizeROM;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.IMPLEMENTATION_PROPERTIES__SIZE_ROM, oldSizeROM, sizeROM));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<OperatingSystem> getSupportedOS() {
+		if (supportedOS == null) {
+			supportedOS = new EObjectResolvingEList<OperatingSystem>(OperatingSystem.class, this, DeploymentPackage.IMPLEMENTATION_PROPERTIES__SUPPORTED_OS);
+		}
+		return supportedOS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TargetArchitecture getArch() {
+		if (arch != null && arch.eIsProxy()) {
+			InternalEObject oldArch = (InternalEObject)arch;
+			arch = (TargetArchitecture)eResolveProxy(oldArch);
+			if (arch != oldArch) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentPackage.IMPLEMENTATION_PROPERTIES__ARCH, oldArch, arch));
+			}
+		}
+		return arch;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TargetArchitecture basicGetArch() {
+		return arch;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setArch(TargetArchitecture newArch) {
+		TargetArchitecture oldArch = arch;
+		arch = newArch;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.IMPLEMENTATION_PROPERTIES__ARCH, oldArch, arch));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__BASE_CLASS:
+				if (resolve) return getBase_Class();
+				return basicGetBase_Class();
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__SIZE_RAM:
+				return getSizeRam();
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__SIZE_ROM:
+				return getSizeROM();
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__SUPPORTED_OS:
+				return getSupportedOS();
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__ARCH:
+				if (resolve) return getArch();
+				return basicGetArch();
+		}
+		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 DeploymentPackage.IMPLEMENTATION_PROPERTIES__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+				return;
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__SIZE_RAM:
+				setSizeRam((Integer)newValue);
+				return;
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__SIZE_ROM:
+				setSizeROM((Integer)newValue);
+				return;
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__SUPPORTED_OS:
+				getSupportedOS().clear();
+				getSupportedOS().addAll((Collection<? extends OperatingSystem>)newValue);
+				return;
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__ARCH:
+				setArch((TargetArchitecture)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)null);
+				return;
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__SIZE_RAM:
+				setSizeRam(SIZE_RAM_EDEFAULT);
+				return;
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__SIZE_ROM:
+				setSizeROM(SIZE_ROM_EDEFAULT);
+				return;
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__SUPPORTED_OS:
+				getSupportedOS().clear();
+				return;
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__ARCH:
+				setArch((TargetArchitecture)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__BASE_CLASS:
+				return base_Class != null;
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__SIZE_RAM:
+				return sizeRam != SIZE_RAM_EDEFAULT;
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__SIZE_ROM:
+				return sizeROM != SIZE_ROM_EDEFAULT;
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__SUPPORTED_OS:
+				return supportedOS != null && !supportedOS.isEmpty();
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES__ARCH:
+				return arch != 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(" (sizeRam: ");
+		result.append(sizeRam);
+		result.append(", sizeROM: ");
+		result.append(sizeROM);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ImplementationPropertiesImpl
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/InitPrecedenceImpl.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/InitPrecedenceImpl.java
new file mode 100644
index 0000000..f95f88d
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/InitPrecedenceImpl.java
@@ -0,0 +1,277 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment.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.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.InitPrecedence;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Init Precedence</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.InitPrecedenceImpl#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.InitPrecedenceImpl#getInvokeBefore <em>Invoke Before</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.InitPrecedenceImpl#getInvokeAfter <em>Invoke After</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InitPrecedenceImpl extends MinimalEObjectImpl.Container implements InitPrecedence {
+	/**
+	 * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Class()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Class base_Class;
+
+	/**
+	 * The cached value of the '{@link #getInvokeBefore() <em>Invoke Before</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInvokeBefore()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<org.eclipse.uml2.uml.Class> invokeBefore;
+	/**
+	 * The cached value of the '{@link #getInvokeAfter() <em>Invoke After</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInvokeAfter()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<org.eclipse.uml2.uml.Class> invokeAfter;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InitPrecedenceImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DeploymentPackage.Literals.INIT_PRECEDENCE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getBase_Class() {
+		if (base_Class != null && base_Class.eIsProxy()) {
+			InternalEObject oldBase_Class = (InternalEObject)base_Class;
+			base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+			if (base_Class != oldBase_Class) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentPackage.INIT_PRECEDENCE__BASE_CLASS, oldBase_Class, base_Class));
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+		org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+		base_Class = newBase_Class;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.INIT_PRECEDENCE__BASE_CLASS, oldBase_Class, base_Class));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<org.eclipse.uml2.uml.Class> getInvokeBefore() {
+		if (invokeBefore == null) {
+			invokeBefore = new EObjectResolvingEList<org.eclipse.uml2.uml.Class>(org.eclipse.uml2.uml.Class.class, this, DeploymentPackage.INIT_PRECEDENCE__INVOKE_BEFORE);
+		}
+		return invokeBefore;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getInvokeBefore(String name) {
+		return getInvokeBefore(name, false, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getInvokeBefore(String name, boolean ignoreCase, EClass eClass) {
+		invokeBeforeLoop: for (org.eclipse.uml2.uml.Class invokeBefore : getInvokeBefore()) {
+			if (eClass != null && !eClass.isInstance(invokeBefore))
+				continue invokeBeforeLoop;
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(invokeBefore.getName()) : name.equals(invokeBefore.getName())))
+				continue invokeBeforeLoop;
+			return invokeBefore;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<org.eclipse.uml2.uml.Class> getInvokeAfter() {
+		if (invokeAfter == null) {
+			invokeAfter = new EObjectResolvingEList<org.eclipse.uml2.uml.Class>(org.eclipse.uml2.uml.Class.class, this, DeploymentPackage.INIT_PRECEDENCE__INVOKE_AFTER);
+		}
+		return invokeAfter;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getInvokeAfter(String name) {
+		return getInvokeAfter(name, false, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getInvokeAfter(String name, boolean ignoreCase, EClass eClass) {
+		invokeAfterLoop: for (org.eclipse.uml2.uml.Class invokeAfter : getInvokeAfter()) {
+			if (eClass != null && !eClass.isInstance(invokeAfter))
+				continue invokeAfterLoop;
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(invokeAfter.getName()) : name.equals(invokeAfter.getName())))
+				continue invokeAfterLoop;
+			return invokeAfter;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DeploymentPackage.INIT_PRECEDENCE__BASE_CLASS:
+				if (resolve) return getBase_Class();
+				return basicGetBase_Class();
+			case DeploymentPackage.INIT_PRECEDENCE__INVOKE_BEFORE:
+				return getInvokeBefore();
+			case DeploymentPackage.INIT_PRECEDENCE__INVOKE_AFTER:
+				return getInvokeAfter();
+		}
+		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 DeploymentPackage.INIT_PRECEDENCE__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+				return;
+			case DeploymentPackage.INIT_PRECEDENCE__INVOKE_BEFORE:
+				getInvokeBefore().clear();
+				getInvokeBefore().addAll((Collection<? extends org.eclipse.uml2.uml.Class>)newValue);
+				return;
+			case DeploymentPackage.INIT_PRECEDENCE__INVOKE_AFTER:
+				getInvokeAfter().clear();
+				getInvokeAfter().addAll((Collection<? extends org.eclipse.uml2.uml.Class>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.INIT_PRECEDENCE__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)null);
+				return;
+			case DeploymentPackage.INIT_PRECEDENCE__INVOKE_BEFORE:
+				getInvokeBefore().clear();
+				return;
+			case DeploymentPackage.INIT_PRECEDENCE__INVOKE_AFTER:
+				getInvokeAfter().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.INIT_PRECEDENCE__BASE_CLASS:
+				return base_Class != null;
+			case DeploymentPackage.INIT_PRECEDENCE__INVOKE_BEFORE:
+				return invokeBefore != null && !invokeBefore.isEmpty();
+			case DeploymentPackage.INIT_PRECEDENCE__INVOKE_AFTER:
+				return invokeAfter != null && !invokeAfter.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //InitPrecedenceImpl
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/InstanceConfiguratorImpl.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/InstanceConfiguratorImpl.java
new file mode 100644
index 0000000..3c62c65
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/InstanceConfiguratorImpl.java
@@ -0,0 +1,223 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment.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 org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.InstanceConfigurator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Instance Configurator</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.InstanceConfiguratorImpl#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.InstanceConfiguratorImpl#isOnNodeModel <em>On Node Model</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InstanceConfiguratorImpl extends MinimalEObjectImpl.Container implements InstanceConfigurator {
+	/**
+	 * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Class()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Class base_Class;
+
+	/**
+	 * The default value of the '{@link #isOnNodeModel() <em>On Node Model</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isOnNodeModel()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean ON_NODE_MODEL_EDEFAULT = false;
+	/**
+	 * The cached value of the '{@link #isOnNodeModel() <em>On Node Model</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isOnNodeModel()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean onNodeModel = ON_NODE_MODEL_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InstanceConfiguratorImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DeploymentPackage.Literals.INSTANCE_CONFIGURATOR;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getBase_Class() {
+		if (base_Class != null && base_Class.eIsProxy()) {
+			InternalEObject oldBase_Class = (InternalEObject)base_Class;
+			base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+			if (base_Class != oldBase_Class) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentPackage.INSTANCE_CONFIGURATOR__BASE_CLASS, oldBase_Class, base_Class));
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+		org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+		base_Class = newBase_Class;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.INSTANCE_CONFIGURATOR__BASE_CLASS, oldBase_Class, base_Class));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isOnNodeModel() {
+		return onNodeModel;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOnNodeModel(boolean newOnNodeModel) {
+		boolean oldOnNodeModel = onNodeModel;
+		onNodeModel = newOnNodeModel;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.INSTANCE_CONFIGURATOR__ON_NODE_MODEL, oldOnNodeModel, onNodeModel));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DeploymentPackage.INSTANCE_CONFIGURATOR__BASE_CLASS:
+				if (resolve) return getBase_Class();
+				return basicGetBase_Class();
+			case DeploymentPackage.INSTANCE_CONFIGURATOR__ON_NODE_MODEL:
+				return isOnNodeModel();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DeploymentPackage.INSTANCE_CONFIGURATOR__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+				return;
+			case DeploymentPackage.INSTANCE_CONFIGURATOR__ON_NODE_MODEL:
+				setOnNodeModel((Boolean)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.INSTANCE_CONFIGURATOR__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)null);
+				return;
+			case DeploymentPackage.INSTANCE_CONFIGURATOR__ON_NODE_MODEL:
+				setOnNodeModel(ON_NODE_MODEL_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.INSTANCE_CONFIGURATOR__BASE_CLASS:
+				return base_Class != null;
+			case DeploymentPackage.INSTANCE_CONFIGURATOR__ON_NODE_MODEL:
+				return onNodeModel != ON_NODE_MODEL_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(" (onNodeModel: ");
+		result.append(onNodeModel);
+		result.append(')');
+		return result.toString();
+	}
+
+} //InstanceConfiguratorImpl
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/OperatingSystemImpl.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/OperatingSystemImpl.java
new file mode 100644
index 0000000..110caf3
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/OperatingSystemImpl.java
@@ -0,0 +1,156 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment.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 org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.OperatingSystem;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Operating System</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.OperatingSystemImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OperatingSystemImpl extends MinimalEObjectImpl.Container implements OperatingSystem {
+	/**
+	 * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Class()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Class base_Class;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected OperatingSystemImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DeploymentPackage.Literals.OPERATING_SYSTEM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getBase_Class() {
+		if (base_Class != null && base_Class.eIsProxy()) {
+			InternalEObject oldBase_Class = (InternalEObject)base_Class;
+			base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+			if (base_Class != oldBase_Class) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentPackage.OPERATING_SYSTEM__BASE_CLASS, oldBase_Class, base_Class));
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+		org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+		base_Class = newBase_Class;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.OPERATING_SYSTEM__BASE_CLASS, oldBase_Class, base_Class));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DeploymentPackage.OPERATING_SYSTEM__BASE_CLASS:
+				if (resolve) return getBase_Class();
+				return basicGetBase_Class();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DeploymentPackage.OPERATING_SYSTEM__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.OPERATING_SYSTEM__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.OPERATING_SYSTEM__BASE_CLASS:
+				return base_Class != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //OperatingSystemImpl
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/SingletonImpl.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/SingletonImpl.java
new file mode 100644
index 0000000..7e9a043
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/SingletonImpl.java
@@ -0,0 +1,156 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment.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 org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.Singleton;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Singleton</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.SingletonImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SingletonImpl extends MinimalEObjectImpl.Container implements Singleton {
+	/**
+	 * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Class()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Class base_Class;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SingletonImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DeploymentPackage.Literals.SINGLETON;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getBase_Class() {
+		if (base_Class != null && base_Class.eIsProxy()) {
+			InternalEObject oldBase_Class = (InternalEObject)base_Class;
+			base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+			if (base_Class != oldBase_Class) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentPackage.SINGLETON__BASE_CLASS, oldBase_Class, base_Class));
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+		org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+		base_Class = newBase_Class;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.SINGLETON__BASE_CLASS, oldBase_Class, base_Class));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DeploymentPackage.SINGLETON__BASE_CLASS:
+				if (resolve) return getBase_Class();
+				return basicGetBase_Class();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DeploymentPackage.SINGLETON__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.SINGLETON__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.SINGLETON__BASE_CLASS:
+				return base_Class != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //SingletonImpl
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/TargetArchitectureImpl.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/TargetArchitectureImpl.java
new file mode 100644
index 0000000..54db6ab
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/TargetArchitectureImpl.java
@@ -0,0 +1,156 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment.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 org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.TargetArchitecture;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Target Architecture</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.TargetArchitectureImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TargetArchitectureImpl extends MinimalEObjectImpl.Container implements TargetArchitecture {
+	/**
+	 * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Class()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Class base_Class;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TargetArchitectureImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DeploymentPackage.Literals.TARGET_ARCHITECTURE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getBase_Class() {
+		if (base_Class != null && base_Class.eIsProxy()) {
+			InternalEObject oldBase_Class = (InternalEObject)base_Class;
+			base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+			if (base_Class != oldBase_Class) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentPackage.TARGET_ARCHITECTURE__BASE_CLASS, oldBase_Class, base_Class));
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+		org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+		base_Class = newBase_Class;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.TARGET_ARCHITECTURE__BASE_CLASS, oldBase_Class, base_Class));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DeploymentPackage.TARGET_ARCHITECTURE__BASE_CLASS:
+				if (resolve) return getBase_Class();
+				return basicGetBase_Class();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DeploymentPackage.TARGET_ARCHITECTURE__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.TARGET_ARCHITECTURE__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.TARGET_ARCHITECTURE__BASE_CLASS:
+				return base_Class != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //TargetArchitectureImpl
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/TargetImpl.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/TargetImpl.java
new file mode 100644
index 0000000..4475a97
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/TargetImpl.java
@@ -0,0 +1,339 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment.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 org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.OperatingSystem;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.Target;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Target</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.TargetImpl#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.TargetImpl#getUsedOS <em>Used OS</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.TargetImpl#getAvailRAM <em>Avail RAM</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.TargetImpl#getAvailROM <em>Avail ROM</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TargetImpl extends MinimalEObjectImpl.Container implements Target {
+	/**
+	 * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Class()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Class base_Class;
+
+	/**
+	 * The cached value of the '{@link #getUsedOS() <em>Used OS</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUsedOS()
+	 * @generated
+	 * @ordered
+	 */
+	protected OperatingSystem usedOS;
+
+	/**
+	 * The default value of the '{@link #getAvailRAM() <em>Avail RAM</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAvailRAM()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int AVAIL_RAM_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getAvailRAM() <em>Avail RAM</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAvailRAM()
+	 * @generated
+	 * @ordered
+	 */
+	protected int availRAM = AVAIL_RAM_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getAvailROM() <em>Avail ROM</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAvailROM()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int AVAIL_ROM_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getAvailROM() <em>Avail ROM</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAvailROM()
+	 * @generated
+	 * @ordered
+	 */
+	protected int availROM = AVAIL_ROM_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TargetImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DeploymentPackage.Literals.TARGET;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getBase_Class() {
+		if (base_Class != null && base_Class.eIsProxy()) {
+			InternalEObject oldBase_Class = (InternalEObject)base_Class;
+			base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+			if (base_Class != oldBase_Class) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentPackage.TARGET__BASE_CLASS, oldBase_Class, base_Class));
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+		org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+		base_Class = newBase_Class;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.TARGET__BASE_CLASS, oldBase_Class, base_Class));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OperatingSystem getUsedOS() {
+		if (usedOS != null && usedOS.eIsProxy()) {
+			InternalEObject oldUsedOS = (InternalEObject)usedOS;
+			usedOS = (OperatingSystem)eResolveProxy(oldUsedOS);
+			if (usedOS != oldUsedOS) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentPackage.TARGET__USED_OS, oldUsedOS, usedOS));
+			}
+		}
+		return usedOS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OperatingSystem basicGetUsedOS() {
+		return usedOS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUsedOS(OperatingSystem newUsedOS) {
+		OperatingSystem oldUsedOS = usedOS;
+		usedOS = newUsedOS;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.TARGET__USED_OS, oldUsedOS, usedOS));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getAvailRAM() {
+		return availRAM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAvailRAM(int newAvailRAM) {
+		int oldAvailRAM = availRAM;
+		availRAM = newAvailRAM;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.TARGET__AVAIL_RAM, oldAvailRAM, availRAM));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getAvailROM() {
+		return availROM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAvailROM(int newAvailROM) {
+		int oldAvailROM = availROM;
+		availROM = newAvailROM;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.TARGET__AVAIL_ROM, oldAvailROM, availROM));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DeploymentPackage.TARGET__BASE_CLASS:
+				if (resolve) return getBase_Class();
+				return basicGetBase_Class();
+			case DeploymentPackage.TARGET__USED_OS:
+				if (resolve) return getUsedOS();
+				return basicGetUsedOS();
+			case DeploymentPackage.TARGET__AVAIL_RAM:
+				return getAvailRAM();
+			case DeploymentPackage.TARGET__AVAIL_ROM:
+				return getAvailROM();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DeploymentPackage.TARGET__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+				return;
+			case DeploymentPackage.TARGET__USED_OS:
+				setUsedOS((OperatingSystem)newValue);
+				return;
+			case DeploymentPackage.TARGET__AVAIL_RAM:
+				setAvailRAM((Integer)newValue);
+				return;
+			case DeploymentPackage.TARGET__AVAIL_ROM:
+				setAvailROM((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.TARGET__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)null);
+				return;
+			case DeploymentPackage.TARGET__USED_OS:
+				setUsedOS((OperatingSystem)null);
+				return;
+			case DeploymentPackage.TARGET__AVAIL_RAM:
+				setAvailRAM(AVAIL_RAM_EDEFAULT);
+				return;
+			case DeploymentPackage.TARGET__AVAIL_ROM:
+				setAvailROM(AVAIL_ROM_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.TARGET__BASE_CLASS:
+				return base_Class != null;
+			case DeploymentPackage.TARGET__USED_OS:
+				return usedOS != null;
+			case DeploymentPackage.TARGET__AVAIL_RAM:
+				return availRAM != AVAIL_RAM_EDEFAULT;
+			case DeploymentPackage.TARGET__AVAIL_ROM:
+				return availROM != AVAIL_ROM_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(" (availRAM: ");
+		result.append(availRAM);
+		result.append(", availROM: ");
+		result.append(availROM);
+		result.append(')');
+		return result.toString();
+	}
+
+} //TargetImpl
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/UseInstanceConfiguratorImpl.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/UseInstanceConfiguratorImpl.java
new file mode 100644
index 0000000..70d1e8a
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/impl/UseInstanceConfiguratorImpl.java
@@ -0,0 +1,216 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment.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 org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.InstanceConfigurator;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.UseInstanceConfigurator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Use Instance Configurator</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.UseInstanceConfiguratorImpl#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.impl.UseInstanceConfiguratorImpl#getConfigurator <em>Configurator</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class UseInstanceConfiguratorImpl extends MinimalEObjectImpl.Container implements UseInstanceConfigurator {
+	/**
+	 * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Class()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Class base_Class;
+
+	/**
+	 * The cached value of the '{@link #getConfigurator() <em>Configurator</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getConfigurator()
+	 * @generated
+	 * @ordered
+	 */
+	protected InstanceConfigurator configurator;
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected UseInstanceConfiguratorImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DeploymentPackage.Literals.USE_INSTANCE_CONFIGURATOR;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getBase_Class() {
+		if (base_Class != null && base_Class.eIsProxy()) {
+			InternalEObject oldBase_Class = (InternalEObject)base_Class;
+			base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+			if (base_Class != oldBase_Class) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentPackage.USE_INSTANCE_CONFIGURATOR__BASE_CLASS, oldBase_Class, base_Class));
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+		org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+		base_Class = newBase_Class;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.USE_INSTANCE_CONFIGURATOR__BASE_CLASS, oldBase_Class, base_Class));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InstanceConfigurator getConfigurator() {
+		if (configurator != null && configurator.eIsProxy()) {
+			InternalEObject oldConfigurator = (InternalEObject)configurator;
+			configurator = (InstanceConfigurator)eResolveProxy(oldConfigurator);
+			if (configurator != oldConfigurator) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DeploymentPackage.USE_INSTANCE_CONFIGURATOR__CONFIGURATOR, oldConfigurator, configurator));
+			}
+		}
+		return configurator;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InstanceConfigurator basicGetConfigurator() {
+		return configurator;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setConfigurator(InstanceConfigurator newConfigurator) {
+		InstanceConfigurator oldConfigurator = configurator;
+		configurator = newConfigurator;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DeploymentPackage.USE_INSTANCE_CONFIGURATOR__CONFIGURATOR, oldConfigurator, configurator));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DeploymentPackage.USE_INSTANCE_CONFIGURATOR__BASE_CLASS:
+				if (resolve) return getBase_Class();
+				return basicGetBase_Class();
+			case DeploymentPackage.USE_INSTANCE_CONFIGURATOR__CONFIGURATOR:
+				if (resolve) return getConfigurator();
+				return basicGetConfigurator();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DeploymentPackage.USE_INSTANCE_CONFIGURATOR__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+				return;
+			case DeploymentPackage.USE_INSTANCE_CONFIGURATOR__CONFIGURATOR:
+				setConfigurator((InstanceConfigurator)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.USE_INSTANCE_CONFIGURATOR__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)null);
+				return;
+			case DeploymentPackage.USE_INSTANCE_CONFIGURATOR__CONFIGURATOR:
+				setConfigurator((InstanceConfigurator)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DeploymentPackage.USE_INSTANCE_CONFIGURATOR__BASE_CLASS:
+				return base_Class != null;
+			case DeploymentPackage.USE_INSTANCE_CONFIGURATOR__CONFIGURATOR:
+				return configurator != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //UseInstanceConfiguratorImpl
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/util/DeploymentAdapterFactory.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/util/DeploymentAdapterFactory.java
new file mode 100644
index 0000000..d653117
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/util/DeploymentAdapterFactory.java
@@ -0,0 +1,336 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment.util;
+
+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 org.eclipse.papyrus.designer.deployment.profile.Deployment.*;
+
+/**
+ * <!-- 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 org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage
+ * @generated
+ */
+public class DeploymentAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static DeploymentPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeploymentAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = DeploymentPackage.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 DeploymentSwitch<Adapter> modelSwitch =
+		new DeploymentSwitch<Adapter>() {
+			@Override
+			public Adapter caseConfigurationProperty(ConfigurationProperty object) {
+				return createConfigurationPropertyAdapter();
+			}
+			@Override
+			public Adapter caseAutoIndex(AutoIndex object) {
+				return createAutoIndexAdapter();
+			}
+			@Override
+			public Adapter caseAutoIndexPerNode(AutoIndexPerNode object) {
+				return createAutoIndexPerNodeAdapter();
+			}
+			@Override
+			public Adapter caseCopyAttributeValue(CopyAttributeValue object) {
+				return createCopyAttributeValueAdapter();
+			}
+			@Override
+			public Adapter caseInitPrecedence(InitPrecedence object) {
+				return createInitPrecedenceAdapter();
+			}
+			@Override
+			public Adapter caseTarget(Target object) {
+				return createTargetAdapter();
+			}
+			@Override
+			public Adapter caseOperatingSystem(OperatingSystem object) {
+				return createOperatingSystemAdapter();
+			}
+			@Override
+			public Adapter caseImplementationProperties(ImplementationProperties object) {
+				return createImplementationPropertiesAdapter();
+			}
+			@Override
+			public Adapter caseTargetArchitecture(TargetArchitecture object) {
+				return createTargetArchitectureAdapter();
+			}
+			@Override
+			public Adapter caseDeploymentPlan(DeploymentPlan object) {
+				return createDeploymentPlanAdapter();
+			}
+			@Override
+			public Adapter caseSingleton(Singleton object) {
+				return createSingletonAdapter();
+			}
+			@Override
+			public Adapter caseInstanceConfigurator(InstanceConfigurator object) {
+				return createInstanceConfiguratorAdapter();
+			}
+			@Override
+			public Adapter caseUseInstanceConfigurator(UseInstanceConfigurator object) {
+				return createUseInstanceConfiguratorAdapter();
+			}
+			@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 org.eclipse.papyrus.designer.deployment.profile.Deployment.ConfigurationProperty <em>Configuration Property</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 org.eclipse.papyrus.designer.deployment.profile.Deployment.ConfigurationProperty
+	 * @generated
+	 */
+	public Adapter createConfigurationPropertyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndex <em>Auto Index</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 org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndex
+	 * @generated
+	 */
+	public Adapter createAutoIndexAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndexPerNode <em>Auto Index Per Node</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 org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndexPerNode
+	 * @generated
+	 */
+	public Adapter createAutoIndexPerNodeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.CopyAttributeValue <em>Copy Attribute 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 org.eclipse.papyrus.designer.deployment.profile.Deployment.CopyAttributeValue
+	 * @generated
+	 */
+	public Adapter createCopyAttributeValueAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.InitPrecedence <em>Init Precedence</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 org.eclipse.papyrus.designer.deployment.profile.Deployment.InitPrecedence
+	 * @generated
+	 */
+	public Adapter createInitPrecedenceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Target <em>Target</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 org.eclipse.papyrus.designer.deployment.profile.Deployment.Target
+	 * @generated
+	 */
+	public Adapter createTargetAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.OperatingSystem <em>Operating System</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 org.eclipse.papyrus.designer.deployment.profile.Deployment.OperatingSystem
+	 * @generated
+	 */
+	public Adapter createOperatingSystemAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties <em>Implementation Properties</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 org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties
+	 * @generated
+	 */
+	public Adapter createImplementationPropertiesAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.TargetArchitecture <em>Target Architecture</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 org.eclipse.papyrus.designer.deployment.profile.Deployment.TargetArchitecture
+	 * @generated
+	 */
+	public Adapter createTargetArchitectureAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan <em>Plan</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 org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan
+	 * @generated
+	 */
+	public Adapter createDeploymentPlanAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.Singleton <em>Singleton</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 org.eclipse.papyrus.designer.deployment.profile.Deployment.Singleton
+	 * @generated
+	 */
+	public Adapter createSingletonAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.InstanceConfigurator <em>Instance Configurator</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 org.eclipse.papyrus.designer.deployment.profile.Deployment.InstanceConfigurator
+	 * @generated
+	 */
+	public Adapter createInstanceConfiguratorAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.designer.deployment.profile.Deployment.UseInstanceConfigurator <em>Use Instance Configurator</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 org.eclipse.papyrus.designer.deployment.profile.Deployment.UseInstanceConfigurator
+	 * @generated
+	 */
+	public Adapter createUseInstanceConfiguratorAdapter() {
+		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;
+	}
+
+} //DeploymentAdapterFactory
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/util/DeploymentSwitch.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/util/DeploymentSwitch.java
new file mode 100644
index 0000000..1cbbdc3
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src-gen/org/eclipse/papyrus/designer/deployment/profile/Deployment/util/DeploymentSwitch.java
@@ -0,0 +1,362 @@
+/**
+ */
+package org.eclipse.papyrus.designer.deployment.profile.Deployment.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.*;
+
+/**
+ * <!-- 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 org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPackage
+ * @generated
+ */
+public class DeploymentSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static DeploymentPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DeploymentSwitch() {
+		if (modelPackage == null) {
+			modelPackage = DeploymentPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param 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 DeploymentPackage.CONFIGURATION_PROPERTY: {
+				ConfigurationProperty configurationProperty = (ConfigurationProperty)theEObject;
+				T result = caseConfigurationProperty(configurationProperty);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DeploymentPackage.AUTO_INDEX: {
+				AutoIndex autoIndex = (AutoIndex)theEObject;
+				T result = caseAutoIndex(autoIndex);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DeploymentPackage.AUTO_INDEX_PER_NODE: {
+				AutoIndexPerNode autoIndexPerNode = (AutoIndexPerNode)theEObject;
+				T result = caseAutoIndexPerNode(autoIndexPerNode);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DeploymentPackage.COPY_ATTRIBUTE_VALUE: {
+				CopyAttributeValue copyAttributeValue = (CopyAttributeValue)theEObject;
+				T result = caseCopyAttributeValue(copyAttributeValue);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DeploymentPackage.INIT_PRECEDENCE: {
+				InitPrecedence initPrecedence = (InitPrecedence)theEObject;
+				T result = caseInitPrecedence(initPrecedence);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DeploymentPackage.TARGET: {
+				Target target = (Target)theEObject;
+				T result = caseTarget(target);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DeploymentPackage.OPERATING_SYSTEM: {
+				OperatingSystem operatingSystem = (OperatingSystem)theEObject;
+				T result = caseOperatingSystem(operatingSystem);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DeploymentPackage.IMPLEMENTATION_PROPERTIES: {
+				ImplementationProperties implementationProperties = (ImplementationProperties)theEObject;
+				T result = caseImplementationProperties(implementationProperties);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DeploymentPackage.TARGET_ARCHITECTURE: {
+				TargetArchitecture targetArchitecture = (TargetArchitecture)theEObject;
+				T result = caseTargetArchitecture(targetArchitecture);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DeploymentPackage.DEPLOYMENT_PLAN: {
+				DeploymentPlan deploymentPlan = (DeploymentPlan)theEObject;
+				T result = caseDeploymentPlan(deploymentPlan);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DeploymentPackage.SINGLETON: {
+				Singleton singleton = (Singleton)theEObject;
+				T result = caseSingleton(singleton);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DeploymentPackage.INSTANCE_CONFIGURATOR: {
+				InstanceConfigurator instanceConfigurator = (InstanceConfigurator)theEObject;
+				T result = caseInstanceConfigurator(instanceConfigurator);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DeploymentPackage.USE_INSTANCE_CONFIGURATOR: {
+				UseInstanceConfigurator useInstanceConfigurator = (UseInstanceConfigurator)theEObject;
+				T result = caseUseInstanceConfigurator(useInstanceConfigurator);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Configuration Property</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>Configuration Property</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConfigurationProperty(ConfigurationProperty object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Auto Index</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>Auto Index</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAutoIndex(AutoIndex object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Auto Index Per Node</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>Auto Index Per Node</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAutoIndexPerNode(AutoIndexPerNode object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Copy Attribute 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>Copy Attribute Value</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCopyAttributeValue(CopyAttributeValue object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Init Precedence</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>Init Precedence</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseInitPrecedence(InitPrecedence object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Target</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>Target</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseTarget(Target object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Operating System</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>Operating System</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseOperatingSystem(OperatingSystem object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Implementation Properties</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>Implementation Properties</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseImplementationProperties(ImplementationProperties object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Target Architecture</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>Target Architecture</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseTargetArchitecture(TargetArchitecture object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Plan</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>Plan</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDeploymentPlan(DeploymentPlan object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Singleton</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>Singleton</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseSingleton(Singleton object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Instance Configurator</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 Configurator</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseInstanceConfigurator(InstanceConfigurator object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Use Instance Configurator</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>Use Instance Configurator</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseUseInstanceConfigurator(UseInstanceConfigurator 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;
+	}
+
+} //DeploymentSwitch
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src/etc/header.epl.txt b/deployment/org.eclipse.papyrus.designer.deployment.profile/src/etc/header.epl.txt
new file mode 100644
index 0000000..68cbfa4
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src/etc/header.epl.txt
@@ -0,0 +1,4 @@
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
\ No newline at end of file
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.profile/src/org/eclipse/papyrus/designer/deployment/profile/Activator.java b/deployment/org.eclipse.papyrus.designer.deployment.profile/src/org/eclipse/papyrus/designer/deployment/profile/Activator.java
new file mode 100644
index 0000000..b513523
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.profile/src/org/eclipse/papyrus/designer/deployment/profile/Activator.java
@@ -0,0 +1,43 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.deployment.profile;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+	private static BundleContext context;
+
+	static BundleContext getContext() {
+		return context;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext bundleContext) throws Exception {
+		Activator.context = bundleContext;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext bundleContext) throws Exception {
+		Activator.context = null;
+	}
+
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.classpath b/deployment/org.eclipse.papyrus.designer.deployment.tools/.classpath
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.classpath
copy to deployment/org.eclipse.papyrus.designer.deployment.tools/.classpath
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.tools/.project b/deployment/org.eclipse.papyrus.designer.deployment.tools/.project
new file mode 100644
index 0000000..5f712d9
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.tools/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.deployment.tools</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.core.resources.prefs b/deployment/org.eclipse.papyrus.designer.deployment.tools/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.core.resources.prefs
copy to deployment/org.eclipse.papyrus.designer.deployment.tools/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.jdt.core.prefs b/deployment/org.eclipse.papyrus.designer.deployment.tools/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.jdt.core.prefs
copy to deployment/org.eclipse.papyrus.designer.deployment.tools/.settings/org.eclipse.jdt.core.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.m2e.core.prefs b/deployment/org.eclipse.papyrus.designer.deployment.tools/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.m2e.core.prefs
copy to deployment/org.eclipse.papyrus.designer.deployment.tools/.settings/org.eclipse.m2e.core.prefs
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.tools/META-INF/MANIFEST.MF b/deployment/org.eclipse.papyrus.designer.deployment.tools/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..e4f9732
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.tools/META-INF/MANIFEST.MF
@@ -0,0 +1,39 @@
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.designer.deployment.tools
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore,
+ org.eclipse.uml2.uml,
+ org.eclipse.ui.ide,
+ org.eclipse.core.resources,
+ org.eclipse.papyrus.marte.static.profile;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.transformation.vsl;bundle-version="0.7.0",
+ org.eclipse.papyrus.uml.modelexplorer.widgets;bundle-version="1.2.0",
+ org.eclipse.papyrus.uml.tools;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.languages.cpp.profile;bundle-version="0.7.0",
+ org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
+ org.eclipse.gmf.runtime.common.core;bundle-version="1.7.0",
+ org.eclipse.gmf.runtime.emf.commands.core;bundle-version="1.4.0",
+ org.eclipse.papyrus.infra.widgets;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.emf;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.services.labelprovider;bundle-version="1.2.0",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
+ org.eclipse.ui,
+ org.eclipse.papyrus.designer.languages.common.extensionpoints;bundle-version="0.7.0",
+ org.eclipse.uml2.uml.profile.standard;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.ui;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.languages.common.profile;bundle-version="0.7.1",
+ org.eclipse.papyrus.designer.transformation.profile;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.deployment.profile;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.transformation.base;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.transformation.extensions;bundle-version="0.7.3"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 0.7.5.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.designer.deployment.tools.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.designer.deployment.tools;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/about.html b/deployment/org.eclipse.papyrus.designer.deployment.tools/about.html
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/about.html
copy to deployment/org.eclipse.papyrus.designer.deployment.tools/about.html
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/about.properties b/deployment/org.eclipse.papyrus.designer.deployment.tools/about.properties
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/about.properties
copy to deployment/org.eclipse.papyrus.designer.deployment.tools/about.properties
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.tools/build.properties b/deployment/org.eclipse.papyrus.designer.deployment.tools/build.properties
new file mode 100644
index 0000000..401a597
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.tools/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               about.properties,\
+               about.html,\
+               plugin.properties
+customBuildCallbacks = build.acceleo
+src.includes = about.html
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/plugin.properties b/deployment/org.eclipse.papyrus.designer.deployment.tools/plugin.properties
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/plugin.properties
copy to deployment/org.eclipse.papyrus.designer.deployment.tools/plugin.properties
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.tools/pom.xml b/deployment/org.eclipse.papyrus.designer.deployment.tools/pom.xml
new file mode 100644
index 0000000..5e6d926
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.tools/pom.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.designer</groupId>
+		<artifactId>org.eclipse.papyrus.designer.deployment</artifactId>
+		<version>0.7.5-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.designer.deployment.tools</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This module contains a set of deployment related tools</description>
+</project>
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/Activator.java b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/Activator.java
new file mode 100644
index 0000000..9875359
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/Activator.java
@@ -0,0 +1,73 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.deployment.tools;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.designer.deployment.tools"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+
+	public static LogHelper log;
+
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+
+		// register the login helper
+		log = new LogHelper(plugin);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/AllocUtils.java b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/AllocUtils.java
new file mode 100644
index 0000000..7cc8cb0
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/AllocUtils.java
@@ -0,0 +1,352 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.deployment.tools;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.UniqueEList;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Allocate;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.UMLPackage;
+
+public class AllocUtils {
+
+	public static final String startPortName = "start"; //$NON-NLS-1$
+
+	public static final String startPortType = "IStart"; //$NON-NLS-1$
+
+	/**
+	 * Retrieve a list of nodes to which the instance is allocated to *or*
+	 * to which one of the contained instances is allocated to (recursively)
+	 *
+	 * @param instance
+	 * @return a list of nodes
+	 */
+	public static EList<InstanceSpecification> getAllNodes(InstanceSpecification instance) {
+		EList<InstanceSpecification> nodeList = getNodes(instance);
+		for (Slot slot : instance.getSlots()) {
+			if (!DepUtils.isShared(slot)) {
+				InstanceSpecification containedInstance = DepUtils.getInstance(slot);
+				if (containedInstance != null) {
+					nodeList.addAll(getAllNodes(containedInstance));
+				}
+			}
+		}
+		return nodeList;
+	}
+
+	/**
+	 * Retrieve a list of nodes to which the set of passed instance is allocated to *or*
+	 * to which one of the contained instances is allocated to (recursively)
+	 *
+	 * @param instanceList a list of instances
+	 * @return a list of nodes
+	 */
+	public static EList<InstanceSpecification> getAllNodes(Collection<InstanceSpecification> instances) {
+		EList<InstanceSpecification> nodeList = new UniqueEList<InstanceSpecification>();
+		for (InstanceSpecification instance : instances) {
+			nodeList.addAll(getAllNodes(instance));
+		}
+		return nodeList;
+	}
+	/**
+	 * Retrieve a list of nodes to which the instance is allocated to *or*
+	 * to which one of the contained instances is allocated to (recursively)
+	 *
+	 * @param instanceAttribute
+	 *            an attribute within a composite that represents a component instance
+	 *            or a set thereof, if the composite itself is instantiated multiple times)
+	 * @return a list of nodes
+	 */
+	public static Property getThreadAlloc(Property instanceAttribute) {
+		for (DirectedRelationship relation : instanceAttribute.getSourceDirectedRelationships()) {
+			if (StereotypeUtil.isApplied(relation, Allocate.class)) {
+				if (relation.getTargets().size() != 1) {
+					continue;
+				}
+				Element targetElem = relation.getTargets().get(0);
+				if (!(targetElem instanceof Property)) {
+					continue;
+				}
+				Property target = (Property) targetElem;
+				if (StereotypeUtil.isApplied(target.getType(), SwSchedulableResource.class)) {
+					return target;
+				}
+			}
+		}
+		return null;
+	}
+
+
+	/**
+	 * Retrieve a list of nodes to which the instance is allocated to *or*
+	 * to which one of the containing instances is explicitly allocated
+	 *
+	 * @param instance
+	 * @return a list of nodes
+	 */
+	public static EList<InstanceSpecification> getAllNodesOrThreadsParent(InstanceSpecification instance) {
+		EList<InstanceSpecification> nodeList = getNodesOrThreads(instance);
+		Package cdp = instance.getNearestPackage();
+		// TODO: not very efficient: loop each time over all instance specifications
+		for (NamedElement parentNE : cdp.getMembers()) {
+			if (parentNE instanceof InstanceSpecification) {
+				// possible parent instance specification
+				InstanceSpecification parentIS = (InstanceSpecification) parentNE;
+				if (DepUtils.getContainedInstances(parentIS).contains(instance)) {
+					nodeList.addAll(getAllNodesOrThreadsParent(parentIS));
+				}
+			}
+		}
+		return nodeList;
+	}
+
+	public static InstanceSpecification getNode(InstanceSpecification instance) {
+		EList<InstanceSpecification> nodeList = getNodes(instance);
+		if (nodeList.size() != 0) {
+			return nodeList.get(0);
+		}
+		return null;
+	}
+
+	public static InstanceSpecification getNodeOrThread(InstanceSpecification instanceOrThread) {
+		EList<InstanceSpecification> nodeList = getNodesOrThreads(instanceOrThread);
+		if (nodeList.size() != 0) {
+			return nodeList.get(0);
+		}
+		return null;
+	}
+
+	/**
+	 * This method returns a list of nodes (or threads) to which the passed instance is allocated.
+	 * It is based on MARTE Allocation (a stereotyped abstraction) which is a generic
+	 * mechanism to deploy UML elements to nodes.
+	 *
+	 * @param instanceOrThread
+	 *            The instance for which we like to know the allocation information
+	 * @return
+	 */
+	public static EList<InstanceSpecification> getNodesOrThreads(InstanceSpecification instanceOrThread) {
+		EList<InstanceSpecification> nodeList = new UniqueEList<InstanceSpecification>();
+
+		for (DirectedRelationship relationship : instanceOrThread.getSourceDirectedRelationships(UMLPackage.eINSTANCE.getAbstraction())) {
+			Abstraction abstraction = (Abstraction) relationship;
+			if (StereotypeUtil.isApplied(abstraction, Allocate.class)) {
+				for (Element target : abstraction.getTargets()) {
+					if (target instanceof InstanceSpecification) {
+						nodeList.add((InstanceSpecification) target);
+					}
+				}
+			}
+		}
+		return nodeList;
+	}
+
+	/**
+	 * This method returns a list of nodes to which the passed instance is allocated. If
+	 * the instance is allocated directly to a node, this node is returned. If the instance
+	 * is allocated to a thread, the allocation of the thread to a node is returned.
+	 *
+	 * @param instanceOrThread
+	 *            The instance that should be deployed
+	 * @return
+	 */
+	public static EList<InstanceSpecification> getNodes(InstanceSpecification instanceOrThread) {
+		EList<InstanceSpecification> nodeList = new UniqueEList<InstanceSpecification>();
+		EList<InstanceSpecification> nodeOrThreads = getNodesOrThreads(instanceOrThread);
+		for (InstanceSpecification nodeOrThread : nodeOrThreads)
+		{
+			Classifier nodeOrThreadC = DepUtils.getClassifier(nodeOrThread);
+			if (StereotypeUtil.isApplied(nodeOrThreadC, SwSchedulableResource.class)) {
+				// treat case that instance is allocated to a thread
+				// follow allocation of Thread
+				nodeList.add(getNode(nodeOrThread));
+			}
+			else {
+				nodeList.add(nodeOrThread);
+			}
+		}
+		return nodeList;
+	}
+
+	/**
+	 * This method updates (and optionally removes) the allocations of an instance
+	 *
+	 * @param instance
+	 *            The instance that should be deployed
+	 * @param oldNode
+	 *            the old node allocation
+	 * @param newNode
+	 *            the new node allocation, may be null to indicate removal
+	 * @return
+	 */
+	public static EList<Node> updateAllocation(InstanceSpecification instance, InstanceSpecification oldNode, InstanceSpecification newNode) {
+		EList<Node> nodeList = new UniqueEList<Node>();
+
+		Iterator<DirectedRelationship> relShipIt =
+				instance.getSourceDirectedRelationships(UMLPackage.eINSTANCE.getAbstraction()).iterator();
+
+		while (relShipIt.hasNext()) {
+			Abstraction abstraction = (Abstraction) relShipIt.next();
+			if (StereotypeUtil.isApplied(abstraction, Allocate.class)) {
+				EList<NamedElement> suppliers = abstraction.getSuppliers(); // use suppliers instead of targets (derived)
+				for (int index = 0; index < suppliers.size(); index++) {
+					if (suppliers.get(index) == oldNode) {
+						if (newNode == null) {
+							// remove relationship completely, since we assume a single target
+							// (cannot call remove on relShipIt, since list is derived)
+							abstraction.destroy();
+						} else {
+							suppliers.set(index, newNode);
+						}
+						break;
+					}
+				}
+			}
+		}
+		return nodeList;
+	}
+
+	/**
+	 * Retrieve a list of nodes to which the instance is allocated to *or*
+	 * to which one of the contained instances is allocated to (recursively)
+	 *
+	 * @param instance
+	 * @param A
+	 *            port of the composite. Contained instances are examined only if
+	 *            they have a connection with this port.
+	 * @return a list of nodes
+	 */
+	public static EList<InstanceSpecification> getAllNodesForPort(InstanceSpecification instance, Port port) {
+		EList<InstanceSpecification> nodeList = getNodes(instance);
+		Classifier composite = DepUtils.getClassifier(instance);
+		if (composite instanceof Class) {
+			Class compositeCL = (Class) composite;
+			for (Slot slot : instance.getSlots()) {
+				Property containedProperty = (Property) slot.getDefiningFeature();
+
+				for (Connector connection : compositeCL.getOwnedConnectors()) {
+					// is one connector end targeted at the containedProperty ?
+					ConnectorEnd end = ConnectorUtil.connEndForPart(connection, containedProperty);
+					if (end == null) {
+						continue;
+					}
+
+					// does the connector at the same connect the composite's port?
+					if (ConnectorUtil.connectsPort(connection, port)) {
+						Port containedPort = (Port) end.getRole();
+						nodeList.addAll(getAllNodesForPort(DepUtils.getInstance(slot), containedPort));
+					}
+				}
+			}
+		}
+		return nodeList;
+	}
+
+	public static boolean allocate(InstanceSpecification instance, InstanceSpecification node) {
+		Package cdp = (Package) instance.getOwner();
+		Abstraction allocation = (Abstraction)
+				cdp.createPackagedElement("allocate " + instance.getName() + //$NON-NLS-1$
+						" to " + node.getName(), UMLPackage.eINSTANCE.getAbstraction()); //$NON-NLS-1$
+		if (StereotypeUtil.apply(allocation, Allocate.class) == null) {
+			// stereotype application failed
+			allocation.destroy();
+			return false;
+		}
+		allocation.getClients().add(instance);
+		allocation.getSuppliers().add(node);
+		return true;
+	}
+
+	/**
+	 * Assign node name to leafs
+	 *
+	 * @param instance
+	 * @param A
+	 *            port of the composite. Contained instances are examined only if the
+	 *            have a connection with this port. If null, no sub-instances are examined
+	 * @param nodes
+	 *            A list of nodes to which leafs are allocated
+	 */
+	public static void propagateNodesViaPort(InstanceSpecification instance, Port port, EList<InstanceSpecification> nodes) {
+		if (instance == null) {
+			return;
+		}
+		EList<Slot> slots = instance.getSlots();
+		Class composite = DepUtils.getImplementation(instance);
+
+		// Only set allocation on leafs (TODO: assure that components with configuration attributes are not considered as leafs)
+		// if(composite.getParts().size() == 0) {
+		for (InstanceSpecification node : nodes) {
+			AllocUtils.allocate(instance, node);
+		}
+
+		if ((composite != null) && (port != null)) {
+			Class compositeCL = composite;
+			for (Slot slot : slots) {
+				Property containedProperty = (Property) slot.getDefiningFeature();
+
+				for (Connector connection : compositeCL.getOwnedConnectors()) {
+					if (ConnectorUtil.connectsPort(connection, port)) {
+						ConnectorEnd end = ConnectorUtil.connEndForPart(connection, containedProperty);
+						// other connector end targeted at containedProperty?
+						if (end != null) {
+							Port containedPort = (Port) end.getRole();
+							propagateNodesViaPort(DepUtils.getInstance(slot), containedPort, nodes);
+						}
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * Return the start Port of a component, i.e. a port that corresponds to the "magic" port name
+	 * start and is typed with the interface IStart
+	 *
+	 * @param component
+	 *            a component implementation
+	 * @return The start port or null
+	 */
+	public static Port getStartPort(Class component) {
+		Element startPortElem = ElementUtils.getNamedElementFromList(component.getAllAttributes(), startPortName);
+		if (startPortElem instanceof Port) {
+			Port startPort = (Port) startPortElem;
+			if (startPort.getType().getName().equals(startPortType)) {
+				return startPort;
+			}
+		}
+		return null;
+	}
+}
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/CORBAtypeNames.java b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/CORBAtypeNames.java
new file mode 100644
index 0000000..c96e4a3
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/CORBAtypeNames.java
@@ -0,0 +1,28 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.deployment.tools;
+
+/**
+ * A collection of numerical CORBA type names. Used to determine whether a
+ * numerical value specification (LiteralInteger) should be used during deployment
+ * plan creation. 
+ */
+public class CORBAtypeNames {
+	public static final String Octet = "corba::octet"; //$NON-NLS-1$
+	public static final String Long = "corba::long"; //$NON-NLS-1$
+	public static final String UnsignedLong = "corba::unsigned long"; //$NON-NLS-1$
+	public static final String Short = "corba::short"; //$NON-NLS-1$
+	public static final String UnsignedShort = "corba::unsigned short"; //$NON-NLS-1$
+}
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/ConfigUtils.java b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/ConfigUtils.java
new file mode 100644
index 0000000..631a746
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/ConfigUtils.java
@@ -0,0 +1,102 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.deployment.tools;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.ConfigurationProperty;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.UseInstanceConfigurator;
+import org.eclipse.papyrus.designer.transformation.extensions.InstanceConfigurator;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+public class ConfigUtils {
+
+	/**
+	 * Get the configuration properties of a class
+	 *
+	 * @param component
+	 * @return
+	 */
+	public static EList<Property> getConfigAttributes(Classifier component) {
+
+		EList<Property> list = new BasicEList<Property>();
+
+		for (Property part : component.getAllAttributes()) {
+			if (DepUtils.allAttributesAreConfigAttributs()) {
+				// return all attributes
+				list.add(part);
+			}
+			// otherwise add only attributes tagged as configuration properties
+			else if (StereotypeUtil.isApplied(part, ConfigurationProperty.class)) {
+				list.add(part);
+			}
+		}
+		return list;
+	}
+
+	/**
+	 * Configure an instance. The configurator is selected by means of a stereotype on the classifier of
+	 * the passed instance.
+	 *
+	 * @see org.eclipse.papyrus.designer.transformation.extensions.IInstanceConfigurator
+	 * @param instance
+	 *            the specification of instance that should be configured
+	 * @param componentPart
+	 *            the part representing the instance (before container expansion)
+	 * @param port
+	 *            a port within the context of container
+	 */
+	public static void configureInstance(InstanceSpecification instance, Property componentPart, InstanceSpecification parentInstance) {
+		Classifier component = DepUtils.getClassifier(instance);
+		UseInstanceConfigurator useInstanceConfigurator = UMLUtil.getStereotypeApplication(component, UseInstanceConfigurator.class);
+		InstanceConfigurator.configureInstance(useInstanceConfigurator, instance, componentPart, parentInstance);
+	}
+	
+	/**
+	 * Get the configuration attributes behind a container rule
+	 * TODO: rule might not be active - should we still configure it??
+	 *
+	 * @param aRule
+	 * @return
+	 * @throws TransformationException
+	 */
+	/*
+	public static EList<Property> getConfigAttributes(ContainerRule rule) throws TransformationException {
+		EList<Property> list = new BasicEList<Property>();
+		Class composite = rule.getBase_Class(); // a rule should always have a base class, unless malformed
+		if (composite == null) {
+			throw new TransformationException(Messages.ConfigUtils_RuleWithoutBaseClass);
+		}
+		for (Property part : composite.getAttributes()) {
+			if (part instanceof Port) {
+				continue;
+			}
+			Type type = part.getType();
+			if (StereotypeUtil.isApplied(part, ConfigurationProperty.class)) {
+				list.add(part);
+			}
+			if (type instanceof Class) {
+				list.addAll(getConfigAttributes((Class) type));
+			}
+		}
+
+		return list;
+	}
+	*/
+}
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/DepCreation.java b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/DepCreation.java
new file mode 100644
index 0000000..e50a449
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/DepCreation.java
@@ -0,0 +1,599 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.deployment.tools;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Stack;
+
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndex;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.AutoIndexPerNode;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.ConfigurationProperty;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.CopyAttributeValue;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationRTException;
+import org.eclipse.papyrus.designer.transformation.extensions.IM2MTrafo;
+import org.eclipse.papyrus.designer.transformation.extensions.M2MTrafoExt;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafoChain;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+public class DepCreation {
+
+	private static Map<Object, Integer> map;
+
+	public static final String valueFor = "value for "; //$NON-NLS-1$
+
+	// TODO: why needed?
+	public static final String CREATE_CONNECTIONS = "createConnections"; //$NON-NLS-1$
+
+	/**
+	 * Create a slot and add an instance value associated with a part instance
+	 * specification.
+	 *
+	 * @param is
+	 *            the instance specification for which a slot should be created
+	 * @param partIS
+	 *            the instance specification associated with the slot (to be
+	 *            precise with slot's instance value)
+	 * @param part
+	 *            the part associated with the slot, i.e. its defining feature
+	 * @return The created slot
+	 */
+	public static Slot createSlot(InstanceSpecification is, InstanceSpecification partIS, Property part) {
+		// the instance specification of the composite has a slot for each part
+		// and it points
+		// to the instance specification associated with the part.
+		Slot slot = is.createSlot();
+		slot.setDefiningFeature(part);
+
+		InstanceValue iv = (InstanceValue) slot.createValue(null, null, UMLPackage.eINSTANCE.getInstanceValue());
+		iv.setInstance(partIS);
+		return slot;
+
+	}
+
+
+	/**
+	 * Create a Slot and a value for a configuration attribute
+	 *
+	 * @param attribute
+	 */
+	public static Slot createSlotForConfigProp(InstanceSpecification is, Property attribute) {
+
+		Slot slot = is.createSlot();
+		slot.setDefiningFeature(attribute);
+		// For primitive types, the UML type does not provide sufficient information to decide
+		// whether it is a string or a numerical value. In case of the C++ profile, primitive
+		// UML types denote a language specific type, but we want to avoid C++ specific code, if
+		// possible.
+		// => pragmatic solution: use LiteralString as default, unless a check for some known numerical
+		// primitive types holds (in particular the UML primitive types)
+		// In addition, string values are not automatically quoted, i.e. it is possible to enter e.g.
+		// a float value as a string expression (it also means that a "real" string value must be quoted
+		// by the user).
+		Type type = attribute.getType();
+		if (type != null) {
+			String name = type.getName();
+			String qname = type.getQualifiedName();
+			if (type instanceof Enumeration) {
+				slot.createValue(valueFor + attribute.getName(), type, UMLPackage.eINSTANCE.getInstanceValue());
+			} else if (name.equals("Integer") || qname.equals(CORBAtypeNames.Octet) //$NON-NLS-1$
+					|| qname.equals(CORBAtypeNames.Long) || qname.equals(CORBAtypeNames.UnsignedLong) || qname.equals(CORBAtypeNames.Short) || qname.equals(CORBAtypeNames.UnsignedShort)) {
+				slot.createValue(valueFor + attribute.getName(), type, UMLPackage.eINSTANCE.getLiteralInteger());
+			} else if (name.equals("Boolean")) { //$NON-NLS-1$
+				slot.createValue(valueFor + attribute.getName(), type, UMLPackage.eINSTANCE.getLiteralBoolean());
+			} else {
+				slot.createValue(valueFor + attribute.getName(), type, UMLPackage.eINSTANCE.getLiteralString());
+			}
+		}
+		return slot;
+	}
+
+	/**
+	 * Create a string slot and a value for a configuration attribute
+	 *
+	 * @param attribute
+	 */
+	public static Slot createStringSlotForConfigProp(InstanceSpecification is, Property attribute) {
+
+		Slot slot = is.createSlot();
+		slot.setDefiningFeature(attribute);
+		Type type = attribute.getType();
+		if (type != null) {
+			slot.createValue(valueFor + attribute.getName(), type, UMLPackage.eINSTANCE.getLiteralString());
+		}
+		return slot;
+	}
+
+	/**
+	 * create a deployment plan, i.e. a set of instances that correspond to an
+	 * implementation which is potentially a composite. In case of the latter,
+	 * this function is called recursively to create deployment plans for the
+	 * parts. Since a composite implementation may optionally specify only the
+	 * type of parts (not the concrete implementation), this function also
+	 * supports that a type is passed. In this case, an implementation is
+	 * automatically assigned.
+	 *
+	 * @param cdp
+	 *            the deployment plan (package) in which to create instances
+	 * @param typeOrImplem
+	 *            the type
+	 * @param nane
+	 *            the name of the instance
+	 * @param createSlotsForConfigValues
+	 *            if true, create slots for configuration values
+	 */
+	public static InstanceSpecification createDepPlan(Package cdp, Class typeOrImplem, String name, boolean createSlotsForConfigValues) throws TransformationException {
+		return createDepPlan(cdp, typeOrImplem, name, createSlotsForConfigValues, new Stack<Classifier>());
+	}
+
+	public static InstanceSpecification createDepPlan(Package cdp, Class typeOrImplem, String name, boolean createSlotsForConfigValues, Stack<Classifier> visitedClassifiers) throws TransformationException {
+		// create an instance specification for the composite
+		if (visitedClassifiers.contains(typeOrImplem)) {
+			String path = ""; //$NON-NLS-1$
+			for (Classifier cl : visitedClassifiers) {
+				if (path.length() > 0) {
+					path += ", "; //$NON-NLS-1$
+				}
+				path += cl.getName();
+			}
+			path += ", " + typeOrImplem.getName(); //$NON-NLS-1$
+			throw new TransformationException(String.format(Messages.DepCreation_CircularReference, typeOrImplem.getQualifiedName(), path));
+		}
+		visitedClassifiers.push(typeOrImplem);
+
+		InstanceSpecification is;
+		// treat singleton
+		if (DepUtils.isSingleton(typeOrImplem)) {
+
+			// use canonical name for singleton instance - lower case for type-name
+			String instanceName = DeployConstants.singletonPrefix + typeOrImplem.getName().toLowerCase();
+			PackageableElement pe = cdp.getPackagedElement(instanceName);
+
+			if (pe == null) {
+				// instance specification for singleton does not exist yet => create
+				is = (InstanceSpecification) cdp.createPackagedElement(name, UMLPackage.eINSTANCE.getInstanceSpecification());
+			} else if (pe instanceof InstanceSpecification) {
+				// exists already, return it without recursing into its sub-specifications
+				return (InstanceSpecification) pe;
+			} else {
+				// unlikely case that a packaged element with the name
+				// <singletonISname> exists already, but is not an instance specification
+				throw new TransformationException(String.format(Messages.DepCreation_SingletonExistsAlready, name));
+			}
+		} else {
+			is = (InstanceSpecification) cdp.createPackagedElement(name, UMLPackage.eINSTANCE.getInstanceSpecification());
+		}
+
+		Class implementation = null;
+
+		// treat HW architecture or nodes as implementations
+		if (!typeOrImplem.isAbstract() || typeOrImplem instanceof Node) {
+			// implementation is known => must be able to do this.
+			if (typeOrImplem instanceof Class) {
+				implementation = typeOrImplem;
+			}
+		} else {
+			// problem? further tree expansion might depend on chosen
+			// implementation)
+			// TODO: don't know node yet => implementation choice is more
+			// general than necessary
+			implementation = DepUtils.chooseImplementation(typeOrImplem, null, null);
+		}
+
+		if (!(implementation instanceof Class)) {
+			throw new TransformationException(String.format(Messages.DepCreation_CannotFindImplementation, name, typeOrImplem.getName()));
+		}
+		// else implementation is instance of Class (and not null)
+
+		is.getClassifiers().add(implementation);
+		// create slots for elements that are not in the current model but will be added by transformations, e.g.
+		// container and connector transformations.
+		// TODO: this is not very clean since the referenced elements are actually not in the model (e.g. the connector is
+		// not yet a part which could referenced as a defining feature of a slot). This might require a different strategy
+		// in which the transformed model is part of the user model and synchronized).
+		if (createSlotsForConfigValues) {
+			addConfigurationOfAddedElements(cdp, is);
+		}
+		/*
+		 * EList<ContainerRule> rules = FCMUtil.getAllContainerRules(implementation);
+		 * // create slots for configuration.
+		 * for (ContainerRule rule : rules) {
+		 * addConfigurationOfContainer(rule, is);
+		 * }
+		 * }
+		 * 
+		 * for (Connector connector : implementation.getOwnedConnectors()) {
+		 * org.eclipse.papyrus.designer.components.FCM.Connector fcmConn = UMLUtil.getStereotypeApplication(connector, org.eclipse.papyrus.designer.components.FCM.Connector.class);
+		 * if (fcmConn != null) {
+		 * String partName = name + "." + connector.getName(); //$NON-NLS-1$
+		 * InteractionComponent connectorComp = fcmConn.getIc();
+		 * if (connectorComp != null) {
+		 * Class cl = fcmConn.getIc().getBase_Class();
+		 * if (cl == null) {
+		 * throw new TransformationException(Messages.DepCreation_FCMconnectorWithoutBaseClass);
+		 * }
+		 * // create sub-instance for connector. It is not possible to
+		 * // create a slot in the owning instance specification,
+		 * // since the connector cannot be referenced as a defining-feature
+		 * createDepPlan(cdp, cl, partName, createSlotsForConfigValues, visitedClassifiers);
+		 * }
+		 * }
+		 * }
+		 */
+
+		for (Property attribute : implementation.getAllAttributes()) {
+			// loop over all attributes (not only parts, since we need to
+			// capture singletons)
+			if (attribute instanceof Port) {
+				continue;
+			}
+			Type type = attribute.getType();
+
+			if (DepUtils.isComposition(attribute)) {
+				// composition, attribute is a part
+				if (type instanceof Class) {
+					Class cl = (Class) type;
+
+					// TODO: ad-hoc replication support. Better solution via design patterns
+					int upper = attribute.getUpper();
+					String infix = ""; //$NON-NLS-1$
+
+					// TODO: check validation constraints
+					for (int i = 0; i < upper; i++) {
+						String partName = name + "." + attribute.getName(); //$NON-NLS-1$
+						if (upper > 1) {
+							partName += "_" + infix + i; //$NON-NLS-1$
+						}
+						InstanceSpecification partIS = createDepPlan(cdp, cl, partName, createSlotsForConfigValues, visitedClassifiers);
+						// may not create slot for singleton, since automatically done
+						if (!DepUtils.isSingleton((Class) type)) {
+							createSlot(is, partIS, attribute);
+						}
+					}
+				} else if (StereotypeUtil.isApplied(attribute, ConfigurationProperty.class) && createSlotsForConfigValues) {
+					// is a configuration property, create slot
+					// TODO: implicit assumption that configuration attributes
+					// are not components
+					createSlotForConfigProp(is, attribute);
+				}
+			} else if (type instanceof Class) {
+				// no composition - only create slot, if a singleton
+				// (otherwise, it's not clear with which instance the slot
+				// should be associated)
+				if (DepUtils.isSingleton((Class) type)) {
+					// is a singleton - exactly one instance exists
+					// recursive call - pass empty name, since name for singletons is re-calculated.
+					InstanceSpecification singletonIS = createDepPlan(cdp, (Class) type, "", createSlotsForConfigValues, visitedClassifiers); //$NON-NLS-1$
+					createSlot(is, singletonIS, attribute);
+				}
+			} else if (type == null) {
+				throw new TransformationException(String.format(Messages.DepCreation_TypeInAttributeUndefined, attribute.getName(), implementation.getName()));
+			}
+		}
+		visitedClassifiers.pop();
+		return is;
+	}
+
+	/**
+	 * Create slot for configuration properties that originate from elements that are added
+	 * by M2M transformations. For instance, connector and container related transformations
+	 * might add parts that need a configuration.
+	 *
+	 * @param aRule
+	 * @param is
+	 * @throws TransformationException
+	 */
+	private static void addConfigurationOfAddedElements(Package cdp, InstanceSpecification is) throws TransformationException {
+		M2MTrafoChain chain = DepUtils.getTransformationChain(cdp);
+		if (chain != null) {
+			DeploymentPlan cdpStereo = UMLUtil.getStereotypeApplication(cdp, DeploymentPlan.class);
+			if (cdpStereo != null) {
+				for (Property m2mTrafoRef : chain.getBase_Class().getAllAttributes()) {
+					M2MTrafo m2mTrafo = UMLUtil.getStereotypeApplication(m2mTrafoRef.getType(), M2MTrafo.class);
+
+					if (m2mTrafo != null) {
+						IM2MTrafo eTrafo = M2MTrafoExt.getM2MTrafo(m2mTrafo);
+						/*
+						if (eTrafo instanceof IM2MTrafoAddTypes) {
+							EList<Type> addedTypes = ((IM2MTrafoAddTypes) eTrafo).getAddedTypes(m2mTrafo, is);
+							for (Type addedType : addedTypes) {
+								// TODO: create attribute??
+								createSlotForConfigProp(is, null);
+							}
+						}
+						*/
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * create a deployment plan, i.e. a set of instances that correspond to an
+	 * implementation which is potentially a composite. In case of the latter,
+	 * this function is called recursively to create deployment plans for the
+	 * parts. Since a composite implementation may optionally specify only the
+	 * type of parts (not the concrete implementation), this function also
+	 * supports that a type is passed. In this case, an implementation is
+	 * automatically assigned.
+	 *
+	 * @param cdp
+	 *            the deployment plan (package) in which to create instances
+	 * @param typeOrImplem
+	 *            the type
+	 * @param nane
+	 *            the name of the instance
+	 * @param createSlotsForConfigValues
+	 *            if true, create slots for configuration values
+	 */
+	public static InstanceSpecification createPlatformInstances(Package platform, Class implementation, String name) throws TransformationException {
+		// create an instance specification for the composite
+		InstanceSpecification is = null;
+		is = (InstanceSpecification) platform.createPackagedElement(name, UMLPackage.eINSTANCE.getInstanceSpecification());
+		is.getClassifiers().add(implementation);
+
+		// add connector and container implementations
+
+		for (Property attribute : implementation.getAllAttributes()) {
+			// loop over all attributes (not only parts, since we need to
+			// capture singletons)
+			if (attribute instanceof Port) {
+				continue;
+			}
+			Type type = attribute.getType();
+
+			if (DepUtils.isComposition(attribute)) {
+				// composition, attribute is a part
+				if (type instanceof Class) { // should be a node, but do not require it
+					Class cl = (Class) type;
+
+					int upper = attribute.getUpper();
+					String infix = ""; //$NON-NLS-1$
+					// TODO: check validation constraints
+					for (int i = 0; i < upper; i++) {
+						// prefix with name, unless null
+						String partName = (name != null) ? name + DeployConstants.SEP_CHAR : ""; //$NON-NLS-1$
+						partName += attribute.getName();
+						if (upper > 1) {
+							partName += "_" + infix + i; //$NON-NLS-1$
+						}
+						InstanceSpecification partIS = createPlatformInstances(platform, cl, partName);
+
+						if (is != null) {
+							createSlot(is, partIS, attribute);
+						}
+					}
+				} else if (StereotypeUtil.isApplied(attribute, ConfigurationProperty.class)) {
+					// is a configuration property, create slot
+					// TODO: implicit assumption that configuration attributes
+					// are not components
+					createSlotForConfigProp(is, attribute);
+				}
+			}
+		}
+		return is;
+	}
+
+	/**
+	 * Initialize the automatic values within a deployment plan - and the update
+	 * eventual copies of these values.
+	 *
+	 * @param is
+	 *            the main instance of the deployment plan
+	 */
+	public static void initAutoValues(InstanceSpecification is) {
+		Collection<InstanceSpecification> isList = new ArrayList<InstanceSpecification>();
+		isList.add(is);
+		initAutoValues(isList);
+	}
+
+	/**
+	 * Initialize the automatic values within a deployment plan - and update
+	 * eventual copies of these values.
+	 *
+	 * @param isList
+	 *            a list of instance specifications
+	 */
+	public static void initAutoValues(Collection<InstanceSpecification> isList) {
+		map = new HashMap<Object, Integer>();
+		for (InstanceSpecification is : isList) {
+			initAutoValuesHelper(is);
+		}
+		Stack<InstanceSpecification> isStack = new Stack<InstanceSpecification>();
+		for (InstanceSpecification is : isList) {
+			copyAutoValues(isStack, is);
+		}
+	}
+
+	/**
+	 * Initialize the automatic values within a deployment plan.
+	 *
+	 * @param is
+	 *            the main instance of the deployment plan
+	 */
+	public static void initAutoValuesHelper(InstanceSpecification is) {
+		for (Slot slot : is.getSlots()) {
+			StructuralFeature sf = slot.getDefiningFeature();
+			if (sf == null) {
+				throw new RuntimeException(String.format(Messages.DepCreation_DefiningFeatureNull, slot.getOwningInstance().getName()));
+			}
+			if (StereotypeUtil.isApplied(sf, AutoIndex.class)) {
+				Integer value = null;
+				Object key;
+				if (StereotypeUtil.isApplied(sf, AutoIndexPerNode.class)) {
+					InstanceSpecification nodeOrThread = AllocUtils.getNode(is);
+					key = sf.getName() + nodeOrThread.getName();
+				} else {
+					key = sf;
+				}
+				if (!map.containsKey(key)) {
+					map.put(key, new Integer(0));
+				}
+				value = map.get(key);
+				value++; // no need to put incremented value back into map,
+							// since Integer is a reference => value is updated
+
+				// create slot and value specification (literal-integer) for the
+				// auto index
+				LiteralInteger li = (LiteralInteger) slot.createValue(sf.getName() + DeployConstants.AUTO_POSTFIX, sf.getType(), UMLPackage.eINSTANCE.getLiteralInteger());
+				li.setValue(value);
+
+				// recursion in case of values that are instance values
+				for (ValueSpecification vs : slot.getValues()) {
+					if (vs instanceof InstanceValue) {
+						InstanceSpecification subIS = ((InstanceValue) vs).getInstance();
+						initAutoValues(subIS);
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * Copy automatic values within a deployment plan.
+	 * Attributes can apply the CopyAttributeValue stereotype. The stereotype can point
+	 * to another attribute (source). If the other attribute has a configuration value, it gets
+	 * copied.
+	 * The function takes into account that the source attribute might be in a component that is
+	 * instantiated several times with different configuration values. The attribute that gets the
+	 * copy must use the "nearest" value which means that there must be a common composite that
+	 * contains both attribute (indirectly).
+	 * The main use case is that connector fragments need to have common configuration attributes
+	 * (e-g- server fragment has automatic index value, client fragment needs to copy this value)
+	 *
+	 * @param is
+	 *            the main instance of the deployment plan
+	 */
+	public static void copyAutoValues(Stack<InstanceSpecification> isStack, InstanceSpecification is) {
+		isStack.push(is);
+		for (Slot slot : is.getSlots()) {
+			StructuralFeature sf = slot.getDefiningFeature();
+			if (sf == null) {
+				throw new TransformationRTException(is.getName() + " has a slot without defining feature"); //$NON-NLS-1$
+			}
+			if (StereotypeUtil.isApplied(sf, CopyAttributeValue.class)) {
+				CopyAttributeValue cav = UMLUtil.getStereotypeApplication(sf, CopyAttributeValue.class);
+				Property source = cav.getSource();
+				ValueSpecification vs = getNearestValue(isStack, source);
+				if (vs instanceof LiteralInteger) {
+					LiteralInteger liCopy = (LiteralInteger) slot.createValue(sf.getName() + "_copy", sf.getType(), //$NON-NLS-1$
+							UMLPackage.eINSTANCE.getLiteralInteger());
+					int value = ((LiteralInteger) vs).getValue();
+					liCopy.setValue(value);
+				}
+			}
+
+			// recursion in case of values that are instance values
+			for (ValueSpecification vs : slot.getValues()) {
+				if (vs instanceof InstanceValue) {
+					InstanceSpecification subIS = ((InstanceValue) vs).getInstance();
+					if (subIS != null) {
+						copyAutoValues(isStack, subIS);
+					}
+				}
+			}
+		}
+		isStack.pop();
+	}
+
+	/**
+	 * try to find a value (ValueSpecification) for the passed source element,
+	 * beginning a the "deepest" instance specification of the passed stack. If
+	 * not found, continue at elements higher up in the hierarchy
+	 *
+	 * @param isStack
+	 *            a stack of instance specifications corresponding to a path
+	 *            within an instance tree
+	 * @param source
+	 *            a property (defining feature) for which we search an instance
+	 *            specification
+	 * @return The value specifications for the passed source property or null
+	 */
+	public static ValueSpecification getNearestValue(Stack<InstanceSpecification> isStack, Property source) {
+		Stack<InstanceSpecification> copy = new Stack<InstanceSpecification>();
+		copy.addAll(isStack);
+		while (!copy.isEmpty()) {
+			InstanceSpecification pop = copy.pop();
+			ValueSpecification vs = getNearestValueHelper(isStack, pop, source);
+			if (vs != null) {
+				return vs;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Helper for getNearestValue: search for an instance specification that has
+	 * source as defining feature. Start at the passed instance specification,
+	 * but do not recurse into elements that are contained in the stack.
+	 *
+	 * @param isStack
+	 *            A stack of instance specifications corresponding to a path
+	 *            within an instance tree
+	 * @param is
+	 *            the starting instance specification
+	 * @param source
+	 *            source a property (defining feature) for which we search an
+	 *            instance specification
+	 * @return The value specifications for the passed source property or null
+	 */
+	public static ValueSpecification getNearestValueHelper(Stack<InstanceSpecification> isStack, InstanceSpecification is, Property source) {
+		for (Slot slot : is.getSlots()) {
+			StructuralFeature sf = slot.getDefiningFeature();
+			if (sf == source) {
+				// found property, now return first value specification
+				for (ValueSpecification vs : slot.getValues()) {
+					return vs;
+				}
+				return null;
+			}
+
+			// recursion in case of values that are instance values
+			for (ValueSpecification vs : slot.getValues()) {
+				if (vs instanceof InstanceValue) {
+					InstanceSpecification subIS = ((InstanceValue) vs).getInstance();
+					if (!isStack.contains(subIS)) {
+						// only recurse, if not contained in stack of instance
+						// specifications (avoid traversing
+						// the same elements multiple times)
+						return getNearestValueHelper(isStack, subIS, source);
+					}
+				}
+			}
+		}
+		return null;
+	}
+}
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/DepPlanUtils.java b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/DepPlanUtils.java
new file mode 100644
index 0000000..85c599c
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/DepPlanUtils.java
@@ -0,0 +1,359 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.deployment.tools;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.Enumerator;
+import org.eclipse.emf.ecore.ENamedElement;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+public class DepPlanUtils {
+
+	/**
+	 * Return the package in which deployment plans are stored. Caveat: needs to be executed within a
+	 * transition, since the deployment plan package will be created, if it does not exist yet.
+	 *
+	 * @param element
+	 *            an arbitrary element of the source model (i.e. the model that will
+	 *            store the deployment plan
+	 * @return package in which deployment plans are stored
+	 */
+	public static Package getDepPlanRoot(Element element) {
+		return ElementUtils.getRoot(element, DeployConstants.depPlanFolder);
+	}
+
+	/**
+	 * Return all deployment plans
+	 *
+	 * @param element
+	 *            an arbitrary element of the source model (i.e. the model that will
+	 *            store the deployment plan
+	 * @return
+	 */
+	public static EList<Package> getAllDepPlans(Element element) {
+		Package root = PackageUtil.getRootPackage(element);
+		Package depPlanRoot = root.getNestedPackage(DeployConstants.depPlanFolder);
+		EList<Package> depPlanList = new BasicEList<Package>();
+		if (depPlanRoot != null) {
+			for (Package pkg : depPlanRoot.getNestedPackages()) {
+				if (StereotypeUtil.isApplied(pkg, DeploymentPlan.class)) {
+					depPlanList.add(pkg);
+				}
+			}
+		}
+		return depPlanList;
+	}
+
+	public static void delDepPlan(InstanceSpecification is) {
+		Iterator<Slot> slots = is.getSlots().iterator();
+		while (slots.hasNext()) {
+			Slot slot = slots.next();
+			InstanceSpecification subInstance = getInstance(slot);
+			if (subInstance != null) {
+				delDepPlan(subInstance);
+			}
+		}
+		Element owner = is.getOwner();
+		if (owner instanceof Package) {
+			((Package) owner).getPackagedElements().remove(is);
+		}
+	}
+
+	/**
+	 * Return the instance that is defined by a slot value
+	 *
+	 * @param slot
+	 * @return the first slot that corresponds to an instance specification
+	 */
+	public static InstanceSpecification getInstance(Slot slot) {
+		Iterator<ValueSpecification> values = slot.getValues().iterator();
+		while (values.hasNext()) {
+			ValueSpecification value = values.next();
+			// instances are accessible via ValueSpecification subclass InstanceValue
+			if (value instanceof InstanceValue) {
+				return ((InstanceValue) value).getInstance();
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * create a slot for a given sub-instance specification.
+	 *
+	 * @param cdp
+	 *            a deployment plan
+	 * @param is
+	 *            an instance specification for a composite class
+	 * @param partIS
+	 *            the instance specification of a part within the composite
+	 * @param part
+	 *            the part within the composite
+	 */
+	public static Slot createSlot(Package cdp, InstanceSpecification is, InstanceSpecification partIS, Property part) {
+		// the instance specification of the composite has a slot for each part and it points
+		// to the instance specification associated with the part.
+		Slot slot = is.createSlot();
+		slot.setDefiningFeature(part);
+
+		InstanceValue iv = (InstanceValue)
+				slot.createValue(null, null, UMLPackage.eINSTANCE.getInstanceValue());
+		iv.setInstance(partIS);
+		return slot;
+
+	}
+
+	/**
+	 * Automatically choose an implementation, i.e. choose the first implementation
+	 * within the component model that implements a given component type.
+	 */
+	public static Class autoChooseImplementation(Classifier componentType) {
+		// choose implementation automatically: get the first one that implements the passed type
+		// (problem: further tree expansion might depend on chosen implementation)
+		// get reference to component model, then search all classes contained in it.
+		Package compModel = ElementUtils.getRoot(componentType, DeployConstants.COMPONENT_MODEL);
+		Iterator<Element> elements = compModel.allOwnedElements().iterator();
+		while (elements.hasNext()) {
+			Element element = elements.next();
+			if (element instanceof Class) {
+				Class candidate = (Class) element;
+				if (candidate.getSuperClass(componentType.getName()) != null) {
+					return candidate;
+				}
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Configure an attribute of an instance specification
+	 *
+	 * @param instance
+	 *            the instance specification
+	 * @param property
+	 *            An ENamedElement denoting the name of an attribute of a classifier that
+	 *            is in the classifier list of the instance specification
+	 * @param value
+	 *            the string value. An enumeration can be configured via the name of the literal
+	 */
+	public static void configureProperty(InstanceSpecification instance, ENamedElement property, String value) {
+		configureProperty(instance, property.getName(), value);
+	}
+
+	/**
+	 * Configure an attribute of an instance specification
+	 *
+	 * @param instance
+	 *            the instance specification
+	 * @param propertyName
+	 *            the name of an attribute of a classifier that is in the classifier list
+	 *            of the instance specification
+	 * @param value
+	 *            the string value. An enumeration can be configured via the name of the literal
+	 */
+	public static void configureProperty(InstanceSpecification instance, String propertyName, String value) {
+		Classifier extension = DepUtils.getClassifier(instance);
+		Property attribute = (Property) ElementUtils.getNamedElementFromList(extension.getAllAttributes(), propertyName);
+		if (attribute == null) {
+			throw new RuntimeException(String.format(Messages.DepPlanUtils_CannotFindAttribute, propertyName, extension.getName()));
+		}
+		configureProperty(instance, attribute, value);
+	}
+
+	/**
+	 * Configure an attribute of an instance specification
+	 *
+	 * @param instance
+	 *            the instance specification
+	 * @param attribute
+	 *            an attribute of a classifier that is in the classifier list of the instance specification
+	 * @param value
+	 *            the string value. An enumeration can be configured via the name of the literal
+	 */
+	public static void configureProperty(InstanceSpecification instance, Property attribute, String value) {
+		if (attribute.getType() instanceof Enumeration) {
+			configureEnumProperty(instance, attribute, value);
+		}
+		else {
+			// create a slot for a string value
+			Slot slotStringVal = DepCreation.createSlotForConfigProp(instance, attribute);
+			if (slotStringVal.getValues().get(0) instanceof LiteralString) {
+				((LiteralString) slotStringVal.getValues().get(0)).setValue(value);
+			}
+			else {
+				// indicates that operation has been called although types do not match
+				throw new RuntimeException(String.format(Messages.DepPlanUtils_ConfigOfPropertyFailed, attribute.getName()));
+			}
+		}
+	}
+
+	/**
+	 * Configure an attribute of an instance specification
+	 *
+	 * @param instance
+	 *            the instance specification
+	 * @param property
+	 *            An ENamedElement denoting the name of an attribute of a classifier that
+	 *            is in the classifier list of the instance specification
+	 * @param value
+	 *            the integer value.
+	 */
+	public static void configureProperty(InstanceSpecification instance, ENamedElement property, int value) {
+		configureProperty(instance, property.getName(), value);
+	}
+
+	/**
+	 * Configure an attribute of an instance specification
+	 *
+	 * @param instance
+	 *            the instance specification
+	 * @param propertyName
+	 *            the name of an attribute of a classifier that is in the classifier list
+	 *            of the instance specification
+	 * @param value
+	 *            the integer value.
+	 */
+	public static void configureProperty(InstanceSpecification instance, String propertyName, int value) {
+		Classifier extension = DepUtils.getClassifier(instance);
+		Property attribute = (Property) ElementUtils.getNamedElementFromList(extension.getAllAttributes(), propertyName);
+		if (attribute == null) {
+			throw new RuntimeException(String.format(Messages.DepPlanUtils_CannotFindAttribute, propertyName, extension.getName()));
+		}
+		configureProperty(instance, attribute, value);
+	}
+
+	/**
+	 * Configure an attribute of an instance specification
+	 *
+	 * @param instance
+	 *            the instance specification
+	 * @param attribute
+	 *            an attribute of a classifier that is in the classifier list of the instance specification
+	 * @param value
+	 *            the integer value.
+	 */
+	public static void configureProperty(InstanceSpecification instance, Property attribute, int value) {
+		Slot slotIntVal = instance.createSlot();
+		slotIntVal.setDefiningFeature(attribute);
+		LiteralInteger intValue = (LiteralInteger)
+				slotIntVal.createValue("value for " + attribute.getName(), attribute.getType(), UMLPackage.eINSTANCE.getLiteralInteger()); //$NON-NLS-1$
+		intValue.setValue(value);
+	}
+
+	/**
+	 * Convenience function: allow that an ECore named element is passed instead of a property name. This is useful if the
+	 * parameter that should be configured stems from a static profile
+	 *
+	 * @param instance
+	 *            The instance of which an attribute should be configured.
+	 * @param property
+	 *            The name of the property (denoted by an ENamedElement) that should be configured
+	 * @param value
+	 *            its value in form of an element of an ECore enumerator value
+	 */
+	public static void configureProperty(InstanceSpecification instance, ENamedElement property, Enumerator value) {
+		configureProperty(instance, property.getName(), value);
+	}
+
+	/**
+	 * Configure a property for an enumeration. Enumerations are a bit difficult to handle, since the enumeration literal itself
+	 * must be created first in form of an instance specification
+	 *
+	 * @param instance
+	 *            The instance of which an attribute should be configured.
+	 * @param propertyName
+	 *            The name of the property that should be configured
+	 * @param value
+	 *            its value in form of an element of an ECore enumerator value
+	 */
+	public static void configureProperty(InstanceSpecification instance, String propertyName, Enumerator value) {
+		configureProperty(instance, propertyName, value.getName());
+	}
+
+	/**
+	 * Configure a property for an enumeration. Enumerations are a bit difficult to handle, since the enumeration literal itself
+	 * must be created first in form of an instance specification.
+	 *
+	 * @param instance
+	 *            The instance of which an attribute should be configured.
+	 * @param propertyName
+	 *            The name of the property that should be configured
+	 * @param value
+	 *            its value in form of an String. The function does nothing, if no literal corresponds to the passed
+	 *            String
+	 */
+	public static void configureEnumProperty(InstanceSpecification instance, String propertyName, String literalName) {
+		Classifier extension = DepUtils.getClassifier(instance);
+		Property attribute = (Property) ElementUtils.getNamedElementFromList(extension.getAllAttributes(), propertyName);
+		if (attribute == null) {
+			throw new RuntimeException(String.format(Messages.DepPlanUtils_CannotFindAttribute, propertyName, extension.getName()));
+		}
+		configureEnumProperty(instance, attribute, literalName);
+	}
+
+	public static void configureEnumProperty(InstanceSpecification instance, Property attribute, String literalName) {
+		if (attribute.getType() instanceof Enumeration) {
+			Enumeration enumeration = (Enumeration) attribute.getType();
+			for (EnumerationLiteral enumLiteral : enumeration.getOwnedLiterals()) {
+				if (enumLiteral.getLabel().equals(literalName)) {
+					Slot slotEnumVal = instance.createSlot();
+					slotEnumVal.setDefiningFeature(attribute);
+					InstanceValue enumLitValue = (InstanceValue)
+							slotEnumVal.createValue("value for " + attribute.getName(), attribute.getType(), UMLPackage.eINSTANCE.getInstanceValue()); //$NON-NLS-1$
+					enumLitValue.setInstance(enumLiteral);
+					break;
+				}
+			}
+		}
+	}
+
+	/**
+	 * Update the names of instances within a deployment plan to correspond to changes
+	 * in the hierarchy. In particular, flattening of interaction components requires this update.
+	 *
+	 * @param composite
+	 *            System composite
+	 */
+	public static void updateInstanceNames(InstanceSpecification instance, String name) {
+		instance.setName(name);
+		for (Slot slot : instance.getSlots()) {
+			InstanceSpecification subInstance = DepUtils.getInstance(slot);
+			StructuralFeature sf = slot.getDefiningFeature();
+			if ((subInstance != null) && !DepUtils.isShared(slot)) {
+				updateInstanceNames(subInstance, name + DeployConstants.SEP_CHAR + sf.getName());
+			}
+		}
+	}
+}
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/DepUtils.java b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/DepUtils.java
new file mode 100644
index 0000000..d5bfc2f
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/DepUtils.java
@@ -0,0 +1,608 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.deployment.tools;
+
+import java.util.Iterator;
+import java.util.Stack;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.UniqueEList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.ImplementationProperties;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.Singleton;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.Target;
+import org.eclipse.papyrus.designer.languages.common.profile.Codegen.GeneratorHint;
+import org.eclipse.papyrus.designer.transformation.base.ElementFilter;
+import org.eclipse.papyrus.designer.transformation.base.preferences.PapyrusDesignerPreferenceConstants;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafoChain;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.common.util.UML2Util;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Utilities around instances (within deployment plan)
+ *
+ */
+public class DepUtils {
+
+	public static final String TRAFOS_M2MTRANSFORMATIONS_STANDARD = "trafos::m2mtransformations::Standard"; //$NON-NLS-1$
+
+	/**
+	 * Check whether a class is an eligible implementation for a certain node, i.e.
+	 * has compatible requirements.
+	 * Requires that setCurrentNode has been called earlier
+	 * TODO: how does that work with connector reification between distributeToNode has been
+	 * called??!
+	 *
+	 * @param implemCandidate
+	 * @return
+	 */
+	public static boolean isImplEligible(Class implemCandidate, EList<InstanceSpecification> nodes) {
+		if (implemCandidate.isAbstract()) {
+			return false;
+		}
+		if (nodes != null) {
+			// must fit requirements of all nodes
+			for (InstanceSpecification nodeInstance : nodes) {
+				Target target = UMLUtil.getStereotypeApplication(nodeInstance, Target.class);
+				if (target == null) {
+					// no target information on instance => try to get this
+					// information from the node referenced by the instance
+					target = UMLUtil.getStereotypeApplication(DepUtils.getClassifier(nodeInstance), Target.class);
+				}
+				if (target != null) {
+					ImplementationProperties implProps = UMLUtil.getStereotypeApplication(implemCandidate, ImplementationProperties.class);
+					if (implProps != null) {
+						//if (!implProps.getArch().contains(target.getTargetArch())) {
+							//return false;
+						//}
+						// TODO: check OS and size as well!
+					}
+				}
+			}
+		}
+		return true;
+	}
+
+	/**
+	 * Find a sub instance via its name. This is in particular useful for connectors that cannot be
+	 * found via a slot, since UML only supports structural features (a connector is only a feature)
+	 * in the definingFeature attribute of a slot.
+	 *
+	 * @param owningInstance
+	 *            an owning instance
+	 * @param name
+	 *            name of the sub-element (unqualified)
+	 * @return the found sub-instance or null
+	 */
+	public static InstanceSpecification getNamedSubInstance(InstanceSpecification owningInstance, String name) {
+		Element cdp = owningInstance.getOwner();
+		String candidateName = owningInstance.getName() + "." + name; //$NON-NLS-1$
+		if (cdp instanceof Package) {
+			for (PackageableElement instance : ((Package) cdp).getPackagedElements()) {
+				if (instance instanceof InstanceSpecification) {
+					InstanceSpecification candidate = (InstanceSpecification) instance;
+
+					if (candidateName != null) {
+						if (candidateName.equals(candidate.getName())) {
+							return candidate;
+						}
+					}
+				}
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Automatically choose an implementation, i.e. if the passed classifier
+	 * (1) is already an implementation, simply return it
+	 * (2) is an implementation group, choose the first implementation that fits the requirements
+	 * (3) is a type: choose the first implementation among the heirs that fits the requirements
+	 *
+	 * @param componentType
+	 *            a component type or implementation (class, optionally abstract)
+	 * @param nodes
+	 *            a set of instance specification representing nodes on which this component will be allocated
+	 * @param chooser
+	 *            A chooser for an implementation in case of multiple candidates
+	 * @return a suitable implementation
+	 */
+	public static Class chooseImplementation(Class componentType, EList<InstanceSpecification> nodes, ImplementationChooser chooser) {
+		// choose implementation automatically: get the first one that implements the passed type
+		// get reference to component model, then search all classes contained in it.
+		// TODO: assumption that implementations are in same package as type;
+
+		return chooseImplementation(new BasicEList<Class>(), componentType, nodes, chooser);
+	}
+	
+	public static Class chooseImplementation(EList<Class> implList, Class componentType, EList<InstanceSpecification> nodes, ImplementationChooser chooser) {
+				
+		if (!componentType.isAbstract()) {
+			return componentType;
+		}
+		else {
+			for (DirectedRelationship relship : componentType.getTargetDirectedRelationships()) {
+				if (relship instanceof Generalization) {
+					Classifier source = ((Generalization) relship).getSpecific();
+					if (source instanceof Class) {
+						Class implClass = (Class) source;
+						if (isImplEligible(implClass, nodes)) {
+							implList.add(implClass);
+						}
+					}
+				}
+			}
+		}
+		if (implList.size() == 0) {
+			return null;
+		} else if (implList.size() == 1) {
+			return implList.get(0);
+		} else if (chooser != null) {
+			Class impl = chooser.chooseImplementation(componentType, implList);
+			if (impl != null) {
+				return impl;
+			}
+		} else if (implList.size() > 0) {
+			return implList.get(0);
+		}
+		return null;
+	}
+
+	/**
+	 * return an instance specification for the main instance within
+	 * a package.
+	 *
+	 * @param cdp
+	 *            the deployment plan
+	 */
+	public static EList<InstanceSpecification> getInstances(Package cdp) {
+		EList<InstanceSpecification> list = new BasicEList<InstanceSpecification>();
+		for (PackageableElement pe : cdp.getPackagedElements()) {
+			if (pe instanceof InstanceSpecification) {
+				InstanceSpecification is = (InstanceSpecification) pe;
+				list.add(is);
+			}
+		}
+		return list;
+	}
+	
+	/**
+	 * return an instance specification for the main instance within
+	 * a package.
+	 *
+	 * @param cdp
+	 *            the deployment plan
+	 */
+	public static EList<InstanceSpecification> getTopLevelInstances(Package cdp) {
+		EList<InstanceSpecification> list = new BasicEList<InstanceSpecification>();
+		for (PackageableElement pe : cdp.getPackagedElements()) {
+			if (pe instanceof InstanceSpecification) {
+				InstanceSpecification is = (InstanceSpecification) pe;
+				if (isTopLevelInstance(is)) {
+					list.add(is);
+				}
+			}
+		}
+		return list;
+	}
+
+	/**
+	 * Check whether an instance specification is a top-level instance, i.e. not referenced
+	 * by another one.
+	 * @param is an instance specification
+	 */
+	public static boolean isTopLevelInstance(InstanceSpecification is) {
+		return getReferencingSlots(is).size() == 0;
+	}
+	
+	/**
+	 * return the implementation associated with an instance specification, i.e. a
+	 * Class.
+	 *
+	 * @param instance
+	 * @return
+	 */
+	public static Class getImplementation(InstanceSpecification instance) {
+		Classifier cl = getClassifier(instance);
+		if (cl instanceof Class) {
+			return (Class) cl;
+		}
+		return null;
+	}
+
+	/**
+	 * Return the first classifier referenced by an instance specification. Whereas UML supports
+	 * a set of classifiers, we assume that that an instance specification has only one.
+	 *
+	 * @param instance
+	 *            the instance, for which we are interested in type information
+	 */
+	public static Classifier getClassifier(InstanceSpecification instance) {
+		Iterator<Classifier> classifierIt = instance.getClassifiers().iterator();
+		// simply return the first element (if there is any)
+		if (classifierIt.hasNext()) {
+			return classifierIt.next();
+		}
+		return null;
+	}
+
+	/**
+	 * Return the first instance specification within a deployment plan that instantiates a given
+	 * classifier
+	 *
+	 * @param cdp
+	 *            the deployment plan
+	 * @param cl
+	 *            the classifier
+	 * @return
+	 */
+	public static InstanceSpecification getInstanceForClassifier(Package cdp, Classifier cl) {
+		for (PackageableElement pe : cdp.getPackagedElements()) {
+			if (pe instanceof InstanceSpecification) {
+				InstanceSpecification is = (InstanceSpecification) pe;
+				if (getClassifier(is) == cl) {
+					return is;
+				}
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Return the (unique) list of implementations that are contained within an
+	 * instance specification
+	 */
+	public static EList<Classifier> getContainedImplementations(InstanceSpecification is) {
+		Iterator<InstanceSpecification> instances = getContainedInstances(is).iterator();
+		EList<Classifier> list = new UniqueEList<Classifier>();
+		while (instances.hasNext()) {
+			Classifier implementation = getClassifier(instances.next());
+			list.add(implementation);
+		}
+		return list;
+	}
+
+	/**
+	 * Return the slot that is associated with a property
+	 *
+	 * @param is
+	 *            an instance specification (of a class having properties)
+	 * @param property
+	 *            A property of the classifier associated with the passed instance specification
+	 * @return the associated slot or null, if it does not exist
+	 */
+	public static Slot getSlot(InstanceSpecification is, Property property) {
+		for (Slot slot : is.getSlots()) {
+			if (slot.getDefiningFeature() == property) {
+				return slot;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Return the instance referenced by a slot value, i.e. the first instance value associated
+	 * with a slot
+	 *
+	 * @param slot
+	 * @return
+	 */
+	public static InstanceSpecification getInstance(Slot slot) {
+		for (ValueSpecification value : slot.getValues()) {
+			// instances are accessible via ValueSpecification subclass InstanceValue
+			if (value instanceof InstanceValue) {
+				return ((InstanceValue) value).getInstance();
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * This method returns the instances contained within a composite instance
+	 * specification for an assembly.
+	 */
+	public static EList<InstanceSpecification> getContainedInstances(InstanceSpecification is) {
+		EList<InstanceSpecification> contained = new BasicEList<InstanceSpecification>();
+		for (Slot slot : is.getSlots()) {
+			InstanceSpecification instance = getInstance(slot);
+			if (instance != null) {
+				contained.add(instance);
+			}
+		}
+		return contained;
+	}
+
+	/**
+	 * This method returns the instances contained within a composite instance
+	 * specification for an assembly. Unlike @see getContainedInstances, this method only
+	 * returns contained instances that are not shared.
+	 */
+	public static EList<InstanceSpecification> getContainedNonSharedInstances(InstanceSpecification is) {
+		EList<InstanceSpecification> contained = new BasicEList<InstanceSpecification>();
+		for (Slot slot : is.getSlots()) {
+			InstanceSpecification instance = getInstance(slot);
+			if ((instance != null) && !DepUtils.isShared(slot)) {
+				contained.add(instance);
+			}
+		}
+		return contained;
+	}
+
+	/**
+	 * return all slots that reference an instance specification
+	 *
+	 * @param is
+	 * @return
+	 */
+	public static EList<Slot> getReferencingSlots(InstanceSpecification is) {
+		EList<Slot> list = new BasicEList<Slot>();
+		for (Setting setting : UML2Util.getNonNavigableInverseReferences(is)) {
+			EObject eObj = setting.getEObject();
+			if (eObj instanceof ValueSpecification) {
+				ValueSpecification vs = (ValueSpecification) eObj;
+				Element owner = vs.getOwner();
+				if (owner instanceof Slot) {
+					list.add((Slot) owner);
+				}
+			}
+		}
+		return list;
+	}
+
+	/**
+	 * Return a slot for a given instance specification. The slot is the first one in a list of slots
+	 * whose value points to the passed instance.
+	 *
+	 * @param is
+	 *            an instance that is contained within an composite (i.e. that
+	 *            belongs to a part of this composite).
+	 * @return
+	 */
+	public static Slot getParentSlot(InstanceSpecification is) {
+		for (Slot slot : getReferencingSlots(is)) {
+			if (slot.getDefiningFeature() instanceof Property) {
+				if (((Property) slot.getDefiningFeature()).getAggregation() == AggregationKind.COMPOSITE_LITERAL) {
+					return slot;
+				}
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Return an instance specification that refers to the composite in which the
+	 * passed instance is contained
+	 *
+	 * @param is
+	 *            an instance that is contained within an composite (i.e. that
+	 *            belongs to a part of this composite).
+	 * @return
+	 */
+	public static InstanceSpecification getParentIS(InstanceSpecification is) {
+		Slot parentSlot = getParentSlot(is);
+		if (parentSlot != null) {
+			return parentSlot.getOwningInstance();
+		}
+		return null;
+	}
+
+	/**
+	 * Return the access path in terms of slots to an instance specification, i.e. the
+	 * set of slots starting with the slot within the main instance that identifies the next
+	 * instance until arriving at the passed instance.
+	 *
+	 * @param is
+	 * @return
+	 */
+	public static Stack<Slot> getAccessPath(InstanceSpecification is) {
+		Stack<Slot> path = new Stack<Slot>();
+		while (is != null) {
+			Slot parentSlot = getParentSlot(is);
+			if (parentSlot == null) {
+				break;
+			}
+			path.insertElementAt(parentSlot, 0);
+			is = parentSlot.getOwningInstance();
+		}
+		return path;
+	}
+
+	/**
+	 * Return true, if an instance is shared
+	 *
+	 * @param slot
+	 * @return
+	 */
+	public static boolean isShared(Slot slot) {
+		StructuralFeature df = slot.getDefiningFeature();
+		if (df instanceof Property) {
+			return ((Property) df).getAggregation() == AggregationKind.SHARED_LITERAL;
+		}
+		return false;
+	}
+
+	/**
+	 * Determine which programming language should be generated for a classifier. The
+	 * stereotype GeneratorHint (which could be on any owning package) is evaluated.
+	 *
+	 * @param element
+	 *            an element (typically a classifier or a package)
+	 * @return the programming language
+	 */
+	public static String getLanguageFromElement(Element element) {
+		GeneratorHint codeGenOpt = UMLUtil.getStereotypeApplication(element, GeneratorHint.class);
+		if ((codeGenOpt != null) && (codeGenOpt.getLanguage() != null)) {
+			return codeGenOpt.getLanguage().getBase_Class().getName();
+		}
+		else if (element.getOwner() instanceof Package) {
+			return getLanguageFromElement(element.getOwner());
+		}
+		else {
+			// Use C++ as default generation language
+			return "C++"; //$NON-NLS-1$;
+		}
+	}
+
+	/**
+	 * Return the target language when given the mainInstance 
+	 * @param mainInstance the mainInstance of an application
+	 * @return target language
+	 */
+	public static String getTargetLanguage(InstanceSpecification mainInstance) {
+		Classifier cl = DepUtils.getClassifier(mainInstance);
+		String targetLanguage = DepUtils.getLanguageFromElement(cl);
+		return targetLanguage;
+	}
+	
+	/**
+	 * Get all instances within a package that comply with a filter criterion. Recurse into sub-packages.
+	 *
+	 * @param pkg
+	 *            Starting package for search
+	 * @param instanceList
+	 *            list of instances
+	 * @param filter
+	 *            filter criterion.
+	 */
+	public static void getAllInstances(Package pkg, EList<InstanceSpecification> instanceList, ElementFilter filter) {
+		for (PackageableElement el : pkg.getPackagedElements()) {
+			if (el instanceof Package) {
+				getAllInstances((Package) el, instanceList, filter);
+			}
+			else if (el instanceof InstanceSpecification) {
+				InstanceSpecification instance = (InstanceSpecification) el;
+				if (filter.acceptElement(instance)) {
+					instanceList.add(instance);
+				}
+			}
+		}
+	}
+
+	/**
+	 * Return the first value for a slot.
+	 *
+	 * @param slot
+	 *            the slot for which the first value should be returned.
+	 * @return
+	 */
+	public static ValueSpecification firstValue(Slot slot) {
+		if (slot.getValues().size() > 0) {
+			return slot.getValues().get(0);
+		}
+		return null;
+	}
+	
+	/**
+	 * Return true, if aggregation type "none" should be treated in the same way
+	 * as aggregation kind "composite". This information is used to create instances
+	 * in compositions
+	 * @return true, if aggregation type "none" should be as "composite"
+	 */
+	public static boolean treatNoneAsComposite() {
+		IPreferenceStore store = Activator.getDefault().getPreferenceStore();
+		return store.getBoolean(PapyrusDesignerPreferenceConstants.P_TREAT_NONE_AS_COMPOSITE);
+	}
+
+	/**
+	 * @return true, if all attributes of a class are considered as configuration attributes.
+	 */
+	public static boolean allAttributesAreConfigAttributs() {
+		IPreferenceStore store = Activator.getDefault().getPreferenceStore();
+		return store.getBoolean(PapyrusDesignerPreferenceConstants.P_ALL_ATTRIBUTES_ARE_CONFIG_ATTRIBUTES);
+	}
+
+	public static EList<Property> getParts(Class implementation) {
+		if (treatNoneAsComposite()) {
+			EList<Property> parts = new BasicEList<Property>();
+			for (Property part : implementation.getAttributes()) {
+				if (part.getAggregation() != AggregationKind.SHARED_LITERAL) {
+					parts.add(part);
+				}
+			}
+			return parts;
+		}
+		else {
+			return implementation.getParts();
+		}
+	}
+
+	/**
+	 * return true, if a component (implementation) is a composite, i.e. has
+	 * inner parts
+	 */
+	public static boolean isComposite(Class implementation) {
+		return (getParts(implementation).size() > 0);
+	}
+
+	/**
+	 * @param attribute
+	 *            an attribute
+	 * @return true, if the aggregation kind is considered as a composition
+	 */
+	public static boolean isComposition(Property attribute) {
+		if (treatNoneAsComposite()) {
+			return (attribute.getAggregation() != AggregationKind.SHARED_LITERAL);
+		}
+		else {
+			return (attribute.getAggregation() == AggregationKind.COMPOSITE_LITERAL);
+		}
+	}
+
+	public static boolean isSingleton(Class component) {
+		return StereotypeUtil.isApplied(component, Singleton.class);
+	}
+	
+	public static M2MTrafoChain getTransformationChain(Package cdp) {
+		M2MTrafoChain chain = null;
+		if (cdp != null) {
+			DeploymentPlan cdpStereo = UMLUtil.getStereotypeApplication(cdp, DeploymentPlan.class);
+			if (cdpStereo != null) {
+				chain = cdpStereo.getChain();
+			}
+		}
+		if (chain == null) {
+			
+			NamedElement defaultChainNE = ElementUtils.getQualifiedElementFromRS(cdp, TRAFOS_M2MTRANSFORMATIONS_STANDARD);
+			if (defaultChainNE != null) { 
+				// chain null and default chain could be found.
+				chain = UMLUtil.getStereotypeApplication(defaultChainNE, M2MTrafoChain.class);
+			}
+			if (chain == null) {
+				throw new RuntimeException("Can not find default transformation chain");
+			}
+		}
+		return chain;
+	}
+}
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/DeployConstants.java b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/DeployConstants.java
new file mode 100644
index 0000000..e18393a
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/DeployConstants.java
@@ -0,0 +1,20 @@
+/**
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.eclipse.papyrus.designer.deployment.tools;
+
+public class DeployConstants {
+
+	public static final String singletonPrefix = "singleton_"; //$NON-NLS-1$
+	public static final String COMPONENT_MODEL = "ComponentModel"; //$NON-NLS-1$
+	public static final String depPlanFolder = "deployment"; //$NON-NLS-1$
+	public static final String depPlanFolderHw = "platform"; //$NON-NLS-1$
+	public static final String DepPlanPostfix = "DepPlan"; //$NON-NLS-1$
+	public static final String DepPlanPostfixHw = "Platform"; //$NON-NLS-1$
+	public static final String MAIN_INSTANCE = "mainInstance"; //$NON-NLS-1$
+	public static final String SEP_CHAR = "."; //$NON-NLS-1$
+	public static final String AUTO_POSTFIX = "_auto"; //$NON-NLS-1$
+}
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/ImplementationChooser.java b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/ImplementationChooser.java
new file mode 100644
index 0000000..04e3363
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/ImplementationChooser.java
@@ -0,0 +1,34 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.deployment.tools;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.uml2.uml.Class;
+
+/**
+ * Choose a component implementation for a given component type
+ */
+public interface ImplementationChooser {
+	/**
+	 * Choose a component implementation from a list of available implementations
+	 *
+	 * @param componentType
+	 *            a (abstract) component
+	 * @param implList
+	 *            a list of available component implementations
+	 * @return the chosen implementation.
+	 */
+	public Class chooseImplementation(Class componentType, EList<Class> implList);
+};
diff --git a/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/Messages.java b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/Messages.java
new file mode 100644
index 0000000..5425040
--- /dev/null
+++ b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/Messages.java
@@ -0,0 +1,143 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.deployment.tools;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.eclipse.papyrus.designer.transformation.core.messages"; //$NON-NLS-1$
+
+	public static String BootLoaderGen_AtLeastOneBlockingCall;
+
+	public static String BootLoaderGen_CannotApplyCppInclude;
+
+	public static String BootLoaderGen_CannotRetrieveTemplate;
+
+	public static String CommandSupport_NoEditingDomain;
+	public static String CommandSupport_ErrorDuringCmdExec;
+	public static String ConfigUtils_RuleWithoutBaseClass;
+	public static String DepCreation_SingletonExistsAlready;
+
+	public static String DepCreation_CannotFindImplementation;
+
+	public static String DepCreation_CircularReference;
+
+	public static String DepCreation_DefiningFeatureNull;
+
+	public static String DepCreation_FCMconnectorWithoutBaseClass;
+
+	public static String DepCreation_InfoCreateDepPlan;
+
+	public static String DepCreation_TypeInAttributeUndefined;
+
+	public static String Deploy_0;
+
+	public static String Description_NoAvail;
+
+	public static String LWContainerTrafo_CannotApplyRule;
+	
+	public static String ConnectorBinding_CannotFindBinding;
+	public static String ConnectorBinding_CannotFindBindingForPort;
+	public static String ConnectorBinding_CannotFindConsistentBinding;
+	public static String ConnectorBinding_ConnectorsPort;
+	public static String ConnectorBinding_FormalAlreadyBound;
+	public static String ConnectorBinding_InfoActualReturnIntfIs;
+	public static String ConnectorBinding_InfoConnPortConnectedVia;
+	public static String ConnectorBinding_InfoConnectsPort;
+	public static String ConnectorBinding_InfoCreateBoundPackage;
+
+	public static String ConnectorBinding_InfoMatchOtherEnd;
+
+	public static String ConnectorBinding_InfoProvidedPortTypeMatches;
+	public static String ConnectorBinding_NoTemplateSignature;
+
+	public static String ConnectorReification_CannotFindMatchingPort;
+	public static String ConnectorReification_CouldNotBind;
+	public static String ConnectorReification_CouldNotConnectPort;
+	public static String ConnectorReification_CouldNotConnectPortOfType;
+	public static String ConnectorReification_InfoAddConnectorPart;
+	public static String ConnectorReification_InfoPortTypes;
+	public static String ConnectorReification_RequiresUseOfPorts;
+	public static String ConnectorReification_TemplateTypeNotClass;
+
+	public static String GenerateCode_CouldNotDeleteOldCode;
+	public static String GenerateCode_GeneratingCodeForNode;
+	public static String GenerateCode_GeneratingCode;
+
+	public static String TemplateUtils_InfoCreateBoundPackage;
+	public static String TemplateUtils_InfoGetActualFrom;
+	public static String TemplateUtils_NoTemplateSignature;
+
+	public static String TemplateInstantiation_TemplateIsNull;
+	public static String TemplateInstantiationListener_TrafoException;
+
+	public static String CompImplTrafos_CannotFindType;
+	public static String CompImplTrafos_IntfNotImplemented;
+	public static String CompTypeTrafos_CannotFindType;
+
+	public static String ContainerTrafo_CannotApplyRule;
+	public static String ContainerTrafo_CannotFindDelegationConn;
+	public static String ContainerTrafo_InterceptionRuleButNoInterceptor;
+
+	public static String ContainerTrafo_RecursiveLWnotSupported;
+
+	public static String InstanceConfigurator_InvalidPluginExtension;
+
+	public static String InstantiateDepPlan_AcceleoErrors;
+	public static String InstantiateDepPlan_AcceleoErrorsCheckLog;
+	public static String InstantiateDepPlan_CannotGenModel;
+	public static String InstantiateDepPlan_CheckInputImportPkg;
+	public static String InstantiateDepPlan_CheckInputImportPkgNoRes;
+	public static String InstantiateDepPlan_CheckInputModelProfile3;
+	public static String InstantiateDepPlan_CheckInputModelProfileNoRes;
+	public static String InstantiateDepPlan_CheckInputModelProfileNoResNoName;
+	public static String InstantiateDepPlan_ConsultConsole;
+	public static String InstantiateDepPlan_DepPlanStereotypeNotInitialized;
+	public static String InstantiateDepPlan_ErrorsDuringTransformation;
+	public static String InstantiateDepPlan_IllegalArgumentDuringCopy;
+	public static String InstantiateDepPlan_InfoApplyProfile;
+	public static String InstantiateDepPlan_InfoDeployingForNode;
+	public static String InstantiateDepPlan_InfoExpandingConnectors;
+	public static String InstantiateDepPlan_InfoGeneratingModel;
+	public static String InstantiateDepPlan_InfoImportPackage;
+	public static String InstantiateDepPlan_InfoNoneAllocated;
+	public static String InstantiateDepPlan_TransformationException;
+
+	public static String MainModelTrafo_ChangePartType;
+	public static String MainModelTrafo_NoDefiningFeature;
+	public static String MainModelTrafo_NoInstanceAssociated;
+
+	public static String MainModelTrafo_NoTypeDefinedFor;
+
+	public static String CompImplSync_InfoSyncIntf;
+	public static String CompImplSync_InfoSyncViaImpl;
+	public static String CompImplSync_InfoSyncViaType;
+
+	public static String DepPlanUtils_CannotFindAttribute;
+	public static String DepPlanUtils_ConfigOfPropertyFailed;
+
+	public static String UpdateUtils_CannotApplyFCMstereo;
+
+	public static String XtendTemplateBinding_TemplateNotFound;
+
+	public static String XtendTemplateBinding_TemplateResultIsNotAString;
+
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/messages.properties b/deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/messages.properties
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/messages.properties
copy to deployment/org.eclipse.papyrus.designer.deployment.tools/src/org/eclipse/papyrus/designer/deployment/tools/messages.properties
diff --git a/deployment/pom.xml b/deployment/pom.xml
new file mode 100644
index 0000000..48b6942
--- /dev/null
+++ b/deployment/pom.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.designer</groupId>
+		<artifactId>org.eclipse.papyrus.designer.parent</artifactId>
+		<version>1.0.4-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.designer.deployment</artifactId>
+	<version>0.7.5-SNAPSHOT</version>
+	<packaging>pom</packaging>
+	<name>Designer deployment</name>
+	<description>This module contains the different plugins handling deployment issues</description>
+
+	<modules>
+		<module>org.eclipse.papyrus.designer.deployment.profile</module>
+		<module>org.eclipse.papyrus.designer.deployment.tools</module>
+	</modules>
+
+</project>
diff --git a/gui/org.eclipse.papyrus.designer.ui/build.properties b/gui/org.eclipse.papyrus.designer.ui/build.properties
index 6c551f6..e47f2e4 100644
--- a/gui/org.eclipse.papyrus.designer.ui/build.properties
+++ b/gui/org.eclipse.papyrus.designer.ui/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                about.html,\
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/.project b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/.project
new file mode 100644
index 0000000..64de158
--- /dev/null
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.languages.c.codegen.ui</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/.project b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/.project
new file mode 100644
index 0000000..2e7cec6
--- /dev/null
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.languages.c.codegen</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+	</natures>
+</projectDescription>
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/.project b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/.project
new file mode 100644
index 0000000..c19cc3f
--- /dev/null
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/.project
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.languages.c.codegen.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.cdt.core.cnature</nature>
+		<nature>org.eclipse.cdt.core.ccnature</nature>
+	</natures>
+</projectDescription>
diff --git a/languages/common/org.eclipse.papyrus.designer.languages.common.base/.settings/org.eclipse.jdt.core.prefs b/languages/common/org.eclipse.papyrus.designer.languages.common.base/.settings/org.eclipse.jdt.core.prefs
index f08be2b..c02efb3 100644
--- a/languages/common/org.eclipse.papyrus.designer.languages.common.base/.settings/org.eclipse.jdt.core.prefs
+++ b/languages/common/org.eclipse.papyrus.designer.languages.common.base/.settings/org.eclipse.jdt.core.prefs
@@ -5,6 +5,7 @@
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=99
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
@@ -18,8 +19,10 @@
 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
@@ -29,6 +32,8 @@
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
 org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
@@ -87,6 +92,7 @@
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
 org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
@@ -281,11 +287,23 @@
 org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
 org.eclipse.jdt.core.formatter.tabulation.char=tab
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
 org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/languages/common/org.eclipse.papyrus.designer.languages.common.base/build.properties b/languages/common/org.eclipse.papyrus.designer.languages.common.base/build.properties
index db71331..c49e406 100644
--- a/languages/common/org.eclipse.papyrus.designer.languages.common.base/build.properties
+++ b/languages/common/org.eclipse.papyrus.designer.languages.common.base/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                about.html,\
diff --git a/languages/common/org.eclipse.papyrus.designer.languages.common.base/src/org/eclipse/papyrus/designer/languages/common/base/GenUtils.java b/languages/common/org.eclipse.papyrus.designer.languages.common.base/src/org/eclipse/papyrus/designer/languages/common/base/GenUtils.java
index 3b28a03..718f1a8 100644
--- a/languages/common/org.eclipse.papyrus.designer.languages.common.base/src/org/eclipse/papyrus/designer/languages/common/base/GenUtils.java
+++ b/languages/common/org.eclipse.papyrus.designer.languages.common.base/src/org/eclipse/papyrus/designer/languages/common/base/GenUtils.java
@@ -22,6 +22,7 @@
 import org.eclipse.emf.common.util.UniqueEList;
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
 import org.eclipse.papyrus.designer.languages.common.profile.Codegen.Project;
 import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
 import org.eclipse.uml2.uml.AggregationKind;
@@ -904,6 +905,7 @@
 	 * @return the fully qualified name with separator character, without the project name optionally
 	 */
 	public static String getFullName(NamedElement ne, String separator, boolean withProjectName) {
+		checkProxy(ne);
 		String qName = getFullName(ne, separator);
 		if (!withProjectName) {
 			return getQualifiedNameWithoutProject(ne, qName, separator);
@@ -1019,7 +1021,7 @@
 	 * @return
 	 */
 	public static String getNestedOperationFarthestClassifierOwnerNamespace(Operation op) {
-		StringBuffer buffer = new StringBuffer("");
+		StringBuffer buffer = new StringBuffer(""); //$NON-NLS-1$
 		if (op != null && op.getOwner() instanceof Classifier) {
 			getFarthestOwnerNamespace(op.getOwner(), buffer);
 		}
@@ -1033,7 +1035,7 @@
 	 * @return
 	 */
 	public static String getNestedBehaviorFarthestClassifierOwnerNamespace(OpaqueBehavior behavior) {
-		StringBuffer buffer = new StringBuffer("");
+		StringBuffer buffer = new StringBuffer(""); //$NON-NLS-1$
 		if (behavior != null && behavior.getOwner() instanceof Classifier) {
 			getFarthestOwnerNamespace(behavior.getOwner(), buffer);
 		}
@@ -1054,7 +1056,7 @@
 		if (element.getOwner() instanceof Package) {
 			result.insert(0, ((Classifier) element).getName());
 		} else {
-			result.insert(0, "::" + ((Classifier) element).getName());
+			result.insert(0, "::" + ((Classifier) element).getName()); //$NON-NLS-1$
 			getFarthestOwnerNamespace(element.getOwner(), result);
 		}
 	}
@@ -1407,6 +1409,16 @@
 		return str;
 	}
 
+	public static void checkProxy(EObject element) {
+		if (element.eIsProxy()) {
+			String msg = Messages.GenUtils_ElementIsProxy;
+			if (element instanceof InternalEObject) {
+				msg += " " + ((InternalEObject) element).eProxyURI(); //$NON-NLS-1$
+			}
+			throw new RuntimeException(msg);
+		}
+    }
+
 	/**
 	 * Return the relative path of ne2 as seen from ne1
 	 * (might not always be useful, if includes are always done from a common root)
diff --git a/languages/common/org.eclipse.papyrus.designer.languages.common.base/src/org/eclipse/papyrus/designer/languages/common/base/Messages.java b/languages/common/org.eclipse.papyrus.designer.languages.common.base/src/org/eclipse/papyrus/designer/languages/common/base/Messages.java
index a6201f7..f5ab162 100644
--- a/languages/common/org.eclipse.papyrus.designer.languages.common.base/src/org/eclipse/papyrus/designer/languages/common/base/Messages.java
+++ b/languages/common/org.eclipse.papyrus.designer.languages.common.base/src/org/eclipse/papyrus/designer/languages/common/base/Messages.java
@@ -9,7 +9,8 @@
 import org.eclipse.osgi.util.NLS;
 
 public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.papyrus.acceleo.messages"; //$NON-NLS-1$
+	private static final String BUNDLE_NAME = "org.eclipse.papyrus.languages.common.base"; //$NON-NLS-1$
+	public static String GenUtils_ElementIsProxy;
 	public static String ModelElementsCreator_UnsupportedModelElement;
 	static {
 		// initialize resource bundle
diff --git a/languages/common/org.eclipse.papyrus.designer.languages.common.base/src/org/eclipse/papyrus/designer/languages/common/base/ModelElementsCreator.java b/languages/common/org.eclipse.papyrus.designer.languages.common.base/src/org/eclipse/papyrus/designer/languages/common/base/ModelElementsCreator.java
index 6a8229f..9b7be0c 100644
--- a/languages/common/org.eclipse.papyrus.designer.languages.common.base/src/org/eclipse/papyrus/designer/languages/common/base/ModelElementsCreator.java
+++ b/languages/common/org.eclipse.papyrus.designer.languages.common.base/src/org/eclipse/papyrus/designer/languages/common/base/ModelElementsCreator.java
@@ -126,7 +126,7 @@
 			return;
 		}
 		GeneratorHint hint = UMLUtil.getStereotypeApplication(element, GeneratorHint.class);
-		if (hint != null) {
+		if (hint != null && hint.getLanguage() != null) {
 			String language = hint.getLanguage().getBase_Class().getName();
 			if ((language != null) && (!language.equals(generatorLanguage))) {
 				// try to generate code with a new model elements creator for the requested language
diff --git a/languages/common/org.eclipse.papyrus.designer.languages.common.base/src/org/eclipse/papyrus/designer/languages/common/base/messages.properties b/languages/common/org.eclipse.papyrus.designer.languages.common.base/src/org/eclipse/papyrus/designer/languages/common/base/messages.properties
index ad6e5a9..11cd96a 100644
--- a/languages/common/org.eclipse.papyrus.designer.languages.common.base/src/org/eclipse/papyrus/designer/languages/common/base/messages.properties
+++ b/languages/common/org.eclipse.papyrus.designer.languages.common.base/src/org/eclipse/papyrus/designer/languages/common/base/messages.properties
@@ -1 +1,2 @@
+GenUtils_ElementIsProxy=Referenced element is a proxy
 ModelElementsCreator_UnsupportedModelElement=code generator: unsupported model element %s
diff --git a/languages/common/org.eclipse.papyrus.designer.languages.common.extensionpoints/build.properties b/languages/common/org.eclipse.papyrus.designer.languages.common.extensionpoints/build.properties
index 7e6b2a4..e00caf2 100644
--- a/languages/common/org.eclipse.papyrus.designer.languages.common.extensionpoints/build.properties
+++ b/languages/common/org.eclipse.papyrus.designer.languages.common.extensionpoints/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                about.html,\
diff --git a/languages/common/org.eclipse.papyrus.designer.languages.common.profile.ui/build.properties b/languages/common/org.eclipse.papyrus.designer.languages.common.profile.ui/build.properties
index c52dd5f..9694ee0 100644
--- a/languages/common/org.eclipse.papyrus.designer.languages.common.profile.ui/build.properties
+++ b/languages/common/org.eclipse.papyrus.designer.languages.common.profile.ui/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
diff --git a/languages/common/org.eclipse.papyrus.designer.languages.common.profile/.settings/org.eclipse.jdt.core.prefs b/languages/common/org.eclipse.papyrus.designer.languages.common.profile/.settings/org.eclipse.jdt.core.prefs
index 94d61f0..a6a6e82 100644
--- a/languages/common/org.eclipse.papyrus.designer.languages.common.profile/.settings/org.eclipse.jdt.core.prefs
+++ b/languages/common/org.eclipse.papyrus.designer.languages.common.profile/.settings/org.eclipse.jdt.core.prefs
@@ -5,6 +5,7 @@
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=99
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
@@ -18,8 +19,10 @@
 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
@@ -29,6 +32,8 @@
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
 org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
@@ -87,6 +92,7 @@
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
 org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
@@ -281,11 +287,23 @@
 org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
 org.eclipse.jdt.core.formatter.tabulation.char=tab
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
 org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/languages/common/org.eclipse.papyrus.designer.languages.common.profile/build.properties b/languages/common/org.eclipse.papyrus.designer.languages.common.profile/build.properties
index 9fe4b1c..2e60960 100644
--- a/languages/common/org.eclipse.papyrus.designer.languages.common.profile/build.properties
+++ b/languages/common/org.eclipse.papyrus.designer.languages.common.profile/build.properties
@@ -1,6 +1,6 @@
 source.. = src/,\
            src-gen/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
diff --git a/languages/common/org.eclipse.papyrus.designer.languages.common.texteditor.model/build.properties b/languages/common/org.eclipse.papyrus.designer.languages.common.texteditor.model/build.properties
index 38c809d..a8e226b 100644
--- a/languages/common/org.eclipse.papyrus.designer.languages.common.texteditor.model/build.properties
+++ b/languages/common/org.eclipse.papyrus.designer.languages.common.texteditor.model/build.properties
@@ -18,5 +18,5 @@
                build.properties
 jars.compile.order = .
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 src.includes = about.html
diff --git a/languages/common/org.eclipse.papyrus.designer.languages.common.texteditor.modelexplorer/build.properties b/languages/common/org.eclipse.papyrus.designer.languages.common.texteditor.modelexplorer/build.properties
index a42c291..c6668e5 100644
--- a/languages/common/org.eclipse.papyrus.designer.languages.common.texteditor.modelexplorer/build.properties
+++ b/languages/common/org.eclipse.papyrus.designer.languages.common.texteditor.modelexplorer/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                resources/,\
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.cdt.project/build.properties b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.cdt.project/build.properties
index 7b3c227..93c1a3a 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.cdt.project/build.properties
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.cdt.project/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.cdt.project/src/org/eclipse/papyrus/designer/languages/cpp/cdt/project/C_CppProjectSupport.java b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.cdt.project/src/org/eclipse/papyrus/designer/languages/cpp/cdt/project/C_CppProjectSupport.java
index 207ae6c..b156e38 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.cdt.project/src/org/eclipse/papyrus/designer/languages/cpp/cdt/project/C_CppProjectSupport.java
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.cdt.project/src/org/eclipse/papyrus/designer/languages/cpp/cdt/project/C_CppProjectSupport.java
@@ -50,8 +50,6 @@
 	// TODO specific "root" is only required for component based code generation
 	public static final String WS_PREFIX = "ws:"; //$NON-NLS-1$
 
-	public static final String ROOT = WS_PREFIX + "root"; //$NON-NLS-1$
-	
 	private static final String C = "c"; //$NON-NLS-1$
 
 	private static final String CPP = "cpp"; //$NON-NLS-1$
@@ -206,8 +204,6 @@
 		settings.includePaths = new UniqueEList<String>();
 		// include project directory (all paths are relative to it => ".")
 		settings.includePaths.add(WS_PREFIX + "."); //$NON-NLS-1$
-		// include also "root" (relative path)
-		settings.includePaths.add(ROOT);
 
 		settings.libs = new UniqueEList<String>();
 		settings.libPaths = new UniqueEList<String>();
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.cdt.texteditor/build.properties b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.cdt.texteditor/build.properties
index f4cfb5a..2cce57e 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.cdt.texteditor/build.properties
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.cdt.texteditor/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.codegen.ui/build.properties b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.codegen.ui/build.properties
index 93bba3b..d22f0a8 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.codegen.ui/build.properties
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.codegen.ui/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                icons/,\
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.codegen/src/org/eclipse/papyrus/designer/languages/cpp/codegen/utils/CppGenUtils.java b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.codegen/src/org/eclipse/papyrus/designer/languages/cpp/codegen/utils/CppGenUtils.java
index 2e1f57a..8f13044 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.codegen/src/org/eclipse/papyrus/designer/languages/cpp/codegen/utils/CppGenUtils.java
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.codegen/src/org/eclipse/papyrus/designer/languages/cpp/codegen/utils/CppGenUtils.java
@@ -231,6 +231,10 @@
 				qName = ns.getName() + "::" + qName; //$NON-NLS-1$
 			}
 		}
+		if (qName == null) {
+			GenUtils.checkProxy(ne);
+			return "undefined";
+		}
 		if (qName.contains("::")) { //$NON-NLS-1$
 			// is a qualified name => make path absolute
 			return "::" + qName; //$NON-NLS-1$
@@ -239,7 +243,6 @@
 		}
 	}
 
-
 	/**
 	 * Returns the string that is used within a C++ template declaration, e.g. the "Class XY" in template<class XY>.
 	 *
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.examples/build.properties b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.examples/build.properties
index 9cd110d..362dfe6 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.examples/build.properties
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.examples/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.properties,\
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library.ui/build.properties b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library.ui/build.properties
index c52dd5f..9694ee0 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library.ui/build.properties
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library.ui/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library.ui/plugin.xml b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library.ui/plugin.xml
index 88cd50a..3858833 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library.ui/plugin.xml
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library.ui/plugin.xml
@@ -4,7 +4,7 @@
 	<extension
 			point="org.eclipse.papyrus.uml.extensionpoints.UMLLibrary">
 		<library
-			description="Standard C Ansi types"
+			description="Standard ANSI-C types"
 			iconpath="icons/transfo_cpp.gif"
 			name="AnsiCLibrary"
 			path="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml"
@@ -19,4 +19,22 @@
 			path="pathmap://PapyrusC_Cpp_LIBRARIES/STL.uml"
 			provider="Eclipse Modeling Project"/>
 	</extension>
+	<extension
+			point="org.eclipse.papyrus.uml.extensionpoints.UMLLibrary">
+		<library
+			description="An C++ OS abstraction layer"
+			iconpath="icons/transfo_cpp.gif"
+			name="OSAL"
+			path="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml"
+			provider="Eclipse Modeling Project"/>
+	</extension>
+	<extension
+			point="org.eclipse.papyrus.uml.extensionpoints.UMLLibrary">
+		<library
+			description="A subset of pthread threading functions"
+			iconpath="icons/transfo_cpp.gif"
+			name="Pthread (subset)"
+			path="pathmap://PapyrusC_Cpp_LIBRARIES/pthread.uml"
+			provider="Eclipse Modeling Project"/>
+	</extension>
 </plugin>
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/.settings/org.eclipse.jdt.core.prefs b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/.settings/org.eclipse.jdt.core.prefs
index 94d61f0..a6a6e82 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/.settings/org.eclipse.jdt.core.prefs
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/.settings/org.eclipse.jdt.core.prefs
@@ -5,6 +5,7 @@
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=99
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
@@ -18,8 +19,10 @@
 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
@@ -29,6 +32,8 @@
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
 org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
@@ -87,6 +92,7 @@
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
 org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
@@ -281,11 +287,23 @@
 org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
 org.eclipse.jdt.core.formatter.tabulation.char=tab
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
 org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/build.properties b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/build.properties
index c5bd7ea..b982a17 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/build.properties
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/build.properties
@@ -1,9 +1,9 @@
 source.. = src/
-output.. = bin/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
                models/,\
                about.html,\
                plugin.properties
-src.includes = about.html
+src.includes = about.html,\
+               models/
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/models/osal.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di
copy to languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/models/osal.di
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.notation b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/models/osal.notation
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.notation
rename to languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/models/osal.notation
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.uml b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/models/osal.uml
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.uml
rename to languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/models/osal.uml
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/models/pthread.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di
copy to languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/models/pthread.di
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/models/pthread.notation b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/models/pthread.notation
new file mode 100644
index 0000000..5bdd349
--- /dev/null
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/models/pthread.notation
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_jtAKUGrBEeaartlA90vl7w" type="PapyrusUMLClassDiagram" name="Pthread classes" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_kMeUkGrBEeaartlA90vl7w" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_kMgJwGrBEeaartlA90vl7w" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_kMgJwWrBEeaartlA90vl7w" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_kMgJwmrBEeaartlA90vl7w" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_kMgw0GrBEeaartlA90vl7w" visible="false" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kMgw0WrBEeaartlA90vl7w"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_kMgw0mrBEeaartlA90vl7w"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_kMgw02rBEeaartlA90vl7w"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kMgw1GrBEeaartlA90vl7w"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_kMgw1WrBEeaartlA90vl7w" visible="false" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kMgw1mrBEeaartlA90vl7w"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_kMgw12rBEeaartlA90vl7w"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_kMgw2GrBEeaartlA90vl7w"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kMgw2WrBEeaartlA90vl7w"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_kMgw2mrBEeaartlA90vl7w" visible="false" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kMgw22rBEeaartlA90vl7w"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_kMgw3GrBEeaartlA90vl7w"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_kMgw3WrBEeaartlA90vl7w"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kMgw3mrBEeaartlA90vl7w"/>
+    </children>
+    <element xmi:type="uml:Class" href="pthread.uml#_ea234NYGEd-CgJIavLpOxQ"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kMeUkWrBEeaartlA90vl7w" x="40" y="60" width="161" height="41"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_kuMhkGrBEeaartlA90vl7w" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_kuNvsGrBEeaartlA90vl7w" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_kuOWwGrBEeaartlA90vl7w" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_kuOWwWrBEeaartlA90vl7w" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_kuOWwmrBEeaartlA90vl7w" visible="false" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kuOWw2rBEeaartlA90vl7w"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_kuOWxGrBEeaartlA90vl7w"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_kuOWxWrBEeaartlA90vl7w"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kuOWxmrBEeaartlA90vl7w"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_kuOWx2rBEeaartlA90vl7w" visible="false" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kuOWyGrBEeaartlA90vl7w"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_kuOWyWrBEeaartlA90vl7w"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_kuOWymrBEeaartlA90vl7w"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kuOWy2rBEeaartlA90vl7w"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_kuOWzGrBEeaartlA90vl7w" visible="false" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kuOWzWrBEeaartlA90vl7w"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_kuOWzmrBEeaartlA90vl7w"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_kuOWz2rBEeaartlA90vl7w"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kuOW0GrBEeaartlA90vl7w"/>
+    </children>
+    <element xmi:type="uml:Class" href="pthread.uml#_-vYZoCa0EeazPcQ6-9hBeQ"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kuMhkWrBEeaartlA90vl7w" x="40" y="120" width="161" height="41"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_lKmwwGrBEeaartlA90vl7w" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_lKnX0GrBEeaartlA90vl7w" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_lKnX0WrBEeaartlA90vl7w" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_lKnX0mrBEeaartlA90vl7w" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_lKnX02rBEeaartlA90vl7w" visible="false" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_lKnX1GrBEeaartlA90vl7w"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_lKnX1WrBEeaartlA90vl7w"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_lKnX1mrBEeaartlA90vl7w"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lKnX12rBEeaartlA90vl7w"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_lKn-4GrBEeaartlA90vl7w" visible="false" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_lKn-4WrBEeaartlA90vl7w"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_lKn-4mrBEeaartlA90vl7w"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_lKn-42rBEeaartlA90vl7w"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lKn-5GrBEeaartlA90vl7w"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_lKn-5WrBEeaartlA90vl7w" visible="false" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_lKn-5mrBEeaartlA90vl7w"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_lKn-52rBEeaartlA90vl7w"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_lKn-6GrBEeaartlA90vl7w"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lKn-6WrBEeaartlA90vl7w"/>
+    </children>
+    <element xmi:type="uml:Class" href="pthread.uml#__niwsCa0EeazPcQ6-9hBeQ"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lKmwwWrBEeaartlA90vl7w" x="40" y="180" width="161" height="41"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_spingGrBEeaartlA90vl7w" type="Comment_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_spjOkGrBEeaartlA90vl7w" type="Comment_BodyLabel"/>
+    <element xmi:type="uml:Comment" href="pthread.uml#_spbSwGrBEeaartlA90vl7w"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_spingWrBEeaartlA90vl7w" x="340" y="60" width="301" height="161"/>
+  </children>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_jtAKUWrBEeaartlA90vl7w" name="diagram_compatibility_version" stringValue="1.2.0"/>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_jtAKUmrBEeaartlA90vl7w"/>
+  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_jtAKU2rBEeaartlA90vl7w">
+    <owner xmi:type="uml:Model" href="pthread.uml#_PTiIDLUEd26WNosUASSSw"/>
+  </styles>
+  <element xmi:type="uml:Model" href="pthread.uml#_PTiIDLUEd26WNosUASSSw"/>
+</notation:Diagram>
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/models/pthread.uml b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/models/pthread.uml
new file mode 100644
index 0000000..50807fa
--- /dev/null
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.library/models/pthread.uml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <uml:Model xmi:id="_PTiIDLUEd26WNosUASSSw" name="pthread">
+    <ownedComment xmi:type="uml:Comment" xmi:id="_spbSwGrBEeaartlA90vl7w">
+      <body>This is currently a small subset of pthread types. Since they are in a package with the &quot;ExternLibrary&quot; stereotype, no code will be generated for them.
+A user can reference the classes (e.g. as a parameter or attribute type) and a C++ project will automatically be configured with the required imports defined in the stereotype</body>
+    </ownedComment>
+    <packagedElement xmi:type="uml:Class" xmi:id="_ea234NYGEd-CgJIavLpOxQ" name="pthread_t"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_-vYZoCa0EeazPcQ6-9hBeQ" name="pthread_cond_t"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="__niwsCa0EeazPcQ6-9hBeQ" name="pthread_mutex_t"/>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ugrx4AHIEd6pm-KfUZMnnQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ugztsAHIEd6pm-KfUZMnnQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+  </uml:Model>
+  <C_Cpp:ExternLibrary xmi:id="_dOlpQGttEeabTeJZlY2cbw" base_package="_PTiIDLUEd26WNosUASSSw">
+    <libs>pthread</libs>
+    <libs>rt</libs>
+    <includes>pthread.h</includes>
+  </C_Cpp:ExternLibrary>
+</xmi:XMI>
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.profile.ui/build.properties b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.profile.ui/build.properties
index c52dd5f..9694ee0 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.profile.ui/build.properties
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.profile.ui/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.profile/.settings/org.eclipse.jdt.core.prefs b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.profile/.settings/org.eclipse.jdt.core.prefs
index 94d61f0..a6a6e82 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.profile/.settings/org.eclipse.jdt.core.prefs
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.profile/.settings/org.eclipse.jdt.core.prefs
@@ -5,6 +5,7 @@
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=99
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
@@ -18,8 +19,10 @@
 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
@@ -29,6 +32,8 @@
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
 org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
@@ -87,6 +92,7 @@
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
 org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
@@ -281,11 +287,23 @@
 org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
 org.eclipse.jdt.core.formatter.tabulation.char=tab
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
 org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.profile/build.properties b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.profile/build.properties
index a53cd57..89451bb 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.profile/build.properties
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.profile/build.properties
@@ -1,6 +1,6 @@
 source.. = src/,\
            src-gen/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.reverse.ui/.classpath b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.reverse.ui/.classpath
index c72d35a..cf36b56 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.reverse.ui/.classpath
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.reverse.ui/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="src/"/>
 	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.reverse.ui/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to languages/cpp/org.eclipse.papyrus.designer.languages.cpp.reverse.ui/.settings/org.eclipse.m2e.core.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.reverse/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to languages/cpp/org.eclipse.papyrus.designer.languages.cpp.reverse/.settings/org.eclipse.m2e.core.prefs
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.reverse/src/org/eclipse/papyrus/designer/languages/cpp/reverse/utils/ModelManagement.java b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.reverse/src/org/eclipse/papyrus/designer/languages/cpp/reverse/utils/ModelManagement.java
index f881f79..25d9a63 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.reverse/src/org/eclipse/papyrus/designer/languages/cpp/reverse/utils/ModelManagement.java
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.reverse/src/org/eclipse/papyrus/designer/languages/cpp/reverse/utils/ModelManagement.java
@@ -60,7 +60,6 @@
 			
 			@Override
 			public void run() {
-				// TODO Auto-generated method stub
 				Resource resource = null;
 				if (create) {
 					resource = resourceSet.createResource(URI.createURI(uri));
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.classpath b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.classpath
index ad32c83..c72d35a 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.classpath
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.classpath
@@ -3,5 +3,5 @@
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.project b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.project
index 98948a9..942fa16 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.project
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.project
@@ -32,8 +32,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.cdt.core.cnature</nature>
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.settings/language.settings.xml b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.settings/language.settings.xml
index ba42b75..d830fae 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.settings/language.settings.xml
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.settings/language.settings.xml
@@ -5,7 +5,7 @@
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
 			<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-			<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="923886786317045136" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+			<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="1477143262997085981" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
 				<language-scope id="org.eclipse.cdt.core.gcc"/>
 				<language-scope id="org.eclipse.cdt.core.g++"/>
 			</provider>
@@ -16,7 +16,7 @@
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
 			<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-			<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="923886786317045136" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+			<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="1477143262997085981" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
 				<language-scope id="org.eclipse.cdt.core.gcc"/>
 				<language-scope id="org.eclipse.cdt.core.g++"/>
 			</provider>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.settings/org.eclipse.core.resources.prefs
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.settings/org.eclipse.jdt.core.prefs b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c537b63
--- /dev/null
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/.settings/org.eclipse.m2e.core.prefs
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/build.properties b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/build.properties
index 1b9c3be..f6ba1d9 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/build.properties
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.tests/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = .,\
                resources/,\
                META-INF/,\
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.view/META-INF/MANIFEST.MF b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.view/META-INF/MANIFEST.MF
index b4ff737..0c99d22 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.view/META-INF/MANIFEST.MF
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.view/META-INF/MANIFEST.MF
@@ -15,7 +15,7 @@
  org.eclipse.gmf.runtime.emf.commands.core;bundle-version="1.4.0",
  org.eclipse.papyrus.uml.tools.utils;bundle-version="1.2.0",
  org.eclipse.papyrus.infra.emf;bundle-version="1.2.0",
- org.eclipse.uml2.uml.profile.standard;bundle-version="1.0.100",
+ org.eclipse.uml2.uml.profile.standard;bundle-version="1.0.0",
  org.eclipse.papyrus.infra.ui;bundle-version="1.2.0"
 Export-Package: org.eclipse.papyrus.designer.languages.cpp.view;
   uses:="org.eclipse.ui,
diff --git a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.view/build.properties b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.view/build.properties
index 752fede..242cd49 100644
--- a/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.view/build.properties
+++ b/languages/cpp/org.eclipse.papyrus.designer.languages.cpp.view/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.properties,\
diff --git a/languages/idl/.project b/languages/idl/.project
new file mode 100644
index 0000000..fb50af2
--- /dev/null
+++ b/languages/idl/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.languages.idl</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.core.resources.prefs b/languages/idl/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.core.resources.prefs
copy to languages/idl/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.m2e.core.prefs b/languages/idl/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.m2e.core.prefs
copy to languages/idl/.settings/org.eclipse.m2e.core.prefs
diff --git a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.opensplice/.classpath b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.opensplice/.classpath
index ad32c83..2db4a4d 100644
--- a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.opensplice/.classpath
+++ b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.opensplice/.classpath
@@ -2,6 +2,7 @@
 <classpath>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="src" path="output.. = target/classes/"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.opensplice/.project b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.opensplice/.project
index a956038..2db02b3 100644
--- a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.opensplice/.project
+++ b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.opensplice/.project
@@ -25,8 +25,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.opensplice/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.opensplice/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.opensplice/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.opensplice/.settings/org.eclipse.m2e.core.prefs
diff --git a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.opensplice/build.properties b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.opensplice/build.properties
index 710aab9..bfe929b 100644
--- a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.opensplice/build.properties
+++ b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.opensplice/build.properties
@@ -1,5 +1,5 @@
 source.. = src/,\
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                plugin.xml,\
                plugin.properties,\
diff --git a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/.classpath b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/.classpath
index ad32c83..c72d35a 100644
--- a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/.classpath
+++ b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/.classpath
@@ -3,5 +3,5 @@
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/.project b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/.project
index dcce8cd..f8147b8 100644
--- a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/.project
+++ b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/.project
@@ -20,8 +20,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 	</natures>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/.settings/org.eclipse.m2e.core.prefs
diff --git a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/build.properties b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/build.properties
index 6b8c63a..6e82d7a 100644
--- a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/build.properties
+++ b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = plugin.xml,\
                META-INF/,\
                .,\
diff --git a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/plugin.xml b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/plugin.xml
index e8e27ff..b4b7c81 100644
--- a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/plugin.xml
+++ b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen.ui/plugin.xml
@@ -21,7 +21,7 @@
    <extension
          point="org.eclipse.ui.commands">
       <command
-            categoryId="org.eclipse.papyrus.idl.codegen.ui.commands.category"
+            categoryId="org.eclipse.papyrus.editor.category"
             description="Generate IDL code"
             id="org.eclipse.papyrus.designer.langauges.idl.codegen.ui.genIDL"
             name="Generate IDL code">
diff --git a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen/.classpath b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen/.classpath
index c31ca40..5c242fd 100644
--- a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen/.classpath
+++ b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen/.classpath
@@ -4,5 +4,5 @@
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="xtend-gen"/>
-	<classpathentry kind="output" path="bin"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen/.project b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen/.project
index 7434dec..2d1d711 100644
--- a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen/.project
+++ b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen/.project
@@ -25,8 +25,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen/.settings/org.eclipse.m2e.core.prefs
diff --git a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen/build.properties b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen/build.properties
index 9e0903e..f31faf9 100644
--- a/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen/build.properties
+++ b/languages/idl/org.eclipse.papyrus.designer.languages.idl.codegen/build.properties
@@ -1,6 +1,6 @@
 source.. = src/,\
            xtend-gen/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                plugin.xml,\
                plugin.properties,\
diff --git a/languages/idl/org.eclipse.papyrus.designer.languages.idl.library/.classpath b/languages/idl/org.eclipse.papyrus.designer.languages.idl.library/.classpath
index ad32c83..40ca2a4 100644
--- a/languages/idl/org.eclipse.papyrus.designer.languages.idl.library/.classpath
+++ b/languages/idl/org.eclipse.papyrus.designer.languages.idl.library/.classpath
@@ -2,6 +2,7 @@
 <classpath>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="src" path="xtend-gen/"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/languages/idl/org.eclipse.papyrus.designer.languages.idl.library/.project b/languages/idl/org.eclipse.papyrus.designer.languages.idl.library/.project
index b4e3768..6c3a76f 100644
--- a/languages/idl/org.eclipse.papyrus.designer.languages.idl.library/.project
+++ b/languages/idl/org.eclipse.papyrus.designer.languages.idl.library/.project
@@ -20,8 +20,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 	</natures>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/languages/idl/org.eclipse.papyrus.designer.languages.idl.library/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to languages/idl/org.eclipse.papyrus.designer.languages.idl.library/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/languages/idl/org.eclipse.papyrus.designer.languages.idl.library/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to languages/idl/org.eclipse.papyrus.designer.languages.idl.library/.settings/org.eclipse.m2e.core.prefs
diff --git a/languages/idl/org.eclipse.papyrus.designer.languages.idl.library/build.properties b/languages/idl/org.eclipse.papyrus.designer.languages.idl.library/build.properties
index 9e0903e..f31faf9 100644
--- a/languages/idl/org.eclipse.papyrus.designer.languages.idl.library/build.properties
+++ b/languages/idl/org.eclipse.papyrus.designer.languages.idl.library/build.properties
@@ -1,6 +1,6 @@
 source.. = src/,\
            xtend-gen/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                plugin.xml,\
                plugin.properties,\
diff --git a/languages/java/org.eclipse.papyrus.designer.languages.java.codegen.ui/build.properties b/languages/java/org.eclipse.papyrus.designer.languages.java.codegen.ui/build.properties
index 93bba3b..d22f0a8 100644
--- a/languages/java/org.eclipse.papyrus.designer.languages.java.codegen.ui/build.properties
+++ b/languages/java/org.eclipse.papyrus.designer.languages.java.codegen.ui/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                icons/,\
diff --git a/languages/java/org.eclipse.papyrus.designer.languages.java.generator.jdtsynchronizer/.settings/org.eclipse.jdt.core.prefs b/languages/java/org.eclipse.papyrus.designer.languages.java.generator.jdtsynchronizer/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..a6a6e82
--- /dev/null
+++ b/languages/java/org.eclipse.papyrus.designer.languages.java.generator.jdtsynchronizer/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,309 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=99
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/languages/java/org.eclipse.papyrus.designer.languages.java.generator.metamodel.jdt.edit/.settings/org.eclipse.jdt.core.prefs b/languages/java/org.eclipse.papyrus.designer.languages.java.generator.metamodel.jdt.edit/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..a6a6e82
--- /dev/null
+++ b/languages/java/org.eclipse.papyrus.designer.languages.java.generator.metamodel.jdt.edit/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,309 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=99
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/languages/java/org.eclipse.papyrus.designer.languages.java.generator.metamodel.jdt.editor/.settings/org.eclipse.jdt.core.prefs b/languages/java/org.eclipse.papyrus.designer.languages.java.generator.metamodel.jdt.editor/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..a6a6e82
--- /dev/null
+++ b/languages/java/org.eclipse.papyrus.designer.languages.java.generator.metamodel.jdt.editor/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,309 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=99
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/languages/java/org.eclipse.papyrus.designer.languages.java.generator.metamodel.jdt/.settings/org.eclipse.jdt.core.prefs b/languages/java/org.eclipse.papyrus.designer.languages.java.generator.metamodel.jdt/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..a6a6e82
--- /dev/null
+++ b/languages/java/org.eclipse.papyrus.designer.languages.java.generator.metamodel.jdt/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,309 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=99
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/languages/java/org.eclipse.papyrus.designer.languages.java.generator.ui/.settings/org.eclipse.jdt.core.prefs b/languages/java/org.eclipse.papyrus.designer.languages.java.generator.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..a6a6e82
--- /dev/null
+++ b/languages/java/org.eclipse.papyrus.designer.languages.java.generator.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,309 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=99
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/languages/java/org.eclipse.papyrus.designer.languages.java.jdt.project/build.properties b/languages/java/org.eclipse.papyrus.designer.languages.java.jdt.project/build.properties
index 7b3c227..93c1a3a 100644
--- a/languages/java/org.eclipse.papyrus.designer.languages.java.jdt.project/build.properties
+++ b/languages/java/org.eclipse.papyrus.designer.languages.java.jdt.project/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
diff --git a/languages/java/org.eclipse.papyrus.designer.languages.java.library.ui/build.properties b/languages/java/org.eclipse.papyrus.designer.languages.java.library.ui/build.properties
index c52dd5f..9694ee0 100644
--- a/languages/java/org.eclipse.papyrus.designer.languages.java.library.ui/build.properties
+++ b/languages/java/org.eclipse.papyrus.designer.languages.java.library.ui/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
diff --git a/languages/java/org.eclipse.papyrus.designer.languages.java.library/build.properties b/languages/java/org.eclipse.papyrus.designer.languages.java.library/build.properties
index c5bd7ea..cc71e96 100644
--- a/languages/java/org.eclipse.papyrus.designer.languages.java.library/build.properties
+++ b/languages/java/org.eclipse.papyrus.designer.languages.java.library/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
diff --git a/languages/java/org.eclipse.papyrus.designer.languages.java.profile.ui/build.properties b/languages/java/org.eclipse.papyrus.designer.languages.java.profile.ui/build.properties
index c52dd5f..9694ee0 100644
--- a/languages/java/org.eclipse.papyrus.designer.languages.java.profile.ui/build.properties
+++ b/languages/java/org.eclipse.papyrus.designer.languages.java.profile.ui/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
diff --git a/languages/java/org.eclipse.papyrus.designer.languages.java.profile/.settings/org.eclipse.jdt.core.prefs b/languages/java/org.eclipse.papyrus.designer.languages.java.profile/.settings/org.eclipse.jdt.core.prefs
index 94d61f0..a6a6e82 100644
--- a/languages/java/org.eclipse.papyrus.designer.languages.java.profile/.settings/org.eclipse.jdt.core.prefs
+++ b/languages/java/org.eclipse.papyrus.designer.languages.java.profile/.settings/org.eclipse.jdt.core.prefs
@@ -5,6 +5,7 @@
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=99
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
@@ -18,8 +19,10 @@
 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
@@ -29,6 +32,8 @@
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
 org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
@@ -87,6 +92,7 @@
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
 org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
@@ -281,11 +287,23 @@
 org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
 org.eclipse.jdt.core.formatter.tabulation.char=tab
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
 org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/languages/java/org.eclipse.papyrus.designer.languages.java.profile/META-INF/MANIFEST.MF b/languages/java/org.eclipse.papyrus.designer.languages.java.profile/META-INF/MANIFEST.MF
index 3ac5e3a..89d7cdd 100644
--- a/languages/java/org.eclipse.papyrus.designer.languages.java.profile/META-INF/MANIFEST.MF
+++ b/languages/java/org.eclipse.papyrus.designer.languages.java.profile/META-INF/MANIFEST.MF
@@ -6,10 +6,7 @@
  org.eclipse.uml2.uml;bundle-version="5.0.0";visibility:=reexport
 Export-Package: org.eclipse.papyrus.designer.languages.java.profile.PapyrusJava,
  org.eclipse.papyrus.designer.languages.java.profile.PapyrusJava.impl,
- org.eclipse.papyrus.designer.languages.java.profile.PapyrusJava.util,
- org.eclipse.papyrus.designer.languages.java.profile.java,
- org.eclipse.papyrus.designer.languages.java.profile.java.impl,
- org.eclipse.papyrus.designer.languages.java.profile.java.util
+ org.eclipse.papyrus.designer.languages.java.profile.PapyrusJava.util
 Bundle-Vendor: %providerName
 Bundle-ActivationPolicy: lazy
 Bundle-ClassPath: .
diff --git a/languages/java/org.eclipse.papyrus.designer.languages.java.profile/build.properties b/languages/java/org.eclipse.papyrus.designer.languages.java.profile/build.properties
index 9fe4b1c..2e60960 100644
--- a/languages/java/org.eclipse.papyrus.designer.languages.java.profile/build.properties
+++ b/languages/java/org.eclipse.papyrus.designer.languages.java.profile/build.properties
@@ -1,6 +1,6 @@
 source.. = src/,\
            src-gen/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
diff --git a/languages/java/org.eclipse.papyrus.designer.languages.java.reverse.ui/.settings/org.eclipse.jdt.core.prefs b/languages/java/org.eclipse.papyrus.designer.languages.java.reverse.ui/.settings/org.eclipse.jdt.core.prefs
index f08be2b..c02efb3 100644
--- a/languages/java/org.eclipse.papyrus.designer.languages.java.reverse.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/languages/java/org.eclipse.papyrus.designer.languages.java.reverse.ui/.settings/org.eclipse.jdt.core.prefs
@@ -5,6 +5,7 @@
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=99
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
@@ -18,8 +19,10 @@
 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
@@ -29,6 +32,8 @@
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
 org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
@@ -87,6 +92,7 @@
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
 org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
@@ -281,11 +287,23 @@
 org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
 org.eclipse.jdt.core.formatter.tabulation.char=tab
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
 org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/languages/java/org.eclipse.papyrus.designer.languages.java.reverse.ui/build.properties b/languages/java/org.eclipse.papyrus.designer.languages.java.reverse.ui/build.properties
index 73214ef..63c0863 100644
--- a/languages/java/org.eclipse.papyrus.designer.languages.java.reverse.ui/build.properties
+++ b/languages/java/org.eclipse.papyrus.designer.languages.java.reverse.ui/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
diff --git a/languages/java/org.eclipse.papyrus.designer.languages.java.reverse/.classpath b/languages/java/org.eclipse.papyrus.designer.languages.java.reverse/.classpath
index aede820..46cec6e 100644
--- a/languages/java/org.eclipse.papyrus.designer.languages.java.reverse/.classpath
+++ b/languages/java/org.eclipse.papyrus.designer.languages.java.reverse/.classpath
@@ -2,7 +2,6 @@
 <classpath>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="test"/>
+	<classpathentry kind="src" path="src/"/>
 	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/languages/java/org.eclipse.papyrus.designer.languages.java.reverse/.settings/org.eclipse.jdt.core.prefs b/languages/java/org.eclipse.papyrus.designer.languages.java.reverse/.settings/org.eclipse.jdt.core.prefs
index f08be2b..c02efb3 100644
--- a/languages/java/org.eclipse.papyrus.designer.languages.java.reverse/.settings/org.eclipse.jdt.core.prefs
+++ b/languages/java/org.eclipse.papyrus.designer.languages.java.reverse/.settings/org.eclipse.jdt.core.prefs
@@ -5,6 +5,7 @@
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=99
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
@@ -18,8 +19,10 @@
 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
@@ -29,6 +32,8 @@
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
 org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
@@ -87,6 +92,7 @@
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
 org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
@@ -281,11 +287,23 @@
 org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
 org.eclipse.jdt.core.formatter.tabulation.char=tab
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
 org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/languages/java/org.eclipse.papyrus.designer.languages.java.reverse/build.properties b/languages/java/org.eclipse.papyrus.designer.languages.java.reverse/build.properties
index 759f5f6..5ee4e08 100644
--- a/languages/java/org.eclipse.papyrus.designer.languages.java.reverse/build.properties
+++ b/languages/java/org.eclipse.papyrus.designer.languages.java.reverse/build.properties
@@ -1,5 +1,5 @@
 source.. = src/
-output.. = bin/
+output.. = target/classes/
 bin.includes = META-INF/,\
                .,\
                plugin.properties,\
diff --git a/pom.xml b/pom.xml
index e340c08..74fca04 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,6 +21,8 @@
 	<modules>
 		<module>components</module>
 		<module>languages</module>
+		<module>deployment</module>
+		<module>transformation</module>
 		<module>gui</module>
 		<module>releng</module>
 		<module>targetplatform</module>
@@ -110,4 +112,4 @@
 			</repository>
 	</repositories>
 	
-</project>
\ No newline at end of file
+</project>
diff --git a/releng/.project b/releng/.project
new file mode 100644
index 0000000..a9a925c
--- /dev/null
+++ b/releng/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.releng</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.core.resources.prefs b/releng/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.core.resources.prefs
copy to releng/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.m2e.core.prefs b/releng/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.m2e.core.prefs
copy to releng/.settings/org.eclipse.m2e.core.prefs
diff --git a/releng/org.eclipse.papyrus.designer.components.main.feature/.project b/releng/org.eclipse.papyrus.designer.components.main.feature/.project
index 37a2994..8c16352 100644
--- a/releng/org.eclipse.papyrus.designer.components.main.feature/.project
+++ b/releng/org.eclipse.papyrus.designer.components.main.feature/.project
@@ -10,8 +10,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.FeatureNature</nature>
 	</natures>
 </projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/releng/org.eclipse.papyrus.designer.components.main.feature/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to releng/org.eclipse.papyrus.designer.components.main.feature/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/releng/org.eclipse.papyrus.designer.components.main.feature/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to releng/org.eclipse.papyrus.designer.components.main.feature/.settings/org.eclipse.m2e.core.prefs
diff --git a/releng/org.eclipse.papyrus.designer.components.tracing.feature/.project b/releng/org.eclipse.papyrus.designer.components.tracing.feature/.project
index 2cc17a8..5ed9f2d 100644
--- a/releng/org.eclipse.papyrus.designer.components.tracing.feature/.project
+++ b/releng/org.eclipse.papyrus.designer.components.tracing.feature/.project
@@ -5,7 +5,19 @@
 	<projects>
 	</projects>
 	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.FeatureNature</nature>
 	</natures>
 </projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/releng/org.eclipse.papyrus.designer.components.tracing.feature/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to releng/org.eclipse.papyrus.designer.components.tracing.feature/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/releng/org.eclipse.papyrus.designer.components.tracing.feature/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to releng/org.eclipse.papyrus.designer.components.tracing.feature/.settings/org.eclipse.m2e.core.prefs
diff --git a/releng/org.eclipse.papyrus.designer.languages.common.feature/.project b/releng/org.eclipse.papyrus.designer.languages.common.feature/.project
index a0effda..4604a3e 100644
--- a/releng/org.eclipse.papyrus.designer.languages.common.feature/.project
+++ b/releng/org.eclipse.papyrus.designer.languages.common.feature/.project
@@ -10,8 +10,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.FeatureNature</nature>
 	</natures>
 </projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/releng/org.eclipse.papyrus.designer.languages.common.feature/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to releng/org.eclipse.papyrus.designer.languages.common.feature/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/releng/org.eclipse.papyrus.designer.languages.common.feature/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to releng/org.eclipse.papyrus.designer.languages.common.feature/.settings/org.eclipse.m2e.core.prefs
diff --git a/releng/org.eclipse.papyrus.designer.languages.cpp.feature/.project b/releng/org.eclipse.papyrus.designer.languages.cpp.feature/.project
index 59e984d..ddc9aec 100644
--- a/releng/org.eclipse.papyrus.designer.languages.cpp.feature/.project
+++ b/releng/org.eclipse.papyrus.designer.languages.cpp.feature/.project
@@ -10,8 +10,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.FeatureNature</nature>
 	</natures>
 </projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/releng/org.eclipse.papyrus.designer.languages.cpp.feature/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to releng/org.eclipse.papyrus.designer.languages.cpp.feature/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/releng/org.eclipse.papyrus.designer.languages.cpp.feature/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to releng/org.eclipse.papyrus.designer.languages.cpp.feature/.settings/org.eclipse.m2e.core.prefs
diff --git a/releng/org.eclipse.papyrus.designer.languages.idl.feature/.project b/releng/org.eclipse.papyrus.designer.languages.idl.feature/.project
index 2f71290..7cfadf1 100644
--- a/releng/org.eclipse.papyrus.designer.languages.idl.feature/.project
+++ b/releng/org.eclipse.papyrus.designer.languages.idl.feature/.project
@@ -10,8 +10,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.FeatureNature</nature>
 	</natures>
 </projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/releng/org.eclipse.papyrus.designer.languages.idl.feature/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to releng/org.eclipse.papyrus.designer.languages.idl.feature/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/releng/org.eclipse.papyrus.designer.languages.idl.feature/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to releng/org.eclipse.papyrus.designer.languages.idl.feature/.settings/org.eclipse.m2e.core.prefs
diff --git a/releng/org.eclipse.papyrus.designer.languages.java.feature/.project b/releng/org.eclipse.papyrus.designer.languages.java.feature/.project
index a3a99a2..408061f 100644
--- a/releng/org.eclipse.papyrus.designer.languages.java.feature/.project
+++ b/releng/org.eclipse.papyrus.designer.languages.java.feature/.project
@@ -10,8 +10,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.FeatureNature</nature>
 	</natures>
 </projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/releng/org.eclipse.papyrus.designer.languages.java.feature/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to releng/org.eclipse.papyrus.designer.languages.java.feature/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/releng/org.eclipse.papyrus.designer.languages.java.feature/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to releng/org.eclipse.papyrus.designer.languages.java.feature/.settings/org.eclipse.m2e.core.prefs
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 89734cf..f77ca27 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -5,11 +5,6 @@
 		<title>Changes Report: Papyrus Designer</title>
 	</properties>
 	<body>
-		<release version="1.0.3" date="2016-08-11" description="SpottedJaguar">
-			<action dev="sli" type="fix" issue="499549">
-				Fix missing java.reverse, cpp.reverse, idl features. Fix duplicate components.main.feature category during installation.
-			</action>
-		</release>
 		<release version="1.0.2" date="2016-08-10" description="Jaguar">
 			<action dev="sli" type="add" issue="496481">
 				Reverse java feature
@@ -17,13 +12,13 @@
 			<action dev="sli" type="add" issue="499228">
 				Java state-based incremental code generation
 			</action>
-			<action dev="ar" type="add" issue="496485">
+			<action dev="sli" type="add" issue="496485">
 				IDL generation from interfaces, datatypes and classes (components)
 			</action>
-			<action dev="vcp" type="fix" issue="497394">
+			<action dev="sli" type="fix" issue="497394">
 				Fix state-machine generation for pseudo states
 			</action>
-			<action dev="ar" type="add" issue="496934">
+			<action dev="sli" type="add" issue="496934">
 				Provide model library for a subset of the C++ standard template library
 			</action>
 		</release>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/targetplatform/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to targetplatform/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/targetplatform/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to targetplatform/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone/.settings/org.eclipse.m2e.core.prefs
diff --git a/targetplatform/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone.target b/targetplatform/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone.target
index 58eb089..12ca63c 100644
--- a/targetplatform/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone.target
+++ b/targetplatform/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone.target
@@ -1,21 +1,21 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="Papyrus Neon Papyrus 2.0" sequenceNumber="1466666614">
+<?pde version="3.8"?><target name="Papyrus Neon Papyrus Milestone 2.0" sequenceNumber="1466666615">
 <locations>
 <location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
 <unit id="org.eclipse.platform.feature.group" version="0.0.0"/>
 <unit id="org.eclipse.rcp.feature.group" version="0.0.0"/>
 <unit id="org.eclipse.jdt.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecore.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.common.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.uml2.sdk.feature.group" version="0.0.0"/>
 <unit id="org.eclipse.pde.feature.group" version="0.0.0"/>
 <unit id="org.eclipse.cdt.feature.group" version="0.0.0"/>
 <unit id="org.eclipse.equinox.p2.discovery.feature.feature.group" version="0.0.0"/>
 <unit id="org.eclipse.equinox.executable.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.transaction.sdk.feature.group" version="0.0.0"/>
 <repository location="http://download.eclipse.org/releases/neon/"/>
 </location>
 <location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.papyrus.extra.marte.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/neon/2.0.0/extra/"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
 <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="0.0.0"/>
 <repository location="http://download.eclipse.org/modeling/mdt/papyrus/updates/milestones/2.0/main/"/>
 </location>
@@ -23,5 +23,13 @@
 <unit id="org.eclipse.papyrus.dev.feature.feature.group" version="0.0.0"/>
 <repository location="https://hudson.eclipse.org/papyrus/job/Papyrus-Neon-Developer/lastSuccessfulBuild/artifact/repository/"/>
 </location>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.papyrus.marte.core.feature.feature.group" version="0.0.0"/>
+<repository location="https://hudson.eclipse.org/papyrus/view/MARTE/job/papyrus-marte-neon/ws/releng/org.eclipse.papyrus.marte.p2/target/repository/"/>
+</location>
+<!--location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.swt.dummyfragments.feature.group" version="0.0.0"/>
+<repository location="https://eclipseguru.github.io/missing-swt-fragments/"/>
+</location-->
 </locations>
 </target>
diff --git a/targetplatform/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone.tpd b/targetplatform/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone.tpd
index 29723af..87bdc5f 100644
--- a/targetplatform/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone.tpd
+++ b/targetplatform/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone/org.eclipse.papyrus.designer.targetplatform.neon-papyrusmilestone.tpd
@@ -14,8 +14,8 @@
   org.eclipse.papyrus.sdk.feature.feature.group
 }
 
-location "http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/neon/2.0.0/extra/" papyrus-neon-extra {
- org.eclipse.papyrus.extra.marte.feature.feature.group
+location "https://hudson.eclipse.org/papyrus/view/MARTE/job/papyrus-marte-neon/ws/releng/org.eclipse.papyrus.marte.p2/target/repository/" papyrus-neon-extra {
+ org.eclipse.papyrus.marte.core.feature.feature.group
 }
 
 location "https://hudson.eclipse.org/papyrus/job/Papyrus-Neon-Developer/lastSuccessfulBuild/artifact/repository/" papyrus-neon-developper-nightly {
diff --git a/targetplatform/src/etc/header.epl.txt b/targetplatform/src/etc/header.epl.txt
new file mode 100644
index 0000000..68cbfa4
--- /dev/null
+++ b/targetplatform/src/etc/header.epl.txt
@@ -0,0 +1,4 @@
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
\ No newline at end of file
diff --git a/transformation/.project b/transformation/.project
new file mode 100644
index 0000000..a4e8c88
--- /dev/null
+++ b/transformation/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.transformation</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.core.resources.prefs b/transformation/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.core.resources.prefs
copy to transformation/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.m2e.core.prefs b/transformation/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.m2e.core.prefs
copy to transformation/.settings/org.eclipse.m2e.core.prefs
diff --git a/transformation/languages/.project b/transformation/languages/.project
new file mode 100644
index 0000000..39c0e95
--- /dev/null
+++ b/transformation/languages/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.transformation.languages</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.core.resources.prefs b/transformation/languages/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.core.resources.prefs
copy to transformation/languages/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.m2e.core.prefs b/transformation/languages/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.m2e.core.prefs
copy to transformation/languages/.settings/org.eclipse.m2e.core.prefs
diff --git a/transformation/languages/cpp/.project b/transformation/languages/cpp/.project
new file mode 100644
index 0000000..452b819
--- /dev/null
+++ b/transformation/languages/cpp/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.transformation.languages.cpp</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.core.resources.prefs b/transformation/languages/cpp/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.core.resources.prefs
copy to transformation/languages/cpp/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.m2e.core.prefs b/transformation/languages/cpp/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.m2e.core.prefs
copy to transformation/languages/cpp/.settings/org.eclipse.m2e.core.prefs
diff --git a/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/.classpath b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/.project b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/.project
new file mode 100644
index 0000000..f990389
--- /dev/null
+++ b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.transformation.languages.cpp.library</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/.settings/org.eclipse.core.resources.prefs
diff --git a/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/.settings/org.eclipse.jdt.core.prefs b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/.settings/org.eclipse.m2e.core.prefs
diff --git a/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/META-INF/MANIFEST.MF b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..f597d7a
--- /dev/null
+++ b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Transformation
+Bundle-SymbolicName: org.eclipse.papyrus.designer.transformation.languages.cpp.library;singleton:=true
+Bundle-Version: 0.7.5.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.papyrus.designer.transformation.base;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.transformation.profile;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.transformation.extensions;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.transformation.core;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.deployment.tools;bundle-version="0.7.5",
+ org.eclipse.papyrus.designer.languages.cpp.profile;bundle-version="1.0.2",
+ org.eclipse.papyrus.designer.deployment.profile;bundle-version="0.7.3",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="2.0.0",
+ org.eclipse.papyrus.marte.static.profile;bundle-version="1.2.0",
+ com.google.guava,
+ org.eclipse.xtext.xbase.lib,
+ org.eclipse.xtend.lib,
+ org.eclipse.xtend.lib.macro,
+ org.eclipse.papyrus.designer.transformation.library;bundle-version="0.7.3",
+ org.eclipse.papyrus.uml.diagram.wizards;bundle-version="2.0.0"
+
diff --git a/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/build.properties b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/build.properties
new file mode 100644
index 0000000..350e2bb
--- /dev/null
+++ b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               models/
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/models/examples/HelloWorldCpp.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di
copy to transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/models/examples/HelloWorldCpp.di
diff --git a/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/models/examples/HelloWorldCpp.notation b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/models/examples/HelloWorldCpp.notation
new file mode 100644
index 0000000..60ab900
--- /dev/null
+++ b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/models/examples/HelloWorldCpp.notation
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_U1UegPcXEd-KM6l7lmIPkw" type="PapyrusUMLClassDiagram" name="deployment" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_gdmuADefEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdmuAjefEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdmuAzefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdmuBDefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdmuBTefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdnVEDefEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdnVETefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_gdnVEjefEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorldCpp.uml#_gdeyMDefEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gdmuATefEeGPyrZ5I3hMlA" x="315" y="18" width="226" height="37"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_-4h4YFWREeKdxoQIVxFNNg" type="Package_Shape" fontName="Sans Serif" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-4k7sFWREeKdxoQIVxFNNg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-4k7sVWREeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-4k7slWREeKdxoQIVxFNNg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-4k7s1WREeKdxoQIVxFNNg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-4liwFWREeKdxoQIVxFNNg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-4liwVWREeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-4liwlWREeKdxoQIVxFNNg" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__Q8_QC1PEea25uwDpRQuxg" type="Package_PackagedElementCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Z7T5gFWjEeKOivupHOJ8Ew" type="InstanceSpecification_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UgkFWjEeKOivupHOJ8Ew" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7UgkVWjEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UgklWjEeKOivupHOJ8Ew" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7Ugk1WjEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UglFWjEeKOivupHOJ8Ew" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7UglVWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8smO0nk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8smO03k1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8-nL4Hk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Z7UgllWjEeKOivupHOJ8Ew" type="InstanceSpecification_NameLabel_CN"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_Z7Ugl1WjEeKOivupHOJ8Ew" type="InstanceSpecification_SlotCompartment_CN">
+            <children xmi:type="notation:Shape" xmi:id="_6VXKAFWjEeKOivupHOJ8Ew" type="Slot_SlotLabel" fontName="Sans Serif" lineColor="0">
+              <element xmi:type="uml:Slot" href="HelloWorldCpp.uml#_tfj4gFUwEeKdxoQIVxFNNg"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_6VXKAVWjEeKOivupHOJ8Ew" x="26" y="15"/>
+            </children>
+            <styles xmi:type="notation:TitleStyle" xmi:id="_Z7UgmFWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_Z7UgmVWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_Z7UgmlWjEeKOivupHOJ8Ew"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7Ugm1WjEeKOivupHOJ8Ew"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_qOXV0rYoEeWaTqnU44XdvA" type="InstanceSpecification_FloatingNameLabel_CN">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_qOXV07YoEeWaTqnU44XdvA" y="5"/>
+          </children>
+          <element xmi:type="uml:InstanceSpecification" href="HelloWorldCpp.uml#_ymQR4FT2EeKvFeqt5Q_lqw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7T5gVWjEeKOivupHOJ8Ew" x="13" y="31" width="261" height="64"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_wCUSAFZVEeKKZs15rvNNjA" type="Comment_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCX8YFZVEeKKZs15rvNNjA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCX8YVZVEeKKZs15rvNNjA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCX8YlZVEeKKZs15rvNNjA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCYjcFZVEeKKZs15rvNNjA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCYjcVZVEeKKZs15rvNNjA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCYjclZVEeKKZs15rvNNjA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_wCYjc1ZVEeKKZs15rvNNjA" type="Comment_BodyLabel_CN"/>
+          <element xmi:type="uml:Comment" href="HelloWorldCpp.uml#_wAbboFZVEeKKZs15rvNNjA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wCUSAVZVEeKKZs15rvNNjA" x="67" y="126" width="432" height="67"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_-4lixFWREeKdxoQIVxFNNg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-4lixVWREeKdxoQIVxFNNg"/>
+      </children>
+      <styles xmi:type="notation:IntValueStyle" xmi:id="_u3oFQLkXEeS7TYMQS2xzng" name="shapeDirection" intValue="1"/>
+      <element xmi:type="uml:Package" href="HelloWorldCpp.uml#_yl9-AFT2EeKvFeqt5Q_lqw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-4h4YVWREeKdxoQIVxFNNg" x="20" y="200" width="597" height="254"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_obNuEFWiEeKOivupHOJ8Ew" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obQxYFWiEeKOivupHOJ8Ew" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obQxYVWiEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obQxYlWiEeKOivupHOJ8Ew" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obQxY1WiEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obRYcFWiEeKOivupHOJ8Ew" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obRYcVWiEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_obRYclWiEeKOivupHOJ8Ew" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorldCpp.uml#_oZw8kFWiEeKOivupHOJ8Ew"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_obNuEVWiEeKOivupHOJ8Ew" x="315" y="90" width="226" height="55"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qX0z0LYoEeWaTqnU44XdvA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qX0z0bYoEeWaTqnU44XdvA" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qX0z07YoEeWaTqnU44XdvA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="HelloWorldCpp.uml#_yl9-AFT2EeKvFeqt5Q_lqw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qX0z0rYoEeWaTqnU44XdvA" x="220" y="200"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_U1UegfcXEd-KM6l7lmIPkw"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_qOX84rYoEeWaTqnU44XdvA" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="HelloWorldCpp.uml#_234GEDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_Sqs9MFWkEeKOivupHOJ8Ew" type="Comment_AnnotatedElementEdge" source="_obNuEFWiEeKOivupHOJ8Ew" target="_-4h4YFWREeKdxoQIVxFNNg" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Sqs9MVWkEeKOivupHOJ8Ew" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Sqs9MlWkEeKOivupHOJ8Ew" points="[113, 34, 301, -38]$[113, 93, 301, 21]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SrQW0FWkEeKOivupHOJ8Ew" id="(0.0,0.5277777777777778)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SrQW0VWkEeKOivupHOJ8Ew" id="(0.18739054290718038,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_71Q7oFZVEeKKZs15rvNNjA" type="Comment_AnnotatedElementEdge" source="_wCUSAFZVEeKKZs15rvNNjA" target="_Z7T5gFWjEeKOivupHOJ8Ew" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_71Q7oVZVEeKKZs15rvNNjA" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_71Q7olZVEeKKZs15rvNNjA" points="[253, 371, -643984, -643984]$[253, 340, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_71iBYFZVEeKKZs15rvNNjA" id="(0.37037037037037035,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_71iBYVZVEeKKZs15rvNNjA" id="(0.8199233716475096,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qX0z1LYoEeWaTqnU44XdvA" type="StereotypeCommentLink" source="_-4h4YFWREeKdxoQIVxFNNg" target="_qX0z0LYoEeWaTqnU44XdvA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_qX0z1bYoEeWaTqnU44XdvA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qX0z2bYoEeWaTqnU44XdvA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="HelloWorldCpp.uml#_yl9-AFT2EeKvFeqt5Q_lqw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qX0z1rYoEeWaTqnU44XdvA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qX0z17YoEeWaTqnU44XdvA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qX0z2LYoEeWaTqnU44XdvA"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_kIfpMLfoEeWaTqnU44XdvA" type="PapyrusUMLClassDiagram" name="HelloWorld class" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_p03KgLi2EeWDsejo3zDcqw" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_p04YoLi2EeWDsejo3zDcqw" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_p04Yobi2EeWDsejo3zDcqw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_p04Yori2EeWDsejo3zDcqw" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_p04_sLi2EeWDsejo3zDcqw" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_p04_sbi2EeWDsejo3zDcqw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_p04_sri2EeWDsejo3zDcqw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_p04_s7i2EeWDsejo3zDcqw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p04_tLi2EeWDsejo3zDcqw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_p04_tbi2EeWDsejo3zDcqw" type="Class_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_rqq1kLi2EeWDsejo3zDcqw" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="HelloWorldCpp.uml#_UtCt0FTzEeKvFeqt5Q_lqw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_rqrcoLi2EeWDsejo3zDcqw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_p04_tri2EeWDsejo3zDcqw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_p04_t7i2EeWDsejo3zDcqw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_p04_uLi2EeWDsejo3zDcqw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p04_ubi2EeWDsejo3zDcqw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_p04_uri2EeWDsejo3zDcqw" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_p04_u7i2EeWDsejo3zDcqw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_p04_vLi2EeWDsejo3zDcqw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_p04_vbi2EeWDsejo3zDcqw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p04_vri2EeWDsejo3zDcqw"/>
+      </children>
+      <element xmi:type="uml:Class" href="HelloWorldCpp.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p03Kgbi2EeWDsejo3zDcqw" x="80" y="140" width="201"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_p1HpMLi2EeWDsejo3zDcqw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_p1HpMbi2EeWDsejo3zDcqw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_p1IQQLi2EeWDsejo3zDcqw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="HelloWorldCpp.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p1HpMri2EeWDsejo3zDcqw" x="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_yB3BILi2EeWDsejo3zDcqw" type="Comment_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_yB3BIri2EeWDsejo3zDcqw" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorldCpp.uml#_2OyuALcpEeWaTqnU44XdvA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yB3BIbi2EeWDsejo3zDcqw" x="360" y="200" width="637"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_32ti4HEJEeatX-i6MtVR2A" type="Interface_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_32uJ8HEJEeatX-i6MtVR2A" type="Interface_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_32uJ8XEJEeatX-i6MtVR2A" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_32uJ8nEJEeatX-i6MtVR2A" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_32uJ83EJEeatX-i6MtVR2A" visible="false" type="Interface_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_32uJ9HEJEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_32uJ9XEJEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_32uJ9nEJEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_32uJ93EJEeatX-i6MtVR2A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_32uJ-HEJEeatX-i6MtVR2A" type="Interface_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_6MegYHEJEeatX-i6MtVR2A" type="Operation_InterfaceOperationLabel">
+          <element xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_6MegYXEJEeatX-i6MtVR2A"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_32uJ-XEJEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_32uJ-nEJEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_32uJ-3EJEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_32uJ_HEJEeatX-i6MtVR2A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_32uJ_XEJEeatX-i6MtVR2A" visible="false" type="Interface_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_32uJ_nEJEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_32uJ_3EJEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_32uKAHEJEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_32uKAXEJEeatX-i6MtVR2A"/>
+      </children>
+      <element xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_32ti4XEJEeatX-i6MtVR2A" x="80" y="20" width="201" height="61"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_kIfpMbfoEeWaTqnU44XdvA" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_kIfpMrfoEeWaTqnU44XdvA"/>
+    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_kIfpM7foEeWaTqnU44XdvA">
+      <owner xmi:type="uml:Package" href="HelloWorldCpp.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    </styles>
+    <element xmi:type="uml:Package" href="HelloWorldCpp.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_p1IQQbi2EeWDsejo3zDcqw" type="StereotypeCommentLink" source="_p03KgLi2EeWDsejo3zDcqw" target="_p1HpMLi2EeWDsejo3zDcqw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_p1IQQri2EeWDsejo3zDcqw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_p1I3Ubi2EeWDsejo3zDcqw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="HelloWorldCpp.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_p1IQQ7i2EeWDsejo3zDcqw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1IQRLi2EeWDsejo3zDcqw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1I3ULi2EeWDsejo3zDcqw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_2DiG0Li2EeWDsejo3zDcqw" type="Comment_AnnotatedElementEdge" source="_yB3BILi2EeWDsejo3zDcqw" target="_p03KgLi2EeWDsejo3zDcqw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_2DiG0bi2EeWDsejo3zDcqw"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2DiG0ri2EeWDsejo3zDcqw" points="[398, 154, -643984, -643984]$[297, 170, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2DuUELi2EeWDsejo3zDcqw" id="(0.0,0.3333333333333333)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2DuUEbi2EeWDsejo3zDcqw" id="(1.0,0.7692307692307693)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Dq_CMHEKEeatX-i6MtVR2A" type="InterfaceRealization_Edge" source="_p03KgLi2EeWDsejo3zDcqw" target="_32ti4HEJEeatX-i6MtVR2A">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Dq_CM3EKEeatX-i6MtVR2A" type="InterfaceRealization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Dq_CNHEKEeatX-i6MtVR2A" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Dq_CNXEKEeatX-i6MtVR2A" type="InterfaceRealization_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Dq_CNnEKEeatX-i6MtVR2A" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Dq_CMXEKEeatX-i6MtVR2A"/>
+      <element xmi:type="uml:InterfaceRealization" href="HelloWorldCpp.uml#_Dq2fUHEKEeatX-i6MtVR2A"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Dq_CMnEKEeatX-i6MtVR2A" points="[180, 140, -643984, -643984]$[180, 81, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DrPg4HEKEeatX-i6MtVR2A" id="(0.4975124378109453,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DrQH8HEKEeatX-i6MtVR2A" id="(0.4975124378109453,1.0)"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/models/examples/HelloWorldCpp.uml b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/models/examples/HelloWorldCpp.uml
new file mode 100644
index 0000000..523cbb7d
--- /dev/null
+++ b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/models/examples/HelloWorldCpp.uml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="HelloWorldCpp">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_pao64HEJEeatX-i6MtVR2A">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_TRAFO/trafos.uml#_Q6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="components">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_-Hd2MDecEeGPyrZ5I3hMlA" annotatedElement="_tyiqsc__Ed-TP80eVS-2Rg">
+        <body>Simple HelloWorld component that prints a message in its &quot;run&quot; operation that is provided via the &quot;start&quot; port
+</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_0D64MDedEeGPyrZ5I3hMlA">
+        <annotatedElement xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+        <body>Part of the Qompass core model library. Provides the specific port &quot;start&quot;. The &quot;run&quot; operation (defined within interface IStart) of this port is called by generated boot-code after instantiation and configuration of a component. </body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Class" xmi:id="_tyiqsc__Ed-TP80eVS-2Rg" name="HelloWorld">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_SxvpUFT0EeKvFeqt5Q_lqw" annotatedElement="_8pupUFTzEeKvFeqt5Q_lqw">
+          <body>Configuration attribute within the Hello World component. Its value is configured on the instance level.</body>
+        </ownedComment>
+        <ownedComment xmi:type="uml:Comment" xmi:id="_2OyuALcpEeWaTqnU44XdvA" annotatedElement="_UtCt0FTzEeKvFeqt5Q_lqw">
+          <body>The operation &quot;run&quot; is defined in interface IRunnnable that is provided by the IStart port. The synchronisation mechanism in Qompass (&quot;Sync. derived element&quot;, needs to be triggered by user) adds a corresponding &quot;derived&quot; operation to the class </body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_8pupUFTzEeKvFeqt5Q_lqw" name="message" visibility="public" aggregation="composite">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__HwK8FTzEeKvFeqt5Q_lqw" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__HwyAFTzEeKvFeqt5Q_lqw" value="1"/>
+        </ownedAttribute>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_Dq2fUHEKEeatX-i6MtVR2A" client="_tyiqsc__Ed-TP80eVS-2Rg">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+          <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+        </interfaceRealization>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_tyjRwc__Ed-TP80eVS-2Rg" name="run" specification="_UtCt0FTzEeKvFeqt5Q_lqw">
+          <language>C/C++</language>
+          <body>cout &lt;&lt; &quot;Hello world: &quot; &lt;&lt; message &lt;&lt; endl;</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_UtCt0FTzEeKvFeqt5Q_lqw" name="run" method="_tyjRwc__Ed-TP80eVS-2Rg"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_VMRFgDOJEeC7y-fR3OSnFw">
+        <body>This configuration requires the installation of the OTF trace library.&lt;br /></body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_gdeyMDefEeGPyrZ5I3hMlA">
+        <body>Cross references to composite diagram</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_oZw8kFWiEeKOivupHOJ8Ew" annotatedElement="_yl9-AFT2EeKvFeqt5Q_lqw">
+        <body>Deployment plan for system, i.e. set of instance specification along with configuration and allocation</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Package" xmi:id="_yl9-AFT2EeKvFeqt5Q_lqw" name="SystemDepPlan">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_wAbboFZVEeKKZs15rvNNjA" annotatedElement="_ymQR4FT2EeKvFeqt5Q_lqw">
+          <body>Value mainInstance.hello is a UML instance-value, i.e. a reference to the instance specification on the left.
+&quot;Test message&quot; is a StringValue initializing the message attribute</body>
+        </ownedComment>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ymQR4FT2EeKvFeqt5Q_lqw" name="mainInstance" classifier="_tyiqsc__Ed-TP80eVS-2Rg">
+          <slot xmi:type="uml:Slot" xmi:id="_tfj4gFUwEeKdxoQIVxFNNg" definingFeature="_8pupUFTzEeKvFeqt5Q_lqw">
+            <value xmi:type="uml:LiteralString" xmi:id="_tfni4FUwEeKdxoQIVxFNNg" name="value for message" value="&quot;Test message&quot;">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            </value>
+          </slot>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_GcC0cAHtEd6HSdiss9GQ0A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Gd1kMAHtEd6HSdiss9GQ0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_z1TwgFW3Ed63BrxiKsw-0Q">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z2GasFW3Ed63BrxiKsw-0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_sfyAwEbjEd-l4NeVOJZDkA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_siunEEbjEd-l4NeVOJZDkA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//GCM"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_YgAioAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_popJkKmqEeCxII-g1_Lmeg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_p1PbIKmqEeCxII-g1_Lmeg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_yNSZIAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_tZuBwE0tEeG4IqgA7gSE6w">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tisXkE0tEeG4IqgA7gSE6w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+  </uml:Model>
+  <C_Cpp:Include xmi:id="_11OtwPcaEd-KM6l7lmIPkw" body="#include &lt;iostream>&#xA;using namespace std;" base_class="_tyiqsc__Ed-TP80eVS-2Rg"/>
+  <FCM:DerivedElement xmi:id="_UtTMgFTzEeKvFeqt5Q_lqw" base_Element="_UtCt0FTzEeKvFeqt5Q_lqw">
+    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+  </FCM:DerivedElement>
+  <FCM:ConfigurationProperty xmi:id="_KTwJUFT0EeKvFeqt5Q_lqw" base_Property="_8pupUFTzEeKvFeqt5Q_lqw"/>
+  <FCM:DeploymentPlan xmi:id="_ymC2gFT2EeKvFeqt5Q_lqw" base_Package="_yl9-AFT2EeKvFeqt5Q_lqw"/>
+  <FCM:CodeGenOptions xmi:id="_1uf4ENykEeKPWMO32vUmzw" base_Package="_LOqIEDLaEd2qeKRLMdIx_A">
+    <progLanguage xmi:type="FCM:ProgLanguage" href="pathmap://QML_CORE/core.uml#_5WrSINzEEeKPWMO32vUmzw"/>
+  </FCM:CodeGenOptions>
+</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/models/library/BootLoaderCpp.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di
copy to transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/models/library/BootLoaderCpp.di
diff --git a/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/models/library/BootLoaderCpp.notation b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/models/library/BootLoaderCpp.notation
new file mode 100644
index 0000000..8f7968c
--- /dev/null
+++ b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/models/library/BootLoaderCpp.notation
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_tKryIHhpEealuJVOx0h2iw" type="PapyrusUMLClassDiagram" name="Bootloader" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_yvxLUHhpEealuJVOx0h2iw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_yv5HIHhpEealuJVOx0h2iw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_yv5uMHhpEealuJVOx0h2iw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_yv5uMXhpEealuJVOx0h2iw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_yv5uMnhpEealuJVOx0h2iw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_koh-8HqaEeaSlIj2Y08cEA" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="BootLoaderCpp.uml#_i8h2AHlvEeavUcYMQ2Z1Aw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_koh-8XqaEeaSlIj2Y08cEA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_pN6OoHqaEeaSlIj2Y08cEA" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="BootLoaderCpp.uml#_ET2FoHjkEeakrcXZeNIVKw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_pN6OoXqaEeaSlIj2Y08cEA"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_yv5uM3hpEealuJVOx0h2iw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_yv5uNHhpEealuJVOx0h2iw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_yv5uNXhpEealuJVOx0h2iw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yv5uNnhpEealuJVOx0h2iw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_yv6VQHhpEealuJVOx0h2iw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_8cJwoHjjEeakrcXZeNIVKw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="BootLoaderCpp.uml#_8b9jYHjjEeakrcXZeNIVKw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8cJwoXjjEeakrcXZeNIVKw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_yv6VQXhpEealuJVOx0h2iw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_yv6VQnhpEealuJVOx0h2iw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_yv6VQ3hpEealuJVOx0h2iw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yv6VRHhpEealuJVOx0h2iw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_yv6VRXhpEealuJVOx0h2iw" visible="false" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_yv6VRnhpEealuJVOx0h2iw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_yv6VR3hpEealuJVOx0h2iw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_yv6VSHhpEealuJVOx0h2iw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yv6VSXhpEealuJVOx0h2iw"/>
+    </children>
+    <element xmi:type="uml:Class" href="BootLoaderCpp.uml#_yvoocHhpEealuJVOx0h2iw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yvxLUXhpEealuJVOx0h2iw" x="152" y="92" width="269" height="149"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_CUF98HjwEeasG4qn4umteA" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_CUIaMHjwEeasG4qn4umteA" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_CUIaMXjwEeasG4qn4umteA" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_CUIaMnjwEeasG4qn4umteA" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_CUJoUHjwEeasG4qn4umteA" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_IHsUQHjwEeasG4qn4umteA" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="BootLoaderCpp.uml#_IHT5wHjwEeasG4qn4umteA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IHsUQXjwEeasG4qn4umteA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_OFAnQHjwEeasG4qn4umteA" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="BootLoaderCpp.uml#_OEuTYHjwEeasG4qn4umteA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OFAnQXjwEeasG4qn4umteA"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_CUJoUXjwEeasG4qn4umteA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_CUJoUnjwEeasG4qn4umteA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_CUJoU3jwEeasG4qn4umteA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CUJoVHjwEeasG4qn4umteA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_CUJoVXjwEeasG4qn4umteA" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_CUJoVnjwEeasG4qn4umteA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_CUJoV3jwEeasG4qn4umteA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_CUJoWHjwEeasG4qn4umteA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CUJoWXjwEeasG4qn4umteA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_CUJoWnjwEeasG4qn4umteA" visible="false" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_CUJoW3jwEeasG4qn4umteA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_CUJoXHjwEeasG4qn4umteA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_CUJoXXjwEeasG4qn4umteA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CUJoXnjwEeasG4qn4umteA"/>
+    </children>
+    <element xmi:type="uml:Class" href="BootLoaderCpp.uml#_CS_KsHjwEeasG4qn4umteA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CUF98XjwEeasG4qn4umteA" x="546" y="91" width="255" height="150"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_idMv0HqaEeaSlIj2Y08cEA" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_idMv0XqaEeaSlIj2Y08cEA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_idN98HqaEeaSlIj2Y08cEA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="BootLoaderCpp.uml#_yvoocHhpEealuJVOx0h2iw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_idMv0nqaEeaSlIj2Y08cEA" x="352" y="92"/>
+  </children>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_tKryIXhpEealuJVOx0h2iw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_tKryInhpEealuJVOx0h2iw"/>
+  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_tKryI3hpEealuJVOx0h2iw">
+    <owner xmi:type="uml:Model" href="BootLoaderCpp.uml#_cy2oEHhpEealuJVOx0h2iw"/>
+  </styles>
+  <element xmi:type="uml:Model" href="BootLoaderCpp.uml#_cy2oEHhpEealuJVOx0h2iw"/>
+  <edges xmi:type="notation:Connector" xmi:id="_idOlAHqaEeaSlIj2Y08cEA" type="StereotypeCommentLink" source="_yvxLUHhpEealuJVOx0h2iw" target="_idMv0HqaEeaSlIj2Y08cEA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_idOlAXqaEeaSlIj2Y08cEA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_idPzIHqaEeaSlIj2Y08cEA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="BootLoaderCpp.uml#_yvoocHhpEealuJVOx0h2iw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_idOlAnqaEeaSlIj2Y08cEA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_idPMEHqaEeaSlIj2Y08cEA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_idPMEXqaEeaSlIj2Y08cEA"/>
+  </edges>
+</notation:Diagram>
diff --git a/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/models/library/BootLoaderCpp.uml b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/models/library/BootLoaderCpp.uml
new file mode 100644
index 0000000..cf2988b
--- /dev/null
+++ b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/models/library/BootLoaderCpp.uml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <uml:Model xmi:id="_cy2oEHhpEealuJVOx0h2iw" name="BootLoaderCpp">
+    <packagedElement xmi:type="uml:Class" xmi:id="_yvoocHhpEealuJVOx0h2iw" name="BootLoader">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_i8h2AHlvEeavUcYMQ2Z1Aw" name="argc">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ET2FoHjkEeakrcXZeNIVKw" name="argv" visibility="public" isStatic="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JDJtYHjkEeakrcXZeNIVKw"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JDNXwHjkEeakrcXZeNIVKw" value="*"/>
+      </ownedAttribute>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_8b9jYHjjEeakrcXZeNIVKw" name="init"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_CS_KsHjwEeasG4qn4umteA" name="NodeInfo">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_IHT5wHjwEeasG4qn4umteA" name="nodeIndex" isStatic="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_evLegHjwEeasG4qn4umteA" name="def"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_OEuTYHjwEeasG4qn4umteA" name="numberOfNodes" visibility="public" isStatic="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_cY15QHjwEeasG4qn4umteA" name="def"/>
+      </ownedAttribute>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_BDsTUHlvEeavUcYMQ2Z1Aw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BDwkwHlvEeavUcYMQ2Z1Aw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+  </uml:Model>
+  <C_Cpp:Include xmi:id="_QkSTYHlvEeavUcYMQ2Z1Aw" body="BootLoader bootloader;&#xA;&#xA;int main (int argc, char* argv[])&#xA;{&#xA;&#x9;// store arguments for future access&#xA;&#x9;BootLoader::argc = argc;&#xA;&#x9;BootLoader::argv = argv;&#xA;&#xA;&#x9;bootloader.init ();&#xA;&#x9;return 0;&#xA;}&#xA;" base_class="_yvoocHhpEealuJVOx0h2iw" base_Classifier="_yvoocHhpEealuJVOx0h2iw"/>
+</xmi:XMI>
diff --git a/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/plugin.xml b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/plugin.xml
new file mode 100644
index 0000000..8804968
--- /dev/null
+++ b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/plugin.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+	<extension point="org.eclipse.papyrus.designer.transformation.extensions.m2mTrafo">
+		<transformation
+			transformationID="trafos::m2mtransformations::BootLoaderGen::C++"
+			class="org.eclipse.papyrus.designer.transformation.languages.cpp.library.BootLoaderGenCpp">
+		</transformation>
+	</extension>
+	<extension point="org.eclipse.emf.ecore.uri_mapping">
+    	<mapping
+          source="pathmap://DML_TRAFOS_CPP/"
+          target="platform:/plugin/org.eclipse.papyrus.designer.transformation.languages.cpp.library/models/library/">
+		</mapping>
+	</extension>
+	<extension point="org.eclipse.ui.newWizards">
+		<wizard
+			category="org.eclipse.ui.Examples/org.eclipse.papyrus.examples"
+			class="org.eclipse.papyrus.designer.transformation.languages.cpp.library.wizards.HelloWorldCppModelWizard"
+			finalPerspective="org.eclipse.papyrus.infra.core.perspective"
+			icon="platform:/plugin/org.eclipse.papyrus.designer.ui/icons/designer-16x16.gif"
+			id="org.eclipse.papyrus.designer.transformation.languages.cpp.library.wizards.HelloWorldCppModelWizard"
+			name="Papyrus Designer C++ hello world example with deployment plan">
+			<selection class="org.eclipse.core.resources.IResource"/>
+		</wizard>
+	</extension>
+</plugin>
diff --git a/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/pom.xml b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/pom.xml
new file mode 100644
index 0000000..43d40eb
--- /dev/null
+++ b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.designer</groupId>
+		<artifactId>org.eclipse.papyrus.designer.transformation.languages.cpp</artifactId>
+		<version>0.7.5-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.designer.transformation.languages.cpp.library</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This module contains C++ specific transformations, including bootloader creation</description>
+	
+		<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-clean-plugin</artifactId>
+				<configuration>
+					<filesets>
+						<fileset>
+							<directory>xtend-gen</directory>
+							<includes>
+								<include>**/*</include>
+							</includes>
+							<excludes>
+								<exclude>.gitignore</exclude>
+							</excludes>
+						</fileset>
+					</filesets>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.eclipse.xtend</groupId>
+				<artifactId>xtend-maven-plugin</artifactId>
+				<executions>
+					<execution>
+						<phase>generate-sources</phase>
+						<goals>
+							<goal>compile</goal>
+						</goals>
+					</execution>
+				</executions>
+				<configuration>
+					<outputDirectory>xtend-gen</outputDirectory>
+					<testOutputDirectory>${project.build.directory}/xtend-gen/test</testOutputDirectory>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+</project>
diff --git a/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/src/org/eclipse/papyrus/designer/transformation/languages/cpp/library/BootLoaderGenCpp.xtend b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/src/org/eclipse/papyrus/designer/transformation/languages/cpp/library/BootLoaderGenCpp.xtend
new file mode 100644
index 0000000..0a4107b
--- /dev/null
+++ b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/src/org/eclipse/papyrus/designer/transformation/languages/cpp/library/BootLoaderGenCpp.xtend
@@ -0,0 +1,204 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.languages.cpp.library;
+
+import java.util.HashMap
+import java.util.Stack
+import org.eclipse.emf.common.util.EList
+import org.eclipse.emf.common.util.URI
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Include
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils
+import org.eclipse.papyrus.designer.transformation.base.utils.LibraryUtils
+import org.eclipse.papyrus.designer.transformation.base.utils.ModelManagement
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException
+import org.eclipse.papyrus.designer.transformation.core.Messages
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoCDP
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier.CopyStatus
+import org.eclipse.papyrus.designer.transformation.core.transformations.TransformationContext
+import org.eclipse.papyrus.designer.transformation.library.transformations.AbstractBootLoaderGen
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
+import org.eclipse.uml2.uml.Class
+import org.eclipse.uml2.uml.InstanceSpecification
+import org.eclipse.uml2.uml.LiteralInteger
+import org.eclipse.uml2.uml.Package
+import org.eclipse.uml2.uml.Slot
+import org.eclipse.uml2.uml.ValueSpecification
+
+/**
+ * Create a BootLoader for C++
+ */
+public class BootLoaderGenCpp extends AbstractBootLoaderGen implements IM2MTrafoCDP {
+
+	public static final URI CPP_BOOTLOADER_URI = URI.createURI("pathmap://DML_TRAFOS_CPP/BootLoaderCpp.uml");
+
+	public static final String CPP_BOOTLOADER_QNAME = "BootLoaderCpp::BootLoader"
+
+	public static final String CPP_NODEINFO_QNAME = "BootLoaderCpp::NodeInfo"
+	
+	/**
+	 * Create a new boot-loader in a specific package
+	 * (which represents a node of the system).
+	 *
+	 * @param copier a lazy copier
+	 * @param nodeIndex the index of the node
+	 * @param numberOfNodes the number of nodes
+	 * @throws TransformationException
+	 */
+	override def public void init(LazyCopier copier, int nodeIndex, int numberOfNodes)
+			throws TransformationException {
+		// Class composite = (Class) ut.getClassifier (mainInstance);
+		// place in root (getModel()) to avoid the problem that the declaration of the bootLoader
+		// instance is within a namespace (a static attribute on the model level would not solve the
+		// problem as it must be accessed by function main).
+
+		val root = TransformationContext.current.modelRoot;
+
+		outputSizeof = false;
+		m_copier = copier;
+		
+		val bootloader_ml = LibraryUtils.getContent(CPP_BOOTLOADER_URI, ModelManagement.resourceSet) as Package
+		if (bootloader_ml == null) {
+			throw new TransformationException(String.format(
+					Messages.BootLoaderGen_CannotRetrieveTemplate, CPP_BOOTLOADER_URI));
+		}
+		val template = ElementUtils.getQualifiedElement(bootloader_ml, CPP_BOOTLOADER_QNAME) as Class
+		if (template == null) {
+			throw new TransformationException(String.format(
+					Messages.BootLoaderGen_CannotRetrieveTemplate, CPP_BOOTLOADER_QNAME));
+		}
+		// register the pair between the owner of the bootloader template and the root package
+		// this will assure that the bootloader gets copied into the root package
+		copier.put(template.getOwner(), root)
+		copier.setStatus(template.getOwner(), CopyStatus.INPROGRESS);
+		m_bootLoader = copier.getCopy(template)
+
+		val cppInclude = StereotypeUtil.applyApp(m_bootLoader, Include);
+		if (cppInclude == null) {
+			throw new TransformationException(Messages.BootLoaderGen_CannotApplyCppInclude);
+		}
+		val existingBody = cppInclude.body
+		var bodyStr = EMPTYSTR;
+
+		if (outputSizeof) {
+			bodyStr += '''
+				#include <iostream>
+				using namespace std
+			'''
+		}
+		cppInclude.body = existingBody + bodyStr
+
+		val nodeInfo = ElementUtils.getQualifiedElement(bootloader_ml, CPP_NODEINFO_QNAME) as Class
+		val nodeIndexElem = nodeInfo.getAttribute("nodeIndex", null)
+		val numberOfNodesElem = nodeInfo.getAttribute("numberOfNodes", null)
+		// update values (assuming that the template already defines a LiteralInteger default value)
+		(nodeIndexElem.defaultValue as LiteralInteger).setValue = nodeIndex + 0
+		(numberOfNodesElem.defaultValue as LiteralInteger).setValue = numberOfNodes
+		copier.getCopy(nodeInfo)
+		
+		m_initCode = EMPTYSTR;
+		m_initCodeRun = EMPTYSTR;
+		m_activation = new HashMap<Class, EList<String>>();
+		m_initCodeCConnections = EMPTYSTR;
+		m_initCodeCConfig = EMPTYSTR;
+
+		if (outputSizeof) {
+			// not supported by Java
+			// m_initCode += '''cout << \"sizeof bootloader: \" << sizeof (bootloader) << endl;'''
+		}
+	}
+
+	// create instance: nothing to do, since an attribute declaration (without pointer) creates the
+	// instance already
+	override def public String languageCreateInstance(InstanceSpecification is, Class implementation) '''
+	'''
+
+	override languageCreateConn(String varName) '''
+		«varName».createConnections();
+	'''
+	
+	
+	override def public String 	languageRunStart(String varName, boolean useOO) '''
+		«varName».get_start()->run();
+	'''
+	
+	override def public String languageAssignRef(String accessName, String referenceVarName) '''
+		«accessName» = &«referenceVarName»;
+	'''
+	
+	override def public void instanceConfig(Stack<Slot> slotPath, InstanceSpecification instance) throws TransformationException {
+		val slot = slotPath.peek();
+		// String varName = getPath(slotPath, instance, false);
+		val sf = slot.getDefiningFeature();
+		if (sf == null) {
+			throw new TransformationException(String.format("A slot for instance %s has no defining feature", instance.getName())); //$NON-NLS-1$
+		}
+
+		val varName = instance.getName() + "." + sf.getName(); //$NON-NLS-1$
+		for (ValueSpecification value : slot.getValues()) {
+
+			// only set value, if not null
+			if (value.stringValue() != null) {
+				m_initCodeCConfig += varName + " = " + value.stringValue() + EOL; //$NON-NLS-1$
+			}
+		}
+	}
+
+	def override void applyTrafo(M2MTrafo trafo, Package deploymentPlan) throws TransformationException {
+		init(TransformationContext.current.copier, 0, 0);
+	
+		val slotPath = new Stack<Slot>();
+		for (InstanceSpecification is : DepUtils.getTopLevelInstances(deploymentPlan))  {
+			addInstance(is, slotPath);
+		}
+		addInit("C/Cpp");
+	}
+
+	def override public void languageInit() {
+		// TODO Auto-generated method stub
+		
+	}
+
+	def override public String languageActivation(Class[] activationKeys) '''
+		// activation code
+		«FOR implementation : activationKeys»
+			«val varNameList = m_activation.get(implementation)»
+			«FOR varName : varNameList»
+				«varName».get_lc()->activate();
+			«ENDFOR»
+		«ENDFOR»
+		return code;
+	'''
+		
+	def override public String languageDeactivation(Class[] activationKeys) '''
+		// deactivation code (reverse order)
+		«FOR implementation : activationKeys.reverse»
+			«val varNameList = m_activation.get(implementation)»
+			«FOR varName : varNameList»
+				«varName».get_lc()->deactivate();
+			«ENDFOR»
+		«ENDFOR»
+		return code;
+	'''
+
+	def override public String languageDefaultExecCode() '''
+		// no user entry point => enter endless loop
+		for (;;) {
+			usleep(100);
+		}
+	'''
+}
diff --git a/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/src/org/eclipse/papyrus/designer/transformation/languages/cpp/library/wizards/HelloWorldCppModelWizard.java b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/src/org/eclipse/papyrus/designer/transformation/languages/cpp/library/wizards/HelloWorldCppModelWizard.java
new file mode 100644
index 0000000..d76fd4b
--- /dev/null
+++ b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/src/org/eclipse/papyrus/designer/transformation/languages/cpp/library/wizards/HelloWorldCppModelWizard.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.languages.cpp.library.wizards;
+
+import org.eclipse.papyrus.uml.diagram.wizards.wizards.ModelCopyWizard;
+
+/**
+ * Copy wizard for the HelloWorld example
+ */
+public class HelloWorldCppModelWizard extends ModelCopyWizard {
+
+	public HelloWorldCppModelWizard() {
+		super("HelloWorldCpp"); //$NON-NLS-1$
+	}
+}
diff --git a/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/tmpModel/HelloWorldCppTmp.uml b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/tmpModel/HelloWorldCppTmp.uml
new file mode 100644
index 0000000..21cf430
--- /dev/null
+++ b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/tmpModel/HelloWorldCppTmp.uml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="HelloWorldCpp">
+    <packageImport xmi:id="_98GrQXq2Eea3BdFt533Isw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:id="_98GrQnq2Eea3BdFt533Isw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_TRAFO/trafos.uml#_Q6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_98RDUHq2Eea3BdFt533Isw" name="globalenums"/>
+    <packagedElement xmi:type="uml:Package" xmi:id="_98Wi4Hq2Eea3BdFt533Isw" name="deployment">
+      <packagedElement xmi:type="uml:Package" xmi:id="_yl9-AFT2EeKvFeqt5Q_lqw" name="SystemDepPlan">
+        <ownedComment xmi:id="_wAbboFZVEeKKZs15rvNNjA" annotatedElement="_ymQR4FT2EeKvFeqt5Q_lqw">
+          <body>Value mainInstance.hello is a UML instance-value, i.e. a reference to the instance specification on the left.
+&quot;Test message&quot; is a StringValue initializing the message attribute</body>
+        </ownedComment>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ymQR4FT2EeKvFeqt5Q_lqw" name="mainInstance" classifier="_tyiqsc__Ed-TP80eVS-2Rg">
+          <slot xmi:id="_tfj4gFUwEeKdxoQIVxFNNg" definingFeature="_8pupUFTzEeKvFeqt5Q_lqw">
+            <value xmi:type="uml:LiteralString" xmi:id="_tfni4FUwEeKdxoQIVxFNNg" name="value for message" value="&quot;Test message&quot;">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            </value>
+          </slot>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_98XxAXq2Eea3BdFt533Isw" name="components">
+      <packagedElement xmi:type="uml:Class" xmi:id="_tyiqsc__Ed-TP80eVS-2Rg" name="HelloWorld">
+        <ownedComment xmi:id="_SxvpUFT0EeKvFeqt5Q_lqw" annotatedElement="_8pupUFTzEeKvFeqt5Q_lqw">
+          <body>Configuration attribute within the Hello World component. Its value is configured on the instance level.</body>
+        </ownedComment>
+        <ownedComment xmi:id="_2OyuALcpEeWaTqnU44XdvA" annotatedElement="_UtCt0FTzEeKvFeqt5Q_lqw">
+          <body>The operation &quot;run&quot; is defined in interface IRunnnable that is provided by the IStart port. The synchronisation mechanism in Qompass (&quot;Sync. derived element&quot;, needs to be triggered by user) adds a corresponding &quot;derived&quot; operation to the class </body>
+        </ownedComment>
+        <ownedAttribute xmi:id="_8pupUFTzEeKvFeqt5Q_lqw" name="message" visibility="public" aggregation="composite">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__HwK8FTzEeKvFeqt5Q_lqw" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__HwyAFTzEeKvFeqt5Q_lqw" value="1"/>
+        </ownedAttribute>
+        <interfaceRealization xmi:id="_Dq2fUHEKEeatX-i6MtVR2A" client="_tyiqsc__Ed-TP80eVS-2Rg">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+          <contract href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+        </interfaceRealization>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_tyjRwc__Ed-TP80eVS-2Rg" name="run" specification="_UtCt0FTzEeKvFeqt5Q_lqw">
+          <language>C/C++</language>
+          <body>cout &lt;&lt; &quot;Hello world: &quot; &lt;&lt; message &lt;&lt; endl;</body>
+        </ownedBehavior>
+        <ownedOperation xmi:id="_UtCt0FTzEeKvFeqt5Q_lqw" name="run" method="_tyjRwc__Ed-TP80eVS-2Rg"/>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:id="_98BywHq2Eea3BdFt533Isw">
+      <eAnnotations xmi:id="_98CZ0Hq2Eea3BdFt533Isw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:id="_98DA4Hq2Eea3BdFt533Isw">
+      <eAnnotations xmi:id="_98DA4Xq2Eea3BdFt533Isw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:id="_98Dn8Hq2Eea3BdFt533Isw">
+      <eAnnotations xmi:id="_98EPAHq2Eea3BdFt533Isw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
+    </profileApplication>
+    <profileApplication xmi:id="_98EPAXq2Eea3BdFt533Isw">
+      <eAnnotations xmi:id="_98EPAnq2Eea3BdFt533Isw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//GCM"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_YgAioAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:id="_98FdIHq2Eea3BdFt533Isw">
+      <eAnnotations xmi:id="_98FdIXq2Eea3BdFt533Isw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_yNSZIAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:id="_98GEMHq2Eea3BdFt533Isw">
+      <eAnnotations xmi:id="_98GrQHq2Eea3BdFt533Isw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+  </uml:Model>
+  <FCM:DeploymentPlan xmi:id="_ymC2gFT2EeKvFeqt5Q_lqw" base_Package="_yl9-AFT2EeKvFeqt5Q_lqw"/>
+  <FCM:CodeGenOptions xmi:id="_98XxAHq2Eea3BdFt533Isw" base_Package="_98XxAXq2Eea3BdFt533Isw"/>
+  <C_Cpp:Include xmi:id="_11OtwPcaEd-KM6l7lmIPkw" body="#include &lt;iostream>&#xA;using namespace std;" base_class="_tyiqsc__Ed-TP80eVS-2Rg"/>
+  <FCM:ConfigurationProperty xmi:id="_KTwJUFT0EeKvFeqt5Q_lqw" base_Property="_8pupUFTzEeKvFeqt5Q_lqw"/>
+  <FCM:DerivedElement xmi:id="_98d3oHq2Eea3BdFt533Isw" base_Element="_UtCt0FTzEeKvFeqt5Q_lqw">
+    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+  </FCM:DerivedElement>
+</xmi:XMI>
diff --git a/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/xtend-gen/org/eclipse/papyrus/designer/transformation/languages/cpp/library/BootLoaderGenCpp.java b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/xtend-gen/org/eclipse/papyrus/designer/transformation/languages/cpp/library/BootLoaderGenCpp.java
new file mode 100644
index 0000000..3329a8b
--- /dev/null
+++ b/transformation/languages/cpp/org.eclipse.papyrus.designer.transformation.languages.cpp.library/xtend-gen/org/eclipse/papyrus/designer/transformation/languages/cpp/library/BootLoaderGenCpp.java
@@ -0,0 +1,270 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ * 
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ */
+package org.eclipse.papyrus.designer.transformation.languages.cpp.library;
+
+import com.google.common.base.Objects;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Stack;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Include;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.LibraryUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.ModelManagement;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.Messages;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoCDP;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.designer.transformation.core.transformations.TransformationContext;
+import org.eclipse.papyrus.designer.transformation.library.transformations.AbstractBootLoaderGen;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.xbase.lib.Conversions;
+import org.eclipse.xtext.xbase.lib.ListExtensions;
+
+/**
+ * Create a BootLoader for C++
+ */
+@SuppressWarnings("all")
+public class BootLoaderGenCpp extends AbstractBootLoaderGen implements IM2MTrafoCDP {
+  public final static URI CPP_BOOTLOADER_URI = URI.createURI("pathmap://DML_TRAFOS_CPP/BootLoaderCpp.uml");
+  
+  public final static String CPP_BOOTLOADER_QNAME = "BootLoaderCpp::BootLoader";
+  
+  public final static String CPP_NODEINFO_QNAME = "BootLoaderCpp::NodeInfo";
+  
+  /**
+   * Create a new boot-loader in a specific package
+   * (which represents a node of the system).
+   * 
+   * @param copier a lazy copier
+   * @param nodeIndex the index of the node
+   * @param numberOfNodes the number of nodes
+   * @throws TransformationException
+   */
+  @Override
+  public void init(final LazyCopier copier, final int nodeIndex, final int numberOfNodes) throws TransformationException {
+    final org.eclipse.uml2.uml.Package root = TransformationContext.current.modelRoot;
+    this.outputSizeof = false;
+    this.m_copier = copier;
+    ResourceSet _resourceSet = ModelManagement.getResourceSet();
+    Element _content = LibraryUtils.getContent(BootLoaderGenCpp.CPP_BOOTLOADER_URI, _resourceSet);
+    final org.eclipse.uml2.uml.Package bootloader_ml = ((org.eclipse.uml2.uml.Package) _content);
+    boolean _equals = Objects.equal(bootloader_ml, null);
+    if (_equals) {
+      String _format = String.format(
+        Messages.BootLoaderGen_CannotRetrieveTemplate, BootLoaderGenCpp.CPP_BOOTLOADER_URI);
+      throw new TransformationException(_format);
+    }
+    NamedElement _qualifiedElement = ElementUtils.getQualifiedElement(bootloader_ml, BootLoaderGenCpp.CPP_BOOTLOADER_QNAME);
+    final org.eclipse.uml2.uml.Class template = ((org.eclipse.uml2.uml.Class) _qualifiedElement);
+    boolean _equals_1 = Objects.equal(template, null);
+    if (_equals_1) {
+      String _format_1 = String.format(
+        Messages.BootLoaderGen_CannotRetrieveTemplate, BootLoaderGenCpp.CPP_BOOTLOADER_QNAME);
+      throw new TransformationException(_format_1);
+    }
+    Element _owner = template.getOwner();
+    copier.put(_owner, root);
+    Element _owner_1 = template.getOwner();
+    copier.setStatus(_owner_1, LazyCopier.CopyStatus.INPROGRESS);
+    org.eclipse.uml2.uml.Class _copy = copier.<org.eclipse.uml2.uml.Class>getCopy(template);
+    this.m_bootLoader = _copy;
+    final Include cppInclude = StereotypeUtil.<Include>applyApp(this.m_bootLoader, Include.class);
+    boolean _equals_2 = Objects.equal(cppInclude, null);
+    if (_equals_2) {
+      throw new TransformationException(Messages.BootLoaderGen_CannotApplyCppInclude);
+    }
+    final String existingBody = cppInclude.getBody();
+    String bodyStr = AbstractBootLoaderGen.EMPTYSTR;
+    if (this.outputSizeof) {
+      String _bodyStr = bodyStr;
+      StringConcatenation _builder = new StringConcatenation();
+      _builder.append("#include <iostream>");
+      _builder.newLine();
+      _builder.append("using namespace std");
+      _builder.newLine();
+      bodyStr = (_bodyStr + _builder);
+    }
+    cppInclude.setBody((existingBody + bodyStr));
+    NamedElement _qualifiedElement_1 = ElementUtils.getQualifiedElement(bootloader_ml, BootLoaderGenCpp.CPP_NODEINFO_QNAME);
+    final org.eclipse.uml2.uml.Class nodeInfo = ((org.eclipse.uml2.uml.Class) _qualifiedElement_1);
+    final Property nodeIndexElem = nodeInfo.getAttribute("nodeIndex", null);
+    final Property numberOfNodesElem = nodeInfo.getAttribute("numberOfNodes", null);
+    ValueSpecification _defaultValue = nodeIndexElem.getDefaultValue();
+    ((LiteralInteger) _defaultValue).setValue((nodeIndex + 0));
+    ValueSpecification _defaultValue_1 = numberOfNodesElem.getDefaultValue();
+    ((LiteralInteger) _defaultValue_1).setValue(numberOfNodes);
+    copier.<org.eclipse.uml2.uml.Class>getCopy(nodeInfo);
+    this.m_initCode = AbstractBootLoaderGen.EMPTYSTR;
+    this.m_initCodeRun = AbstractBootLoaderGen.EMPTYSTR;
+    HashMap<org.eclipse.uml2.uml.Class, EList<String>> _hashMap = new HashMap<org.eclipse.uml2.uml.Class, EList<String>>();
+    this.m_activation = _hashMap;
+    this.m_initCodeCConnections = AbstractBootLoaderGen.EMPTYSTR;
+    this.m_initCodeCConfig = AbstractBootLoaderGen.EMPTYSTR;
+    if (this.outputSizeof) {
+    }
+  }
+  
+  @Override
+  public String languageCreateInstance(final InstanceSpecification is, final org.eclipse.uml2.uml.Class implementation) {
+    StringConcatenation _builder = new StringConcatenation();
+    return _builder.toString();
+  }
+  
+  @Override
+  public String languageCreateConn(final String varName) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append(varName, "");
+    _builder.append(".createConnections();");
+    _builder.newLineIfNotEmpty();
+    return _builder.toString();
+  }
+  
+  @Override
+  public String languageRunStart(final String varName, final boolean useOO) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append(varName, "");
+    _builder.append(".get_start()->run();");
+    _builder.newLineIfNotEmpty();
+    return _builder.toString();
+  }
+  
+  @Override
+  public String languageAssignRef(final String accessName, final String referenceVarName) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append(accessName, "");
+    _builder.append(" = &");
+    _builder.append(referenceVarName, "");
+    _builder.append(";");
+    _builder.newLineIfNotEmpty();
+    return _builder.toString();
+  }
+  
+  @Override
+  public void instanceConfig(final Stack<Slot> slotPath, final InstanceSpecification instance) throws TransformationException {
+    final Slot slot = slotPath.peek();
+    final StructuralFeature sf = slot.getDefiningFeature();
+    boolean _equals = Objects.equal(sf, null);
+    if (_equals) {
+      String _name = instance.getName();
+      String _format = String.format("A slot for instance %s has no defining feature", _name);
+      throw new TransformationException(_format);
+    }
+    String _name_1 = instance.getName();
+    String _plus = (_name_1 + ".");
+    String _name_2 = sf.getName();
+    final String varName = (_plus + _name_2);
+    EList<ValueSpecification> _values = slot.getValues();
+    for (final ValueSpecification value : _values) {
+      String _stringValue = value.stringValue();
+      boolean _notEquals = (!Objects.equal(_stringValue, null));
+      if (_notEquals) {
+        String _m_initCodeCConfig = this.m_initCodeCConfig;
+        String _stringValue_1 = value.stringValue();
+        String _plus_1 = ((varName + " = ") + _stringValue_1);
+        String _plus_2 = (_plus_1 + AbstractBootLoaderGen.EOL);
+        this.m_initCodeCConfig = (_m_initCodeCConfig + _plus_2);
+      }
+    }
+  }
+  
+  @Override
+  public void applyTrafo(final M2MTrafo trafo, final org.eclipse.uml2.uml.Package deploymentPlan) throws TransformationException {
+    this.init(TransformationContext.current.copier, 0, 0);
+    final Stack<Slot> slotPath = new Stack<Slot>();
+    EList<InstanceSpecification> _topLevelInstances = DepUtils.getTopLevelInstances(deploymentPlan);
+    for (final InstanceSpecification is : _topLevelInstances) {
+      this.addInstance(is, slotPath);
+    }
+    this.addInit("C/Cpp");
+  }
+  
+  @Override
+  public void languageInit() {
+  }
+  
+  @Override
+  public String languageActivation(final org.eclipse.uml2.uml.Class[] activationKeys) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append("// activation code");
+    _builder.newLine();
+    {
+      for(final org.eclipse.uml2.uml.Class implementation : activationKeys) {
+        final EList<String> varNameList = this.m_activation.get(implementation);
+        _builder.newLineIfNotEmpty();
+        {
+          for(final String varName : varNameList) {
+            _builder.append(varName, "");
+            _builder.append(".get_lc()->activate();");
+            _builder.newLineIfNotEmpty();
+          }
+        }
+      }
+    }
+    _builder.append("return code;");
+    _builder.newLine();
+    return _builder.toString();
+  }
+  
+  @Override
+  public String languageDeactivation(final org.eclipse.uml2.uml.Class[] activationKeys) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append("// deactivation code (reverse order)");
+    _builder.newLine();
+    {
+      List<org.eclipse.uml2.uml.Class> _reverse = ListExtensions.<org.eclipse.uml2.uml.Class>reverse(((List<org.eclipse.uml2.uml.Class>)Conversions.doWrapArray(activationKeys)));
+      for(final org.eclipse.uml2.uml.Class implementation : _reverse) {
+        final EList<String> varNameList = this.m_activation.get(implementation);
+        _builder.newLineIfNotEmpty();
+        {
+          for(final String varName : varNameList) {
+            _builder.append(varName, "");
+            _builder.append(".get_lc()->deactivate();");
+            _builder.newLineIfNotEmpty();
+          }
+        }
+      }
+    }
+    _builder.append("return code;");
+    _builder.newLine();
+    return _builder.toString();
+  }
+  
+  @Override
+  public String languageDefaultExecCode() {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append("// no user entry point => enter endless loop");
+    _builder.newLine();
+    _builder.append("for (;;) {");
+    _builder.newLine();
+    _builder.append("\t");
+    _builder.append("usleep(100);");
+    _builder.newLine();
+    _builder.append("}");
+    _builder.newLine();
+    return _builder.toString();
+  }
+}
diff --git a/transformation/languages/cpp/pom.xml b/transformation/languages/cpp/pom.xml
new file mode 100644
index 0000000..290d4cc
--- /dev/null
+++ b/transformation/languages/cpp/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.designer</groupId>
+		<artifactId>org.eclipse.papyrus.designer.transformation.languages</artifactId>
+		<version>0.7.5-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.designer.transformation.languages.cpp</artifactId>
+	<packaging>pom</packaging>
+	<name>Designer Languages</name>
+	<description>This module contains the different plugins relative to different (programming) languages</description>
+
+	<modules>
+		<module>org.eclipse.papyrus.designer.transformation.languages.cpp.library</module>
+	</modules>
+
+</project>
diff --git a/transformation/languages/java/.project b/transformation/languages/java/.project
new file mode 100644
index 0000000..d841262
--- /dev/null
+++ b/transformation/languages/java/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.transformation.languages.java</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.core.resources.prefs b/transformation/languages/java/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.core.resources.prefs
copy to transformation/languages/java/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.m2e.core.prefs b/transformation/languages/java/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.m2e.core.prefs
copy to transformation/languages/java/.settings/org.eclipse.m2e.core.prefs
diff --git a/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/.classpath b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/.project b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/.project
new file mode 100644
index 0000000..0d0d4c9
--- /dev/null
+++ b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.transformation.languages.java.library</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/.settings/org.eclipse.core.resources.prefs
diff --git a/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/.settings/org.eclipse.jdt.core.prefs b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/.settings/org.eclipse.m2e.core.prefs
diff --git a/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/META-INF/MANIFEST.MF b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..e860af4
--- /dev/null
+++ b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Transformation
+Bundle-SymbolicName: org.eclipse.papyrus.designer.transformation.languages.java.library;singleton:=true
+Bundle-Version: 0.7.5.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.papyrus.designer.transformation.base;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.transformation.profile;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.transformation.extensions;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.transformation.core;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.deployment.tools;bundle-version="0.7.5",
+ org.eclipse.papyrus.designer.deployment.profile;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.languages.java.profile;bundle-version="1.0.2",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="2.0.0",
+ org.eclipse.papyrus.marte.static.profile;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.transformation.library;bundle-version="0.7.3",
+ com.google.guava,
+ org.eclipse.xtext.xbase.lib,
+ org.eclipse.xtend.lib,
+ org.eclipse.xtend.lib.macro,
+ org.eclipse.papyrus.uml.diagram.wizards;bundle-version="2.0.0"
diff --git a/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/build.properties b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/build.properties
new file mode 100644
index 0000000..56d7765
--- /dev/null
+++ b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/models/examples/HelloWorldJava.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di
copy to transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/models/examples/HelloWorldJava.di
diff --git a/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/models/examples/HelloWorldJava.notation b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/models/examples/HelloWorldJava.notation
new file mode 100644
index 0000000..ff44a22
--- /dev/null
+++ b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/models/examples/HelloWorldJava.notation
@@ -0,0 +1,248 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_U1UegPcXEd-KM6l7lmIPkw" type="PapyrusUMLClassDiagram" name="deployment" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_gdmuADefEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdmuAjefEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdmuAzefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdmuBDefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdmuBTefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdnVEDefEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdnVETefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_gdnVEjefEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorldJava.uml#_gdeyMDefEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gdmuATefEeGPyrZ5I3hMlA" x="315" y="18" width="226" height="37"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_-4h4YFWREeKdxoQIVxFNNg" type="Package_Shape" fontName="Sans Serif" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-4k7sFWREeKdxoQIVxFNNg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-4k7sVWREeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-4k7slWREeKdxoQIVxFNNg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-4k7s1WREeKdxoQIVxFNNg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-4liwFWREeKdxoQIVxFNNg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-4liwVWREeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-4liwlWREeKdxoQIVxFNNg" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_E5tdkPt2EeWCnMkQqeR-Qg" type="Package_PackagedElementCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Z7T5gFWjEeKOivupHOJ8Ew" type="InstanceSpecification_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UgkFWjEeKOivupHOJ8Ew" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7UgkVWjEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UgklWjEeKOivupHOJ8Ew" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7Ugk1WjEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UglFWjEeKOivupHOJ8Ew" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7UglVWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8smO0nk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8smO03k1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8-nL4Hk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Z7UgllWjEeKOivupHOJ8Ew" type="InstanceSpecification_NameLabel_CN"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_E5vSwPt2EeWCnMkQqeR-Qg" type="InstanceSpecification_SlotCompartment_CN">
+            <children xmi:type="notation:Shape" xmi:id="_6VXKAFWjEeKOivupHOJ8Ew" type="Slot_SlotLabel" fontName="Sans Serif" lineColor="0">
+              <element xmi:type="uml:Slot" href="HelloWorldJava.uml#_tfj4gFUwEeKdxoQIVxFNNg"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_6VXKAVWjEeKOivupHOJ8Ew" x="26" y="15"/>
+            </children>
+            <styles xmi:type="notation:TitleStyle" xmi:id="_Z7UgmFWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_Z7UgmVWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_Z7UgmlWjEeKOivupHOJ8Ew"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7Ugm1WjEeKOivupHOJ8Ew"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_pm6pAtp_EeWr5tIXyQonbg" type="InstanceSpecification_FloatingNameLabel_CN">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_pm6pA9p_EeWr5tIXyQonbg" y="5"/>
+          </children>
+          <element xmi:type="uml:InstanceSpecification" href="HelloWorldJava.uml#_ymQR4FT2EeKvFeqt5Q_lqw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7T5gVWjEeKOivupHOJ8Ew" x="12" y="33" width="261" height="64"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_wCUSAFZVEeKKZs15rvNNjA" type="Comment_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCX8YFZVEeKKZs15rvNNjA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCX8YVZVEeKKZs15rvNNjA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCX8YlZVEeKKZs15rvNNjA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCYjcFZVEeKKZs15rvNNjA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCYjcVZVEeKKZs15rvNNjA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCYjclZVEeKKZs15rvNNjA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_wCYjc1ZVEeKKZs15rvNNjA" type="Comment_BodyLabel_CN"/>
+          <element xmi:type="uml:Comment" href="HelloWorldJava.uml#_wAbboFZVEeKKZs15rvNNjA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wCUSAVZVEeKKZs15rvNNjA" x="113" y="147" width="420" height="67"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_-4lixFWREeKdxoQIVxFNNg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-4lixVWREeKdxoQIVxFNNg"/>
+      </children>
+      <styles xmi:type="notation:IntValueStyle" xmi:id="_u3oFQLkXEeS7TYMQS2xzng" name="shapeDirection" intValue="1"/>
+      <element xmi:type="uml:Package" href="HelloWorldJava.uml#_yl9-AFT2EeKvFeqt5Q_lqw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-4h4YVWREeKdxoQIVxFNNg" x="20" y="200" width="571" height="275"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_obNuEFWiEeKOivupHOJ8Ew" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obQxYFWiEeKOivupHOJ8Ew" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obQxYVWiEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obQxYlWiEeKOivupHOJ8Ew" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obQxY1WiEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obRYcFWiEeKOivupHOJ8Ew" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obRYcVWiEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_obRYclWiEeKOivupHOJ8Ew" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorldJava.uml#_oZw8kFWiEeKOivupHOJ8Ew"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_obNuEVWiEeKOivupHOJ8Ew" x="315" y="90" width="226" height="55"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pqN0oNp_EeWr5tIXyQonbg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pqN0odp_EeWr5tIXyQonbg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pqN0o9p_EeWr5tIXyQonbg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="HelloWorldJava.uml#_yl9-AFT2EeKvFeqt5Q_lqw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pqN0otp_EeWr5tIXyQonbg" x="220" y="200"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_U1UegfcXEd-KM6l7lmIPkw"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_pm6pBtp_EeWr5tIXyQonbg" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="HelloWorldJava.uml#_234GEDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_Sqs9MFWkEeKOivupHOJ8Ew" type="Comment_AnnotatedElementEdge" source="_obNuEFWiEeKOivupHOJ8Ew" target="_-4h4YFWREeKdxoQIVxFNNg" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Sqs9MVWkEeKOivupHOJ8Ew" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Sqs9MlWkEeKOivupHOJ8Ew" points="[315, 133, -643984, -643984]$[176, 133, -643984, -643984]$[176, 221, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SrQW0FWkEeKOivupHOJ8Ew" id="(0.0,0.5972222222222222)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SrQW0VWkEeKOivupHOJ8Ew" id="(0.27495621716287216,0.07636363636363637)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_71Q7oFZVEeKKZs15rvNNjA" type="Comment_AnnotatedElementEdge" source="_wCUSAFZVEeKKZs15rvNNjA" target="_Z7T5gFWjEeKOivupHOJ8Ew" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_71Q7oVZVEeKKZs15rvNNjA" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_71Q7olZVEeKKZs15rvNNjA" points="[259, 374, -643984, -643984]$[259, 324, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_71iBYFZVEeKKZs15rvNNjA" id="(0.2833333333333333,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_71iBYVZVEeKKZs15rvNNjA" id="(0.842911877394636,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pqN0pNp_EeWr5tIXyQonbg" type="StereotypeCommentLink" source="_-4h4YFWREeKdxoQIVxFNNg" target="_pqN0oNp_EeWr5tIXyQonbg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pqN0pdp_EeWr5tIXyQonbg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pqN0qdp_EeWr5tIXyQonbg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="HelloWorldJava.uml#_yl9-AFT2EeKvFeqt5Q_lqw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pqN0ptp_EeWr5tIXyQonbg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pqN0p9p_EeWr5tIXyQonbg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pqN0qNp_EeWr5tIXyQonbg"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_b9zF0HEKEeatX-i6MtVR2A" type="PapyrusUMLClassDiagram" name="HelloWorld" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_do25cHEKEeatX-i6MtVR2A" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_do25cnEKEeatX-i6MtVR2A" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_do25c3EKEeatX-i6MtVR2A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_do25dHEKEeatX-i6MtVR2A" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_do25dXEKEeatX-i6MtVR2A" type="Class_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_fDsfwHEKEeatX-i6MtVR2A" type="Property_ClassAttributeLabel">
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_xKOAQHEKEeatX-i6MtVR2A" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="HelloWorldJava.uml#_8pupUFTzEeKvFeqt5Q_lqw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_fDsfwXEKEeatX-i6MtVR2A"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_do25dnEKEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_do25d3EKEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_do25eHEKEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_do25eXEKEeatX-i6MtVR2A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_do3ggHEKEeatX-i6MtVR2A" type="Class_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_fDtG0HEKEeatX-i6MtVR2A" type="Operation_ClassOperationLabel">
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_zCQf8HEKEeatX-i6MtVR2A" name="maskLabel">
+            <stringListValue>parametersName</stringListValue>
+            <stringListValue>parametersDirection</stringListValue>
+            <stringListValue>name</stringListValue>
+            <stringListValue>parametersType</stringListValue>
+            <stringListValue>returnType</stringListValue>
+          </styles>
+          <element xmi:type="uml:Operation" href="HelloWorldJava.uml#_UtCt0FTzEeKvFeqt5Q_lqw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_fDtG0XEKEeatX-i6MtVR2A"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_do3ggXEKEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_do3ggnEKEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_do3gg3EKEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_do3ghHEKEeatX-i6MtVR2A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_do3ghXEKEeatX-i6MtVR2A" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_do3ghnEKEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_do3gh3EKEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_do3giHEKEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_do3giXEKEeatX-i6MtVR2A"/>
+      </children>
+      <element xmi:type="uml:Class" href="HelloWorldJava.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_do25cXEKEeatX-i6MtVR2A" x="112" y="149" width="329" height="138"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_hSPa8HEKEeatX-i6MtVR2A" type="Interface_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_hSQCAHEKEeatX-i6MtVR2A" type="Interface_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_hSQCAXEKEeatX-i6MtVR2A" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hSQCAnEKEeatX-i6MtVR2A" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hSQCA3EKEeatX-i6MtVR2A" visible="false" type="Interface_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hSQCBHEKEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_hSQCBXEKEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_hSQCBnEKEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hSQCB3EKEeatX-i6MtVR2A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hSQCCHEKEeatX-i6MtVR2A" type="Interface_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_jdLogHEKEeatX-i6MtVR2A" type="Operation_InterfaceOperationLabel">
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_yaNBcHEKEeatX-i6MtVR2A" name="maskLabel">
+            <stringListValue>parametersName</stringListValue>
+            <stringListValue>parametersDirection</stringListValue>
+            <stringListValue>name</stringListValue>
+            <stringListValue>parametersType</stringListValue>
+            <stringListValue>returnType</stringListValue>
+          </styles>
+          <element xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jdLogXEKEeatX-i6MtVR2A"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hSQCCXEKEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_hSQCCnEKEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_hSQCC3EKEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hSQCDHEKEeatX-i6MtVR2A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hSQCDXEKEeatX-i6MtVR2A" visible="false" type="Interface_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hSQCDnEKEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_hSQCD3EKEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_hSQCEHEKEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hSQCEXEKEeatX-i6MtVR2A"/>
+      </children>
+      <element xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hSPa8XEKEeatX-i6MtVR2A" x="113" y="16" width="328" height="79"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_spOhUHEKEeatX-i6MtVR2A" type="Comment_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_spOhUnEKEeatX-i6MtVR2A" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorldJava.uml#_SxvpUFT0EeKvFeqt5Q_lqw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_spOhUXEKEeatX-i6MtVR2A" x="545" y="156" width="276"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_b9zF0XEKEeatX-i6MtVR2A" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_b9zF0nEKEeatX-i6MtVR2A"/>
+    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_b9zF03EKEeatX-i6MtVR2A">
+      <owner xmi:type="uml:Package" href="HelloWorldJava.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    </styles>
+    <element xmi:type="uml:Package" href="HelloWorldJava.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_nvAqEHEKEeatX-i6MtVR2A" type="InterfaceRealization_Edge" source="_do25cHEKEeatX-i6MtVR2A" target="_hSPa8HEKEeatX-i6MtVR2A">
+      <children xmi:type="notation:DecorationNode" xmi:id="_nvAqE3EKEeatX-i6MtVR2A" type="InterfaceRealization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_nvAqFHEKEeatX-i6MtVR2A" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_nvBRIHEKEeatX-i6MtVR2A" type="InterfaceRealization_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_nvBRIXEKEeatX-i6MtVR2A" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_nvAqEXEKEeatX-i6MtVR2A"/>
+      <element xmi:type="uml:InterfaceRealization" href="HelloWorldJava.uml#_nuUGgHEKEeatX-i6MtVR2A"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nvAqEnEKEeatX-i6MtVR2A" points="[293, 149, -643984, -643984]$[284, 95, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nvM3UHEKEeatX-i6MtVR2A" id="(0.5106382978723404,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nvM3UXEKEeatX-i6MtVR2A" id="(0.49421965317919075,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_txX1IHEKEeatX-i6MtVR2A" type="Comment_AnnotatedElementEdge" source="_spOhUHEKEeatX-i6MtVR2A" target="_do25cHEKEeatX-i6MtVR2A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_txX1IXEKEeatX-i6MtVR2A"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_txX1InEKEeatX-i6MtVR2A" points="[580, 156, -643984, -643984]$[441, 200, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_txjbUHEKEeatX-i6MtVR2A" id="(0.0,0.7333333333333333)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_txjbUXEKEeatX-i6MtVR2A" id="(1.0,0.3695652173913043)"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/models/examples/HelloWorldJava.uml b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/models/examples/HelloWorldJava.uml
new file mode 100644
index 0000000..61e82c6
--- /dev/null
+++ b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/models/examples/HelloWorldJava.uml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Codegen="http://www.eclipse.org/papyrus/Codegen/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="HelloWorldJava">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_Xa7XkHEKEeatX-i6MtVR2A">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_TRAFO/trafos.uml#_Q6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="classes">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_-Hd2MDecEeGPyrZ5I3hMlA" annotatedElement="_tyiqsc__Ed-TP80eVS-2Rg">
+        <body>Simple HelloWorld component that prints a message in its &quot;run&quot; operation that is provided via the &quot;start&quot; port
+</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_0D64MDedEeGPyrZ5I3hMlA">
+        <annotatedElement xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+        <body>Part of the Qompass core model library. Provides the specific port &quot;start&quot;. The &quot;run&quot; operation (defined within interface IStart) of this port is called by generated boot-code after instantiation and configuration of a component. </body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Class" xmi:id="_tyiqsc__Ed-TP80eVS-2Rg" name="HelloWorld">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_SxvpUFT0EeKvFeqt5Q_lqw" annotatedElement="_8pupUFTzEeKvFeqt5Q_lqw _tyiqsc__Ed-TP80eVS-2Rg">
+          <body>Configuration attribute within the Hello World component. Its value is configured on the instance level.</body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_8pupUFTzEeKvFeqt5Q_lqw" name="message" visibility="public" aggregation="composite">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__HwK8FTzEeKvFeqt5Q_lqw" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__HwyAFTzEeKvFeqt5Q_lqw" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="__HynMFTzEeKvFeqt5Q_lqw">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_nuUGgHEKEeatX-i6MtVR2A" client="_tyiqsc__Ed-TP80eVS-2Rg">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+          <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+        </interfaceRealization>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_tyjRwc__Ed-TP80eVS-2Rg" name="run" specification="_UtCt0FTzEeKvFeqt5Q_lqw">
+          <language>C/C++</language>
+          <language>JAVA</language>
+          <body>cout &lt;&lt; &quot;Hello world: &quot; &lt;&lt; message &lt;&lt; endl;</body>
+          <body>System.out.println(&quot;Hello world: &quot; + message);</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_UtCt0FTzEeKvFeqt5Q_lqw" name="run" method="_tyjRwc__Ed-TP80eVS-2Rg"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_VMRFgDOJEeC7y-fR3OSnFw">
+        <body>This configuration requires the installation of the OTF trace library.&lt;br /></body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_gdeyMDefEeGPyrZ5I3hMlA">
+        <body>Cross references to composite diagram</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_oZw8kFWiEeKOivupHOJ8Ew" annotatedElement="_yl9-AFT2EeKvFeqt5Q_lqw">
+        <body>Deployment plan for system, i.e. set of instance specification along with configuration and allocation</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Package" xmi:id="_yl9-AFT2EeKvFeqt5Q_lqw" name="SystemDepPlan">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_wAbboFZVEeKKZs15rvNNjA" annotatedElement="_ymQR4FT2EeKvFeqt5Q_lqw">
+          <body>Value mainInstance.hello is a UML instance-value, i.e. a reference to the instance specification on the left.
+&quot;Test message&quot; is a StringValue initializing the message attribute</body>
+        </ownedComment>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ymQR4FT2EeKvFeqt5Q_lqw" name="mainInstance" classifier="_tyiqsc__Ed-TP80eVS-2Rg">
+          <slot xmi:type="uml:Slot" xmi:id="_tfj4gFUwEeKdxoQIVxFNNg" definingFeature="_8pupUFTzEeKvFeqt5Q_lqw">
+            <value xmi:type="uml:LiteralString" xmi:id="_tfni4FUwEeKdxoQIVxFNNg" name="value for message" value="&quot;Test message&quot;">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            </value>
+          </slot>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_skgX0Pt2EeWCnMkQqeR-Qg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_skiNAPt2EeWCnMkQqeR-Qg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/PapyrusJava/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusJava_PROFILES/PapyrusJava.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_U0R90C1QEea25uwDpRQuxg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0Sk4C1QEea25uwDpRQuxg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Codegen/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Codegen_PROFILES/Codegen.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_LnfJQHELEeatX-i6MtVR2A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LnfJQXELEeatX-i6MtVR2A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Deployment/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://DEP_PROFILE/Deployment.profile.uml#_gPDsIBa-EearhdjjJ6cVzQ"/>
+    </profileApplication>
+  </uml:Model>
+  <Codegen:GeneratorHint xmi:id="_Xt7EcC1QEea25uwDpRQuxg" base_Element="_O6TiIDLUEd26WNosUASSSw">
+    <language xmi:type="Codegen:Language" href="pathmap://Codegen_PROFILES/languages.uml#_2Zt6YCjREeayco6FJ_OtTQ"/>
+  </Codegen:GeneratorHint>
+  <Codegen:GeneratorHint xmi:id="_72-d4HEKEeatX-i6MtVR2A" base_Element="_LOqIEDLaEd2qeKRLMdIx_A">
+    <language xmi:type="Codegen:Language" href="pathmap://Codegen_PROFILES/languages.uml#_2Zt6YCjREeayco6FJ_OtTQ"/>
+  </Codegen:GeneratorHint>
+</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/models/library/BootLoaderJava.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di
copy to transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/models/library/BootLoaderJava.di
diff --git a/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/models/library/BootLoaderJava.notation b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/models/library/BootLoaderJava.notation
new file mode 100644
index 0000000..f66cf24
--- /dev/null
+++ b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/models/library/BootLoaderJava.notation
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_tKryIHhpEealuJVOx0h2iw" type="PapyrusUMLClassDiagram" name="Bootloader" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_yvxLUHhpEealuJVOx0h2iw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_yv5HIHhpEealuJVOx0h2iw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_yv5uMHhpEealuJVOx0h2iw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_yv5uMXhpEealuJVOx0h2iw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_yv5uMnhpEealuJVOx0h2iw" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_ET_PkHjkEeakrcXZeNIVKw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="BootLoaderJava.uml#_ET2FoHjkEeakrcXZeNIVKw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ET_PkXjkEeakrcXZeNIVKw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_yv5uM3hpEealuJVOx0h2iw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_yv5uNHhpEealuJVOx0h2iw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_yv5uNXhpEealuJVOx0h2iw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yv5uNnhpEealuJVOx0h2iw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_yv6VQHhpEealuJVOx0h2iw" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_1hkkkHhpEealuJVOx0h2iw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="BootLoaderJava.uml#_1hV7EHhpEealuJVOx0h2iw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1hkkkXhpEealuJVOx0h2iw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_8cJwoHjjEeakrcXZeNIVKw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="BootLoaderJava.uml#_8b9jYHjjEeakrcXZeNIVKw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8cJwoXjjEeakrcXZeNIVKw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_yv6VQXhpEealuJVOx0h2iw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_yv6VQnhpEealuJVOx0h2iw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_yv6VQ3hpEealuJVOx0h2iw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yv6VRHhpEealuJVOx0h2iw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_yv6VRXhpEealuJVOx0h2iw" visible="false" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_yv6VRnhpEealuJVOx0h2iw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_yv6VR3hpEealuJVOx0h2iw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_yv6VSHhpEealuJVOx0h2iw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yv6VSXhpEealuJVOx0h2iw"/>
+    </children>
+    <element xmi:type="uml:Class" href="BootLoaderJava.uml#_yvoocHhpEealuJVOx0h2iw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yvxLUXhpEealuJVOx0h2iw" x="152" y="92" width="269" height="149"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_CUF98HjwEeasG4qn4umteA" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_CUIaMHjwEeasG4qn4umteA" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_CUIaMXjwEeasG4qn4umteA" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_CUIaMnjwEeasG4qn4umteA" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_CUJoUHjwEeasG4qn4umteA" type="Class_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_IHsUQHjwEeasG4qn4umteA" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="BootLoaderJava.uml#_IHT5wHjwEeasG4qn4umteA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IHsUQXjwEeasG4qn4umteA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_OFAnQHjwEeasG4qn4umteA" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="BootLoaderJava.uml#_OEuTYHjwEeasG4qn4umteA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OFAnQXjwEeasG4qn4umteA"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_CUJoUXjwEeasG4qn4umteA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_CUJoUnjwEeasG4qn4umteA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_CUJoU3jwEeasG4qn4umteA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CUJoVHjwEeasG4qn4umteA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_CUJoVXjwEeasG4qn4umteA" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_CUJoVnjwEeasG4qn4umteA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_CUJoV3jwEeasG4qn4umteA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_CUJoWHjwEeasG4qn4umteA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CUJoWXjwEeasG4qn4umteA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_CUJoWnjwEeasG4qn4umteA" visible="false" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_CUJoW3jwEeasG4qn4umteA"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_CUJoXHjwEeasG4qn4umteA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_CUJoXXjwEeasG4qn4umteA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CUJoXnjwEeasG4qn4umteA"/>
+    </children>
+    <element xmi:type="uml:Class" href="BootLoaderJava.uml#_CS_KsHjwEeasG4qn4umteA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CUF98XjwEeasG4qn4umteA" x="546" y="91" width="255" height="150"/>
+  </children>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_tKryIXhpEealuJVOx0h2iw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_tKryInhpEealuJVOx0h2iw"/>
+  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_tKryI3hpEealuJVOx0h2iw">
+    <owner xmi:type="uml:Model" href="BootLoaderJava.uml#_cy2oEHhpEealuJVOx0h2iw"/>
+  </styles>
+  <element xmi:type="uml:Model" href="BootLoaderJava.uml#_cy2oEHhpEealuJVOx0h2iw"/>
+</notation:Diagram>
diff --git a/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/models/library/BootLoaderJava.uml b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/models/library/BootLoaderJava.uml
new file mode 100644
index 0000000..fd8a70d
--- /dev/null
+++ b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/models/library/BootLoaderJava.uml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:PapyrusJava="http://www.eclipse.org/papyrus/PapyrusJava/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <uml:Model xmi:id="_cy2oEHhpEealuJVOx0h2iw" name="BootLoaderJava">
+    <packagedElement xmi:type="uml:Class" xmi:id="_yvoocHhpEealuJVOx0h2iw" name="BootLoader">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ET2FoHjkEeakrcXZeNIVKw" name="args" visibility="public" isStatic="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JDJtYHjkEeakrcXZeNIVKw"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JDNXwHjkEeakrcXZeNIVKw" value="*"/>
+      </ownedAttribute>
+      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_P6k4MHjkEeakrcXZeNIVKw" name="main" specification="_1hV7EHhpEealuJVOx0h2iw">
+        <language>JAVA</language>
+        <body>BootLoader bl = new BootLoader();
+// store arguments for future access
+bl.args = args;
+bl.init();</body>
+      </ownedBehavior>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_1hV7EHhpEealuJVOx0h2iw" name="main" isStatic="true" method="_P6k4MHjkEeakrcXZeNIVKw">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_5eBMAHhpEealuJVOx0h2iw" name="args">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-s9gMHjkEeaHHPBxAPaLsg"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-tWhwHjkEeaHHPBxAPaLsg" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_8b9jYHjjEeakrcXZeNIVKw" name="init"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_CS_KsHjwEeasG4qn4umteA" name="NodeInfo">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_IHT5wHjwEeasG4qn4umteA" name="nodeIndex" isStatic="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_evLegHjwEeasG4qn4umteA" name="def"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_OEuTYHjwEeasG4qn4umteA" name="numberOfNodes" visibility="public" isStatic="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_cY15QHjwEeasG4qn4umteA" name="def"/>
+      </ownedAttribute>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_prKXQHhpEealuJVOx0h2iw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_prOosHhpEealuJVOx0h2iw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/PapyrusJava/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusJava_PROFILES/PapyrusJava.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_Qk-poHjwEeasG4qn4umteA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QlAe0HjwEeasG4qn4umteA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#_Kv8EIKFXEeS_KNX0nfvIVQ"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#ActionLanguage"/>
+    </profileApplication>
+  </uml:Model>
+  <PapyrusJava:Array xmi:id="_-utCgHhpEealuJVOx0h2iw" base_parameter="_5eBMAHhpEealuJVOx0h2iw" definition="[]"/>
+</xmi:XMI>
diff --git a/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/plugin.xml b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/plugin.xml
new file mode 100644
index 0000000..f39c148
--- /dev/null
+++ b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/plugin.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+	<extension point="org.eclipse.papyrus.designer.transformation.extensions.m2mTrafo">
+		<transformation
+			transformationID="trafos::m2mtransformations::BootLoaderGen::Java"
+			class="org.eclipse.papyrus.designer.transformation.languages.java.library.BootLoaderGenJava">
+		</transformation>
+	</extension>
+	<extension point="org.eclipse.emf.ecore.uri_mapping">
+		<mapping
+			source="pathmap://DML_TRAFOS_JAVA/"
+			target="platform:/plugin/org.eclipse.papyrus.designer.transformation.languages.java.library/models/library/"/>
+	</extension>
+	<extension point="org.eclipse.ui.newWizards">
+		<wizard
+			category="org.eclipse.ui.Examples/org.eclipse.papyrus.examples"
+			class="org.eclipse.papyrus.designer.transformation.languages.java.library.wizards.HelloWorldJavaModelWizard"
+			finalPerspective="org.eclipse.papyrus.infra.core.perspective"
+			icon="platform:/plugin/org.eclipse.papyrus.designer.ui/icons/designer-16x16.gif"
+			id="org.eclipse.papyrus.designer.transformation.languages.java.library.wizards.HelloWorldjavaModelWizard"
+			name="Papyrus Designer C++ hello world example with deployment plan">
+			<selection class="org.eclipse.core.resources.IResource"/>
+		</wizard>
+	</extension>
+	
+</plugin>
diff --git a/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/pom.xml b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/pom.xml
new file mode 100644
index 0000000..82dda16
--- /dev/null
+++ b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.designer</groupId>
+		<artifactId>org.eclipse.papyrus.designer.transformation.languages.java</artifactId>
+		<version>0.7.5-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.designer.transformation.languages.java.library</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This module contains Java specific transformations, including bootloader creation</description>
+	
+		<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-clean-plugin</artifactId>
+				<configuration>
+					<filesets>
+						<fileset>
+							<directory>xtend-gen</directory>
+							<includes>
+								<include>**/*</include>
+							</includes>
+							<excludes>
+								<exclude>.gitignore</exclude>
+							</excludes>
+						</fileset>
+					</filesets>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.eclipse.xtend</groupId>
+				<artifactId>xtend-maven-plugin</artifactId>
+				<executions>
+					<execution>
+						<phase>generate-sources</phase>
+						<goals>
+							<goal>compile</goal>
+						</goals>
+					</execution>
+				</executions>
+				<configuration>
+					<outputDirectory>xtend-gen</outputDirectory>
+					<testOutputDirectory>${project.build.directory}/xtend-gen/test</testOutputDirectory>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+</project>
diff --git a/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/src/org/eclipse/papyrus/designer/transformation/languages/java/library/BootLoaderGenJava.xtend b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/src/org/eclipse/papyrus/designer/transformation/languages/java/library/BootLoaderGenJava.xtend
new file mode 100644
index 0000000..0a46021
--- /dev/null
+++ b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/src/org/eclipse/papyrus/designer/transformation/languages/java/library/BootLoaderGenJava.xtend
@@ -0,0 +1,189 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.languages.java.library;
+
+import java.util.HashMap
+import java.util.Stack
+import org.eclipse.emf.common.util.EList
+import org.eclipse.emf.common.util.URI
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils
+import org.eclipse.papyrus.designer.languages.java.profile.PapyrusJava.Import
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils
+import org.eclipse.papyrus.designer.transformation.base.utils.LibraryUtils
+import org.eclipse.papyrus.designer.transformation.base.utils.ModelManagement
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException
+import org.eclipse.papyrus.designer.transformation.core.Messages
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoCDP
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier.CopyStatus
+import org.eclipse.papyrus.designer.transformation.core.transformations.TransformationContext
+import org.eclipse.papyrus.designer.transformation.library.transformations.AbstractBootLoaderGen
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
+import org.eclipse.uml2.uml.Class
+import org.eclipse.uml2.uml.InstanceSpecification
+import org.eclipse.uml2.uml.LiteralInteger
+import org.eclipse.uml2.uml.Package
+import org.eclipse.uml2.uml.Slot
+import org.eclipse.uml2.uml.ValueSpecification
+
+/**
+ * Create a BootLoader for Java
+ */
+public class BootLoaderGenJava extends AbstractBootLoaderGen implements IM2MTrafoCDP {
+
+	public static final URI JAVA_BOOTLOADER_URI = URI.createURI("pathmap://DML_TRAFOS_JAVA/BootLoaderJava.uml");
+	
+	public static final String JAVA_BOOTLOADER_QNAME = "BootLoaderJava::BootLoader"
+
+	public static final String JAVA_NODEINFO_QNAME = "BootLoaderJava::NodeInfo"
+	
+	/**
+	 * Create a new boot-loader in a specific package
+	 * (which represents a node of the system).
+	 *
+	 * @param copier a lazy copier
+	 * @param nodeIndex the index of the node
+	 * @param numberOfNodes the number of nodes
+	 * @throws TransformationException
+	 */
+	override def public void init(LazyCopier copier, int nodeIndex, int numberOfNodes)
+			throws TransformationException {
+		// Class composite = (Class) ut.getClassifier (mainInstance);
+		// place in root (getModel()) to avoid the problem that the declaration of the bootLoader
+		// instance is within a namespace (a static attribute on the model level would not solve the
+		// problem as it must be accessed by function main).
+
+		val root = TransformationContext.current.modelRoot;
+		
+		m_copier = copier;
+
+		val bootloader_ml = LibraryUtils.getContent(JAVA_BOOTLOADER_URI, ModelManagement.resourceSet) as Package
+		val template = ElementUtils.getQualifiedElement(bootloader_ml, JAVA_BOOTLOADER_QNAME) as Class
+		if (template == null) {
+			throw new TransformationException(String.format(
+					Messages.BootLoaderGen_CannotRetrieveTemplate, JAVA_BOOTLOADER_QNAME));
+		}
+		// register the pair between the owner of the bootloader template and the root package
+		// this will assure that the bootloader and node-info below get copied into the root package
+		copier.put(template.getOwner(), root)
+		copier.setStatus(template.getOwner(), CopyStatus.INPROGRESS);
+		m_bootLoader = copier.getCopy(template)
+		
+		val javaImport = StereotypeUtil.applyApp(m_bootLoader, Import);
+		if (javaImport == null) {
+			throw new TransformationException(Messages.BootLoaderGen_CannotApplyCppInclude);
+		}
+
+		val nodeInfo = ElementUtils.getQualifiedElement(bootloader_ml, JAVA_NODEINFO_QNAME) as Class
+		val nodeInfoCopy = copier.getCopy(nodeInfo)
+		val nodeIndexElem = nodeInfoCopy.getAttribute("nodeIndex", null)
+		val numberOfNodesElem = nodeInfoCopy.getAttribute("numberOfNodes", null)
+		// update values (assuming that the template already defines a LiteralInteger default value)
+		(nodeIndexElem.defaultValue as LiteralInteger).setValue = nodeIndex + 0
+		(numberOfNodesElem.defaultValue as LiteralInteger).setValue = numberOfNodes
+		
+		// bootLoader.createOwnedAttribute (mainInstance.getName (), composite);
+		m_initCode = EMPTYSTR;
+		m_initCodeRun = EMPTYSTR;
+		m_activation = new HashMap<Class, EList<String>>();
+		m_initCodeCConnections = EMPTYSTR;
+		m_initCodeCConfig = EMPTYSTR;
+
+		if (outputSizeof) {
+			// not supported by Java
+			// m_initCode += '''cout << \"sizeof bootloader: \" << sizeof (bootloader) << endl;'''
+		}
+	}
+	
+	override def public String languageCreateInstance(InstanceSpecification is, Class implementation) '''
+		«is.name» = new «implementation.name»();
+	'''
+	
+	override def public String languageCreateConn(String varName) '''
+		«varName».createConnections();
+	'''
+	
+	override def public String 	languageRunStart(String varName, boolean useOO) '''
+		«IF useOO»
+			«varName».run();
+		«ELSE»
+			«varName».get_start().run();
+		«ENDIF»
+	'''
+	
+	override def public String languageAssignRef(String accessName, String referenceVarName) '''
+		«accessName» = «referenceVarName»;
+	'''
+
+	override def public void instanceConfig(Stack<Slot> slotPath, InstanceSpecification instance) throws TransformationException {
+		val slot = slotPath.peek();
+		// String varName = getPath(slotPath, instance, false);
+		val sf = slot.getDefiningFeature();
+		if (sf == null) {
+			throw new TransformationException(String.format("A slot for instance %s has no defining feature", instance.getName()));
+		}
+
+		val varName = instance.getName() + "." + sf.getName(); //$NON-NLS-1$
+		for (ValueSpecification value : slot.getValues()) {
+
+			// only set value, if not null
+			if (value.stringValue() != null) {
+				m_initCodeCConfig += varName + " = " + value.stringValue() + EOL; //$NON-NLS-1$
+			}
+		}
+	}
+
+	def override void applyTrafo(M2MTrafo trafo, Package deploymentPlan) throws TransformationException {
+		init(TransformationContext.current.copier, 0, 0);
+	
+		val slotPath = new Stack<Slot>();
+		for (InstanceSpecification is : DepUtils.getTopLevelInstances(deploymentPlan))  {
+			addInstance(is, slotPath);
+		}
+		addInit("Java");
+	}
+
+	def override public void languageInit() {
+		// TODO Auto-generated method stub
+		
+	}
+
+	def override public String languageActivation(Class[] activationKeys) '''
+		// activation code
+		«FOR implementation : activationKeys»
+			«val varNameList = m_activation.get(implementation)»
+			«FOR varName : varNameList»
+				«varName».get_lc().activate();
+			«ENDFOR»
+		«ENDFOR»
+		return code;
+	'''
+		
+	def override public String languageDeactivation(Class[] activationKeys) '''
+		// deactivation code (reverse order)
+		«FOR implementation : activationKeys.reverse»
+			«val varNameList = m_activation.get(implementation)»
+			«FOR varName : varNameList»
+				«varName».get_lc().deactivate();
+			«ENDFOR»
+		«ENDFOR»
+		return code;
+	'''
+
+	def override public String languageDefaultExecCode() '''
+		Thread.sleep();
+	'''
+}
diff --git a/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/src/org/eclipse/papyrus/designer/transformation/languages/java/library/wizards/HelloWorldJavaModelWizard.java b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/src/org/eclipse/papyrus/designer/transformation/languages/java/library/wizards/HelloWorldJavaModelWizard.java
new file mode 100644
index 0000000..23550fa
--- /dev/null
+++ b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/src/org/eclipse/papyrus/designer/transformation/languages/java/library/wizards/HelloWorldJavaModelWizard.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.languages.java.library.wizards;
+
+import org.eclipse.papyrus.uml.diagram.wizards.wizards.ModelCopyWizard;
+
+/**
+ * Copy wizard for the HelloWorld example
+ */
+public class HelloWorldJavaModelWizard extends ModelCopyWizard {
+
+	public HelloWorldJavaModelWizard() {
+		super("HelloWorldJava"); //$NON-NLS-1$
+	}
+}
diff --git a/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/tmpModel/HelloWorldJavaTmp.uml b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/tmpModel/HelloWorldJavaTmp.uml
new file mode 100644
index 0000000..99f9351
--- /dev/null
+++ b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/tmpModel/HelloWorldJavaTmp.uml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Codegen="http://www.eclipse.org/papyrus/Codegen/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="HelloWorldJava">
+    <packageImport xmi:id="_xSBIIX5BEeaYmKA730HyUQ">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:id="_xSBvMH5BEeaYmKA730HyUQ">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_TRAFO/trafos.uml#_Q6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_xSMHQH5BEeaYmKA730HyUQ" name="globalenums"/>
+    <packagedElement xmi:type="uml:Package" xmi:id="_xS6gAX5BEeaYmKA730HyUQ" name="deployment">
+      <packagedElement xmi:type="uml:Package" xmi:id="_yl9-AFT2EeKvFeqt5Q_lqw" name="SystemDepPlan">
+        <ownedComment xmi:id="_wAbboFZVEeKKZs15rvNNjA" annotatedElement="_ymQR4FT2EeKvFeqt5Q_lqw">
+          <body>Value mainInstance.hello is a UML instance-value, i.e. a reference to the instance specification on the left.
+&quot;Test message&quot; is a StringValue initializing the message attribute</body>
+        </ownedComment>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ymQR4FT2EeKvFeqt5Q_lqw" name="mainInstance" classifier="_tyiqsc__Ed-TP80eVS-2Rg">
+          <slot xmi:id="_tfj4gFUwEeKdxoQIVxFNNg" definingFeature="_8pupUFTzEeKvFeqt5Q_lqw">
+            <value xmi:type="uml:LiteralString" xmi:id="_tfni4FUwEeKdxoQIVxFNNg" name="value for message" value="&quot;Test message&quot;">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            </value>
+          </slot>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_xTIicH5BEeaYmKA730HyUQ" name="classes">
+      <packagedElement xmi:type="uml:Class" xmi:id="_tyiqsc__Ed-TP80eVS-2Rg" name="HelloWorld">
+        <ownedComment xmi:id="_SxvpUFT0EeKvFeqt5Q_lqw" annotatedElement="_8pupUFTzEeKvFeqt5Q_lqw _tyiqsc__Ed-TP80eVS-2Rg">
+          <body>Configuration attribute within the Hello World component. Its value is configured on the instance level.</body>
+        </ownedComment>
+        <ownedAttribute xmi:id="_8pupUFTzEeKvFeqt5Q_lqw" name="message" visibility="public" aggregation="composite">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__HwK8FTzEeKvFeqt5Q_lqw" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__HwyAFTzEeKvFeqt5Q_lqw" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="__HynMFTzEeKvFeqt5Q_lqw">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <interfaceRealization xmi:id="_nuUGgHEKEeatX-i6MtVR2A" client="_tyiqsc__Ed-TP80eVS-2Rg">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+          <contract href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+        </interfaceRealization>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_tyjRwc__Ed-TP80eVS-2Rg" name="run" specification="_UtCt0FTzEeKvFeqt5Q_lqw">
+          <language>C/C++</language>
+          <language>JAVA</language>
+          <body>cout &lt;&lt; &quot;Hello world: &quot; &lt;&lt; message &lt;&lt; endl;</body>
+          <body>System.out.println(&quot;Hello world: &quot; + message);</body>
+        </ownedBehavior>
+        <ownedOperation xmi:id="_UtCt0FTzEeKvFeqt5Q_lqw" name="run" method="_tyjRwc__Ed-TP80eVS-2Rg"/>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:id="_xRu0QH5BEeaYmKA730HyUQ">
+      <eAnnotations xmi:id="_xRwpcH5BEeaYmKA730HyUQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:id="_xR3XIH5BEeaYmKA730HyUQ">
+      <eAnnotations xmi:id="_xR3-MH5BEeaYmKA730HyUQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/PapyrusJava/1#/"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://PapyrusJava_PROFILES/PapyrusJava.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:id="_xR7okH5BEeaYmKA730HyUQ">
+      <eAnnotations xmi:id="_xR7okX5BEeaYmKA730HyUQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Codegen/1#/"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://Codegen_PROFILES/Codegen.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/>
+    </profileApplication>
+    <profileApplication xmi:id="_xSAhEH5BEeaYmKA730HyUQ">
+      <eAnnotations xmi:id="_xSBIIH5BEeaYmKA730HyUQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Deployment/1#/"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://DEP_PROFILE/Deployment.profile.uml#_gPDsIBa-EearhdjjJ6cVzQ"/>
+    </profileApplication>
+  </uml:Model>
+  <Codegen:GeneratorHint xmi:id="_xSJrAH5BEeaYmKA730HyUQ" base_Element="_O6TiIDLUEd26WNosUASSSw">
+    <language href="pathmap://Codegen_PROFILES/languages.uml#_2Zt6YCjREeayco6FJ_OtTQ"/>
+  </Codegen:GeneratorHint>
+  <Codegen:GeneratorHint xmi:id="_xS6gAH5BEeaYmKA730HyUQ" base_Element="_O6TiIDLUEd26WNosUASSSw">
+    <language href="pathmap://Codegen_PROFILES/languages.uml#_2Zt6YCjREeayco6FJ_OtTQ"/>
+  </Codegen:GeneratorHint>
+  <Codegen:GeneratorHint xmi:id="_xTGtQH5BEeaYmKA730HyUQ" base_Element="_xTIicH5BEeaYmKA730HyUQ">
+    <language href="pathmap://Codegen_PROFILES/languages.uml#_2Zt6YCjREeayco6FJ_OtTQ"/>
+  </Codegen:GeneratorHint>
+</xmi:XMI>
diff --git a/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/xtend-gen/org/eclipse/papyrus/designer/transformation/languages/java/library/BootLoaderGenJava.java b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/xtend-gen/org/eclipse/papyrus/designer/transformation/languages/java/library/BootLoaderGenJava.java
new file mode 100644
index 0000000..74f47d9
--- /dev/null
+++ b/transformation/languages/java/org.eclipse.papyrus.designer.transformation.languages.java.library/xtend-gen/org/eclipse/papyrus/designer/transformation/languages/java/library/BootLoaderGenJava.java
@@ -0,0 +1,259 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ * 
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ */
+package org.eclipse.papyrus.designer.transformation.languages.java.library;
+
+import com.google.common.base.Objects;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Stack;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.languages.java.profile.PapyrusJava.Import;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.LibraryUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.ModelManagement;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.Messages;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoCDP;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.designer.transformation.core.transformations.TransformationContext;
+import org.eclipse.papyrus.designer.transformation.library.transformations.AbstractBootLoaderGen;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.xbase.lib.Conversions;
+import org.eclipse.xtext.xbase.lib.ListExtensions;
+
+/**
+ * Create a BootLoader for Java
+ */
+@SuppressWarnings("all")
+public class BootLoaderGenJava extends AbstractBootLoaderGen implements IM2MTrafoCDP {
+  public final static URI JAVA_BOOTLOADER_URI = URI.createURI("pathmap://DML_TRAFOS_JAVA/BootLoaderJava.uml");
+  
+  public final static String JAVA_BOOTLOADER_QNAME = "BootLoaderJava::BootLoader";
+  
+  public final static String JAVA_NODEINFO_QNAME = "BootLoaderJava::NodeInfo";
+  
+  /**
+   * Create a new boot-loader in a specific package
+   * (which represents a node of the system).
+   * 
+   * @param copier a lazy copier
+   * @param nodeIndex the index of the node
+   * @param numberOfNodes the number of nodes
+   * @throws TransformationException
+   */
+  @Override
+  public void init(final LazyCopier copier, final int nodeIndex, final int numberOfNodes) throws TransformationException {
+    final org.eclipse.uml2.uml.Package root = TransformationContext.current.modelRoot;
+    this.m_copier = copier;
+    ResourceSet _resourceSet = ModelManagement.getResourceSet();
+    Element _content = LibraryUtils.getContent(BootLoaderGenJava.JAVA_BOOTLOADER_URI, _resourceSet);
+    final org.eclipse.uml2.uml.Package bootloader_ml = ((org.eclipse.uml2.uml.Package) _content);
+    NamedElement _qualifiedElement = ElementUtils.getQualifiedElement(bootloader_ml, BootLoaderGenJava.JAVA_BOOTLOADER_QNAME);
+    final org.eclipse.uml2.uml.Class template = ((org.eclipse.uml2.uml.Class) _qualifiedElement);
+    boolean _equals = Objects.equal(template, null);
+    if (_equals) {
+      String _format = String.format(
+        Messages.BootLoaderGen_CannotRetrieveTemplate, BootLoaderGenJava.JAVA_BOOTLOADER_QNAME);
+      throw new TransformationException(_format);
+    }
+    Element _owner = template.getOwner();
+    copier.put(_owner, root);
+    Element _owner_1 = template.getOwner();
+    copier.setStatus(_owner_1, LazyCopier.CopyStatus.INPROGRESS);
+    org.eclipse.uml2.uml.Class _copy = copier.<org.eclipse.uml2.uml.Class>getCopy(template);
+    this.m_bootLoader = _copy;
+    final Import javaImport = StereotypeUtil.<Import>applyApp(this.m_bootLoader, Import.class);
+    boolean _equals_1 = Objects.equal(javaImport, null);
+    if (_equals_1) {
+      throw new TransformationException(Messages.BootLoaderGen_CannotApplyCppInclude);
+    }
+    NamedElement _qualifiedElement_1 = ElementUtils.getQualifiedElement(bootloader_ml, BootLoaderGenJava.JAVA_NODEINFO_QNAME);
+    final org.eclipse.uml2.uml.Class nodeInfo = ((org.eclipse.uml2.uml.Class) _qualifiedElement_1);
+    final org.eclipse.uml2.uml.Class nodeInfoCopy = copier.<org.eclipse.uml2.uml.Class>getCopy(nodeInfo);
+    final Property nodeIndexElem = nodeInfoCopy.getAttribute("nodeIndex", null);
+    final Property numberOfNodesElem = nodeInfoCopy.getAttribute("numberOfNodes", null);
+    ValueSpecification _defaultValue = nodeIndexElem.getDefaultValue();
+    ((LiteralInteger) _defaultValue).setValue((nodeIndex + 0));
+    ValueSpecification _defaultValue_1 = numberOfNodesElem.getDefaultValue();
+    ((LiteralInteger) _defaultValue_1).setValue(numberOfNodes);
+    this.m_initCode = AbstractBootLoaderGen.EMPTYSTR;
+    this.m_initCodeRun = AbstractBootLoaderGen.EMPTYSTR;
+    HashMap<org.eclipse.uml2.uml.Class, EList<String>> _hashMap = new HashMap<org.eclipse.uml2.uml.Class, EList<String>>();
+    this.m_activation = _hashMap;
+    this.m_initCodeCConnections = AbstractBootLoaderGen.EMPTYSTR;
+    this.m_initCodeCConfig = AbstractBootLoaderGen.EMPTYSTR;
+    if (this.outputSizeof) {
+    }
+  }
+  
+  @Override
+  public String languageCreateInstance(final InstanceSpecification is, final org.eclipse.uml2.uml.Class implementation) {
+    StringConcatenation _builder = new StringConcatenation();
+    String _name = is.getName();
+    _builder.append(_name, "");
+    _builder.append(" = new ");
+    String _name_1 = implementation.getName();
+    _builder.append(_name_1, "");
+    _builder.append("();");
+    _builder.newLineIfNotEmpty();
+    return _builder.toString();
+  }
+  
+  @Override
+  public String languageCreateConn(final String varName) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append(varName, "");
+    _builder.append(".createConnections();");
+    _builder.newLineIfNotEmpty();
+    return _builder.toString();
+  }
+  
+  @Override
+  public String languageRunStart(final String varName, final boolean useOO) {
+    StringConcatenation _builder = new StringConcatenation();
+    {
+      if (useOO) {
+        _builder.append(varName, "");
+        _builder.append(".run();");
+        _builder.newLineIfNotEmpty();
+      } else {
+        _builder.append(varName, "");
+        _builder.append(".get_start().run();");
+        _builder.newLineIfNotEmpty();
+      }
+    }
+    return _builder.toString();
+  }
+  
+  @Override
+  public String languageAssignRef(final String accessName, final String referenceVarName) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append(accessName, "");
+    _builder.append(" = ");
+    _builder.append(referenceVarName, "");
+    _builder.append(";");
+    _builder.newLineIfNotEmpty();
+    return _builder.toString();
+  }
+  
+  @Override
+  public void instanceConfig(final Stack<Slot> slotPath, final InstanceSpecification instance) throws TransformationException {
+    final Slot slot = slotPath.peek();
+    final StructuralFeature sf = slot.getDefiningFeature();
+    boolean _equals = Objects.equal(sf, null);
+    if (_equals) {
+      String _name = instance.getName();
+      String _format = String.format("A slot for instance %s has no defining feature", _name);
+      throw new TransformationException(_format);
+    }
+    String _name_1 = instance.getName();
+    String _plus = (_name_1 + ".");
+    String _name_2 = sf.getName();
+    final String varName = (_plus + _name_2);
+    EList<ValueSpecification> _values = slot.getValues();
+    for (final ValueSpecification value : _values) {
+      String _stringValue = value.stringValue();
+      boolean _notEquals = (!Objects.equal(_stringValue, null));
+      if (_notEquals) {
+        String _m_initCodeCConfig = this.m_initCodeCConfig;
+        String _stringValue_1 = value.stringValue();
+        String _plus_1 = ((varName + " = ") + _stringValue_1);
+        String _plus_2 = (_plus_1 + AbstractBootLoaderGen.EOL);
+        this.m_initCodeCConfig = (_m_initCodeCConfig + _plus_2);
+      }
+    }
+  }
+  
+  @Override
+  public void applyTrafo(final M2MTrafo trafo, final org.eclipse.uml2.uml.Package deploymentPlan) throws TransformationException {
+    this.init(TransformationContext.current.copier, 0, 0);
+    final Stack<Slot> slotPath = new Stack<Slot>();
+    EList<InstanceSpecification> _topLevelInstances = DepUtils.getTopLevelInstances(deploymentPlan);
+    for (final InstanceSpecification is : _topLevelInstances) {
+      this.addInstance(is, slotPath);
+    }
+    this.addInit("Java");
+  }
+  
+  @Override
+  public void languageInit() {
+  }
+  
+  @Override
+  public String languageActivation(final org.eclipse.uml2.uml.Class[] activationKeys) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append("// activation code");
+    _builder.newLine();
+    {
+      for(final org.eclipse.uml2.uml.Class implementation : activationKeys) {
+        final EList<String> varNameList = this.m_activation.get(implementation);
+        _builder.newLineIfNotEmpty();
+        {
+          for(final String varName : varNameList) {
+            _builder.append(varName, "");
+            _builder.append(".get_lc().activate();");
+            _builder.newLineIfNotEmpty();
+          }
+        }
+      }
+    }
+    _builder.append("return code;");
+    _builder.newLine();
+    return _builder.toString();
+  }
+  
+  @Override
+  public String languageDeactivation(final org.eclipse.uml2.uml.Class[] activationKeys) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append("// deactivation code (reverse order)");
+    _builder.newLine();
+    {
+      List<org.eclipse.uml2.uml.Class> _reverse = ListExtensions.<org.eclipse.uml2.uml.Class>reverse(((List<org.eclipse.uml2.uml.Class>)Conversions.doWrapArray(activationKeys)));
+      for(final org.eclipse.uml2.uml.Class implementation : _reverse) {
+        final EList<String> varNameList = this.m_activation.get(implementation);
+        _builder.newLineIfNotEmpty();
+        {
+          for(final String varName : varNameList) {
+            _builder.append(varName, "");
+            _builder.append(".get_lc().deactivate();");
+            _builder.newLineIfNotEmpty();
+          }
+        }
+      }
+    }
+    _builder.append("return code;");
+    _builder.newLine();
+    return _builder.toString();
+  }
+  
+  @Override
+  public String languageDefaultExecCode() {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append("Thread.sleep();");
+    _builder.newLine();
+    return _builder.toString();
+  }
+}
diff --git a/transformation/languages/java/pom.xml b/transformation/languages/java/pom.xml
new file mode 100644
index 0000000..b0ec05c
--- /dev/null
+++ b/transformation/languages/java/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.designer</groupId>
+		<artifactId>org.eclipse.papyrus.designer.transformation.languages</artifactId>
+		<version>0.7.5-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.designer.transformation.languages.java</artifactId>
+	<packaging>pom</packaging>
+	<name>Designer Languages</name>
+	<description>This module contains the different plugins relative to different (programming) languages</description>
+
+	<modules>
+		<module>org.eclipse.papyrus.designer.transformation.languages.java.library</module>
+	</modules>
+
+</project>
diff --git a/transformation/languages/pom.xml b/transformation/languages/pom.xml
new file mode 100644
index 0000000..1922cc4
--- /dev/null
+++ b/transformation/languages/pom.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.designer</groupId>
+		<artifactId>org.eclipse.papyrus.designer.transformation</artifactId>
+		<version>0.7.5-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.designer.transformation.languages</artifactId>
+	<packaging>pom</packaging>
+	<name>Designer Languages</name>
+	<description>This module contains the different plugins relative to different (programming) languages</description>
+
+	<modules>
+		<module>cpp</module>
+		<module>java</module>
+	</modules>
+
+</project>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.classpath b/transformation/org.eclipse.papyrus.designer.transformation.base/.classpath
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.classpath
copy to transformation/org.eclipse.papyrus.designer.transformation.base/.classpath
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/.project b/transformation/org.eclipse.papyrus.designer.transformation.base/.project
new file mode 100644
index 0000000..70d82de
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.transformation.base</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/transformation/org.eclipse.papyrus.designer.transformation.base/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to transformation/org.eclipse.papyrus.designer.transformation.base/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.jdt.core.prefs b/transformation/org.eclipse.papyrus.designer.transformation.base/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.jdt.core.prefs
copy to transformation/org.eclipse.papyrus.designer.transformation.base/.settings/org.eclipse.jdt.core.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/transformation/org.eclipse.papyrus.designer.transformation.base/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to transformation/org.eclipse.papyrus.designer.transformation.base/.settings/org.eclipse.m2e.core.prefs
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/META-INF/MANIFEST.MF b/transformation/org.eclipse.papyrus.designer.transformation.base/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..92c29e2
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/META-INF/MANIFEST.MF
@@ -0,0 +1,39 @@
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.designer.transformation.base,
+ org.eclipse.papyrus.designer.transformation.base.preferences,
+ org.eclipse.papyrus.designer.transformation.base.utils
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore,
+ org.eclipse.uml2.uml,
+ org.eclipse.ui.ide,
+ org.eclipse.core.resources,
+ org.eclipse.papyrus.marte.static.profile;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.transformation.vsl;bundle-version="0.7.0",
+ org.eclipse.papyrus.uml.modelexplorer.widgets;bundle-version="1.2.0",
+ org.eclipse.papyrus.uml.tools;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.languages.cpp.profile;bundle-version="0.7.0",
+ org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
+ org.eclipse.gmf.runtime.common.core;bundle-version="1.7.0",
+ org.eclipse.gmf.runtime.emf.commands.core;bundle-version="1.4.0",
+ org.eclipse.papyrus.infra.widgets;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.emf;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.services.labelprovider;bundle-version="1.2.0",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
+ org.eclipse.ui,
+ org.eclipse.papyrus.designer.languages.common.extensionpoints;bundle-version="0.7.0",
+ org.eclipse.uml2.uml.profile.standard;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.ui;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.languages.common.profile;bundle-version="0.7.1",
+ org.eclipse.papyrus.designer.transformation.profile;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.deployment.profile;bundle-version="0.7.3"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 0.7.5.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.designer.transformation.base.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.designer.transformation.base;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/about.html b/transformation/org.eclipse.papyrus.designer.transformation.base/about.html
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/about.html
copy to transformation/org.eclipse.papyrus.designer.transformation.base/about.html
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/about.properties b/transformation/org.eclipse.papyrus.designer.transformation.base/about.properties
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/about.properties
copy to transformation/org.eclipse.papyrus.designer.transformation.base/about.properties
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/build.properties b/transformation/org.eclipse.papyrus.designer.transformation.base/build.properties
new file mode 100644
index 0000000..bd97e01
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               about.properties,\
+               about.html,\
+               plugin.properties,
+customBuildCallbacks = build.acceleo
+src.includes = about.html
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/plugin.properties b/transformation/org.eclipse.papyrus.designer.transformation.base/plugin.properties
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/plugin.properties
copy to transformation/org.eclipse.papyrus.designer.transformation.base/plugin.properties
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/pom.xml b/transformation/org.eclipse.papyrus.designer.transformation.base/pom.xml
new file mode 100644
index 0000000..44f462f
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/pom.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.designer</groupId>
+		<artifactId>org.eclipse.papyrus.designer.transformation</artifactId>
+		<version>0.7.5-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.designer.transformation.base</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This module contains the basic utility functions for model-2-model transformations</description>
+</project>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/Activator.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/Activator.java
new file mode 100644
index 0000000..5b55444
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/Activator.java
@@ -0,0 +1,73 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.base;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.designer.transformation.base"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+
+	public static LogHelper log;
+
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+
+		// register the login helper
+		log = new LogHelper(plugin);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/ElementFilter.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/ElementFilter.java
new file mode 100644
index 0000000..6c4605c
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/ElementFilter.java
@@ -0,0 +1,24 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.base;
+
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * A common interface for element filtering in dialogs
+ */
+public interface ElementFilter {
+	public boolean acceptElement(Element element);
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/Messages.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/Messages.java
new file mode 100644
index 0000000..1971f05
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/Messages.java
@@ -0,0 +1,144 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.base;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.eclipse.papyrus.designer.transformation.base.messages"; //$NON-NLS-1$
+
+	public static String BootLoaderGen_AtLeastOneBlockingCall;
+
+	public static String BootLoaderGen_CannotApplyCppInclude;
+
+	public static String BootLoaderGen_CannotRetrieveTemplate;
+
+	public static String CommandSupport_NoEditingDomain;
+	public static String CommandSupport_ErrorDuringCmdExec;
+	public static String ConfigUtils_RuleWithoutBaseClass;
+	public static String DepCreation_SingletonExistsAlready;
+
+	public static String DepCreation_CannotFindImplementation;
+
+	public static String DepCreation_CircularReference;
+
+	public static String DepCreation_DefiningFeatureNull;
+
+	public static String DepCreation_FCMconnectorWithoutBaseClass;
+
+	public static String DepCreation_InfoCreateDepPlan;
+
+	public static String DepCreation_TypeInAttributeUndefined;
+
+	public static String Deploy_0;
+
+	public static String Description_NoAvail;
+
+	public static String LWContainerTrafo_CannotApplyRule;
+	
+	public static String ConnectorBinding_CannotFindBinding;
+	public static String ConnectorBinding_CannotFindBindingForPort;
+	public static String ConnectorBinding_CannotFindConsistentBinding;
+	public static String ConnectorBinding_ConnectorsPort;
+	public static String ConnectorBinding_FormalAlreadyBound;
+	public static String ConnectorBinding_InfoActualReturnIntfIs;
+	public static String ConnectorBinding_InfoConnPortConnectedVia;
+	public static String ConnectorBinding_InfoConnectsPort;
+	public static String ConnectorBinding_InfoCreateBoundPackage;
+
+	public static String ConnectorBinding_InfoMatchOtherEnd;
+
+	public static String ConnectorBinding_InfoProvidedPortTypeMatches;
+	public static String ConnectorBinding_NoTemplateSignature;
+
+	public static String ConnectorReification_CannotFindMatchingPort;
+	public static String ConnectorReification_CouldNotBind;
+	public static String ConnectorReification_CouldNotConnectPort;
+	public static String ConnectorReification_CouldNotConnectPortOfType;
+	public static String ConnectorReification_InfoAddConnectorPart;
+	public static String ConnectorReification_InfoPortTypes;
+	public static String ConnectorReification_RequiresUseOfPorts;
+	public static String ConnectorReification_TemplateTypeNotClass;
+
+	public static String GenerateCode_CouldNotDeleteOldCode;
+	public static String GenerateCode_GeneratingCodeForNode;
+	public static String GenerateCode_GeneratingCode;
+
+	public static String TemplateUtils_InfoCreateBoundPackage;
+	public static String TemplateUtils_InfoGetActualFrom;
+	public static String TemplateUtils_NoTemplateSignature;
+
+	public static String TemplateInstantiation_TemplateIsNull;
+	public static String TemplateInstantiationListener_TrafoException;
+
+	public static String CompImplTrafos_CannotFindType;
+	public static String CompImplTrafos_IntfNotImplemented;
+	public static String CompTypeTrafos_CannotFindType;
+
+	public static String ContainerTrafo_CannotApplyRule;
+	public static String ContainerTrafo_CannotFindDelegationConn;
+	public static String ContainerTrafo_InterceptionRuleButNoInterceptor;
+
+	public static String ContainerTrafo_RecursiveLWnotSupported;
+
+	public static String InstanceConfigurator_InvalidPluginExtension;
+
+	public static String InstantiateDepPlan_AcceleoErrors;
+	public static String InstantiateDepPlan_AcceleoErrorsCheckLog;
+	public static String InstantiateDepPlan_CannotGenModel;
+	public static String InstantiateDepPlan_CheckInputImportPkg;
+	public static String InstantiateDepPlan_CheckInputImportPkgNoRes;
+	public static String InstantiateDepPlan_CheckInputModelProfile3;
+	public static String InstantiateDepPlan_CheckInputModelProfileNoRes;
+	public static String InstantiateDepPlan_CheckInputModelProfileNoResNoName;
+	public static String InstantiateDepPlan_ConsultConsole;
+	public static String InstantiateDepPlan_DepPlanStereotypeNotInitialized;
+	public static String InstantiateDepPlan_ErrorsDuringTransformation;
+	public static String InstantiateDepPlan_IllegalArgumentDuringCopy;
+	public static String InstantiateDepPlan_InfoApplyProfile;
+	public static String InstantiateDepPlan_InfoDeployingForNode;
+	public static String InstantiateDepPlan_InfoExpandingConnectors;
+	public static String InstantiateDepPlan_InfoGeneratingModel;
+	public static String InstantiateDepPlan_InfoImportPackage;
+	public static String InstantiateDepPlan_InfoNoneAllocated;
+	public static String InstantiateDepPlan_TransformationException;
+
+	public static String MainModelTrafo_ChangePartType;
+	public static String MainModelTrafo_NoDefiningFeature;
+	public static String MainModelTrafo_NoInstanceAssociated;
+
+	public static String MainModelTrafo_NoTypeDefinedFor;
+
+	public static String CompImplSync_InfoSyncIntf;
+	public static String CompImplSync_InfoSyncViaImpl;
+	public static String CompImplSync_InfoSyncViaType;
+
+	public static String DepPlanUtils_CannotFindAttribute;
+	public static String DepPlanUtils_ConfigOfPropertyFailed;
+
+	public static String UpdateUtils_CannotApplyFCMstereo;
+
+	public static String XtendTemplateBinding_TemplateNotFound;
+
+	public static String XtendTemplateBinding_TemplateResultIsNotAString;
+
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/UIContext.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/UIContext.java
new file mode 100644
index 0000000..a6197ec
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/UIContext.java
@@ -0,0 +1,23 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.base;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+
+public class UIContext {
+	public static IProgressMonitor monitor;
+	
+	public static boolean configureProject;
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/messages.properties b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/messages.properties
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/src/org/eclipse/papyrus/designer/components/transformation/core/messages.properties
copy to transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/messages.properties
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/preferences/PapyrusDesignerPreferenceConstants.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/preferences/PapyrusDesignerPreferenceConstants.java
new file mode 100644
index 0000000..ed74c0c
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/preferences/PapyrusDesignerPreferenceConstants.java
@@ -0,0 +1,34 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.base.preferences;
+
+/**
+ * Constant definitions for plug-in preferences
+ */
+public class PapyrusDesignerPreferenceConstants {
+
+	/**
+	 * For attributes, the default "aggregation kind" value is "none". When this option is set
+	 * it will be treated as composite
+	 */
+	public static final String P_TREAT_NONE_AS_COMPOSITE = "treatNoneAsComposite"; //$NON-NLS-1$
+
+	public static final String P_ALL_ATTRIBUTES_ARE_CONFIG_ATTRIBUTES = "allAttributesAreConfigAttributes"; //$NON-NLS-1$
+
+	public static final String P_SHOW_PROV_REQ_AS_PORT_ICONS = "showProvReqAsPortIcons"; //$NON-NLS-1$
+
+	public static final String P_CODE_GEN_PREFIX = "codeGenPrefix"; //$NON-NLS-1$
+
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/CommandSupport.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/CommandSupport.java
new file mode 100644
index 0000000..8170109
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/CommandSupport.java
@@ -0,0 +1,134 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.base.utils;
+
+import java.util.Collections;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.operations.IOperationHistory;
+import org.eclipse.core.commands.operations.IUndoableOperation;
+import org.eclipse.core.commands.operations.OperationHistoryFactory;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand;
+import org.eclipse.papyrus.designer.transformation.base.Activator;
+import org.eclipse.papyrus.designer.transformation.base.Messages;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.ui.util.ServiceUtilsForHandlers;
+
+/**
+ * Utility function. Allow execution of commands on a transactional command stack
+ *
+ * @author ansgar
+ *
+ */
+public class CommandSupport {
+
+	/**
+	 * Execute the passed Runnable within a command
+	 *
+	 * @param label
+	 * @param command
+	 */
+	public static void exec(String label, ExecutionEvent event, final Runnable command) {
+		ServiceUtilsForHandlers serviceUtils = ServiceUtilsForHandlers.getInstance();
+		try {
+			exec(serviceUtils.getTransactionalEditingDomain(event), label, command);
+		} catch (ServiceException e) {
+			Activator.log.error(Messages.CommandSupport_NoEditingDomain, e);
+		}
+	}
+
+	/**
+	 * Execute the passed Runnable within a command
+	 *
+	 * @param eObject an element of the model that is modified (domain will be determined from it)
+	 * @param label A command label
+	 * @param command The command in form of a runnable
+	 */
+	public static void exec(EObject eObject, String label, final Runnable command) {
+		exec(TransactionUtil.getEditingDomain(eObject), label, command);
+	}
+	
+	
+	/**
+	 * Execute the passed Runnable with result within a command
+	 *
+	 * @param label
+	 * @param command
+	 */
+	public static void exec(String label, ExecutionEvent event, final RunnableWithResult command) {
+		// ServiceUtilsForActionHandlers serviceUtils = ServiceUtilsForActionHandlers.getInstance();
+		ServiceUtilsForHandlers serviceUtils = ServiceUtilsForHandlers.getInstance();
+		IOperationHistory history = OperationHistoryFactory.getOperationHistory();
+		try {
+			history.execute(new AbstractTransactionalCommand(serviceUtils.getTransactionalEditingDomain(event),
+					label, Collections.EMPTY_LIST) {
+
+				@Override
+				public CommandResult doExecuteWithResult(IProgressMonitor dummy, IAdaptable info) {
+					return command.run();
+				}
+			}, null, null);
+		}
+		catch (ExecutionException e) {
+			Activator.log.error(Messages.CommandSupport_ErrorDuringCmdExec, e);
+		}
+		catch (ServiceException e) {
+			Activator.log.error(Messages.CommandSupport_NoEditingDomain, e);
+		}
+	}
+
+	/**
+	 * Execute the passed Runnable within a command
+	 *
+	 * @param label
+	 * @param command
+	 */
+	public static void exec(TransactionalEditingDomain domain, String label, final Runnable command) {
+		if (domain == null) {
+			command.run();
+		} else {
+			IOperationHistory history = OperationHistoryFactory.getOperationHistory();
+			try {
+				history.execute(new AbstractTransactionalCommand(domain, label, Collections.EMPTY_LIST) {
+
+					@Override
+					public CommandResult doExecuteWithResult(IProgressMonitor dummy, IAdaptable info) {
+						command.run();
+						return CommandResult.newOKCommandResult();
+					}
+				}, null, null);
+			} catch (ExecutionException e) {
+				Activator.log.error(e);
+			}
+		}
+	}
+
+	public static void exec(IUndoableOperation command) {
+		IOperationHistory history = OperationHistoryFactory.getOperationHistory();
+		try {
+			history.execute(command, new NullProgressMonitor(), null);
+		} catch (ExecutionException e) {
+			Activator.log.error(e);
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/CopyUtils.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/CopyUtils.java
new file mode 100644
index 0000000..1dd30d4
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/CopyUtils.java
@@ -0,0 +1,141 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.base.utils;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralNull;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.MultiplicityElement;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+public class CopyUtils {
+	/**
+	 * Copy the (XML) ID from the source to the destination model element. This
+	 * is useful, if you want to create a diagram for (parts of) the generated
+	 * target model. Otherwise, the IDs would change with each generation and
+	 * references from the diagram to model elements would break (of course,
+	 * they could still break, for instance if structural modifications of the
+	 * source model are made).
+	 *
+	 * @param source
+	 *            source model element
+	 * @param dest
+	 *            corresponding target model element
+	 */
+	public static void copyID(EObject source, EObject target) {
+		copyID(source, target, ""); //$NON-NLS-1$
+	}
+
+	/**
+	 * Copy the (XML) ID from the source to the destination model element.
+	 * Prefix the ID with a string passed as parameter
+	 *
+	 * @param source
+	 *            source model element
+	 * @param dest
+	 *            corresponding target model element
+	 * @param prefix
+	 *            a prefix for the target model ID
+	 */
+	@SuppressWarnings("deprecation")
+	public static void copyID(EObject source, EObject target, String prefix) {
+		Resource resourceSource = source.eResource();
+		Resource resourceTarget = target.eResource();
+		// TODO: use EcoreUtil getURI (InternalEObject) instead?
+
+		if ((resourceSource instanceof XMLResource) && (resourceTarget instanceof XMLResource)) {
+			XMLResource xmlResSource = (XMLResource) resourceSource;
+			XMLResource xmlResTarget = (XMLResource) resourceTarget;
+			String id = prefix + xmlResSource.getID(source);
+			int counter = 0;
+			String uniqueID = id;
+			while (xmlResTarget.getIDToEObjectMap().containsKey(uniqueID)) {
+				uniqueID = id + counter;
+				counter++;
+			}
+			xmlResTarget.setID(target, uniqueID);
+		}
+	}
+
+	public static ValueSpecification copyDefaultValue(Property source, Property target) {
+		ValueSpecification value = source.getDefaultValue();
+		if (value != null) {
+			ValueSpecification newValue = target.createDefaultValue(value.getName(), value.getType(), value.eClass());
+			return copyValue(value, newValue);
+		} else {
+			return null;
+		}
+	}
+
+	// TODO: the functions that follow are static and should not be part of this class
+	// as they use a different way of copying things.
+	
+	
+	public static void copyFeatureModifiers(Feature source, Feature target) {
+		target.setIsStatic(source.isStatic());
+		target.setIsLeaf(source.isLeaf());
+	}
+
+	public static void copyMultElemModifiers(MultiplicityElement source, MultiplicityElement target) {
+		target.setIsOrdered(source.isOrdered());
+		target.setIsUnique(source.isUnique());
+		target.setLower(source.getLower());
+		target.setUpper(source.getUpper());
+	}
+
+	/**
+	 * Copy a value to a target slot
+	 *
+	 * @param smValue
+	 * @param target
+	 * @return
+	 */
+	public static ValueSpecification copyValue(ValueSpecification value, Slot target) {
+		ValueSpecification newValue = target.createValue(value.getName(), value.getType(), value.eClass());
+		return copyValue(value, newValue);
+	}
+
+	public static ValueSpecification copyValue(ValueSpecification smValue, ValueSpecification tmValue) {
+		if (smValue instanceof OpaqueExpression) {
+			OpaqueExpression oeValue = (OpaqueExpression) smValue;
+			OpaqueExpression noeValue = (OpaqueExpression) tmValue;
+			for (String language : oeValue.getLanguages()) {
+				noeValue.getLanguages().add(language);
+			}
+			for (String body : oeValue.getBodies()) {
+				noeValue.getBodies().add(body);
+			}
+		} else if (smValue instanceof LiteralString) {
+			((LiteralString) tmValue).setValue(((LiteralString) smValue).getValue());
+		} else if (smValue instanceof LiteralInteger) {
+			((LiteralInteger) tmValue).setValue(((LiteralInteger) smValue).getValue());
+		} else if (smValue instanceof LiteralUnlimitedNatural) {
+			((LiteralUnlimitedNatural) tmValue).setValue(((LiteralUnlimitedNatural) smValue).getValue());
+		} else if (smValue instanceof LiteralBoolean) {
+			((LiteralBoolean) tmValue).setValue(((LiteralBoolean) smValue).booleanValue());
+		} else if (smValue instanceof LiteralNull) {
+		}
+		return tmValue;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/CreationUtils.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/CreationUtils.java
new file mode 100644
index 0000000..f502db2
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/CreationUtils.java
@@ -0,0 +1,78 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.base.utils;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Package;
+
+public class CreationUtils {
+
+	/**
+	 * This function returns a Package reference that corresponds to a qualified name.
+	 * Packages are created, if not existing yet - the function is thus a bit similar to
+	 * the unix mkdir -p command. Note that the main model within the list of name-spaces is
+	 * ignored, in order to avoid that a sub-package within a model starts with the name
+	 * of the model.
+	 *
+	 * Caveat: imported elements must be checked beforehand. In case of a package import,
+	 * getMembers (and getImportedMembers) will not return the name of the imported model
+	 * but the elements (directly) owned by the imported model.
+	 * Example: getMember ("BasicTypes") will return null whereas getMember ("CORBA")
+	 * returns a package (CORBA is a package within the model library BasicTypes)
+	 *
+	 * @param model
+	 *            a model
+	 * @param list
+	 *            a list of namespace elements (as can be obtained via allNamespaces),
+	 *            the top-level element is the last within the list.
+	 * @param skipTop
+	 *            if true, skip top level namespace element
+	 * @return
+	 */
+	public static Package getAndCreate(Package root, EList<Namespace> list, boolean skipTop) {
+		int offset = (skipTop ? 2 : 1);
+		for (int i = list.size() - offset; i >= 0; i--) {
+			Namespace ns = list.get(i);
+
+			NamedElement pkg = root.getOwnedMember(ns.getName());
+			if (pkg == null) {
+				// package does not exist => create it.
+				pkg = root.createNestedPackage(ns.getName());
+				CopyUtils.copyID(ns, pkg);
+				// copy stereotype to create package
+				StUtils.copyStereotypes(ns, pkg);
+			}
+			if (!(pkg instanceof Package)) {
+				break;
+			}
+			root = (Package) pkg;
+		}
+		return root;
+	}
+
+	public static Package getAndCreate(Package root, EList<Namespace> list) {
+		return getAndCreate(root, list, true);
+	}
+
+	public static Package getAndCreate(Package root, String name) {
+		NamedElement pkg = root.getMember(name);
+		if (pkg == null) {
+			pkg = root.createNestedPackage(name);
+		}
+		return (Package) pkg;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/DescriptionUtils.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/DescriptionUtils.java
new file mode 100644
index 0000000..cbf9c60
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/DescriptionUtils.java
@@ -0,0 +1,84 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.base.utils;
+
+import org.eclipse.papyrus.designer.transformation.base.Messages;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * Set of static operations to retrieve the comment for an element
+ */
+public class DescriptionUtils {
+
+	/**
+	 * Return a description of an element. By default search comments that are
+	 * owned by this elements and the annotated elements points to itself.
+	 *
+	 * @param element
+	 *            the element for which to obtain a description
+	 * @return the description of the element
+	 */
+	public static String getDescription(Element element) {
+		return getDescription(element.getOwner(), element);
+	}
+
+	/**
+	 * Convenience function: Return a description of an element. It will delegate to
+	 * default getDescription, but returns a user specified text, if a description is
+	 * not available in the model.
+	 *
+	 * @param element
+	 * @param unavailable
+	 *            The text that is returned, if no description is available
+	 * @return
+	 */
+	public static String getDescription(Element element, String unavailable) {
+		String description = getDescription(element);
+		if (description != null) {
+			return description;
+		}
+		else {
+			return unavailable;
+		}
+	}
+
+	/**
+	 * Return a description or implementation description of an element, i.e. the
+	 * first owned comment that annotated the passed element
+	 *
+	 * @param the
+	 *            owner of the comment
+	 *            the element for which to obtain a description
+	 * @param annotated
+	 *            element
+	 *            the element for which to obtain a description
+	 * @return the description of the element
+	 */
+	public static String getDescription(Element owner, Element annotatedElement) {
+		if (owner == null) {
+			return null;
+		}
+		// loop over all owned comments, check those that begins with
+		// "description"
+		for (Comment comment : owner.getOwnedComments()) {
+			if (comment.getAnnotatedElements().contains(annotatedElement)) {
+				return comment.getBody();
+			}
+
+		}
+		return Messages.Description_NoAvail;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/ElementUtils.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/ElementUtils.java
new file mode 100644
index 0000000..78fc0fe
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/ElementUtils.java
@@ -0,0 +1,475 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.base.utils;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.UniqueEList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.External;
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.NoCodeGen;
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Typedef;
+import org.eclipse.papyrus.designer.transformation.base.Activator;
+import org.eclipse.papyrus.designer.transformation.base.preferences.PapyrusDesignerPreferenceConstants;
+import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.BehavioredClassifier;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Relationship;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.resource.UMLResource;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * A set of utility functions around elements
+ */
+public class ElementUtils {
+
+	/**
+	 * Retrieve an element from a list of named elements via its name
+	 *
+	 * @param namedElementList
+	 * @param name
+	 * @return
+	 */
+	public static NamedElement getNamedElementFromList(EList<? extends EObject> elementList, String name) {
+		for (EObject element : elementList) {
+			if (element instanceof NamedElement) {
+				NamedElement namedElement = (NamedElement) element;
+				if ((namedElement.getName() != null) && namedElement.getName().equals(name)) {
+					return namedElement;
+				}
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * @param element
+	 *            an element which is owned by a model.
+	 * @param subfolder
+	 *            the name of a sub-folder within root (created, if not
+	 *            existent)
+	 * @return a reference to the sub folder within the root of the model that
+	 *         belongs to the passed element.
+	 */
+	public static Package getRoot(Element element, String subfolder) {
+		Package root = PackageUtil.getRootPackage(element);
+		if (root.getNestedPackage(subfolder) != null) {
+			return root.getNestedPackage(subfolder);
+		} else {
+			return root.createNestedPackage(subfolder);
+		}
+	}
+
+	/**
+	 * this method returns the component type of an implementation. It is based
+	 * on the modeling convention that implementations inherit from types.
+	 * TODO: It currently returns the first abstract (direct) superclass
+	 * 
+	 * @param clazz
+	 *            A component implementation
+	 * @return the first abstract superclass
+	 */
+	public static Class componentType(Class clazz) {
+		if (clazz.isAbstract()) {
+			return clazz;
+		} else {
+			for (Class superclass : clazz.getSuperClasses()) {
+				if (superclass.isAbstract()) {
+					return superclass;
+				}
+			}
+			return null;
+		}
+	}
+
+	/**
+	 * return true, if an instance specification is a composite, i.e. has > 1
+	 * slots TODO: distinguish parts and configuration attributes
+	 */
+
+	public static boolean isComposite(InstanceSpecification is) {
+		return (is.getSlots().size() > 0);
+	}
+
+	public static boolean treatNoneAsComposite() {
+		IPreferenceStore store = Activator.getDefault().getPreferenceStore();
+		return store.getBoolean(PapyrusDesignerPreferenceConstants.P_TREAT_NONE_AS_COMPOSITE);
+	}
+
+	public static EList<Property> getParts(Class implementation) {
+		if (treatNoneAsComposite()) {
+			EList<Property> parts = new BasicEList<Property>();
+			for (Property part : implementation.getAttributes()) {
+				if (part.getAggregation() != AggregationKind.SHARED_LITERAL) {
+					parts.add(part);
+				}
+			}
+			return parts;
+		} else {
+			return implementation.getParts();
+		}
+	}
+
+	public static NamedElement getQualifiedElementFromRS(Element element, String qualifiedName) {
+		return getQualifiedElementFromRS(element.eResource().getResourceSet(), qualifiedName);
+	}
+	
+	/**
+	 * Get an element via its qualified name. This function will find all elements in the
+	 * resource set that have this qualified name (whether imported or not)
+	 *
+	 * @param rs
+	 *            a resource set
+	 * @param qualifiedName
+	 *            the qualified name of an element
+	 * @return the found element or null
+	 */
+	public static NamedElement getQualifiedElementFromRS(ResourceSet rs, String qualifiedName) {
+		for (Resource resource : rs.getResources()) {
+			if (resource instanceof UMLResource) {
+				for (EObject topLevelElem : resource.getContents()) {
+					if (topLevelElem instanceof Package) {
+						NamedElement ne = getQualifiedElement((Package) topLevelElem, qualifiedName);
+						if (ne != null) {
+							return ne;
+						}
+					}
+				}
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Get an element via its qualified name. It will ignore imports
+	 *
+	 * @param root
+	 *            the root element (package) of a model
+	 * @param qualifiedName
+	 *            the qualified name of an element
+	 * @return the found element or null
+	 */
+	public static NamedElement getQualifiedElement(Package root, String qualifiedName) {
+		String[] path = qualifiedName.split(NamedElement.SEPARATOR);
+		if (root.getName().equals(path[0])) {
+			return getQualifiedElement(root, path, 1);
+		}
+		return null;
+	}
+
+	/**
+	 * Retrieve an element via its qualified name within a root package.
+	 *
+	 * @return the found element, if it exists
+	 */
+	public static NamedElement getQualifiedElement(Package root, String[] path, int pos) {
+		if (root == null) {
+			return null;
+		}
+		if (pos == path.length) {
+			return root;
+		} else if (pos < path.length) {
+			NamedElement segmentElem = root.getPackagedElement(path[pos++]);
+			if (segmentElem != null) {
+				if (pos == path.length) {
+					return segmentElem;
+				} else if (segmentElem instanceof Package) {
+					// requires further recursion
+					NamedElement foundElement = getQualifiedElement((Package) segmentElem, path, pos);
+					// return, if not found
+					if (foundElement != null) {
+						return foundElement;
+					}
+				}
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Simple check whether an element is in a different model than the passed
+	 * package It will return true, whenever the the top elements do not match.
+	 * This is always true, if the 2nd belongs to a different model, whether
+	 * imported or not. This distinction is however not required in our context.
+	 */
+	public static boolean isElementInDifferentModel(Package model, NamedElement namedElement) {
+		return model != PackageUtil.getRootPackage(namedElement);
+	}
+
+	public static <T extends EObject> EList<T> getAllElementsOfType(Element examineElement, java.lang.Class<T> clazz) {
+		EList<Element> visitedPackages = new BasicEList<Element>();
+		return getAllElementsOfType(examineElement, clazz, visitedPackages);
+	}
+
+	@SuppressWarnings("unchecked")
+	public static <T extends EObject> EList<T> getAllElementsOfType(Element examineElement, java.lang.Class<T> clazz, EList<Element> visitedPackages) {
+		EList<T> list = new UniqueEList<T>();
+		for (Element element : examineElement.allOwnedElements()) {
+			if (element instanceof Package) {
+				if (!visitedPackages.contains(element)) {
+					visitedPackages.add(element);
+					list.addAll(getAllElementsOfType(element, clazz, visitedPackages));
+				}
+			} else if (clazz.isInstance(element)) {
+				list.add((T) element);
+			}
+		}
+		return list;
+	}
+
+	/**
+	 * Put quotes around a string, unless string already starts with a quote.
+	 *
+	 * @param str
+	 * @return
+	 */
+	public static String quoteString(String str) {
+		if (str.startsWith(StringConstants.QUOTE)) {
+			return str;
+		} else {
+			return StringConstants.QUOTE + str + StringConstants.QUOTE;
+		}
+	}
+
+	/**
+	 * TODO: copy&paste from C++ generator (& specific for C++)
+	 *
+	 * @param ne
+	 * @return
+	 */
+	public static String cppQName(NamedElement ne) {
+		if ((StereotypeUtil.isApplied(ne, External.class)) || (StereotypeUtil.isApplied(ne, NoCodeGen.class))) {
+			return ne.getName();
+		} else {
+			String qName = ne.getName();
+			for (Namespace ns : ne.allNamespaces()) {
+				if (!(ns instanceof Model)) {
+					qName = ns.getName() + "::" + qName; //$NON-NLS-1$
+				}
+			}
+			return qName;
+		}
+	}
+
+	/**
+	 * Convenience function: Declare a dependency from source to destination. The function checks,
+	 * if a dependency already exists to avoid double dependencies.
+	 *
+	 * @param source
+	 *            source type of the dependency
+	 * @param dest
+	 *            destination of the dependency
+	 */
+	public static void declareDependency(Type source, Type dest) {
+		// check, if a relationship already exists
+		for (Relationship dependency : source.getRelationships(UMLPackage.eINSTANCE.getDependency())) {
+			if (((Dependency) dependency).getSuppliers().contains(dest)) {
+				return;
+			}
+		}
+		source.createDependency(dest);
+	}
+
+	/**
+	 *
+	 * TODO: Specific to C++
+	 *
+	 * @param type
+	 *            a type
+	 * @return return the definition of a typedef, if the type has been defined via
+	 *         the stereotype CppType of the Cpp profile
+	 */
+	public static String dereferenceTypedef(Type type) {
+		if (type instanceof PrimitiveType) {
+			Typedef cppType = UMLUtil.getStereotypeApplication(type, Typedef.class);
+			if (cppType != null) {
+				return cppType.getDefinition();
+			}
+		}
+		return type.getQualifiedName();
+
+	}
+
+	/**
+	 * This method returns all types that are referenced by a classifier. This includes
+	 * attribute types, types within operations as well as inherited types.
+	 * This is useful to generate the #includes
+	 * (which is used by the Acceleo code within the packaging plugin)
+	 */
+	public static EList<Classifier> getReferencedClassifiers(Classifier classifier) {
+		EList<Classifier> list = new UniqueEList<Classifier>();
+		list.addAll(classifier.parents());
+
+		if (classifier instanceof Class) {
+			// get classifiers referenced by attributes
+			for (Operation operation : ((Class) classifier).getOwnedOperations()) {
+				for (Parameter parameter : operation.getOwnedParameters()) {
+					Type type = parameter.getType();
+					if (type instanceof Classifier) {
+						list.add((Classifier) type);
+					}
+				}
+			}
+
+			// get classifiers referenced by attributes
+			for (Property attribute : ((Class) classifier).getOwnedAttributes()) {
+				Type type = attribute.getType();
+				if (type instanceof Classifier) {
+					list.add((Classifier) type);
+				}
+			}
+		}
+		return list;
+	}
+
+	/**
+	 * Return the interface which owns an operation that is implemented by a class.
+	 * Context: a class might implement several interfaces by defining their operations.
+	 * The operation is useful in the context of state-machines: when a transition is triggered by
+	 * the call of an operation of the class, we'd like to know which interceptor (for which interface)
+	 * belongs to it (since the operations are enumerated within each interface).
+	 * TODO: move operation into state-chart java code
+	 * TODO: would not work for ROOM ports typed with a collaboration
+	 *
+	 * @param operation
+	 * @return the interface which the operation belongs
+	 */
+	public static Interface implementsInterface(Operation operation) {
+		Element owner = operation.getOwner();
+		if (owner instanceof BehavioredClassifier) {
+			String name = operation.getName();
+			EList<Type> types = new BasicEList<Type>();
+			for (Parameter parameter : operation.getOwnedParameters()) {
+				types.add(parameter.getType());
+			}
+			// loop over implemented realizations. Do not rely on FCM derivedElement information
+			// as it might be missing on some models (it would point from an operation of the class
+			// to the associated operation of the interface)
+			for (InterfaceRealization ir : ((BehavioredClassifier) owner).getInterfaceRealizations()) {
+				// check for types to allow for overloading
+				Operation candidate = ir.getContract().getOwnedOperation(name, null, types);
+				if (candidate != null) {
+					return ir.getContract();
+				}
+			}
+		} else if (owner instanceof Interface) {
+			return (Interface) owner;
+		}
+		return null;
+	}
+
+	public static <T extends EObject> EList<T> reverse(EList<T> list) {
+		EList<T> reverseList = new BasicEList<T>();
+		for (int i = list.size() - 1; i >= 0; i--) {
+			reverseList.add(list.get(i));
+		}
+		return reverseList;
+	}
+
+	public static EList<Namespace> usedNamespaces(NamedElement element) {
+		EList<Namespace> list = new BasicEList<Namespace>(element.allNamespaces());
+
+		if (list.size() < 1) {
+			return null;
+		}
+		list.remove(list.size() - 1); // remove last element (top-level)
+		return list;
+	}
+
+	/**
+	 * A small helper function that makes names compliant with variable
+	 * names in programming languages such as C++ or Java
+	 * Unlike varName2, replace scoping signs as well
+	 */
+	public static String varName(NamedElement element) {
+		return varName(element.getName());
+	}
+
+	/**
+	 * A small helper function that makes names compliant with variable
+	 * names in programming languages such as C++ or Java
+	 * Unlike varName2, replace scoping signs as well
+	 */
+	public static String varName(String umlName) {
+		umlName = umlName.replace(".", StringConstants.UNDERSCORE); //$NON-NLS-1$
+		umlName = umlName.replace(NamedElement.SEPARATOR, StringConstants.UNDERSCORE);
+		return varName2(umlName);
+	}
+
+	/**
+	 * A small helper function that makes names compliant with variable
+	 * names in programming languages such as C++ or Java
+	 * TODO: obviously, it is not complete (e.g. in case of "$", national characters ("ä", "é", ...) , ...)
+	 */
+	public static String varName2(NamedElement element) {
+		String umlName = element.getName();
+		return varName2(umlName);
+	}
+
+	/**
+	 * Like varName, but does not replace "." with "_"
+	 *
+	 * @param umlName
+	 * @return
+	 */
+	public static String varName2(String umlName) {
+		umlName = umlName.replace(" ", StringConstants.UNDERSCORE); //$NON-NLS-1$
+		umlName = umlName.replace("-", StringConstants.UNDERSCORE); //$NON-NLS-1$
+		umlName = umlName.replace("+", StringConstants.UNDERSCORE); //$NON-NLS-1$
+		umlName = umlName.replace("?", StringConstants.UNDERSCORE); //$NON-NLS-1$
+		return umlName;
+	}
+
+	/**
+	 * Get the XML (URI) Id of an element within your model
+	 * Useful for transmitting model references
+	 *
+	 * @param element
+	 *            a UML element
+	 * @return
+	 */
+	public static String xmlID(Element element) {
+		Resource resource = element.eResource();
+		// TODO: use EcoreUtil getURI (InternalEObject) instead?
+
+		if (resource instanceof XMLResource) {
+			XMLResource xmlResource = (XMLResource) resource;
+			return xmlResource.getID(element);
+		}
+		return null;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/FileUtils.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/FileUtils.java
new file mode 100644
index 0000000..8426d61
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/FileUtils.java
@@ -0,0 +1,132 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.base.utils;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Namespace;
+
+public class FileUtils {
+
+	public static String decodeID(String encodedURI) {
+		String result = ""; //$NON-NLS-1$
+		for (int i = 0; i < encodedURI.length(); i++) {
+			char c = encodedURI.charAt(i);
+			if (c == '_') {
+				char next = encodedURI.charAt(i + 1);
+				if (next == 'M') {
+					result += '-';
+				} else if (next == '_') {
+					result += '_';
+				}
+				i++;
+			}
+			else {
+				result += c;
+			}
+		}
+		return result;
+	}
+
+	public static String encodeID(String uri) {
+		// _ becomes escape character. original _ is __, '-' becomes _M
+		return uri.
+				replace(StringConstants.UNDERSCORE, StringConstants.UNDERSCORE + StringConstants.UNDERSCORE).
+				replace("-", "_M"); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+	/**
+	 * Get the URI fragment of an element within your model
+	 * Useful for transmitting model references
+	 *
+	 * @param element
+	 *            a UML element
+	 * @return
+	 */
+	public static String fragment(Element element) {
+		Resource resource = element.eResource();
+		// TODO: use EcoreUtil getURI (InternalEObject) instead?
+	
+		if (resource instanceof XMLResource) {
+			XMLResource xmlResource = (XMLResource) resource;
+			return "\"" + xmlResource.getURIFragment(element) + "\""; //$NON-NLS-1$//$NON-NLS-2$
+		}
+		return null;
+	}
+
+	/**
+	 * Return the absolute file name to a file name given e.g. in the form platform:/plugin/xxx
+	 *
+	 * @param fileName
+	 *            the file name using eclipse elements such as platform:/plugin
+	 * @return the absolute file name
+	 */
+	public static String getAbsoluteFN(String fileName) {
+		try {
+			URL absoluteURL = FileLocator.toFileURL(new URL(fileName));
+			return absoluteURL.getFile();
+		} catch (MalformedURLException e) {
+		} catch (IOException e) {
+		}
+		return null;
+	}
+
+	public static String getURI(Element element) {
+		Resource resource = element.eResource();
+		if (resource != null) {
+			URI uri = resource.getURI();
+			return uri.toString();
+		}
+		return null;
+	}
+
+	/**
+	 * Return a sequence of namespaces for a given element, starting from the "bottom"
+	 * one, i.e. the one in which the element is contained. It will end before the
+	 * searchNS namespace is reached. Returns null, if the element is not contained
+	 * within the search namespace.
+	 *
+	 * @param element
+	 * @param searchNS
+	 * @return
+	 */
+	public static EList<Namespace> relativePath(Element element, Namespace searchNS) {
+		EList<Namespace> pathList = new BasicEList<Namespace>();
+		Element owner = element.getOwner();
+		if (!(owner instanceof Namespace)) {
+			// happens, if element is contained in a template signature
+			return null;
+		}
+		Namespace ns = (Namespace) owner;
+		while (ns != null) {
+			if (ns == searchNS) {
+				return pathList;
+			}
+			pathList.add(ns);
+	
+			ns = (Namespace) ns.getOwner();
+		}
+		return null;
+	}
+
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/LibraryUtils.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/LibraryUtils.java
new file mode 100644
index 0000000..3808d41
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/LibraryUtils.java
@@ -0,0 +1,75 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.base.utils;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.UMLFactory;
+
+public class LibraryUtils {
+	
+	/**
+	 * Return the first top-level element of a model
+	 * @param resource
+	 * @return
+	 */
+	public static Element getContent(Resource resource) {
+		EList<EObject> contentObj = resource.getContents();
+		if ((contentObj.size() > 0) && (contentObj.get(0) instanceof Element)) {
+			return (Element) contentObj.get(0);
+		}
+		return null;
+	}
+	
+	/**
+	 * Get the first top-level element of an element stored in the
+	 * modle with a given URI (and loaded into a specified resource set)
+	 * @param uri
+	 * @param rs
+	 * @return
+	 */
+	public static Element getContent(URI uri, ResourceSet rs) {
+		Resource resource = rs.getResource(uri, true);
+		return getContent(resource);
+	}
+	
+	/**
+	 * Retrieve a model library from the repository
+	 *
+	 * @param uri
+	 *            the URI of the repository
+	 *
+	 * @return
+	 */
+	public static PackageImport getModelLibraryImportFromURI(URI uri, ResourceSet resourceSet) {
+		// Try to reach model
+		Element root = getContent(uri, resourceSet);
+		if (root instanceof Package) {
+			// Import model library
+			Package libToImport = (Package) root;
+			// create import package
+			PackageImport modelLibImport = UMLFactory.eINSTANCE.createPackageImport();
+			modelLibImport.setImportedPackage(libToImport);
+
+			return modelLibImport;
+		}
+		return null;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/MapUtil.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/MapUtil.java
new file mode 100644
index 0000000..f9238bf
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/MapUtil.java
@@ -0,0 +1,235 @@
+package org.eclipse.papyrus.designer.transformation.base.utils;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TemplateableElement;
+import org.eclipse.uml2.uml.Type;
+
+public class MapUtil {
+
+	/**
+	 * Get or create a derived type for a given element
+	 *
+	 * @param element
+	 *            An element for which the derived element should be created. Used to determine the model in which
+	 *            to create the derived element
+	 * @param prefix
+	 *            prefix string
+	 * @param type
+	 *            type name
+	 * @param createKind
+	 *            if non NONE, create either an interfaces or a class, if it does not exist yet
+	 * @return
+	 */
+	public enum ECreateKind {
+		CLASS, INTERFACE, NONE
+	}
+
+	/**
+	 * 
+	 * @param element
+	 * @param format a format string for the name of the new type. This name is obtained by call the String.format function and
+	 * 	passing the original type name as parameter. E.g. the call can use a fixed name, if the format string does not contain
+	 *  a %s directive, a %s at the end of the format string enables a fixed prefix and so on.
+	 * @param type
+	 * @param createKind
+	 * @return
+	 */
+	public static Type getOrCreateDerivedType(Element element, String format, Type type, ECreateKind createKind) {
+		String typeName = String.format(format, type.getName());
+	
+		// create derived element in "derivedInterface" package within the model owning
+		// the port (which must be an FCM model, since the port carries the FCM stereotype)
+		Package baseModelOfPort = getTop(element);
+		// handle specific case of type within template. Place derived type into same template.
+		Package derivedTypes = getAndCreate(baseModelOfPort, DERIVED_TYPES, createKind != ECreateKind.NONE);
+		if (derivedTypes != null) {
+			Package owner = getAndCreate(derivedTypes, type.allNamespaces(), createKind != ECreateKind.NONE);
+			Interface intf = null;
+	
+			PackageableElement pe = owner.getPackagedElement(typeName);
+			if (pe instanceof Type) {
+				// type already exists
+				return (Type) pe;
+			} else if (createKind == ECreateKind.INTERFACE) {
+				// System.out.println ("Derived port types: create new interface " + typeName + " in package " + owner.getQualifiedName ());
+				intf = owner.createOwnedInterface(typeName);
+	
+				// System.out.println ("Derived port types: Apply derived stereotype annotation to interface: " + intf.getQualifiedName());
+				DerivedElement de = applyDE(intf);
+				if (de != null) {
+					// de may be null, if FCM is not properly applied
+					de.setSource(type);
+				}
+				return intf;
+			} else if (createKind == ECreateKind.CLASS) {
+				// System.out.println ("Derived port types: create new interface " + typeName + " in package " + owner.getQualifiedName ());
+				Class newType = owner.createOwnedClass(typeName, false);
+	
+				// System.out.println ("Derived port types: Apply derived stereotype annotation to interface: " + intf.getQualifiedName());
+				DerivedElement de = applyDE(newType);
+				if (de != null) {
+					// de may be null, if FCM is not properly applied
+					de.setSource(type);
+				}
+				return newType;
+			}
+		}
+	
+		// instead of returning null, return a dummy interface that indicates the user that an element needs updating.
+		PackageableElement portKinds = baseModelOfPort.getImportedMember("PortKinds"); //$NON-NLS-1$
+		if (portKinds instanceof Package) {
+			PackageableElement pe = ((Package) portKinds).getPackagedElement("Please update derived elements"); //$NON-NLS-1$
+			if (pe instanceof Interface) {
+				// dummy interface exists
+				return (Interface) pe;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Get the template signature of a templateable element (typically a package). The class must
+	 * (1) either own the signature
+	 * (2) or merge with a package which owns the signature.
+	 * Qompass enables the "extension" of existing packages via the package merge mechanism
+	 *
+	 * @param template
+	 *            The potential template
+	 * @return the signature or null, if none can be found.
+	 */
+	public static TemplateSignature getSignature(TemplateableElement template) {
+		for (Element element : template.getOwnedElements()) {
+			if (element instanceof TemplateSignature) {
+				return (TemplateSignature) element;
+			}
+		}
+	
+		// enable multiple package templates sharing the same signature.
+		if (template instanceof Package) {
+			Package pkg = (Package) template;
+			for (PackageMerge pkgImport : pkg.getPackageMerges()) {
+				Package importedPkg = pkgImport.getMergedPackage();
+				return getSignature(importedPkg);
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Return the top-level owner of an element. This function returns the same value
+	 * as getModel, if the top-level element is a model and not contained in a template
+	 * While this is the case for models, model libraries have a top-level package (not
+	 * a model). In this case, getTop returns the top-level package whereas getModel
+	 * would return null.
+	 * In case of a package owning a signature, it returns this package instead of the
+	 * top level package. The reason is that the derived types might reference elements
+	 * of the template signature which would be undefined outside.
+	 *
+	 * @param element
+	 *            An element of which we want to query
+	 * @return the top-level owning package
+	 */
+	public static Package getTop(Element element) {
+		while (element != null) {
+			Element owner = element.getOwner();
+			if (owner == null) {
+				if (element instanceof Package) {
+					return (Package) element;
+				}
+			}
+			if ((element instanceof Package) && (getSignature((Package) element) != null)) {
+				return (Package) element;
+			}
+			element = owner;
+		}
+		return null;
+	}
+
+	private static final String DERIVED_TYPES = "derivedTypes"; //$NON-NLS-1$
+
+	/**
+	 * Apply the derived element stereotype to a model element
+	 *
+	 * @param element
+	 * @return
+	 */
+	public static DerivedElement applyDE(Element element) {
+		Stereotype stereotype = element.getApplicableStereotype("FCM::DerivedElement"); //$NON-NLS-1$
+		if (stereotype != null) {
+			EObject alreadyApplied = element.getStereotypeApplication(stereotype);
+			if (alreadyApplied instanceof DerivedElement) {
+				return (DerivedElement) alreadyApplied;
+			}
+			alreadyApplied = element.applyStereotype(stereotype);
+			if (alreadyApplied instanceof DerivedElement) {
+				return (DerivedElement) alreadyApplied;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * This function returns a Package reference that corresponds to a qualified name.
+	 * Packages are created, if not existing yet - the function is thus a bit similar to
+	 * the unix "mkdir -p" command. Note that the main model within the list of name-spaces is
+	 * ignored, in order to avoid that a sub-package within a model starts with the name
+	 * of the model.
+	 *
+	 * @param model
+	 *            a model
+	 * @param list
+	 *            a list of namespace elements (as can be obtained via allNamespaces),
+	 *            the top-level element is the last within the list.
+	 * @param skipTop
+	 *            if true, skip top level namespace element
+	 * @return
+	 */
+	public static Package getAndCreate(Package root, EList<Namespace> list, boolean createOnDemand) {
+		for (int i = list.size() - 1; i >= 0; i--) {
+			Namespace ns = list.get(i);
+	
+			NamedElement pkg = root.getOwnedMember(ns.getName());
+			if ((pkg == null) && createOnDemand) {
+				// package does not exist => create it.
+				pkg = root.createNestedPackage(ns.getName());
+				// copy stereotype to create package
+			}
+			if (!(pkg instanceof Package)) {
+				break;
+			}
+			root = (Package) pkg;
+		}
+		return root;
+	}
+
+	/**
+	 * Get or create a package within another package (often the root of a model), i.e. return
+	 * a package with the passed name, if it exists or create a new one of this name
+	 *
+	 * @param root
+	 *            a package potentially owning a certain element
+	 * @param name
+	 *            the name of a package that should be be returned.
+	 * @return a package
+	 */
+	public static Package getAndCreate(Package root, String name, boolean createOnDemand) {
+		NamedElement pkg = root.getOwnedMember(name);
+		if ((pkg == null) && createOnDemand) {
+			pkg = root.createNestedPackage(name);
+		}
+		return (Package) pkg;
+	}
+
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/ModelManagement.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/ModelManagement.java
new file mode 100644
index 0000000..5fb9322
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/ModelManagement.java
@@ -0,0 +1,245 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.base.utils;
+
+import java.io.IOException;
+import java.util.Iterator;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.papyrus.designer.transformation.base.Activator;
+import org.eclipse.papyrus.designer.transformation.base.Messages;
+import org.eclipse.papyrus.designer.transformation.base.UIContext;
+import org.eclipse.uml2.common.util.UML2Util;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * Manages a model (and the associated resource). Allows saving this model. It uses its own static resource set.
+ *
+ */
+public class ModelManagement {
+
+	/**
+	 * Create a new model and associate it with a temporary
+	 * resource
+	 */
+	public ModelManagement(Package model) {
+		getResourceSet();
+		this.model = model;
+		resource = resourceSet.createResource(URI.createURI("temp.uml")); //$NON-NLS-1$
+		resource.getContents().add(model);
+	}
+
+	/**
+	 * Create a new model and associate it with a temporary
+	 * resource
+	 */
+	public ModelManagement() {
+		this(UMLFactory.eINSTANCE.createModel());
+	}
+	
+	public void dispose() {
+		if (model != null) {
+			model.destroy();
+			model = null;
+		}
+		resourceSet.getResources().remove(resource);
+	}
+
+	/**
+	 * provide access to the model
+	 * 
+	 * @return the model managed by this instance of model manager
+	 */
+	public Package getModel() {
+		return model;
+	}
+
+	/**
+	 * Save a model within the given project at a default location.
+	 * This location is [model.name/].uml within the project root.
+	 * 
+	 * @link ModelManagement.getPath
+	 * 
+	 * @param project
+	 *            an existing project
+	 */
+	public void saveModel(IProject project) {
+		saveModel(getPath(project, null, null));
+	}
+
+	/**
+	 * Save the model within a given project, folder and postfix
+	 * 
+	 * @param project
+	 * @param modelFolder
+	 * @param modelPostfix
+	 */
+	public void saveModel(IProject project, String modelFolder, String modelPostfix) {
+		String path = this.getPath(project, modelFolder, this.getModel().getName() + modelPostfix);
+		this.saveModel(path);
+	}
+
+	/**
+	 * Save a model using the passed path
+	 *
+	 * @param path
+	 *            A string representation of the path. It will be converted into a URI
+	 */
+	public void saveModel(String path) {
+
+		try {
+			URI uri = URI.createURI(path);
+
+			ResourceSetImpl resourceSet = new ResourceSetImpl();
+			resourceSet.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE);
+
+			resource.setURI(uri);
+			EList<EObject> contents = resource.getContents();
+
+			for (Iterator<EObject> allContents = UML2Util.getAllContents(model, true, false); allContents.hasNext();) {
+				EObject eObject = allContents.next();
+
+				if (eObject instanceof Element) {
+					contents.addAll(((Element) eObject).getStereotypeApplications());
+				}
+			}
+			resource.save(null);
+		} catch (IOException e) {
+			Activator.log.error(e);
+		}
+	}
+
+	/**
+	 * Return a path based on project, folder and file name
+	 *
+	 * @param project
+	 *            an existing project
+	 * @param subFolder
+	 *            a subfolder within the project (will be created, if it does not exist)
+	 *            if null, the project will be saved in the root of the project
+	 * @param filename
+	 *            the name of the file or null (in his case, the name of the
+	 *            model with the postfix .uml is used)
+	 *
+	 * @return The access path to a file
+	 */
+	public String getPath(IProject project, String subFolder, String filename) {
+		IFile file;
+		if (filename == null) {
+			filename = model.getName() + ".uml"; //$NON-NLS-1$
+		}
+		if (subFolder != null) {
+			IFolder ifolder = project.getFolder(subFolder);
+			if (!ifolder.exists()) {
+				try {
+					ifolder.create(false, true, null);
+				} catch (CoreException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+			}
+			file = ifolder.getFile(filename);
+		} else {
+			file = project.getFile(filename);
+		}
+		return file.getFullPath().toString();
+	}
+
+	/**
+	 * Create a new empty model from an existing model that applies the same
+	 * profiles and has the same imports
+	 *
+	 * @param existingModel
+	 *            an existing model
+	 * @param name
+	 *            the name of the new model
+	 * @param copyImports
+	 *            true, if (top-level) package import should be copied from the existing into the new model
+	 * @return the model-management instance for the new model (use getModel() to obtain the actual model)
+	 * @throws TransformationException
+	 */
+	public static ModelManagement createNewModel(Package existingModel, String name, boolean copyImports) throws TransformationException {
+		ModelManagement mm = new ModelManagement();
+		Package newModel = mm.getModel();
+		newModel.setName(name);
+		StUtils.copyProfileApplications(existingModel, newModel);
+		StUtils.copyStereotypes(existingModel, newModel);
+		
+		// copy imports (and load the associated resources).
+		// While this is useful in general, it implies that code for imported models
+		// has been generated and compiled (for the right target) into a
+		// library. This may be quite tedious, unless automatically managed.
+		// Therefore we do not activate this option in a first pass of the model
+		// transformations.
+		if (copyImports) {
+			for (Package importedPackage : existingModel.getImportedPackages()) {
+				if (importedPackage == null) {
+					throw new TransformationException(Messages.InstantiateDepPlan_CheckInputImportPkg);
+				}
+				if (importedPackage.eResource() == null) {
+					String errorMsg = Messages.InstantiateDepPlan_CheckInputImportPkgNoRes;
+					if (importedPackage instanceof MinimalEObjectImpl.Container) {
+						URI uri = ((MinimalEObjectImpl.Container) importedPackage).eProxyURI();
+						if (uri != null) {
+							errorMsg += " - URI: " + uri.devicePath(); //$NON-NLS-1$
+						}
+					}
+					throw new TransformationException(errorMsg);
+				}
+				newModel.createPackageImport(importedPackage);
+				UIContext.monitor.subTask(String.format(Messages.InstantiateDepPlan_InfoImportPackage, importedPackage.getName()));
+
+				try {
+					importedPackage.eResource().load(null);
+					newModel.getMember("dummy"); // force loading of model //$NON-NLS-1$
+				} catch (IOException e) {
+					throw new TransformationException(e.getMessage());
+				}
+			}
+		}
+
+		return mm;
+	}
+	
+	/**
+	 * return the used resource set (a singleton)
+	 */
+	public static ResourceSet getResourceSet() {
+		if (resourceSet == null) {
+			resourceSet = new ResourceSetImpl();
+		}
+		return resourceSet;
+	}
+
+	private static ResourceSet resourceSet = null;
+
+	private Package model;
+
+	private Resource resource;
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/OperationUtils.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/OperationUtils.java
new file mode 100644
index 0000000..618d487
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/OperationUtils.java
@@ -0,0 +1,281 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.base.utils;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterDirectionKind;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.Type;
+
+public class OperationUtils {
+
+	/**
+	 * Search an identical operation within a class.
+	 * This function is useful to identify (and synchronize) operations.
+	 *
+	 * @param op
+	 *            The operation that should be compared.
+	 * @param owner
+	 * @return
+	 */
+	public static Operation getSameOperation(Operation op, Class owner) {
+		for (Operation ownedOp : owner.getOwnedOperations()) {
+			if (isSameOperation(op, ownedOp)) {
+				return ownedOp;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns true, if two operations are identical.
+	 * An operation is considered identical, if the operation name as well as all
+	 * parameter names and types are equal. Type equality is checked via names only, to
+	 * avoid that identical types within a source and a copy model would yield false.
+	 *
+	 * @param op1
+	 *            first operation
+	 * @param op2
+	 *            second operation
+	 * @return true, if operations are identical
+	 */
+	public static boolean isSameOperation(Operation op1, Operation op2) {
+		return isSameOperation(op1, op2, true);
+	}
+
+	/**
+	 * Check whether a certain stereotype is applied to an arbitrary operation of a classifier.
+	 * This is for instance useful to verify whether a class has a constructor or destructor
+	 * 
+	 * @param cl
+	 *            A classifier to verify
+	 * @param stereotype
+	 *            The stereotype that may be applied to one of its operations
+	 * @return true, if the passed stereotype is applied to one of the operations
+	 */
+	public static boolean isOperationStereotypeApplied(Classifier cl, java.lang.Class<? extends EObject> stereotype) {
+		for (Operation op : cl.getOperations()) {
+			if (StereotypeUtil.isApplied(op, stereotype)) {
+				return true;
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * Returns true, if two operations are identical with optional name check.
+	 * An operation is considered identical, if the operation name (optional) as well as all
+	 * parameter names and types are equal. Type equality is checked via names only, to
+	 * avoid that identical types within a source and a copy model would yield false.
+	 *
+	 * @param op1
+	 *            first operation
+	 * @param op2
+	 *            second operation
+	 * @param checkName
+	 *            if true, require that operation names are identical
+	 * @return true, if operations are identical
+	 */
+	public static boolean isSameOperation(Operation op1, Operation op2, boolean checkName) {
+
+		if (checkName) {
+			String op1Name = op1.getName();
+			String op2Name = op2.getName();
+			// one of the names might be null
+			if (op1Name == null) {
+				if (op2Name != null) {
+					return false;
+				}
+			} else if (!op1Name.equals(op2Name)) {
+				return false;
+			}
+		}
+		Iterator<Parameter> parameters1 = op1.getOwnedParameters().iterator();
+		Iterator<Parameter> parameters2 = op2.getOwnedParameters().iterator();
+		while (parameters1.hasNext() && parameters2.hasNext()) {
+			Parameter parameter1 = parameters1.next();
+			Parameter parameter2 = parameters2.next();
+			String par1Name = parameter1.getName();
+			Type par1Type = parameter1.getType();
+			String par2Name = parameter2.getName();
+			Type par2Type = parameter2.getType();
+
+			// one of the names might be null
+			if (par1Name == null) {
+				if (par2Name != null) {
+					return false;
+				}
+			} else if (!par1Name.equals(par2Name)) {
+				return false;
+			}
+			if ((par1Type != null) && (par2Type != null)) {
+				// the names might be null. Return false, if only one of these is set
+				if (par1Type.getName() == null) {
+					if (par2Type.getName() != null) {
+						return false;
+					}
+				} else if (!par1Type.getName().equals(par2Type.getName())) {
+					return false;
+				}
+			} else if (par1Type != par2Type) {
+				// at least one of the two must be null due to earlier check
+				// return false, if they are different, i.e. not both null
+				return false;
+			}
+			if ((parameter1.getUpper() != parameter2.getUpper()) || (parameter1.getLower() != parameter2.getLower())) {
+				return false;
+			}
+			if (parameter1.getStereotypeApplications().size() != parameter2.getStereotypeApplications().size()) {
+				return false;
+			}
+			Iterator<Stereotype> par2StereoIter = parameter2.getAppliedStereotypes().iterator();
+			for (Stereotype par1Stereo : parameter1.getAppliedStereotypes()) {
+				// don't need to check whether iterator has next, since size has already been compared.
+				Stereotype par2Stereo = par2StereoIter.next();
+				if (par1Stereo != par2Stereo) {
+					return false;
+				}
+			}
+		}
+		// true, if operations have same number of parameters
+		return (parameters1.hasNext() == parameters2.hasNext());
+	}
+
+
+	/**
+	 * synchronize source and target operation
+	 * (remove all parameters, copy afterwards)
+	 *
+	 * @param sourceOp
+	 *            the source operation
+	 * @param targetOp
+	 *            the target operation
+	 * @param newRoot
+	 *            a new root package (e.g. another model). Ensure that types referenced by the
+	 *            parameter exist within this root package (copy, if not). Null indicates that no copying
+	 *            should be done.
+	 * @return
+	 */
+	public static void syncOperation(Operation sourceOp, Operation targetOp) {
+		if (targetOp != null) {
+			CopyUtils.copyFeatureModifiers(sourceOp, targetOp);
+			// ordered and unique are derived from ret-parameter
+			targetOp.setIsQuery(sourceOp.isQuery());
+			targetOp.setIsAbstract(sourceOp.isAbstract());
+			targetOp.setName(sourceOp.getName());
+			targetOp.getOwnedParameters().clear();
+			for (Parameter parameter : sourceOp.getOwnedParameters()) {
+				Type type = parameter.getType();
+				Parameter newParameter = targetOp.createOwnedParameter(parameter.getLabel(), type);
+				newParameter.setDirection(parameter.getDirection());
+				CopyUtils.copyMultElemModifiers(parameter, newParameter);
+				StUtils.copyStereotypes(parameter, newParameter);
+			}
+		}
+		StUtils.copyStereotypes(sourceOp, targetOp);
+	}
+
+	/**
+	 * Convenience method enabling to apply getOwnedOperation equally to classes
+	 * and interfaces
+	 *
+	 * @param cl
+	 * @param name
+	 * @param paramNames
+	 * @param paramTypes
+	 * @return
+	 */
+	public static Operation createOwnedOperation(Classifier cl, String name, EList<String> paramNames, EList<Type> paramTypes, Type retType) {
+		if (cl instanceof Class) {
+			return ((Class) cl).createOwnedOperation(name, paramNames, paramTypes, retType);
+		} else if (cl instanceof Interface) {
+			return ((Interface) cl).createOwnedOperation(name, paramNames, paramTypes, retType);
+		} else {
+			return null;
+		}
+	}
+
+	/**
+	 * @param operation
+	 * @return all in and inout parameters of an operation
+	 */
+	public static EList<Parameter> parametersInInout(Operation operation) {
+		EList<Parameter> list = new BasicEList<Parameter>();
+		for (Parameter parameter : operation.getOwnedParameters()) {
+			if ((parameter.getDirection().getValue() == ParameterDirectionKind.IN) || (parameter.getDirection().getValue() == ParameterDirectionKind.INOUT)) {
+				list.add(parameter);
+			}
+		}
+		return list;
+	}
+
+	/**
+	 * @param operation
+	 *            an operation
+	 * @return all non-return parameters of the passed operation
+	 */
+	public static EList<Parameter> parametersNonRet(Operation operation) {
+		EList<Parameter> list = new BasicEList<Parameter>();
+		for (Parameter parameter : operation.getOwnedParameters()) {
+			if (parameter.getDirection().getValue() != ParameterDirectionKind.RETURN) {
+				list.add(parameter);
+			}
+		}
+		return list;
+	}
+
+	/**
+	 * @param operation
+	 *            an operation
+	 * @return all out, inout and return parameters of the passed operation
+	 */
+	public static EList<Parameter> parametersOutInout(Operation operation) {
+		EList<Parameter> list = new BasicEList<Parameter>();
+		for (Parameter parameter : operation.getOwnedParameters()) {
+			if ((parameter.getDirection().getValue() == ParameterDirectionKind.OUT) || (parameter.getDirection().getValue() == ParameterDirectionKind.RETURN) || (parameter.getDirection().getValue() == ParameterDirectionKind.INOUT)) {
+				list.add(parameter);
+			}
+		}
+		return list;
+	}
+
+	/**
+	 * Return the name of a parameter with a specific handling of return parameters:
+	 * Always return the name "retValue" in case of the latter. This is quite useful for
+	 * marshalling operations (which need to assign a value to the return parameter, which
+	 * is sometimes not initialized)
+	 *
+	 * @param parameter
+	 *            a UML parameter
+	 * @return the parameter name or retValue in case of a return parameter
+	 */
+	public static String paramName(Parameter parameter) {
+		if (parameter.getDirection().getValue() == ParameterDirectionKind.RETURN) {
+			return "retValue"; //$NON-NLS-1$
+		} else {
+			return parameter.getName();
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/ProjectManagement.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/ProjectManagement.java
new file mode 100644
index 0000000..48d16af
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/ProjectManagement.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.base.utils;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.PlatformUI;
+
+// TODO: mixture of model and Eclipse project management. Move parts depending on CDT into
+// a separate plugin
+
+public class ProjectManagement {
+
+	/**
+	 * Retrieve current project from active editor
+	 *
+	 * @return
+	 */
+	public static IProject getCurrentProject() {
+		IEditorPart editorPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
+		// Maybe null, if opened via model explorer
+		if (editorPart == null) {
+			return null;
+		}
+		IEditorInput editorInput = editorPart.getEditorInput();
+		if (editorInput instanceof IFileEditorInput) {
+			return ((IFileEditorInput) editorInput).getFile().getProject();
+		}
+		return null;
+	}
+
+	public static IProject getNamedProject(String projectName) {
+		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+		if (root != null) {
+			return root.getProject(projectName);
+		}
+		return null;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/RealizationUtils.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/RealizationUtils.java
new file mode 100644
index 0000000..70b594a
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/RealizationUtils.java
@@ -0,0 +1,74 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.base.utils;
+
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.InterfaceRealization;
+
+public class RealizationUtils {
+	
+	public static final String REALIZATION_OF = "realization of "; //$NON-NLS-1$
+
+	/**
+	 * Add an interface realization relationship from an implementation (Class) towards an interface
+	 *
+	 * @param implementation
+	 *            A class
+	 * @param intf
+	 *            The interface it should realize
+	 */
+	public static void addRealization(final Class implementation, final Interface intf) {
+		if (!hasRealization(implementation, intf)) {
+			InterfaceRealization ir =
+					implementation.createInterfaceRealization(calcRealizationName(intf), intf);
+			ir.getClients().add(implementation);
+			ir.getSuppliers().add(intf);
+		}
+	}
+
+	/**
+	 * check, whether a realization relationship to a given interface exists
+	 *
+	 * @param implementation
+	 *            A class
+	 * @param intf
+	 *            The interface it should realize
+	 * @return true, if the class has an (interface) realization relationship to the passed interface
+	 */
+	public static boolean hasRealization(Class implementation, Interface intf) {
+		return implementation.getInterfaceRealization(null, intf) != null;
+	}
+
+	/**
+	 * Calculate the name of an interface realization to an interface
+	 *
+	 * @param intf
+	 *            an interface
+	 * @return the calculated name for the realization relationship
+	 */
+	public static String calcRealizationName(Interface intf) {
+		String name = intf.getName();
+		if (name == null) {
+			name = "undefined"; //$NON-NLS-1$
+		}
+		return REALIZATION_OF + name;
+	}
+
+	public static void addUsage(Class portType, Interface usedInterface) {
+		if (!portType.getUsedInterfaces().contains(usedInterface)) {
+			portType.createUsage(usedInterface);
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/RunnableWithResult.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/RunnableWithResult.java
new file mode 100644
index 0000000..6d8d668
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/RunnableWithResult.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+* Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.base.utils;
+
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+
+public interface RunnableWithResult {
+
+	/**
+	 * Execute a command
+	 *
+	 * @return CommandResult.newOKCommandResult() if successful
+	 *         CommandResult.newErrorCommandResult(..) or
+	 *         CommandReuslt.newCancelCommandResult(..) otherwise
+	 */
+	public CommandResult run();
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/StUtils.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/StUtils.java
new file mode 100644
index 0000000..9391196
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/StUtils.java
@@ -0,0 +1,170 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.base.utils;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.papyrus.designer.transformation.base.Activator;
+import org.eclipse.papyrus.designer.transformation.base.Messages;
+import org.eclipse.papyrus.designer.transformation.base.UIContext;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Stereotype;
+
+/**
+ * Some functions around stereotype usage.
+ *
+ * @author ansgar
+ *
+ */
+public class StUtils {
+
+	/**
+	 * Copy the stereotype application from a source to a destination element. The
+	 * function will also copy the stereotype attributes.
+	 *
+	 * @param source
+	 * @param destination
+	 * @return
+	 */
+	public static void copyStereotypes(Element source, Element destination) {
+		for (Stereotype stereotype : source.getAppliedStereotypes()) {
+			copyAttributes(stereotype.getQualifiedName(), source, destination);
+		}
+	}
+
+	/**
+	 * copy stereotype attributes.
+	 *
+	 * TODO: verify if it is necessary to distinguish between stereoSource and stereoDest
+	 * (they should be identical, if the resource sets are).
+	 * => simplify code
+	 *
+	 * @param stereotypeName
+	 * @param source
+	 * @param destination
+	 * @return
+	 */
+	@SuppressWarnings({ "unchecked" })
+	public static boolean copyAttributes(String stereotypeName, Element source, Element destination) {
+		Stereotype stereoSource = source.getAppliedStereotype(stereotypeName);
+		Stereotype stereoDest = destination.getApplicableStereotype(stereotypeName);
+
+		if ((stereoSource == null) || (stereoDest == null)) {
+			return false;
+		}
+		Stereotype alreadyApplied = destination.getAppliedStereotype(stereotypeName);
+		if (alreadyApplied == null) {
+			// only apply stereotype, if not already applied
+			destination.applyStereotype(stereoDest);
+		}
+
+		// getAllAttributes? (but have to avoid attribute base_Class which resets stereotype application)
+		for (Property attribute : stereoSource.getAllAttributes()) {
+			String attrName = attribute.getName();
+
+			if (attrName.length() >= 5) {
+				// do not copy base_ stereotypes (base_class, base_package and base_PackageImport)
+				if (attrName.startsWith(Extension.METACLASS_ROLE_PREFIX)) {
+					continue;
+				}
+			}
+			// do not copy derived attributes
+			if (attribute.isDerived()) {
+				continue;
+			}
+
+			Object value = source.getValue(stereoSource, attrName);
+			if (value instanceof EList) {
+				// copy list
+				EList<Object> newList = new BasicEList<Object>();
+				for (Object valueEl : (EList<Object>) value) {
+					newList.add(valueEl);
+				}
+				if (newList.size() > 0) {
+					destination.setValue(stereoDest, attrName, newList);
+				}
+			}
+			else {
+				destination.setValue(stereoDest, attrName, value);
+			}
+		}
+		return true;
+	}
+
+	/**
+	 * Copy the profile applications from one model to another
+	 * @param sourceModel the existing model
+	 * @param targetModel the target model
+	 * @throws TransformationException
+	 */
+	public static void copyProfileApplications(Package sourceModel, Package targetModel) throws TransformationException {
+		try {
+			// copy profile application
+			for (Profile profile : sourceModel.getAppliedProfiles()) {
+				// reload profile in resource of new model
+				UIContext.monitor.subTask(Messages.InstantiateDepPlan_InfoApplyProfile + profile.getQualifiedName());
+
+				if (profile.eResource() == null) {
+					String profileName = profile.getQualifiedName();
+					if (profileName == null) {
+						if (profile instanceof MinimalEObjectImpl.Container) {
+							URI uri = ((MinimalEObjectImpl.Container) profile).eProxyURI();
+							if (uri != null) {
+								throw new TransformationException(String.format(Messages.InstantiateDepPlan_CheckInputModelProfileNoRes, uri));
+							}
+						}
+						throw new TransformationException(Messages.InstantiateDepPlan_CheckInputModelProfileNoResNoName);
+					}
+					throw new TransformationException(String.format(Messages.InstantiateDepPlan_CheckInputModelProfile3, profileName));
+				}
+
+				Resource profileResource = null;
+				try {
+					profileResource = ModelManagement.getResourceSet().getResource(profile.eResource().getURI(), true);
+				} catch (WrappedException e) {
+					// read 2nd time (some diagnostic errors are raised only
+					// once)
+					Activator.log.warn("Warning: exception in profile.eResource() " + e.getMessage()); //$NON-NLS-1$
+					profileResource = ModelManagement.getResourceSet().getResource(profile.eResource().getURI(), true);
+				}
+				if (profileResource.getContents().size() == 0) {
+					throw new TransformationException(String.format("Cannot copy profile with URI %s. Check whether the URI corresponds to an existing location", profileResource.getURI()));
+				}
+				Profile newProfileTop = (Profile) profileResource.getContents().get(0);
+				Profile newProfile;
+				String qname = profile.getQualifiedName();
+				if ((qname != null) && qname.contains("::")) { //$NON-NLS-1$
+					// profile is a sub-profile within same resource
+					newProfile = (Profile) ElementUtils.getQualifiedElement(newProfileTop, qname);
+				} else {
+					newProfile = newProfileTop;
+				}
+				newProfile.getMember("dummy"); // force profile loading //$NON-NLS-1$
+				targetModel.applyProfile(newProfile);
+			}
+		} catch (IllegalArgumentException e) {
+			throw new TransformationException(Messages.InstantiateDepPlan_IllegalArgumentDuringCopy + e.toString());
+		}
+	}
+
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/Stereotypes.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/Stereotypes.java
new file mode 100644
index 0000000..facf5db
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/Stereotypes.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.base.utils;
+
+/**
+ * Specific stereotypes. This file should not be used any more
+ */
+@Deprecated
+public class Stereotypes {
+
+	// FT stereotypes
+	public final static String activeWithVoting = "FTRedundancy::FTActiveWithVotingReplicationStyle"; //$NON-NLS-1$
+
+	public final static String replicationInfo = "DP::Replication"; //$NON-NLS-1$
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/StringConstants.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/StringConstants.java
new file mode 100644
index 0000000..f72948b
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/StringConstants.java
@@ -0,0 +1,20 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.base.utils;
+
+public class StringConstants {
+
+	public static final String QUOTE = "\""; //$NON-NLS-1$
+	public static final String UNDERSCORE = "_"; //$NON-NLS-1$
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/TransformationException.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/TransformationException.java
new file mode 100644
index 0000000..b393822
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/TransformationException.java
@@ -0,0 +1,28 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.base.utils;
+
+/**
+ * Main exception class that is used to represent errors during model transformations
+ */
+public class TransformationException extends Exception {
+
+	public TransformationException(String reason) {
+		super(reason);
+	}
+
+	// String m_reason;
+	final static long serialVersionUID = 1234;
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/TransformationRTException.java b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/TransformationRTException.java
new file mode 100644
index 0000000..368a441
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.base/src/org/eclipse/papyrus/designer/transformation/base/utils/TransformationRTException.java
@@ -0,0 +1,33 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.base.utils;
+
+/**
+ * Variant of the transformation exception that extends RuntimeException. This
+ * is sometimes useful, since it avoids to declare exceptions specifically
+ *
+ */
+public class TransformationRTException extends RuntimeException {
+
+	public TransformationRTException(String reason) {
+		super(reason);
+	}
+
+	/**
+	 *
+	 */
+	private static final long serialVersionUID = 1235L;
+
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.classpath b/transformation/org.eclipse.papyrus.designer.transformation.core/.classpath
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.classpath
copy to transformation/org.eclipse.papyrus.designer.transformation.core/.classpath
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/.project b/transformation/org.eclipse.papyrus.designer.transformation.core/.project
new file mode 100644
index 0000000..2de5b92
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.transformation.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/transformation/org.eclipse.papyrus.designer.transformation.core/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to transformation/org.eclipse.papyrus.designer.transformation.core/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.jdt.core.prefs b/transformation/org.eclipse.papyrus.designer.transformation.core/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.jdt.core.prefs
copy to transformation/org.eclipse.papyrus.designer.transformation.core/.settings/org.eclipse.jdt.core.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/transformation/org.eclipse.papyrus.designer.transformation.core/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to transformation/org.eclipse.papyrus.designer.transformation.core/.settings/org.eclipse.m2e.core.prefs
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/META-INF/MANIFEST.MF b/transformation/org.eclipse.papyrus.designer.transformation.core/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..6305845
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/META-INF/MANIFEST.MF
@@ -0,0 +1,47 @@
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.designer.transformation.core,
+ org.eclipse.papyrus.designer.transformation.core.commands,
+ org.eclipse.papyrus.designer.transformation.core.copylisteners,
+ org.eclipse.papyrus.designer.transformation.core.generate,
+ org.eclipse.papyrus.designer.transformation.core.m2minterfaces,
+ org.eclipse.papyrus.designer.transformation.core.sync,
+ org.eclipse.papyrus.designer.transformation.core.templates,
+ org.eclipse.papyrus.designer.transformation.core.transformations,
+ org.eclipse.papyrus.designer.transformation.core.transformations.filters
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore,
+ org.eclipse.uml2.uml,
+ org.eclipse.ui.ide,
+ org.eclipse.core.resources,
+ org.eclipse.papyrus.designer.transformation.vsl;bundle-version="0.7.0",
+ org.eclipse.papyrus.uml.modelexplorer.widgets;bundle-version="1.2.0",
+ org.eclipse.papyrus.uml.tools;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.languages.cpp.profile;bundle-version="0.7.0",
+ org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
+ org.eclipse.gmf.runtime.common.core;bundle-version="1.7.0",
+ org.eclipse.gmf.runtime.emf.commands.core;bundle-version="1.4.0",
+ org.eclipse.papyrus.infra.widgets;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.emf;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.services.labelprovider;bundle-version="1.2.0",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
+ org.eclipse.ui,
+ org.eclipse.papyrus.designer.languages.common.extensionpoints;bundle-version="0.7.0",
+ org.eclipse.uml2.uml.profile.standard;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.ui;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.languages.common.profile;bundle-version="0.7.1",
+ org.eclipse.papyrus.designer.transformation.profile;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.transformation.base;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.deployment.profile;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.deployment.tools;bundle-version="0.7.5",
+ org.eclipse.papyrus.designer.transformation.extensions;bundle-version="0.7.3"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 0.7.5.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.designer.transformation.core.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.designer.transformation.core;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/about.html b/transformation/org.eclipse.papyrus.designer.transformation.core/about.html
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/about.html
copy to transformation/org.eclipse.papyrus.designer.transformation.core/about.html
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/about.properties b/transformation/org.eclipse.papyrus.designer.transformation.core/about.properties
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/about.properties
copy to transformation/org.eclipse.papyrus.designer.transformation.core/about.properties
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/build.properties b/transformation/org.eclipse.papyrus.designer.transformation.core/build.properties
new file mode 100644
index 0000000..401a597
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               about.properties,\
+               about.html,\
+               plugin.properties
+customBuildCallbacks = build.acceleo
+src.includes = about.html
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/plugin.properties b/transformation/org.eclipse.papyrus.designer.transformation.core/plugin.properties
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/plugin.properties
copy to transformation/org.eclipse.papyrus.designer.transformation.core/plugin.properties
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/pom.xml b/transformation/org.eclipse.papyrus.designer.transformation.core/pom.xml
new file mode 100644
index 0000000..ef902d5
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/pom.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.designer</groupId>
+		<artifactId>org.eclipse.papyrus.designer.transformation</artifactId>
+		<version>0.7.5-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.designer.transformation.core</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This module contains the core functions required for the model-2-model transformation</description>
+</project>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/Activator.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/Activator.java
new file mode 100644
index 0000000..35e763e
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/Activator.java
@@ -0,0 +1,73 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.core;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.designer.transformation.core"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+
+	public static LogHelper log;
+
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+
+		// register the login helper
+		log = new LogHelper(plugin);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/EnumService.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/EnumService.java
new file mode 100644
index 0000000..6118ba2
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/EnumService.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.CppInit;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.designer.transformation.core.transformations.TransformationContext;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * Manage enumerations within Acceleo code
+ */
+public class EnumService {
+
+	private static final String GLOBALENUMS = "globalenums"; //$NON-NLS-1$
+
+	public static void init() {
+		enumHash.clear();
+	}
+
+	/**
+	 * Return qualified name of enum package which is used to prefix enumerations (namespace)
+	 *
+	 * @param dummy
+	 * @return
+	 */
+	public static String enumSvcPrefix() {
+		return enumPkg.getQualifiedName();
+	}
+
+	public static String quoteLiteral(Element dummy, String enumName, String literal) {
+		return ElementUtils.quoteString(literal(enumName, literal));
+	}
+
+	/**
+	 * Create a literal within an enumeration. Both, the literal and the enumeration may be an
+	 * Acceleo template. If the name of the enumeration starts with "L", it is considered as a
+	 * local enumeration, i.e. a nested classifier within the classifier (it has to be a class)
+	 * from the transformation context.
+	 *
+	 * @param enumName
+	 *            the name of an enumeration
+	 * @param literal
+	 *            the name of a literal within that enumeration.
+	 * @return
+	 */
+	public static String literal(String enumName, String literal) {
+		return literal(enumName, literal, -1);
+	}
+	
+	/**
+	 * Create a literal within an enumeration. Both, the literal and the enumeration may be an
+	 * xtend template. If the name of the enumeration starts with "L", it is considered as a
+	 * local enumeration, i.e. a nested classifier within the classifier (it has to be a class)
+	 * from the transformation context.
+	 *
+	 * @param enumName
+	 *            the name of an enumeration
+	 * @param literal
+	 *            the name of a literal within that enumeration.
+	 * @return
+	 */
+	public static String literal(String enumName, String literal, int initialValue) {
+		Enumeration enumeration;
+		boolean first = false;
+		if (enumName.startsWith("L")) { //$NON-NLS-1$
+			// magic prefix for class local (only allowed for local classes)
+			if (TransformationContext.current.classifier instanceof Class) {
+				Class clazz = (Class) TransformationContext.current.classifier;
+				enumeration = (Enumeration) clazz.getNestedClassifier(enumName);
+				if (enumeration == null) {
+					enumeration = (Enumeration) clazz.createNestedClassifier(enumName, UMLPackage.eINSTANCE.getEnumeration());
+				}
+			}
+			else {
+				throw new RuntimeException("Local enumeration " + enumName + " is not used in the transformation context of a class");
+			}
+		}
+		else {
+			enumeration = enumHash.get(enumName);
+			if (enumPkg == null) {
+				// enumeration can not be created
+				throw new RuntimeException("global enumeration " + enumName + " can not be created, since the enumPkg (from Transformation context) is not initialized");
+			}
+			if (enumeration == null) {
+				enumeration = enumPkg.createOwnedEnumeration(enumName);
+				enumHash.put(enumName, enumeration);
+				first = true;
+			}
+		}
+		if (enumeration.getOwnedLiteral(literal) == null) {
+			EnumerationLiteral umlLiteral = enumeration.createOwnedLiteral(literal);
+			if (first && initialValue != -1) {
+				CppInit cppInit = StereotypeUtil.applyApp(umlLiteral, CppInit.class);
+				cppInit.setValue(initialValue);
+			}
+		}
+		// declare a dependency to the enumeration from the current classifier
+		checkAndCreateDependency(TransformationContext.current.classifier, enumeration);
+
+		if (enumName.startsWith("L")) { //$NON-NLS-1$
+			return literal;
+		}
+		else {
+			return GLOBALENUMS + "::" + literal; //$NON-NLS-1$
+		}
+	}
+
+	/**
+	 * Create a dependency between the passed classifier, target pair. The objective
+	 * of this function is that code generators do the necessary to assure that the
+	 * target is known within the classifier (e.g. include directives)
+	 *
+	 * @param classifier
+	 *            a classifier
+	 * @param target
+	 *            a target, on which the classifier or its code depends.
+	 */
+	public static void checkAndCreateDependency(Classifier classifier, NamedElement target) {
+		boolean found = false;
+		for (Dependency dep : classifier.getClientDependencies()) {
+			if (dep.getSuppliers().contains(target)) {
+				found = true;
+			}
+		}
+		if (!found) {
+			Dependency dep = classifier.createDependency(target);
+			dep.setName(String.format("from %s to %s", classifier.getName(), target.getName())); //$NON-NLS-1$
+		}
+	}
+
+	public static void createEnumPackage(Package root) {
+		init();
+		enumPkg = root.createNestedPackage(GLOBALENUMS);
+	}
+
+	public static Package enumPkg;
+
+	public static void createEnums() {
+
+	}
+
+	private static Map<String, Enumeration> enumHash = new HashMap<String, Enumeration>();
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/Messages.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/Messages.java
new file mode 100644
index 0000000..200d2da
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/Messages.java
@@ -0,0 +1,145 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.core;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.eclipse.papyrus.designer.transformation.core.messages"; //$NON-NLS-1$
+
+	public static String BootLoaderGen_AtLeastOneBlockingCall;
+
+	public static String BootLoaderGen_CannotApplyCppInclude;
+
+	public static String BootLoaderGen_CannotRetrieveTemplate;
+
+	public static String CommandSupport_NoEditingDomain;
+	public static String CommandSupport_ErrorDuringCmdExec;
+	public static String ConfigUtils_RuleWithoutBaseClass;
+	public static String DepCreation_SingletonExistsAlready;
+
+	public static String DepCreation_CannotFindImplementation;
+
+	public static String DepCreation_CircularReference;
+
+	public static String DepCreation_DefiningFeatureNull;
+
+	public static String DepCreation_FCMconnectorWithoutBaseClass;
+
+	public static String DepCreation_InfoCreateDepPlan;
+
+	public static String DepCreation_TypeInAttributeUndefined;
+
+	public static String Deploy_0;
+
+	public static String DeployToNodes_CouldNotCreateProject;
+
+	public static String Description_NoAvail;
+
+	public static String LWContainerTrafo_CannotApplyRule;
+	
+	public static String ConnectorBinding_CannotFindBinding;
+	public static String ConnectorBinding_CannotFindBindingForPort;
+	public static String ConnectorBinding_CannotFindConsistentBinding;
+	public static String ConnectorBinding_ConnectorsPort;
+	public static String ConnectorBinding_FormalAlreadyBound;
+	public static String ConnectorBinding_InfoActualReturnIntfIs;
+	public static String ConnectorBinding_InfoConnPortConnectedVia;
+	public static String ConnectorBinding_InfoConnectsPort;
+	public static String ConnectorBinding_InfoCreateBoundPackage;
+
+	public static String ConnectorBinding_InfoMatchOtherEnd;
+
+	public static String ConnectorBinding_InfoProvidedPortTypeMatches;
+	public static String ConnectorBinding_NoTemplateSignature;
+
+	public static String ConnectorReification_CannotFindMatchingPort;
+	public static String ConnectorReification_CouldNotBind;
+	public static String ConnectorReification_CouldNotConnectPort;
+	public static String ConnectorReification_CouldNotConnectPortOfType;
+	public static String ConnectorReification_InfoAddConnectorPart;
+	public static String ConnectorReification_InfoPortTypes;
+	public static String ConnectorReification_RequiresUseOfPorts;
+	public static String ConnectorReification_TemplateTypeNotClass;
+
+	public static String GenerateCode_CouldNotDeleteOldCode;
+	public static String GenerateCode_GeneratingCodeForNode;
+	public static String GenerateCode_GeneratingCode;
+
+	public static String TemplateUtils_InfoCreateBoundPackage;
+	public static String TemplateUtils_InfoGetActualFrom;
+	public static String TemplateUtils_NoTemplateSignature;
+
+	public static String TemplateInstantiation_TemplateIsNull;
+	public static String TemplateInstantiationListener_TrafoException;
+
+	public static String CompImplTrafos_CannotFindType;
+	public static String CompImplTrafos_IntfNotImplemented;
+	public static String CompTypeTrafos_CannotFindType;
+
+	public static String ContainerTrafo_CannotApplyRule;
+	public static String ContainerTrafo_CannotFindDelegationConn;
+	public static String ContainerTrafo_InterceptionRuleButNoInterceptor;
+
+	public static String ContainerTrafo_RecursiveLWnotSupported;
+
+	public static String InstanceConfigurator_InvalidPluginExtension;
+
+	public static String InstantiateDepPlan_AcceleoErrors;
+	public static String InstantiateDepPlan_AcceleoErrorsCheckLog;
+	public static String InstantiateDepPlan_CannotGenModel;
+	public static String InstantiateDepPlan_CheckInputImportPkg;
+	public static String InstantiateDepPlan_CheckInputImportPkgNoRes;
+	public static String InstantiateDepPlan_CheckInputModelProfile3;
+	public static String InstantiateDepPlan_CheckInputModelProfileNoRes;
+	public static String InstantiateDepPlan_CheckInputModelProfileNoResNoName;
+	public static String InstantiateDepPlan_ConsultConsole;
+	public static String InstantiateDepPlan_DepPlanStereotypeNotInitialized;
+	public static String InstantiateDepPlan_ErrorsDuringTransformation;
+	public static String InstantiateDepPlan_IllegalArgumentDuringCopy;
+	public static String InstantiateDepPlan_InfoApplyProfile;
+	public static String InstantiateDepPlan_InfoDeployingForNode;
+	public static String InstantiateDepPlan_InfoExpandingConnectors;
+	public static String InstantiateDepPlan_InfoGeneratingModel;
+	public static String InstantiateDepPlan_InfoImportPackage;
+	public static String InstantiateDepPlan_InfoNoneAllocated;
+	public static String InstantiateDepPlan_TransformationException;
+
+	public static String MainModelTrafo_ChangePartType;
+	public static String MainModelTrafo_NoDefiningFeature;
+	public static String MainModelTrafo_NoInstanceAssociated;
+
+	public static String MainModelTrafo_NoTypeDefinedFor;
+
+	public static String CompImplSync_InfoSyncIntf;
+	public static String CompImplSync_InfoSyncViaImpl;
+	public static String CompImplSync_InfoSyncViaType;
+
+	public static String DepPlanUtils_CannotFindAttribute;
+	public static String DepPlanUtils_ConfigOfPropertyFailed;
+
+	public static String UpdateUtils_CannotApplyFCMstereo;
+
+	public static String TextTemplateBinding_TemplateNotFound;
+
+	public static String TextTemplateBinding_TemplateResultIsNotAString;
+
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/commands/AddMarteAndFcmProfile.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/commands/AddMarteAndFcmProfile.java
new file mode 100644
index 0000000..744e85d
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/commands/AddMarteAndFcmProfile.java
@@ -0,0 +1,148 @@
+/*******************************************************************************
+ * Copyright (c) 2011 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     CEA LIST - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.papyrus.designer.transformation.core.commands;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.workspace.AbstractEMFOperation;
+import org.eclipse.papyrus.designer.transformation.core.Activator;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Profile;
+
+/**
+ * This class adds the FCM profile, parts of the MARTE profile and required package imports to your model.
+ */
+public class AddMarteAndFcmProfile extends AbstractEMFOperation {
+
+	public AddMarteAndFcmProfile(Package selectedPkg, int applyCode, TransactionalEditingDomain domain) {
+		super(domain, CMD_LABEL);
+		this.selectedPkg = selectedPkg;
+		this.applyCode = applyCode;
+	}
+
+	public static final String CMD_LABEL = "Add MARTE/FCM profiles"; //$NON-NLS-1$
+
+	public static final String FCM_PROFILE_URI = "pathmap://FCM_PROFILES/FCM.profile.uml"; //$NON-NLS-1$
+
+	public static final String MARTE_PROFILE_URI = "pathmap://Papyrus_PROFILES/MARTE.profile.uml";//$NON-NLS-1$
+
+	static final String MARTE_FOUNDATIONS = "MARTE_Foundations"; //$NON-NLS-1$
+
+	static final String MARTE_F_ALLOC = "Alloc"; //$NON-NLS-1$
+
+	static final String MARTE_DESIGN_MODEL = "MARTE_DesignModel"; //$NON-NLS-1$
+
+	static final String MARTE_DM_HLAM = "HLAM"; //$NON-NLS-1$
+
+	static final String MARTE_DM_GCM = "GCM"; //$NON-NLS-1$
+
+	public static final int APPLY_FCM = 1;
+
+	public static final int APPLY_ALLOC = 2;
+
+	public static final int APPLY_HLAM_GCM = 4;
+
+	Package selectedPkg;
+
+	int applyCode;
+
+	public static Element getContent(URI uri, ResourceSet rs) {
+		// Resource resource = getTransactionalEditingDomain ().getResourceSet().getResource (uri, true);
+		Resource resource = rs.getResource(uri, true);
+		return getContent(resource);
+	}
+
+	public static Element getContent(Resource resource) {
+		EList<EObject> contentObj = resource.getContents();
+		if ((contentObj.size() > 0) && (contentObj.get(0) instanceof Element)) {
+			return (Element) contentObj.get(0);
+		}
+		return null;
+	}
+
+	@Override
+	protected IStatus doExecute(IProgressMonitor monitor, IAdaptable info)
+			throws ExecutionException {
+		final ResourceSet resourceSet = selectedPkg.eResource().getResourceSet();
+
+		try {
+			/*
+			 * // Apply UML Standard profile
+			 * // Retrieve standard profile
+			 * Profile umlStdProfile =
+			 * (Profile) getContent (URI.createURI(UMLResource.STANDARD_PROFILE_URI));
+			 * // Apply to new model
+			 * umlModel.applyProfile(umlStdProfile);
+			 */
+
+			if ((applyCode & APPLY_FCM) != 0) {
+				// Retrieve FCM profile
+				Profile fcmProfile =
+						(Profile) getContent(URI.createURI(FCM_PROFILE_URI), resourceSet);
+
+				// Apply FCM profile and its nested profiles to new model
+				if (fcmProfile instanceof Profile) {
+					Profile profile = selectedPkg.getAppliedProfile(fcmProfile.getQualifiedName());
+					if ((profile == null) && (!fcmProfile.getOwnedStereotypes().isEmpty())) {
+						selectedPkg.applyProfile(fcmProfile);
+					}
+				}
+				else {
+					Activator.log.debug("The FCM profile is not available."); //$NON-NLS-1$
+				}
+			}
+
+			if ((applyCode & (APPLY_ALLOC | APPLY_HLAM_GCM)) != 0) {
+				// Retrieve MARTE profile
+				Profile marteProfile =
+						(Profile) getContent(URI.createURI(MARTE_PROFILE_URI), resourceSet);
+
+				// Apply MARTE::MARTE_DesignModel::HLAM
+				// & MARTE::MARTE_DesignModel::GCM
+				if (marteProfile != null) {
+					PackageableElement foundationModel = marteProfile.getPackagedElement(MARTE_FOUNDATIONS);
+					if ((foundationModel instanceof Package) && ((applyCode & APPLY_ALLOC) != 0)) {
+						PackageableElement alloc = ((Package) foundationModel).getPackagedElement(MARTE_F_ALLOC);
+						selectedPkg.applyProfile((Profile) alloc);
+					}
+					PackageableElement designModel = marteProfile.getPackagedElement(MARTE_DESIGN_MODEL);
+					if ((designModel instanceof Package) && ((applyCode & APPLY_HLAM_GCM) != 0)) {
+						PackageableElement hlam = ((Package) designModel).getPackagedElement(MARTE_DM_HLAM);
+						if (hlam instanceof Profile) {
+							selectedPkg.applyProfile((Profile) hlam);
+						}
+						PackageableElement gcm = ((Package) designModel).getPackagedElement(MARTE_DM_GCM);
+						if (gcm instanceof Profile) {
+							selectedPkg.applyProfile((Profile) gcm);
+						}
+					}
+				}
+				else {
+					Activator.log.debug("The MARTE profile is not available."); //$NON-NLS-1$
+				}
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return Status.OK_STATUS;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/commands/AddStdModelLibs.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/commands/AddStdModelLibs.java
new file mode 100644
index 0000000..2b041f3
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/commands/AddStdModelLibs.java
@@ -0,0 +1,203 @@
+/*******************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     CEA LIST - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.papyrus.designer.transformation.core.commands;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.workspace.AbstractEMFOperation;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.UMLFactory;
+
+/**
+ * This class adds "standard" model libraries for component-based development: the FCM profile, parts of the MARTE profile (allocation)
+ * and the associated package imports to your model.
+ */
+public class AddStdModelLibs extends AbstractEMFOperation {
+
+	public AddStdModelLibs(Package pkg, TransactionalEditingDomain domain) {
+		super(domain, CMD_LABEL);
+		selectedPkg = pkg;
+		availableImportPackages = null;
+		importList = null;
+	}
+
+	public static final String CMD_LABEL = "Add Designer CORE libraries"; //$NON-NLS-1$
+
+	public static final String DESIGNER_BASIC_CALLS_URI = "pathmap://QML_CORE/core.uml"; //$NON-NLS-1$
+
+	public static final String DESIGNER_MARTE_CALLS_URI = "pathmap://QML_MARTE/marte.uml"; //$NON-NLS-1$
+
+	protected EList<PackageImport> importList;
+
+	protected EList<PackageImport> availableImportPackages;
+
+	protected Package selectedPkg;
+
+	/**
+	 * Retrieve a model library from the repository
+	 *
+	 * @param uri
+	 *            the URI of the repository
+	 *
+	 * @return
+	 */
+	public PackageImport getModelLibraryImportFromURI(URI uri, ResourceSet resourceSet) {
+		// Try to reach model
+		Element root = getContent(uri, resourceSet);
+		if (root instanceof Package) {
+
+			// Import model library
+			Package libToImport = (Package) root;
+			// create import package
+			PackageImport modelLibImport = UMLFactory.eINSTANCE.createPackageImport();
+			modelLibImport.setImportedPackage(libToImport);
+
+			return modelLibImport;
+		}
+		return null;
+	}
+
+	public static Element getContent(URI uri, ResourceSet rs) {
+		// Resource resource = getTransactionalEditingDomain ().getResourceSet().getResource (uri, true);
+		Resource resource = rs.getResource(uri, true);
+		return getContent(resource);
+	}
+
+	public static Element getContent(Resource resource) {
+		EList<EObject> contentObj = resource.getContents();
+		if ((contentObj.size() > 0) && (contentObj.get(0) instanceof Element)) {
+			return (Element) contentObj.get(0);
+		}
+		return null;
+	}
+
+	/**
+	 * Check whether a package import is already done
+	 *
+	 * @param selectedPkg
+	 * @param pi
+	 * @return
+	 */
+	boolean isAlreadyImported(Package selectedPkg, PackageImport pi) {
+		for (PackageImport existingPI : selectedPkg.getPackageImports()) {
+			if ((existingPI.getImportedPackage() == null) ||
+					(pi.getImportedPackage() == null)) {
+				// import package are null (should not happen?!)
+				continue;
+			}
+			if ((existingPI.getImportedPackage().getName() == null) ||
+					(pi.getImportedPackage().getName() == null)) {
+				// import package name not set (should not happen?!)
+				continue;
+			} else if (existingPI.getImportedPackage().getName().equals(pi.getImportedPackage().getName())) {
+				return true;
+			}
+		}
+		return false;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+	 */
+
+	/**
+	 * Return a list of package-imports for standard Qompass model libraries
+	 *
+	 * @return
+	 * @throws ExecutionException
+	 */
+	public EList<PackageImport> getAvailableImportPackages() {
+		if (availableImportPackages != null) {
+			return availableImportPackages;
+		}
+		final ResourceSet resourceSet = selectedPkg.eResource().getResourceSet();
+		availableImportPackages = new BasicEList<PackageImport>();
+
+		PackageImport pi = getModelLibraryImportFromURI(URI.createURI(DESIGNER_BASIC_CALLS_URI), resourceSet);
+		if (pi != null) {
+			availableImportPackages.add(pi);
+		}
+		pi = getModelLibraryImportFromURI(URI.createURI(DESIGNER_MARTE_CALLS_URI), resourceSet);
+		if (pi != null) {
+			availableImportPackages.add(pi);
+		}
+		return availableImportPackages;
+	}
+
+	/**
+	 * @return a list of package-imports that are already imported (within the selected pkg).
+	 */
+	public EList<PackageImport> getAlreadyImportedPackages() {
+		EList<PackageImport> availablePackages = getAvailableImportPackages();
+		EList<PackageImport> selection = new BasicEList<PackageImport>();
+		for (PackageImport pi : availablePackages) {
+			if (isAlreadyImported(selectedPkg, pi)) {
+				selection.add(pi);
+			}
+		}
+		return selection;
+	}
+
+	/**
+	 * Initialize import list. Must be called, before the command gets executed.
+	 *
+	 * @param importList
+	 *            a list of package-imports that will be added to the selectedPkg when
+	 *            the command gets executed.
+	 */
+	public void setImportList(EList<PackageImport> importList) {
+		this.importList = importList;
+	}
+
+
+	/**
+	 * Initialize import list. Must be called, before the command gets executed.
+	 * Convenience method for dialogs that return an array.
+	 *
+	 * @param importArray
+	 *            an array of objects (which must contain package-imports) that will
+	 *            be added to the selectedPkg when the command gets executed.
+	 */
+	public void setImportList(Object importArray[]) {
+		importList = new BasicEList<PackageImport>();
+		for (Object importPkg : importArray) {
+			if (importPkg instanceof PackageImport) {
+				importList.add((PackageImport) importPkg);
+			}
+		}
+	}
+
+	@Override
+	protected IStatus doExecute(IProgressMonitor monitor, IAdaptable info)
+			throws ExecutionException {
+
+		for (PackageImport pi : importList) {
+			if (!isAlreadyImported(selectedPkg, pi)) {
+				selectedPkg.getPackageImports().add(pi);
+			}
+		}
+		return Status.OK_STATUS;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/copylisteners/PostCopyListener.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/copylisteners/PostCopyListener.java
new file mode 100644
index 0000000..8002e72
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/copylisteners/PostCopyListener.java
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.copylisteners;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+
+/**
+ * Interface for listeners that are notified when an eObject
+ * is copied
+ *
+ * @see org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier
+ */
+public interface PostCopyListener {
+
+	/**
+	 * Is called for each EObject after is has been copied.
+	 *
+	 * @param targetEObj
+	 *            the EObject that has been copied
+	 */
+	public void postCopyEObject(LazyCopier copy, EObject targetEObj);
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/copylisteners/PreCopyListener.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/copylisteners/PreCopyListener.java
new file mode 100644
index 0000000..53864aa
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/copylisteners/PreCopyListener.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.copylisteners;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+
+/**
+ * Interface for listeners that are notified when an eObject
+ * is copied
+ *
+ * @see org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier
+ */
+public interface PreCopyListener {
+
+	/**
+	 * Is called for each EObject that is copied. If it returns null, the
+	 * indicated object should not be copied. If it returns an object that
+	 * differs from the passed sourceEObj, this object is used (the returned
+	 * object of the first listener that returns a different object is used).
+	 * An exception is the specific "useSourceEObject" within the lazy
+	 * copier: if this object is returned, no copy is done
+	 *
+	 * @param sourceEObj
+	 *            the added classifier
+	 */
+	public EObject preCopyEObject(LazyCopier copier, EObject sourceEObj);
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/generate/GenerationOptions.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/generate/GenerationOptions.java
new file mode 100644
index 0000000..ede8e59
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/generate/GenerationOptions.java
@@ -0,0 +1,25 @@
+/**
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.eclipse.papyrus.designer.transformation.core.generate;
+
+/**
+ * Constants for generation options (must be powers of 2)
+ *
+ * @author ansgar
+ *
+ */
+public interface GenerationOptions {
+
+	final public static int REWRITE_SETTINGS = 1;
+
+	final public static int ONLY_CHANGED = 2;
+
+	final public static int MODEL_ONLY = 4;
+
+	final public static int CAC_ONLY = 8;
+
+};
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/m2minterfaces/IM2MTrafoAddTypes.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/m2minterfaces/IM2MTrafoAddTypes.java
new file mode 100644
index 0000000..cf6d972
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/m2minterfaces/IM2MTrafoAddTypes.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) 2016 CEA LIST
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Ansgar Radermacher - Initial API and implementation
+ */
+
+package org.eclipse.papyrus.designer.transformation.core.m2minterfaces;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.extensions.IM2MTrafo;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * This interface should be implemented, if the transformations adds types to the
+ * model (which my require a configuration within the deployment plan)
+ */
+public interface IM2MTrafoAddTypes extends IM2MTrafo {
+	
+	public EList<Type> getAddedTypes(M2MTrafo trafo, Element element) throws TransformationException;
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/m2minterfaces/IM2MTrafoCDP.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/m2minterfaces/IM2MTrafoCDP.java
new file mode 100644
index 0000000..aa342d1
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/m2minterfaces/IM2MTrafoCDP.java
@@ -0,0 +1,33 @@
+/**
+ * Copyright (c) 2016 CEA LIST
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Ansgar Radermacher - Initial API and implementation
+ */
+
+package org.eclipse.papyrus.designer.transformation.core.m2minterfaces;
+
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.extensions.IM2MTrafo;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.uml2.uml.Package;
+
+/**
+ * Interface that must be implemented by M2M transformations
+ */
+public interface IM2MTrafoCDP extends IM2MTrafo {
+
+	/**
+	 * Apply a transformation on a deployment plan.
+	 *
+	 * @param trafo A model-to-model transformation.
+	 * @param deploymentPlan The deployment plan
+	 * @throws TransformationException
+	 */
+	public void applyTrafo(M2MTrafo trafo, Package deploymentPlan) throws TransformationException;
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/m2minterfaces/IM2MTrafoElem.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/m2minterfaces/IM2MTrafoElem.java
new file mode 100644
index 0000000..810c50e
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/m2minterfaces/IM2MTrafoElem.java
@@ -0,0 +1,35 @@
+/**
+ * Copyright (c) 2016 CEA LIST
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Ansgar Radermacher - Initial API and implementation
+ *
+ */
+package org.eclipse.papyrus.designer.transformation.core.m2minterfaces;
+
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.extensions.IM2MTrafo;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * An interface for transformations that are typically applied to a subset of elements within the model.
+ * The transformationElement is applied to all elements and decides itself for which elements
+ * it actually executes a transformation.
+ */
+public interface IM2MTrafoElem extends IM2MTrafo {
+
+	/**
+	 * Transform an element
+	 *
+	 * @param trafo A model-to-model transformation.
+	 * @param element The element to which the transformation could be applied
+	 * @throws TransformationException
+	 */
+	public void transformElement(M2MTrafo trafo, Element element) throws TransformationException;
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/m2minterfaces/IM2MTrafoModelSplit.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/m2minterfaces/IM2MTrafoModelSplit.java
new file mode 100644
index 0000000..d38565c
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/m2minterfaces/IM2MTrafoModelSplit.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright (c) 2016 CEA LIST
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Ansgar Radermacher - Initial API and implementation
+ */
+
+package org.eclipse.papyrus.designer.transformation.core.m2minterfaces;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.transformations.TransformationContext;
+import org.eclipse.papyrus.designer.transformation.extensions.IM2MTrafo;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.uml2.uml.Package;
+
+public interface IM2MTrafoModelSplit extends IM2MTrafo {
+	/**
+	 * Split a model into several sub-models (on which sub-sequent transformations are applied)
+	 * @param trafo
+	 * @param deploymentPlan
+	 * @return
+	 * @throws TransformationException
+	 */
+	public EList<TransformationContext> splitModel(M2MTrafo trafo, Package deploymentPlan) throws TransformationException;
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/make/GenerateMakefile.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/make/GenerateMakefile.java
new file mode 100644
index 0000000..50b6698
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/make/GenerateMakefile.java
@@ -0,0 +1,118 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Manel Fredj
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.make;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+
+import org.eclipse.papyrus.designer.transformation.core.Activator;
+
+/*
+ * TODO:
+ *  - Currently not used (and unclear, if useful)
+ *
+ * 	- Determination of root folder
+ * 	- files within fileList have relative folder names? (if not assure)
+ *  - supporting def file (not only for Accord)
+ *  - integration with execution
+ */
+
+/**
+ * Generate a makefile based on found source files, i.e. .cpp files
+ *
+ * @author manel
+ *
+ */
+@Deprecated
+public class GenerateMakefile {
+
+	/**
+	 * Makefile Generation Algorithm:
+	 * For each Node
+	 * include $(ROOT_PATH)/Makefile.defs
+	 * NAME = Util
+	 * SRCS =\
+	 * File1.cpp\
+	 * File2.cpp\
+	 * ...
+	 * FileN.cpp
+	 * include $(ROOT_PATH)/Makefile.rules
+	 */
+	public static void generate() {
+		ArrayList<String> fileList = new ArrayList<String>();
+		ArrayList<String> folderList = new ArrayList<String>();
+		ArrayList<String> nodeList = new ArrayList<String>();
+		ArrayList<String> nodeSources = new ArrayList<String>();
+
+		ShowFiles showFiles = new ShowFiles("/local/home/ansgar/workspace-v3.3/TestCppProject/AluSocketGen"); //$NON-NLS-1$
+
+		showFiles.getFilesRec(fileList, folderList);
+		nodeList = showFiles.findNodesDir(folderList);
+		for (String node : nodeList) {
+			nodeSources = showFiles.getNodeSources(fileList, node);
+			String nodePath = showFiles.getRootPath() + File.pathSeparator + node + File.pathSeparator + "Makefile"; //$NON-NLS-1$
+			createFileList(nodePath, nodeSources, node);
+		}
+	}
+
+	/**
+	 * Create a list of .cpp files
+	 *
+	 * @param fileName
+	 * @param cppFileList
+	 * @param NodeName
+	 */
+	public static void createFileList(String fileName, ArrayList<String> cppFileList, String NodeName) {
+		// create the makefile
+		try {
+			java.io.File makefile = new java.io.File(fileName);
+
+			makefile.createNewFile();
+			// not avail in Java 1.5?
+			// makefile.setWritable(true);
+
+			FileOutputStream writer = new java.io.FileOutputStream(makefile);
+
+			writer.write("include $(ACCORD_ROOT)/Makefile.defs\n\n".getBytes()); //$NON-NLS-1$
+			writer.write(("NAME=" + NodeName + "\n\n").getBytes()); //$NON-NLS-1$ //$NON-NLS-2$
+
+			// Calculate list of sources
+			writer.write("SRCS=\\\n".getBytes()); //$NON-NLS-1$
+
+			if (cppFileList != null && cppFileList.size() != 0) {
+
+				// Calculate list of .cpp files
+				for (int i = 0; i < cppFileList.size(); i++) {
+					writer.write(("\t" + cppFileList.get(i)).getBytes()); //$NON-NLS-1$
+					if (i < cppFileList.size() - 1) {
+						// add \ to all but last item
+						writer.write("\\".getBytes()); //$NON-NLS-1$
+					}
+					writer.write("\n".getBytes()); //$NON-NLS-1$
+				}
+			}
+			writer.write("\n".getBytes()); //$NON-NLS-1$
+
+			writer.write("include $(ACCORD_ROOT)/Makefile.rules".getBytes()); //$NON-NLS-1$
+
+			writer.flush();
+			writer.close();
+		} catch (IOException e) {
+			Activator.log.error(e);
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/make/ShowFiles.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/make/ShowFiles.java
new file mode 100644
index 0000000..73d80c6
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/make/ShowFiles.java
@@ -0,0 +1,104 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.make;
+
+import java.io.File;
+import java.util.ArrayList;
+
+@Deprecated
+public class ShowFiles {
+
+	/**
+	 * Initialize the ShowFiles class
+	 *
+	 * @param rootPath
+	 *            the path of a folder, that in turn contains a set of folders. It is assume that the
+	 *            latter contain code related to a specific node
+	 */
+	public ShowFiles(String rootPath) {
+		m_rootPath = rootPath;
+	}
+
+	private String m_rootPath;
+
+	public String getRootPath() {
+		return m_rootPath;
+	}
+
+	/**
+	 * takes as input the list of all directories that are included under a root path (allDir), and
+	 * the root path (in case different from ACCORD_ROOT), and potentially, a list of (non empty) files,
+	 * which will be enriched with the set of source files (.cpp) under all directories under the root path
+	 */
+	public void getFilesRec(ArrayList<String> allFiles, ArrayList<String> allDir) {
+		getFilesRec(allFiles, allDir, m_rootPath);
+	}
+
+
+	public void getFilesRec(ArrayList<String> fileList, ArrayList<String> folderList, String root) {
+		File f = new File(root);
+		File[] listFiles = f.listFiles();
+		for (File file : listFiles) {
+			if (file.isDirectory()) {
+				// call recursively with
+				getFilesRec(fileList, folderList, file.toString());
+				folderList.add(file.toString());
+			} else {
+				if (file.toString().endsWith(".cpp")) { //$NON-NLS-1$
+					// found a C++ file
+					fileList.add(file.toString());
+				}
+			}
+		}
+	}
+
+	/**
+	 * takes as input the list of all directories that are included under a root path (folderList),
+	 * in order to provide as a result the subset of directories, corresponding to the nodes
+	 */
+	public ArrayList<String> findNodesDir(ArrayList<String> folderList) {
+		ArrayList<String> allNodes = new ArrayList<String>();
+		for (String dir : folderList) {
+			String tmp = dir.replaceFirst(m_rootPath, ""); //$NON-NLS-1$
+			// all the nodes are at the level (ACCORD_ROOT + 1)
+			tmp = tmp.trim().replaceFirst(File.pathSeparator, ""); //$NON-NLS-1$
+			if (!tmp.contains(File.pathSeparator)) {
+				allNodes.add(tmp.trim());
+			}
+		}
+		return allNodes;
+	}
+
+	/**
+	 * takes as input the list of all files that are included under ACCORD_ROOT path (allFiles), and
+	 * the node name (nodeName) in order to provide as a result the subset of files, corresponding to the
+	 * sources of the node (NodeName)
+	 */
+	public ArrayList<String> getNodeSources(ArrayList<String> allFiles, String nodeName) {
+		ArrayList<String> sourceFilesPath = new ArrayList<String>();
+
+		for (String filePath : allFiles) {
+			if (filePath.contains(nodeName)) {
+				// path is related to given node
+				int index = filePath.indexOf(nodeName);
+				String tmp = filePath.substring(index);
+				index = tmp.indexOf(File.pathSeparator);
+				tmp = tmp.substring(index + 1);
+				sourceFilesPath.add(tmp.trim());
+			}
+		}
+		return sourceFilesPath;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/messages.properties b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/messages.properties
new file mode 100644
index 0000000..cc496f0
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/messages.properties
@@ -0,0 +1,93 @@
+BootLoaderGen_AtLeastOneBlockingCall=There must be at most one blocking "run" operation per node. Not adding "run" call for component instance %s. Existing invocations: %s
+BootLoaderGen_CannotApplyCppInclude=Cannot apply cppInclude stereotype. Make sure that C/C++ profile is applied to your model
+BootLoaderGen_CannotRetrieveTemplate=Cannot retrieve bootLoader template (should be in %s)
+CommandSupport_NoEditingDomain=Can not get editing domain
+CommandSupport_ErrorDuringCmdExec=Error during command execution
+ConfigUtils_RuleWithoutBaseClass=A container rule has no base class (broken model library?)
+DepCreation_SingletonExistsAlready=singleton instantiation: element with name %s exists already in deployment plan, but is not an instance specification
+DepCreation_CannotFindImplementation=cannot find suitable implementation for instance <%s> (given type <%s>)
+DepCreation_CircularReference=Class %s is referenced in a circle\! Thus, an infinite number of instance specifications would be required.\nrecursion path: 
+DepCreation_DefiningFeatureNull=The defining feature of a slot of instance %s is null
+DepCreation_FCMconnectorWithoutBaseClass=An FCM connector has no base class. Check for broken model library
+DepCreation_InfoCreateDepPlan=DepCreation.createDepPlan: %s
+DepCreation_TypeInAttributeUndefined=type of attribute %s within class %s is not defined
+Deploy_0=Cannot find implementation for instance %s
+DeployToNodes_CouldNotCreateProject=Could not create project for language %s
+Description_NoAvail=not available
+
+LWContainerTrafo_CannotApplyRule=Cannot apply container rule <%s>, since the type of one of its parts is undefined. Check for unresolved proxies in imports
+
+TemplateUtils_InfoCreateBoundPackage=create bound package (fixed binding): %s within %s
+TemplateUtils_InfoGetActualFrom=TemplateInstantiation.getActualFromBinding: substitution formal = %s
+TemplateUtils_NoTemplateSignature=no template signature found for %s
+
+ConnectorBinding_InfoConnPortConnectedVia=connector port <%s> is connected via <%s>
+ConnectorBinding_CannotFindBinding=error: can not find a binding for formal parameter %s in the context of composite %s, connector %s and (connector) template %s.
+ConnectorBinding_CannotFindBindingForPort=Cannot find a binding for port %s of connector %s.
+ConnectorBinding_CannotFindConsistentBinding=cannot find a consistent binding for port %s of connector %s (in %s). Formal already bound to type %s
+ConnectorBinding_ConnectorsPort=connects port, otherInterface = %s
+ConnectorBinding_FormalAlreadyBound=Formal already bound to type %s
+ConnectorBinding_InfoActualReturnIntfIs=actual return interface: %s
+ConnectorBinding_InfoConnectsPort=connects port, otherInterface = %s
+ConnectorBinding_InfoCreateBoundPackage=create bound package %s within %s
+ConnectorBinding_InfoMatchOtherEnd=matchOtherEnd: port %s
+ConnectorBinding_InfoProvidedPortTypeMatches=getActual: provided port type matches, port %s.
+ConnectorBinding_NoTemplateSignature=ConnectorBinding: no template signature found for %s
+ConnectorReification_CannotFindMatchingPort=Connector reification: cannot find a matching port on reified connector %s for port %s. This should not happen and indicates an internal tool chain error.
+ConnectorReification_CouldNotBind=could not bind connector implementation template <%s>
+ConnectorReification_CouldNotConnectPort=Error: could not connect connector port <%s>.
+ConnectorReification_CouldNotConnectPortOfType=Error: could not connect connector port <%s> of type <%s>.
+ConnectorReification_InfoAddConnectorPart=ConnectorReification, add part with connector implementation template <%s> and implementation <%s>
+ConnectorReification_InfoPortTypes=ConnectorReification: otherPort type: <%s> - port <%s>.
+ConnectorReification_RequiresUseOfPorts=Connector reification requires the use of ports (otherwise, the ports of the reified connector can not be assigned unambiguously
+ConnectorReification_TemplateTypeNotClass=template type is not a class
+GenerateCode_CouldNotDeleteOldCode=Could not delete old code: %s
+GenerateCode_GeneratingCode=generating %s code
+GenerateCode_GeneratingCodeForNode=generating %s code for node %s
+
+TemplateInstantiation_TemplateIsNull=Passed template element is null
+
+TemplateInstantiationListener_TrafoException=TransformationException: %s
+
+CompImplTrafos_CannotFindType=Can not find type %s. Thus, unable to create suitable connect operation in component to OO transformation.
+CompImplTrafos_IntfNotImplemented=Interface <%s> provided by port <%s> of class <%s> is not implemented by the component itself nor does the port delegate to a part
+CompTypeTrafos_CannotFindType=Can not find type <%s>. Thus, unable to create suitable connect operation in component to OO transformation
+
+ContainerTrafo_CannotApplyRule=Cannot apply container rule <%s>, since the type of one of its parts is undefined. Check for unresolved proxies in imports
+ContainerTrafo_CannotFindDelegationConn=(during interceptor transformation for container): cannot find existing delegation connector
+ContainerTrafo_InterceptionRuleButNoInterceptor=The part %s in rule %s has an interceptionRule, but is not typed with an interaction component
+ContainerTrafo_RecursiveLWnotSupported=Recursive lightweight container rules currently not supported
+InstanceConfigurator_InvalidPluginExtension=InstanceConfigurator: plugin extension for id %s is invalid
+InstantiateDepPlan_AcceleoErrors=Acceleo errors occured
+InstantiateDepPlan_AcceleoErrorsCheckLog=Acceleo errors occured during code generation. Please check the error log
+InstantiateDepPlan_CannotGenModel=Cannot generate model
+InstantiateDepPlan_CheckInputImportPkg=An imported package is null. Verify the imported packages
+InstantiateDepPlan_CheckInputImportPkgNoRes=An imported package has no eResource. Verify imported packages
+InstantiateDepPlan_CheckInputModelProfile3=Check input model: profile <%s> is not contained in a resource
+InstantiateDepPlan_CheckInputModelProfileNoRes=Check input model: the applied profile with URI <%s> has no name and is not contained in a resource
+InstantiateDepPlan_CheckInputModelProfileNoResNoName=Check input model: one of the applied profiles has no name and is not contained in a resource
+InstantiateDepPlan_ConsultConsole=Consult error log or console for details
+InstantiateDepPlan_DepPlanStereotypeNotInitialized=The stereotype attribute <deploymentPlan> of configuration <%s> is not initialized.
+InstantiateDepPlan_ErrorsDuringTransformation=An error occurred during transformation
+InstantiateDepPlan_IllegalArgumentDuringCopy=An Illegal argument exception occured during the copy of profile applications. This may indicate that the original model contains an invalid profile application\n\n
+InstantiateDepPlan_InfoApplyProfile=apply profile 
+InstantiateDepPlan_InfoDeployingForNode=deploying for node %s
+InstantiateDepPlan_InfoExpandingConnectors=expanding connectors and containers
+InstantiateDepPlan_InfoGeneratingModel=Generating deployment model ...
+InstantiateDepPlan_InfoImportPackage=import package %s
+InstantiateDepPlan_InfoNoneAllocated=None of the instances in the deployment plan is allocated to a node. Verify the node allocation.
+InstantiateDepPlan_TransformationException=A transformation exception occurred
+MainModelTrafo_ChangePartType=change type of part <%s> due to container trafo
+MainModelTrafo_NoDefiningFeature=Error: no defining feature associated with <%s>.
+MainModelTrafo_NoInstanceAssociated=Error: no instance is associated with slot for feature <%s>.
+MainModelTrafo_NoTypeDefinedFor=no type defined for feature %s
+
+CompImplSync_InfoSyncIntf=interface rel-ship %s
+CompImplSync_InfoSyncViaImpl=Sync. type and implementation
+CompImplSync_InfoSyncViaType=syncViaType => implementation %s
+
+DepPlanUtils_CannotFindAttribute=cannot find attribute %s in classifier %s
+DepPlanUtils_ConfigOfPropertyFailed=configuration of property %s failed: type is not a string
+UpdateUtils_CannotApplyFCMstereo=cannot apply FCM stereotype. Check whether profile is applied
+TextTemplateBinding_TemplateNotFound=template with reference <%s.%s> can not be found. Verify whether the reference is correctly spelled, the template has been registered and implements the interface <IXtend> (in oep.designer.core.extensions).
+TextTemplateBinding_TemplateResultIsNotAString=bind template: return result is not a string
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/sync/DepPlanSync.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/sync/DepPlanSync.java
new file mode 100644
index 0000000..5656c26
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/sync/DepPlanSync.java
@@ -0,0 +1,176 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.sync;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.deployment.tools.Activator;
+import org.eclipse.papyrus.designer.deployment.tools.DepCreation;
+import org.eclipse.papyrus.designer.deployment.tools.DepPlanUtils;
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.transformation.base.ElementFilter;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationRTException;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Currently unused synchronization for deployment plans.
+ *
+ * @see comp.cea.ec3m.gentools.core.listeners.DepPlanListener
+ *
+ * @author ansgar
+ */
+public class DepPlanSync {
+
+	/**
+	 * Synchronize a deployment plan: remove slots that refer to properties that exist no longer
+	 * and add those that do not exist yet
+	 *
+	 * @param element
+	 *            an arbitrary element of the source model (i.e. the model that will
+	 *            store the deployment plan
+	 * @throws TransformationException
+	 */
+	public static void syncAllDepPlans(Element element) {
+		for (Package depPlan : DepPlanUtils.getAllDepPlans(element)) {
+			syncDepPlan(depPlan);
+		}
+	}
+
+	/**
+	 * Synchronize a deployment plan: remove slots that refer to properties that exist no longer
+	 * and add those that do not exist yet
+	 *
+	 * @param depPlan
+	 * @throws TransformationException
+	 */
+	public static void syncDepPlan(Package depPlan) {
+		removeUnusedSlots(depPlan);
+		for (InstanceSpecification is : DepUtils.getTopLevelInstances(depPlan)) {
+			addCDP(depPlan, is, is.getName());
+		}
+	}
+
+	private static void addCDP(Package depPlan, InstanceSpecification instance, String canonicalName)
+	{
+		Class implementation = DepUtils.getImplementation(instance);
+		if (!instance.getName().equals(canonicalName)) {
+			instance.setName(canonicalName);
+		}
+		// check sub-instances
+		for (Slot slot : instance.getSlots()) {
+			InstanceSpecification subInstance = DepUtils.getInstance(slot);
+			if (subInstance != null) {
+				addCDP(depPlan, subInstance, canonicalName + "." + slot.getDefiningFeature().getName()); //$NON-NLS-1$
+			}
+		}
+		for (Property attribute : ElementUtils.getParts(implementation)) {
+			Type type = attribute.getType();
+			if (type instanceof Class) {
+				if (!hasSlot(instance, attribute)) {
+					try {
+						InstanceSpecification partIS =
+								DepCreation.createDepPlan(depPlan, (Class) type, instance.getName() + "." + attribute.getName(), true); //$NON-NLS-1$
+						DepPlanUtils.createSlot(depPlan, instance, partIS, attribute);
+					} catch (TransformationException e) {
+						Activator.log.error(e);
+						throw new TransformationRTException(e.getMessage());
+					}
+				}
+			}
+		}
+		// TODO: handle interaction components (extension point?)
+	}
+
+	/**
+	 * return a candidate for an interaction component. Since these instances have
+	 * no associated slot, the derivedElement hints to the original connector
+	 * (could still be problematic!)
+	 * 
+	 * @param cdp
+	 * @param cl
+	 * @return
+	 */
+	protected static InstanceSpecification findISforConn(Package cdp, final Connector conn) {
+		ElementFilter filter = new ElementFilter() {
+
+			@Override
+			public boolean acceptElement(Element element) {
+				if (element instanceof InstanceSpecification) {
+					InstanceSpecification is = (InstanceSpecification) element;
+					DerivedElement de = UMLUtil.getStereotypeApplication(is, DerivedElement.class);
+					if (de != null && de.getSource() == conn) {
+						return true;
+					}
+				}
+				return false;
+			}
+		};
+		EList<InstanceSpecification> iList = new BasicEList<InstanceSpecification>();
+		DepUtils.getAllInstances(cdp, iList, filter);
+		if (iList.size() > 0) {
+			return iList.get(0);
+		}
+		return null;
+	}
+
+	private static boolean hasSlot(InstanceSpecification instance, Property attribute) {
+		for (Slot slot : instance.getSlots()) {
+			if (slot.getDefiningFeature() == attribute) {
+				return true;
+			}
+		}
+		return false;
+	}
+
+	public static void removeUnusedSlots(Package depPlan) {
+		// remove elements that are no longer in the plan
+		for (NamedElement member : depPlan.getMembers()) {
+			if (member instanceof InstanceSpecification) {
+				InstanceSpecification instance = (InstanceSpecification) member;
+				Iterator<Slot> slotIt = instance.getSlots().iterator();
+				while (slotIt.hasNext()) {
+					Slot slot = slotIt.next();
+					if (slot.getDefiningFeature() == null) {
+						// property has been removed => remove associated slot
+						for (ValueSpecification value : slot.getValues()) {
+							if (value instanceof InstanceValue) {
+								InstanceSpecification is = ((InstanceValue) value).getInstance();
+								DepPlanUtils.delDepPlan(is);
+							}
+						}
+						slot.destroy();
+						slotIt.remove();
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/sync/InterfaceSync.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/sync/InterfaceSync.java
new file mode 100644
index 0000000..4c4b8f8
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/sync/InterfaceSync.java
@@ -0,0 +1,140 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.sync;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.OperationUtils;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Reception;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Synchronize the use of a common superclass for signal reception with the
+ * question whether an interface has at least one owned reception.
+ */
+public class InterfaceSync {
+	
+	public static final String SIG_PREFIX = "SIG_"; //$NON-NLS-1$
+
+	/**
+	 * Name of an interface for generic reception support within the Qompass
+	 * sysinterfaces modeling library
+	 */
+	private static final String SIGNAL_RECEPTION_QN = "sysinterfaces::SignalReception"; //$NON-NLS-1$
+
+	protected static boolean useGenericSigInterface = false;
+
+	public static void syncSignalReceptionSupport(Interface intf) {
+		if (useGenericSigInterface) {
+			syncGenericSignalReceptionSupport(intf);
+		} else {
+			syncSpecificSignalReceptionSupport(intf);
+		}
+	}
+
+	public static void syncSpecificSignalReceptionSupport(Interface intf) {
+		for (Reception reception : intf.getOwnedReceptions()) {
+			Signal signal = reception.getSignal();
+			if (signal != null) {
+				String opName = SIG_PREFIX + signal.getName();
+				Operation existingOperation = intf.getOwnedOperation(opName, null, null);
+				Operation newOperation = UMLFactory.eINSTANCE.createOperation();
+				newOperation.setName(opName);
+				for (Property attribute : signal.getAttributes()) {
+					Parameter parameter = newOperation.createOwnedParameter(attribute.getName(), attribute.getType());
+					parameter.setLower(attribute.getLower());
+					parameter.setUpper(attribute.getUpper());
+				}
+				if (existingOperation == null) {
+					intf.getOwnedOperations().add(newOperation);
+				} else if (!OperationUtils.isSameOperation(existingOperation, newOperation)) {
+					OperationUtils.syncOperation(newOperation, existingOperation);
+				}
+				DerivedElement de = StereotypeUtil.applyApp(newOperation, DerivedElement.class);
+				if (de != null) {
+					de.setSource(reception);
+				}
+			}
+		}
+		// now remove derived operations that are no longer needed.
+		EList<Operation> ownedOperations = new BasicEList<Operation>();
+		ownedOperations.addAll(intf.getOwnedOperations());
+		for (Operation operation : ownedOperations) {
+			DerivedElement de = UMLUtil.getStereotypeApplication(operation, DerivedElement.class);
+			if (de != null) {
+				if (de.getSource() instanceof Reception) {
+					Reception reception = (Reception) de.getSource();
+					Signal signal = reception.getSignal();
+					if ((signal == null) || !(SIG_PREFIX + signal.getName()).equals(operation.getName())) {
+						// reception exists, but has no signal or another signal
+						operation.destroy();
+					}
+				} else {
+					// reception does not exist any more
+					operation.destroy();
+				}
+			}
+		}
+	}
+
+	public static void syncGenericSignalReceptionSupport(Interface intf) {
+
+		NamedElement genericReceptionNE = ElementUtils.getQualifiedElementFromRS(intf, SIGNAL_RECEPTION_QN);
+		if (genericReceptionNE instanceof Interface) {
+			Interface genericReceptionIntf = (Interface) genericReceptionNE;
+			if (intf.getOwnedReceptions().size() > 0) {
+				if (!hasReceptionSupport(intf, genericReceptionIntf)) {
+					addReceptionSupport(intf, genericReceptionIntf);
+				}
+			} else if (hasReceptionSupport(intf, genericReceptionIntf)) {
+				removeReceptionSupport(intf, genericReceptionIntf);
+			}
+		}
+	}
+
+	public static boolean hasReceptionSupport(Interface intf, Interface genericReceptionIntf) {
+		// TODO: does it find an indirect reception?
+		for (Classifier general : intf.getGenerals()) {
+			if (general == genericReceptionIntf) {
+				return true;
+			}
+		}
+		return false;
+	}
+
+	public static void addReceptionSupport(Interface intf, Interface genericReceptionIntf) {
+		intf.createGeneralization(genericReceptionIntf);
+	}
+
+	public static void removeReceptionSupport(Interface intf, Interface genericReceptionIntf) {
+		for (Generalization generalization : intf.getGeneralizations()) {
+			if (generalization.getGeneral() == genericReceptionIntf) {
+				generalization.destroy();
+			}
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/sync/SyncBehaviorParameters.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/sync/SyncBehaviorParameters.java
new file mode 100644
index 0000000..3167d4c
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/sync/SyncBehaviorParameters.java
@@ -0,0 +1,44 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.sync;
+
+import org.eclipse.papyrus.designer.transformation.base.utils.CopyUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.StUtils;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Parameter;
+
+/**
+ * Synchronize behavior parameters
+ *
+ * A behavior is often a method for a behavioral feature. In this case, UML validation checks that the number and type
+ * of parameters of the behavior and the behavioral feature match.
+ * This class synchronizes the parameters of the behavior with that of the behavioral feature.
+ */
+public class SyncBehaviorParameters {
+	public static final void syncParameters(Behavior method) {
+
+		BehavioralFeature bf = method.getSpecification();
+		if (bf != null) {
+			method.getOwnedParameters().clear();
+			for (Parameter parameter : bf.getOwnedParameters()) {
+				Parameter newParameter = method.createOwnedParameter(parameter.getName(), parameter.getType());
+				newParameter.setDirection(parameter.getDirection());
+				CopyUtils.copyMultElemModifiers(parameter, newParameter);
+				StUtils.copyStereotypes(parameter, newParameter);
+			}
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/BindingUtils.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/BindingUtils.java
new file mode 100644
index 0000000..b2344a7
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/BindingUtils.java
@@ -0,0 +1,93 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ */
+
+package org.eclipse.papyrus.designer.transformation.core.templates;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.ConstInit;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.Messages;
+import org.eclipse.papyrus.designer.transformation.core.transformations.TransformationContext;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+public class BindingUtils {
+
+	/**
+	 * Bind an operation by copying the signature from the actual.
+	 *
+	 * @param copier
+	 *            the copier
+	 * @param actual
+	 *            the actual. If an operation, its signature is copied to the template
+	 * @param operation
+	 *            The operation template
+	 * @return
+	 */
+	public static void instantiateOperation(Element actual, Operation operation) {
+		try {
+			TransformationContext.current.classifier = operation.getClass_();
+			// set new name
+			String newName = TextTemplateBinding.bind(operation.getName(), actual, null);
+			operation.setName(newName);
+			// perform binding in case of C++ initializer
+			ConstInit cppConstInit = UMLUtil.getStereotypeApplication(operation, ConstInit.class);
+			if (cppConstInit != null) {
+				// TODO: specific to C++
+				String init = cppConstInit.getInitialisation();
+				String newInit = TextTemplateBinding.bind(init, actual);
+				cppConstInit.setInitialisation(newInit);
+			}
+		} catch (TransformationException e) {
+			// throw runtime exception
+			throw new RuntimeException(String.format(Messages.TemplateInstantiationListener_TrafoException, e.getMessage()));
+		}
+	}
+
+	/**
+	 * Instantiate a behavior, i.e. check whether the body text consists of a text template
+	 * reference.  If yes, instantiate the text template.
+	 *
+	 * @param copier
+	 *            copier
+	 * @param actual
+	 *            actual in template instantiation
+	 * @param opaqueBehavior
+	 *            behavior with body containing eventually a text template reference
+	 * @return instantiated (bound) behavior.
+	 * @throws TransformationException
+	 */
+	public static void instantiateBehavior(Element actual, OpaqueBehavior opaqueBehavior) throws TransformationException {
+		if (actual instanceof NamedElement) {
+			String newName = TextTemplateBinding.bind(opaqueBehavior.getName(), actual, null);
+			if (newName != null && !newName.equals(opaqueBehavior.getName())) {
+				opaqueBehavior.setName(newName);
+			}
+		}
+		EList<String> bodyList = opaqueBehavior.getBodies();
+		for (int i = 0; i < bodyList.size(); i++) {
+			String body = bodyList.get(i);
+			TransformationContext.current.classifier = (Classifier) opaqueBehavior.getOwner();
+			// pass qualified operation name as template name. Used to identify script in case of an error
+			String newBody = TextTemplateBinding.bind(body, actual);
+			if (newBody != null && !newBody.equals(body)) {
+				bodyList.set(i, newBody);
+			}
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/InstantiationContext.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/InstantiationContext.java
new file mode 100644
index 0000000..5cdf92c
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/InstantiationContext.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.templates;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.TemplateBinding;
+
+public class InstantiationContext {
+
+	public InstantiationContext(TemplateInstantiation ti) {
+		this.ti = ti;
+	}
+	
+	public TemplateBinding getBinding() {
+		return ti.binding;
+	}
+
+	public Classifier formalParameter;
+
+	/**
+	 * Return actual (in the current binding context) from a named package template parameter
+	 * Used during template instantiation: code can access actual template parameter via formal
+	 *
+	 * @param formal
+	 *            the name of the formal parameter
+	 * @return the actual
+	 */
+	public String pkgTemplateParameter(String formal) {
+		Classifier actual = TemplateUtils.getActualFromBinding(ti.binding, formal);
+		if (actual != null) {
+			return actual.getQualifiedName();
+		}
+		else {
+			return ""; //$NON-NLS-1$
+		}
+	}
+
+	public TemplateInstantiation ti;
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/PostTemplateInstantiationListener.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/PostTemplateInstantiationListener.java
new file mode 100644
index 0000000..c4787fd
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/PostTemplateInstantiationListener.java
@@ -0,0 +1,66 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.templates;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.designer.transformation.core.copylisteners.PostCopyListener;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.designer.transformation.extensions.IM2MTrafo;
+import org.eclipse.papyrus.designer.transformation.extensions.M2MTrafoExt;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Specific tweaking of template instantiation is implemented by means of a PostCopyListener that
+ * evaluates the template stereotype.
+ * Chiefly used for text templates
+ */
+public class PostTemplateInstantiationListener implements PostCopyListener {
+
+	public static PostTemplateInstantiationListener getInstance() {
+		if (postTemplateInstantiationListener == null) {
+			postTemplateInstantiationListener = new PostTemplateInstantiationListener();
+		}
+		return postTemplateInstantiationListener;
+	}
+
+	public void init(LazyCopier copy, TemplateBinding binding) {
+		this.binding = binding;
+	}
+
+	private TemplateBinding binding;
+
+	private static PostTemplateInstantiationListener postTemplateInstantiationListener;
+
+	@Override
+	public void postCopyEObject(LazyCopier copier, EObject targetEObj) {
+		if (targetEObj instanceof Element) {
+
+			ApplyTransformation applyTrafo =
+					UMLUtil.getStereotypeApplication((Element) targetEObj, ApplyTransformation.class);
+			if (applyTrafo != null) {
+				for (M2MTrafo trafo : applyTrafo.getTrafo()) {
+					IM2MTrafo ihelper = M2MTrafoExt.getM2MTrafo(trafo.getBase_Class().getQualifiedName());
+					if (ihelper instanceof PostCopyListener) {
+						((PostCopyListener) ihelper).postCopyEObject(copier, targetEObj);
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/PreTemplateInstantiationListener.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/PreTemplateInstantiationListener.java
new file mode 100644
index 0000000..d91100e
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/PreTemplateInstantiationListener.java
@@ -0,0 +1,78 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.templates;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.designer.transformation.core.copylisteners.PreCopyListener;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.designer.transformation.extensions.IM2MTrafo;
+import org.eclipse.papyrus.designer.transformation.extensions.M2MTrafoExt;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Template instantiation is implemented by means of an CopyListener that
+ * evaluates the template stereotype.
+ */
+
+public class PreTemplateInstantiationListener implements PreCopyListener {
+
+	public static PreTemplateInstantiationListener getInstance() {
+		if (preTemplateInstantiationListener == null) {
+			preTemplateInstantiationListener = new PreTemplateInstantiationListener();
+			preTemplateInstantiationListener.treatTemplate = false;
+		}
+		return preTemplateInstantiationListener;
+	}
+
+	public void init(LazyCopier copy, TemplateBinding binding) {
+		preTemplateInstantiationListener.treatTemplate = false;
+	}
+
+	private boolean treatTemplate;
+
+	private static PreTemplateInstantiationListener preTemplateInstantiationListener;
+
+	@Override
+	public EObject preCopyEObject(LazyCopier copier, EObject sourceEObj) {
+		if (treatTemplate) {
+			return sourceEObj;
+		}
+		treatTemplate = true;
+		EObject targetEObj = checkEObject(copier, sourceEObj);
+		treatTemplate = false;
+		return targetEObj;
+	}
+
+	protected EObject checkEObject(LazyCopier copier, EObject sourceEObj) {
+
+		if (sourceEObj instanceof Element) {
+			ApplyTransformation applyTrafo =
+					UMLUtil.getStereotypeApplication((Element) sourceEObj, ApplyTransformation.class);
+			if (applyTrafo != null) {
+				for (M2MTrafo trafo : applyTrafo.getTrafo()) {
+					IM2MTrafo ihelper = M2MTrafoExt.getM2MTrafo(trafo.getBase_Class().getQualifiedName());
+					if (ihelper instanceof PreCopyListener) {
+						return ((PreCopyListener) ihelper).preCopyEObject(copier, sourceEObj);
+					}
+				}
+			}
+		}
+		return sourceEObj;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/TemplateInstantiation.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/TemplateInstantiation.java
new file mode 100644
index 0000000..06938d5
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/TemplateInstantiation.java
@@ -0,0 +1,265 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.core.templates;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.Messages;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier.CopyStatus;
+import org.eclipse.papyrus.designer.transformation.core.transformations.TransformationContext;
+import org.eclipse.papyrus.designer.transformation.core.transformations.filters.FilterSignatures;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateParameterSubstitution;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TemplateableElement;
+
+/**
+ * This class encapsulates functions around template instantiation.
+ *
+ * With respect to composite structures, we need to consider two different
+ * cases: (1) the type of a property is a template class itself (2) the type of
+ * a property is a sub-class (nesting) of the template class. We consider that
+ * such a class inherits the template signature of its owner, i.e. it can access
+ * formal parameters of the owning template class. (3) the type of a property is
+ * a normal class
+ */
+public class TemplateInstantiation {
+
+	/**
+	 * Convenience constructor, take copier from transformation context.
+	 * 
+	 * @param binding
+	 * @throws TransformationException
+	 */
+	public TemplateInstantiation(TemplateBinding binding) throws TransformationException {
+		this(TransformationContext.current.copier, binding);
+
+	}
+
+	/**
+	 * Create a new template instantiation from a given copier and binding
+	 * 
+	 * @param copier
+	 *            a lazy copier
+	 * @param binding
+	 *            a template binding (formal->actual mapping)
+	 * @throws TransformationException
+	 */
+	public TemplateInstantiation(LazyCopier copier, TemplateBinding binding) throws TransformationException {
+		if (binding == null) {
+			// user should never see this exception
+			throw new TransformationException("Passed binding is null"); //$NON-NLS-1$
+		}
+		this.copier = copier;
+		signature = binding.getSignature();
+		if (signature == null) {
+			throw new TransformationException("Passed template binding does not have a signature"); //$NON-NLS-1$
+		}
+		packageTemplate = (Package) signature.getOwner();
+
+		Package boundPackage = (Package) binding.getBoundElement();
+		// set template instantiation parameter. Used by xtend templates to get relation between
+		// formal and actual parameters
+		context = new InstantiationContext(this);
+		copier.setPackageTemplate(packageTemplate, boundPackage);
+		// some parameters of the package template may not be owned. Thus, an additional package
+		// template is involved in the instantiation
+		for (TemplateParameter parameter : signature.getParameters()) {
+			//
+			if (parameter.getSignature() != signature) {
+				Package addedPkgTemplate = parameter.getSignature().getNearestPackage();
+				copier.setPackageTemplate(addedPkgTemplate, boundPackage);
+			}
+		}
+		if (boundPackage.getPackagedElements() != null) {
+			// bound package is not empty, but copier does not know about it. Fill copyMap with information about the relation
+			// This happens, if the original model already contains template instantiations, e.g. for template ports
+			if (copier.getMap(signature).keySet().size() == 0) {
+				sourceResource = packageTemplate.eResource();
+				targetResource = boundPackage.eResource();
+				syncCopyMap(packageTemplate, boundPackage);
+			}
+			// syncCopy map would not be necessary, if ports are not updated (by a listener?) during copier)
+		}
+		this.binding = binding;
+		// register a combination of formal/actual in the hashmap
+		// => copier will replace actual with formal
+		for (TemplateParameterSubstitution substitution : binding.getParameterSubstitutions()) {
+			ParameterableElement formal = substitution.getFormal().getParameteredElement();
+			ParameterableElement actual = substitution.getActual();
+			copier.putPair(formal, actual);
+		}
+		// add copy listeners ---
+		// remove template signature
+		if (!copier.preCopyListeners.contains(FilterSignatures.getInstance())) {
+			copier.preCopyListeners.add(FilterSignatures.getInstance());
+		}
+		// 2a. special treatment for elements stereotyped with template parameter
+		if (!copier.preCopyListeners.contains(PreTemplateInstantiationListener.getInstance())) {
+			copier.preCopyListeners.add(PreTemplateInstantiationListener.getInstance());
+		}
+		PreTemplateInstantiationListener.getInstance().init(copier, binding);
+		// 2b. special treatment for elements stereotyped with template parameter
+		if (!copier.postCopyListeners.contains(PostTemplateInstantiationListener.getInstance())) {
+			copier.postCopyListeners.add(PostTemplateInstantiationListener.getInstance());
+		}
+		/*
+		 * PostTemplateInstantiationListener.getInstance().init(copier, binding);
+		 * if(!copier.postCopyListeners.contains(FixTemplateSync.getInstance())) {
+		 * copier.postCopyListeners.add(FixTemplateSync.getInstance());
+		 * }
+		 */
+	}
+
+	/**
+	 * Synchronize the copy map, i.e. put the correspondences between existing source and target elements into the map.
+	 * Otherwise, a new binding would produce duplicates.
+	 * TODO: A more efficient way would be to cache the copy function and only re-sync, if a new model has been loaded.
+	 * On the other hand, the bound package is normally not very large
+	 *
+	 * @param source
+	 *            An element of the source model
+	 * @param targetPkg
+	 *            The associated element of the target model
+	 */
+	public void syncCopyMap(EObject source, EObject targetPkg) {
+		if ((copier.get(source) == null) || copier.getStatus(targetPkg) != CopyStatus.FULL) {
+			copier.put(source, targetPkg);
+			if (source instanceof Package) {
+				copier.setStatus(targetPkg, CopyStatus.SHALLOW);
+			} else {
+				copier.setStatus(targetPkg, CopyStatus.FULL);
+			}
+			for (EObject targetSubElem : targetPkg.eContents()) {
+				EObject sourceSubElement = null;
+				if (targetSubElem instanceof NamedElement) {
+					String targetName = ((NamedElement) targetSubElem).getName();
+					sourceSubElement = ElementUtils.getNamedElementFromList(source.eContents(), targetName);
+				}
+				if (sourceSubElement == null) {
+					// no source element found, try to find via XML URI (copier synchronizes on demand)
+					String uriFragment = targetResource.getURIFragment(targetSubElem);
+					sourceSubElement = sourceResource.getEObject(uriFragment);
+				}
+				if (sourceSubElement != null) {
+					syncCopyMap(sourceSubElement, targetSubElem);
+				}
+			}
+		}
+	}
+
+	Package packageTemplate;
+
+	public TemplateBinding binding;
+
+	protected LazyCopier copier;
+
+	protected TemplateSignature signature;
+
+	protected Resource sourceResource;
+
+	protected Resource targetResource;
+
+	/**
+	 * Bind a named element. Besides of binding the passed element, this
+	 * operation will bind all elements that are referenced (required) by the
+	 * passed element.
+	 *
+	 * In consequence, typically only a small part of a package template is
+	 * actually created within the bound package. We call this mechanism lazy
+	 * instantiation/binding
+	 *
+	 * @param copier
+	 *            Source and target model
+	 * @param namedElement
+	 *            A member within the package template which should be bound,
+	 *            i.e. for which template instantiation should be performed.
+	 * @param binding
+	 *            The binding between the bound package and the package template
+	 */
+	@SuppressWarnings("unchecked")
+	public <T extends Element> T bindElement(T namedElement) throws TransformationException {
+		if (namedElement == null) {
+			// user should never see this exception
+			throw new TransformationException(Messages.TemplateInstantiation_TemplateIsNull);
+		}
+		Package boundPackage = (Package) binding.getBoundElement();
+		EList<Namespace> path = TemplateUtils.relativePathWithMerge(namedElement, packageTemplate);
+
+		if (path != null) {
+			// register owning package template (template can be defined in
+			// multiple packages)
+			Element owner = TemplateUtils.getTemplateOwner(namedElement, signature);
+			if (owner != null) {
+				// note that we might overwrite an existing value
+				copier.put(owner, boundPackage);
+			}
+		} else {
+			// element is not part of the package template referenced by the
+			// binding
+			if (namedElement instanceof TemplateableElement) {
+				// check whether the referenced element is part of another
+				// package template,
+				// (for which we allow for implicit binding with the first
+				// template parameter)
+				TemplateSignature signatureOfNE = TemplateUtils.getSignature((TemplateableElement) namedElement);
+				if ((signatureOfNE != null) && (signature != signatureOfNE)) {
+					TemplateBinding subBinding = TemplateUtils.getSubBinding(copier.target, (TemplateableElement) namedElement, binding);
+					TemplateInstantiation ti = new TemplateInstantiation(subBinding);
+					Element ret = ti.bindElement(namedElement);
+					return (T) ret;
+				}
+			}
+			// => nothing to do with respect to template instantiation, but
+			// since the template is potentially instantiated in another model,
+			// the referenced element might need to be copied.
+			return copier.getCopy(namedElement);
+		}
+		// element is contained in the template package, examine whether it
+		// already exists in the
+		// bound package.
+		NamedElement existingMember = (NamedElement) copier.get(namedElement);
+		/*
+		 * if((existingMember != null) && (templateKind != TemplateKind.ACCUMULATE)) {
+		 * // element is already existing (and thus bound), nothing to do
+		 * // additional check, whether the ACCUMULATE information is unset)
+		 * // however: if the element is a package, existence is not sufficient
+		 * // since it might have been created via getAndCreate above
+		 *
+		 * //if(namedElement instanceof Package) {
+		 * // bindPackage((Package)namedElement);
+		 * //}
+		 * return (T)existingMember;
+		 * }
+		 */
+		if (existingMember == null) {
+			T copiedElement = copier.getCopy(namedElement);
+			copier.setPackageTemplate(null, null);
+			return copiedElement;
+		}
+		return (T) existingMember;
+	}
+
+	public static InstantiationContext context;
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/TemplateUtils.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/TemplateUtils.java
new file mode 100644
index 0000000..5aee4d1
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/TemplateUtils.java
@@ -0,0 +1,320 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.templates;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.deployment.tools.Activator;
+import org.eclipse.papyrus.designer.transformation.base.utils.CreationUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.Messages;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageMerge;
+import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
+import org.eclipse.uml2.uml.TemplateParameterSubstitution;
+import org.eclipse.uml2.uml.TemplateSignature;
+import org.eclipse.uml2.uml.TemplateableElement;
+import org.eclipse.uml2.uml.Type;
+
+public class TemplateUtils {
+
+	/**
+	 * Get the template signature of a classifier. If the classifier does not
+	 * have a signature, examine if the owning class provides one
+	 *
+	 * @param template
+	 *            The potential template
+	 * @return the signature or null, if none can be found.
+	 */
+	public static TemplateSignature getSignature(TemplateableElement template) {
+		TemplateSignature signature = getSignatureDirect(template);
+		if (signature != null) {
+			return signature;
+		}
+
+		// no signature found, try signature of owning classifier (nested class)
+		// or package
+		Element owner = template.getOwner();
+		if (owner instanceof TemplateableElement) {
+			// owned by a classifier, not a package
+			return getSignature((TemplateableElement) owner);
+		} else {
+			return null;
+		}
+	}
+
+	public static Element getTemplateOwner(Element ne, TemplateSignature signature) {
+		if ((ne instanceof TemplateableElement) && getSignatureDirect((TemplateableElement) ne) == signature) {
+			return ne;
+		}
+		Element owner = ne.getOwner();
+		if (owner != null) {
+			return getTemplateOwner(owner, signature);
+		}
+		return null;
+	}
+
+	/**
+	 * Get the template signature of a templateable element (typically a package). The class must
+	 * (1) either own the signature
+	 * (2) or merge with a package which owns the signature.
+	 * Qompass enables the "extension" of existing packages via the package merge mechanism
+	 *
+	 * @param template
+	 *            The potential template
+	 * @return the signature or null, if none can be found.
+	 */
+
+	public static TemplateSignature getSignatureDirect(TemplateableElement template) {
+		for (Element element : template.getOwnedElements()) {
+			if (element instanceof TemplateSignature) {
+				return (TemplateSignature) element;
+			}
+		}
+
+		// enable multiple package templates sharing the same signature.
+		if (template instanceof Package) {
+			Package pkg = (Package) template;
+			for (PackageMerge pkgImport : pkg.getPackageMerges()) {
+				Package importedPkg = pkgImport.getMergedPackage();
+				return getSignature(importedPkg);
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Create a template binding by using a single, fixed actual (used within
+	 * Qompass for the binding of container extensions depending on the component
+	 * executor)
+	 *
+	 * @param model
+	 *            : target model in which to create the bound package
+	 * @param template
+	 * @param fixedActual
+	 * @return
+	 * @throws TransformationException
+	 */
+	public static TemplateBinding fixedBinding(Package model, TemplateableElement template, Classifier fixedActual)
+			throws TransformationException {
+		// obtain the signature of an element within a package template.
+
+		TemplateSignature signature = getSignature(template);
+		if (signature == null) {
+			// not a template, retain original name
+			return null;
+		}
+
+		EList<Type> actuals = new BasicEList<Type>();
+
+		Package pkgTemplate = (Package) signature.getOwner();
+		String name = pkgTemplate.getName();
+
+		// loop on template parameters;
+		// for (TemplateParameter parameter : signature.getOwnedParameters ()) {
+		// ParameterableElement formal = parameter.getParameteredElement();
+
+		// now obtain suitable binding for this parameter - look for ports that
+		// are typed with the formal template parameter
+
+		actuals.add(fixedActual);
+		name = name + "_" + fixedActual.getName(); //$NON-NLS-1$
+		// }
+
+		// the bound package is instantiated in the same model, in which the
+		// composite can be found (avoid modifying an imported model).
+		// todo: root model as an additional parameter?
+		Namespace owner = (Namespace) pkgTemplate.getOwner();
+		owner = CreationUtils.getAndCreate(model, owner.allNamespaces());
+
+		Package boundPackage = (Package) owner.getMember(name);
+		if (boundPackage == null) {
+			// class does not exist yet, needs to be created.
+			boundPackage = ((Package) owner).createNestedPackage(name);
+
+			Activator.log.info(String.format(
+					Messages.TemplateUtils_InfoCreateBoundPackage, name, owner.getName()));
+		}
+
+		TemplateBinding binding = boundPackage.getTemplateBinding(signature);
+		if (binding == null) {
+			// binding is not existing yet (should normally only happen, if the class has
+			// just been created - but it's better to re-check, even if the bound package
+			// was already there)
+			binding = boundPackage.createTemplateBinding(signature);
+
+			Iterator<Type> actualsIter = actuals.iterator();
+
+			// loop on template parameters;
+			for (TemplateParameter parameter : signature.getOwnedParameters()) {
+
+				TemplateParameterSubstitution substitution =
+						binding.createParameterSubstitution();
+				substitution.setFormal(parameter);
+
+				// now obtain suitable binding for this parameter - look for
+				// ports that are typed with
+				// the formal template parameter
+				Type actual = actualsIter.next();
+				substitution.setActual(actual);
+			}
+		}
+		return binding;
+	}
+
+	/**
+	 * create a "sub" binding in which the first parameter of type Cl is assumed
+	 * to bind the sub-signature TODO: compared type and name of parameters in
+	 * two signatures TODO: support more than one template parameter
+	 *
+	 * @param model
+	 * @param te
+	 * @param existingBinding
+	 * @return
+	 * @throws TransformationException
+	 */
+	public static TemplateBinding getSubBinding(Package model,
+			TemplateableElement te, TemplateBinding existingBinding)
+			throws TransformationException {
+
+		for (TemplateParameterSubstitution tps : existingBinding.getParameterSubstitutions()) {
+			ParameterableElement pe = tps.getActual();
+			if (pe instanceof Classifier) {
+				return fixedBinding(model, te, (Classifier) pe);
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Adapt the actuals within the binding (which correspond either to an
+	 * element of the source model or an imported element) to the target model.
+	 *
+	 * @param sat
+	 * @param binding
+	 */
+	public static void adaptActualsToTargetModel(LazyCopier copy, TemplateBinding binding) {
+		for (TemplateParameterSubstitution substitution : binding.getParameterSubstitutions()) {
+			substitution.setActual(copy.getCopy(substitution.getActual()));
+		}
+	}
+
+	/**
+	 * Return the actual for a potential formal parameter within a
+	 * templateBinding (move to TemplateUtils?)
+	 *
+	 * @param binding
+	 *            a template binding
+	 * @param formal
+	 *            a potential formal parameter, i.e. a parameter for which we
+	 *            check, if it really corresponds to a formal parameter within
+	 *            the template binding.
+	 * @return the actual parameter that is associated with the potential formal
+	 *         parameter, or null if the 2nd parameter does not correspond to a
+	 *         formal parameter of the binding.
+	 */
+	public static Classifier getActualFromBinding(TemplateBinding binding, Type formal) {
+		for (TemplateParameterSubstitution substitution : binding.getParameterSubstitutions()) {
+			ParameterableElement pe = substitution.getFormal().getParameteredElement();
+			if (pe == formal) {
+				Activator.log.info(String.format(
+						Messages.TemplateUtils_InfoGetActualFrom, pe));
+				return (Classifier) substitution.getActual();
+			}
+		}
+		return null;
+	}
+
+	public static Classifier getActualFromBinding(TemplateBinding binding, String formalName) {
+		for (TemplateParameterSubstitution substitution : binding.getParameterSubstitutions()) {
+			ParameterableElement pe = substitution.getFormal().getParameteredElement();
+			Activator.log.info(String.format(
+					Messages.TemplateUtils_InfoGetActualFrom, pe));
+			if ((pe instanceof NamedElement)
+					&& ((NamedElement) pe).getName().equals(formalName)) {
+				return (Classifier) substitution.getActual();
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Get the first actual from the binding.
+	 *
+	 * @param binding
+	 *            the template binding
+	 * @return the first actual.
+	 */
+	public static Classifier getFirstActualFromBinding(TemplateBinding binding) {
+		for (TemplateParameterSubstitution substitution : binding.getParameterSubstitutions()) {
+			ParameterableElement pe = substitution.getFormal().getParameteredElement();
+			Activator.log.info(String.format(
+					Messages.TemplateUtils_InfoGetActualFrom, pe));
+			return (Classifier) substitution.getActual();
+		}
+		return null;
+	}
+
+	/**
+	 * Return a sequence of namespaces for a given element, starting from the "bottom"
+	 * one, i.e. the one in which the element is contained. It will end before the
+	 * searchNS namespace is reached. Returns null, if the element is not contained
+	 * within the search namespace.
+	 * This function will put a merged package into the path (instead of the owner), enabling
+	 * the extension of existing packages.
+	 *
+	 * @param element
+	 * @param searchNS
+	 * @return
+	 */
+	public static EList<Namespace> relativePathWithMerge(Element element, Namespace searchNS) {
+		EList<Namespace> pathList = new BasicEList<Namespace>();
+		Element owner = element.getOwner();
+		if (!(owner instanceof Namespace)) {
+			// happens, if element is contained in a template signature
+			return null;
+		}
+		Namespace ns = (Namespace) owner;
+		while (ns != null) {
+			if (ns == searchNS) {
+				return pathList;
+			}
+			pathList.add(ns);
+
+			if (ns instanceof Package) {
+				Package pkg = (Package) ns;
+				Iterator<PackageMerge> pkgMerges = pkg.getPackageMerges().iterator();
+				// if package merge exists, get first merged package and add it to path
+				if (pkgMerges.hasNext()) {
+					PackageMerge pkgImport = pkgMerges.next();
+					ns = pkgImport.getMergedPackage();
+					continue;
+				}
+			}
+
+			ns = (Namespace) ns.getOwner();
+		}
+		return null;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/TextTemplateBinding.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/TextTemplateBinding.java
new file mode 100644
index 0000000..a016412
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/templates/TextTemplateBinding.java
@@ -0,0 +1,140 @@
+/**
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *    CEA LIST - initial API and implementation
+ */
+
+package org.eclipse.papyrus.designer.transformation.core.templates;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.Messages;
+import org.eclipse.papyrus.designer.transformation.extensions.ITextTemplate;
+import org.eclipse.papyrus.designer.transformation.extensions.TextTemplateExt;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * Support for binding/instantiation of text templates
+ */
+public class TextTemplateBinding {
+
+	public static final String TEMPLATE_MAGIC = "!template"; //$NON-NLS-1$
+
+	/**
+	 * Simple template expression that is replaced with the name of a named
+	 * element. Uses an Acceleo syntax
+	 * The objective is that the access to an element name is very common and does
+	 * not need an xtend script behind.
+	 */
+	private static final String NAME_IN_BRACKETS = "[name/]"; //$NON-NLS-1$
+
+	/**
+	 * Simple template expression that is replaced with the name of a named
+	 * element. Slight variation of the Acceleo syntax
+	 */
+	private static final String NAME_IN_BRACKETS_SIMPLE = "[name]"; //$NON-NLS-1$
+
+	/**
+	 * Execute a script passed as parameter. It will be executed in the context
+	 * of a base script that declares the meta-model (UML2) and has additional
+	 * imports (currently none).
+	 *
+	 * @param template
+	 *            The template in string form
+	 * @param element
+	 *            The UML element to which the template is applied
+	 * @return the evaluated template
+	 */
+	public static String bind(String templateStr, Element element) throws TransformationException {
+		return bind(templateStr, element, null);
+	}
+
+	/**
+	 * Execute a script passed as parameter. It will be executed in the context
+	 * of a base script that declares the meta-model (UML2). It allows for
+	 * additional arguments
+	 *
+	 * @param template
+	 *            The template in string form
+	 * @param element
+	 *            The UML element to which the template is applied
+	 * @return the evaluated template
+	 */
+	public static String bind(String templateStr, Element element, Object args[]) throws TransformationException {
+		if (templateStr.startsWith(TEMPLATE_MAGIC)) {
+			return bindTemplate(templateStr, element, args);
+		}
+		else if (element instanceof NamedElement) {
+			// simple replacement of specific template entry [name]
+			String name = ((NamedElement) element).getName();
+			if (templateStr.contains(NAME_IN_BRACKETS)) {
+				return templateStr.replace(NAME_IN_BRACKETS, name);
+			}
+			else if (templateStr.contains(NAME_IN_BRACKETS_SIMPLE)) {
+				return templateStr.replace(NAME_IN_BRACKETS_SIMPLE, name);
+			}
+		}
+		return templateStr;
+	}
+
+	/**
+	 * Execute a script passed as parameter. It will be executed in the context
+	 * of a base script that declares the meta-model (UML2) and has additional
+	 * imports (currently none).
+	 *
+	 * @param template
+	 *            The template in string form
+	 * @param element
+	 *            The UML element to which the template is applied
+	 * @return the evaluated template
+	 */
+	public static String bindTemplate(String templateStr, Element element, Object args[]) throws TransformationException {
+		String[] templateRef = templateStr.substring(TEMPLATE_MAGIC.length() + 1).split("\\."); //$NON-NLS-1$
+		String templateId = templateRef[0].trim();
+		String methodName = templateRef[1].trim();
+		ITextTemplate generator = TextTemplateExt.getTextTemplate(templateId);
+		if (generator == null) {
+			throw new TransformationException(String.format(Messages.TextTemplateBinding_TemplateNotFound, templateId, methodName));
+		}
+		
+		try {
+			Object result;
+			if (args != null) {
+				Method method = getMethod(generator, methodName, 1+args.length);
+				result = method.invoke(generator, element, args);
+			}
+			else {
+				Method method = getMethod(generator, methodName, 1);
+				result = method.invoke(generator, element);
+			}
+			if (result instanceof String) {
+				return (String) result;
+			}
+			else if (result instanceof CharSequence) {
+				return result.toString();
+			}
+			else {
+				throw new TransformationException(Messages.TextTemplateBinding_TemplateResultIsNotAString);
+			}
+		} catch (SecurityException | IllegalAccessException
+				| IllegalArgumentException | InvocationTargetException | NullPointerException e) {
+			throw new RuntimeException(e);
+		}
+	}
+
+	public static Method getMethod(ITextTemplate generator, String methodName, int numberOfArguments) {
+		for (Method method : generator.getClass().getMethods()) {
+			if (method.getName().equals(methodName) && method.getParameterTypes().length == numberOfArguments) {
+				return method;
+			}
+		}
+		return null;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/AllocTransfo.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/AllocTransfo.java
new file mode 100644
index 0000000..5ed723e
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/AllocTransfo.java
@@ -0,0 +1,119 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.core.transformations;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.papyrus.designer.deployment.tools.AllocUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
+import org.eclipse.uml2.common.util.UML2Util;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * Transform the allocations towards an execution resource (thread) into a suitable connection
+ * Current restriction: a thread needs to be defined the same composite as the component which
+ * is allocated to this thread.
+ */
+public class AllocTransfo {
+	/**
+	 * Name of port provided by component being allocation target
+	*/
+	public static final String RUN = "run"; //$NON-NLS-1$
+	
+	/**
+	 * Name of port provided by thread component (a "required" port)
+	 */
+	public static final String R_RUN = "rRun"; //$NON-NLS-1$
+	
+	/**
+	 * name of main thread
+	 */
+	public static final String MAIN = "main"; //$NON-NLS-1$
+
+	/**
+	 *
+	 * @param copier
+	 *            The copier class. Currently unused
+	 * @param composite
+	 *            A composite. We analyze the allocations of the properties within this
+	 *            Composite. The composite must be an element of the target model that can be modified.
+	 */
+	public void transformAllocs(LazyCopier copy, Class composite) {
+		EList<Property> attributeList = new BasicEList<Property>();
+		attributeList.addAll(composite.getOwnedAttributes()); // use a copy, since the loop eventually destroys an element of the list.
+		for (Property attribute : attributeList) {
+			Type type = attribute.getType();
+			if (!(type instanceof Class)) {
+				continue;
+			}
+			Property thread = AllocUtils.getThreadAlloc(attribute);
+			if (thread != null) {
+				// this attribute represents a thread.
+				if (thread.getName().equals(MAIN)) {
+					// TODO: currently, no support for setting up the priority of the main thread.
+					// we need to get a cleaner solution for the main thread.
+					// destroy eventual connector and associated thread => thread as component with unconnected start thread
+					Connector conn = ConnectorUtil.getConnector(composite, attribute, thread);
+					// Connector targetConn = copier.getCopy(conn);
+					// Property targetThread = copier.getCopy(thread);
+					if (conn != null) {
+						conn.destroy();
+					}
+					// destroy not only the thread, but also the slot within the composites instance specification
+					// (that references the thread via its defining feature).
+					for (Setting setting : UML2Util.getInverseReferences(thread)) {
+						if (setting.getEObject() instanceof Slot) {
+							((Element) setting.getEObject()).destroy();
+						}
+					}
+					thread.destroy();
+				}
+				// check, if there is already a connector between the attribute and the thread
+				else if (!ConnectorUtil.existsConnector(composite, attribute, thread)) {
+					// no connector => create;
+					Class component = (Class) type;
+					Connector c = composite.createOwnedConnector("alloc to " + thread.getName()); //$NON-NLS-1$
+					ConnectorEnd ce1 = c.createEnd();
+					ce1.setPartWithPort(attribute);
+					// TODO: should really use start port instead...
+					// ce1.setRole(AllocUtils.getStartPort(component));
+					NamedElement ne = ElementUtils.getNamedElementFromList(component.getAllAttributes(), RUN);
+					if (ne instanceof Property) {
+						ce1.setRole((Property) ne);
+					}
+					ConnectorEnd ce2 = c.createEnd();
+					ce2.setPartWithPort(thread);
+					Type threadT = thread.getType();
+					if (threadT instanceof Class) {
+						// TODO: nicer way to obtain port ...
+						Property rLC = ((Class) threadT).getAttribute(R_RUN, null);
+						if (rLC instanceof Port) {
+							ce2.setRole(rLC);
+						}
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/ApplyRecursive.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/ApplyRecursive.java
new file mode 100644
index 0000000..09743ac
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/ApplyRecursive.java
@@ -0,0 +1,98 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.transformations;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.transformation.base.utils.ModelManagement;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoElem;
+import org.eclipse.papyrus.designer.transformation.extensions.IM2MTrafo;
+import org.eclipse.papyrus.designer.transformation.extensions.M2MTrafoExt;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Execute a transformation for each element of the model
+ */
+public class ApplyRecursive {
+		
+	public ApplyRecursive(M2MTrafo stTrafo, IM2MTrafoElem transformation) {
+		this.stTrafo = stTrafo;
+		this.transformation = transformation;
+	}
+
+	/**
+	 * recursively execute a transformation. Handle specific case of multiple root elements
+	 * (i.e. if a root element is passed and the resource has multiple root elements of type package,
+	 * the transformation is executed for all of these) 
+	 * @param pkg
+	 * @throws TransformationException
+	 */
+	public void applyRecursive(Package pkg) throws TransformationException {
+		
+		applyRecursiveSub(pkg);
+		
+		// handle specific case of multiple root elements
+		EList<ModelManagement> additionalRootPkgs = new BasicEList<ModelManagement>();
+		// work on copy, since recursive transformation might trigger the addition of new rootPkgs
+		additionalRootPkgs.addAll(TransformationContext.current.copier.getAdditionalRootPkgs());
+		for (ModelManagement mm : additionalRootPkgs) {
+			applyRecursiveSub(mm.getModel());
+		}
+	}
+	
+	/**
+	 * recursively execute a transformation on the passed model.
+	 * @param pkg
+	 * @throws TransformationException
+	 */
+	public void applyRecursiveSub(Package pkg)  throws TransformationException {
+		EList<PackageableElement> elements = new BasicEList<PackageableElement>();
+		elements.addAll(pkg.getPackagedElements());
+		for (PackageableElement pe : elements) {
+			if (pe instanceof Classifier) {
+				TransformationContext.current.classifier = (Classifier) pe;
+				if (transformation != null) {
+					// explicit transformation
+					transformation.transformElement(stTrafo, pe);
+				}
+				else {
+					// take transformation from stereotype
+					ApplyTransformation applyTrafo = UMLUtil.getStereotypeApplication(pe, ApplyTransformation.class);
+					if (applyTrafo != null) {
+						// execute the set of transformations applied to the element
+						for (M2MTrafo stTrafo : applyTrafo.getTrafo()) {
+							IM2MTrafo trafo = M2MTrafoExt.getM2MTrafo(stTrafo);
+							if (trafo instanceof IM2MTrafoElem) {
+								((IM2MTrafoElem) trafo).transformElement(stTrafo, pe);
+							}
+						}
+					}
+				}
+			} else if (pe instanceof Package) {
+				// recurse
+				applyRecursiveSub((Package) pe);
+			}
+		}
+	}
+
+	protected M2MTrafo stTrafo;
+
+	protected IM2MTrafoElem transformation;
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/CopyTo.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/CopyTo.java
new file mode 100644
index 0000000..ce5178b
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/CopyTo.java
@@ -0,0 +1,41 @@
+/**
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.eclipse.papyrus.designer.transformation.core.transformations;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil.Copier;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * This class enables the copy from a source to a given target element.
+ * It assumes that a copy has already been created, but will just not copy it...
+ * Unlike the @see Copier class, the element might be copied to a different place
+ */
+public class CopyTo {
+	/**
+	 * Copy an element from the source to a target
+	 *
+	 * @param source
+	 *            The element that should be copied
+	 * @param targetContainer
+	 *            The container into which it the source should be copied
+	 * @return the copied object
+	 */
+	@SuppressWarnings("unchecked")
+	public static <T extends Element> T copyTo(T source, Element targetContainer) {
+		Copier copier = new Copier();
+		EObject sourceContainer = source.eContainer();
+		if (sourceContainer != null) {
+			copier.put(sourceContainer, targetContainer);
+		}
+
+		EObject copy = copier.copy(source);
+		copier.copyAll(source.getStereotypeApplications());
+		copier.copyReferences();
+		return (T) copy;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/ExecuteTransformation.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/ExecuteTransformation.java
new file mode 100644
index 0000000..677544a
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/ExecuteTransformation.java
@@ -0,0 +1,92 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.transformations;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.transformation.base.utils.ModelManagement;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoCDP;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoElem;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoModelSplit;
+import org.eclipse.papyrus.designer.transformation.extensions.IM2MTrafo;
+import org.eclipse.papyrus.designer.transformation.extensions.M2MTrafoExt;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Execute a transformation for each element of the model
+ */
+public class ExecuteTransformation {
+		
+	public static final String MODEL = "model"; //$NON-NLS-1$
+
+	public static void apply(Iterator<Property> m2mPropertyIter) throws TransformationException {
+		if (!m2mPropertyIter.hasNext()) {
+			return;
+		}
+		Property m2mTrafoRef = m2mPropertyIter.next();
+		M2MTrafo m2mTrafo = UMLUtil.getStereotypeApplication(m2mTrafoRef.getType(), M2MTrafo.class);
+
+		if (m2mTrafo != null) {
+			IM2MTrafo eTrafo = M2MTrafoExt.getM2MTrafo(m2mTrafo);
+			Package deploymentPlan = TransformationContext.current.deploymentPlan;
+			if (eTrafo instanceof IM2MTrafoElem) {
+				ApplyRecursive ar = new ApplyRecursive(m2mTrafo, (IM2MTrafoElem) eTrafo);
+				ar.applyRecursive(PackageUtil.getRootPackage(deploymentPlan));
+				apply(m2mPropertyIter);
+			}
+			else if (eTrafo instanceof IM2MTrafoCDP) {
+				((IM2MTrafoCDP) eTrafo).applyTrafo(m2mTrafo, deploymentPlan);
+				apply(m2mPropertyIter);
+			}
+			else if (eTrafo instanceof IM2MTrafoModelSplit) {
+				EList<TransformationContext> newContexts = ((IM2MTrafoModelSplit) eTrafo).splitModel(m2mTrafo, deploymentPlan);
+				// create list of remaining M2M transformations
+				EList<Property> remainingTrafos = new BasicEList<Property>();
+				while (m2mPropertyIter.hasNext()) {
+					remainingTrafos.add(m2mPropertyIter.next());
+				}
+				// now apply to each create sub-models
+				for (TransformationContext newContext : newContexts) {
+					TransformationContext.current = newContext;
+					apply(remainingTrafos.iterator());
+					
+					// save models
+					String path = newContext.mm.getPath(newContext.project, MODEL, null);
+					newContext.mm.saveModel(path);
+					newContext.mm.dispose();
+					// also save & dispose additional projects
+					for (ModelManagement mm : newContext.copier.getAdditionalRootPkgs()) {
+						String pathAdds = mm.getPath(newContext.project, MODEL, null);
+						mm.saveModel(pathAdds);
+						mm.dispose();
+					}
+				}
+			}
+			else {
+				throw new TransformationException("Unknown (not registered) model-to-model transformation: " + m2mTrafo.toString());
+			}
+		}
+		else {
+			throw new TransformationException(String.format(
+					"type of element %s in chain does not have M2MTrafo stereotype applied.", m2mTrafoRef.getName()));
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/ExecuteTransformationChain.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/ExecuteTransformationChain.java
new file mode 100644
index 0000000..97fa632
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/ExecuteTransformationChain.java
@@ -0,0 +1,30 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.transformations;
+
+
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafoChain;
+
+/**
+ * This class executes a complete transformation chain. It executes the transformation in
+ * the order specified in the transformation chain.
+ */
+public class ExecuteTransformationChain {
+
+	public static void apply(M2MTrafoChain chain) throws TransformationException {
+		ExecuteTransformation.apply(
+				chain.getBase_Class().getAllAttributes().iterator());
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/InstantiateDepPlan.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/InstantiateDepPlan.java
new file mode 100644
index 0000000..3dd6c8d
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/InstantiateDepPlan.java
@@ -0,0 +1,325 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.transformations;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan;
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.deployment.tools.DeployConstants;
+import org.eclipse.papyrus.designer.transformation.base.UIContext;
+import org.eclipse.papyrus.designer.transformation.base.utils.CommandSupport;
+import org.eclipse.papyrus.designer.transformation.base.utils.ModelManagement;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.Activator;
+import org.eclipse.papyrus.designer.transformation.core.EnumService;
+import org.eclipse.papyrus.designer.transformation.core.Messages;
+import org.eclipse.papyrus.designer.transformation.core.generate.GenerationOptions;
+import org.eclipse.papyrus.designer.transformation.core.transformations.filters.FilterDeploymentPlan;
+import org.eclipse.papyrus.designer.transformation.extensions.InstanceConfigurator;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafoChain;
+import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * This class executes all transformations during the instantiation of a
+ * deployment plan, i.e. 1. The reification of connectors (including template
+ * instantiation). This transformation targets a new model 2. Adding
+ * get_p/connect_q operations to a class (transformation within same model) 3.
+ * Remove all component types 4. distribute to nodes
+ *
+ * @author ansgar
+ *
+ */
+public class InstantiateDepPlan {
+
+	/**
+	 * The location of the temporary model (relative to current project). TODO:
+	 * make configurable?
+	 */
+	public static final String TEMP_MODEL_FOLDER = "tmpModel"; //$NON-NLS-1$
+
+	/**
+	 * Postfix of the temporary model (prefix = name of top-level package).
+	 * TODO: make configurable?
+	 */
+	public static final String TEMP_MODEL_POSTFIX = "Tmp.uml"; //$NON-NLS-1$
+
+	/**
+	 * Progress monitor of Eclipse.
+	 */
+	protected IProgressMonitor monitor = null;
+
+	protected int generationOptions;
+
+	protected boolean generateCode;
+
+	protected boolean generateCACOnly;
+
+	protected Package srcModelComponentDeploymentPlan = null;
+
+	protected IProject project;
+
+	protected IProject genProject;
+
+	public void instantiate(Package pkg, IProgressMonitor monitor, IProject project, int genOptions) {
+		srcModelComponentDeploymentPlan = pkg;
+		//
+		this.project = project;
+		if (project == null) {
+			String projectName = pkg.eResource().getURI().toString();
+			this.project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+		}
+
+		//
+		instantiate(monitor, genOptions);
+	}
+
+	/**
+	 * Instantiate a deployment plan, i.e. generate an intermediate model via a
+	 * sequence of transformations
+	 *
+	 * @param umlElement
+	 *            a deployment plan (UML package) or a configuration (UML class)
+	 * @param monitor
+	 *            a progress monitor.
+	 *
+	 * @param project
+	 *            the current project. This information is used to store the
+	 *            intermediate model in a subfolder (tmpModel) of the current
+	 *            project
+	 * @param genOptions
+	 *            select whether to produce an intermediate model only, also
+	 *            code, ... @see GenerationOptions
+	 */
+	private void instantiate(IProgressMonitor monitor, int genOptions) {
+		try {
+			initialize(monitor, genOptions);
+			executeTransformation();
+		} catch (final TransformationException e) {
+			printAndDisplayErrorMessage(e, Messages.InstantiateDepPlan_TransformationException, false);
+		} catch (final Exception e) {
+			printAndDisplayErrorMessage(e, Messages.InstantiateDepPlan_ErrorsDuringTransformation, true);
+		}
+	}
+
+	private void initialize(IProgressMonitor monitor, int genOptions) throws TransformationException {
+		this.monitor = monitor;
+		this.generationOptions = genOptions;
+		this.generateCode = (genOptions & GenerationOptions.MODEL_ONLY) == 0;
+		this.generateCACOnly = (genOptions & GenerationOptions.CAC_ONLY) != 0;
+	}
+
+	protected void executeTransformation() throws Exception {
+		ModelManagement intermediateModelManagement = null;
+		UIContext.monitor = monitor;
+		UIContext.configureProject = (generationOptions & GenerationOptions.REWRITE_SETTINGS) != 0;
+		
+		// 1a: create a new model (and applies same profiles / imports)
+		Model existingModel = srcModelComponentDeploymentPlan.getModel();
+		TransformationContext tc = new TransformationContext();
+		TransformationContext.current = tc;
+		TransformationContext.initialSourceRoot = existingModel;
+
+		intermediateModelManagement = ModelManagement.createNewModel(existingModel, existingModel.getName(), false);
+
+		// get the temporary model
+		Package intermediateModel = intermediateModelManagement.getModel();
+
+		// create a package for global enumerations that are used by xtend code
+		EnumService.createEnumPackage(intermediateModel);
+
+		// create a lazy copier towards the intermediate model
+		LazyCopier intermediateModelCopier = new LazyCopier(existingModel, intermediateModel, true, true);
+		// add pre-copy and post-copy listeners to the copier
+		intermediateModelCopier.preCopyListeners.add(FilterDeploymentPlan.getInstance());
+
+		// 1b: reify the connectors "into" the new model
+		monitor.subTask(Messages.InstantiateDepPlan_InfoExpandingConnectors);
+
+		// obtain the component deployment plan in target model
+		Package intermediateModelComponentDeploymentPlan = (Package) intermediateModelCopier.shallowCopy(srcModelComponentDeploymentPlan);
+		intermediateModelCopier.createShallowContainer(srcModelComponentDeploymentPlan);
+
+		InstanceConfigurator.onNodeModel = false;
+
+		tc.copier = intermediateModelCopier;
+		Map<InstanceSpecification, InstanceSpecification> instanceMap = new HashMap<InstanceSpecification, InstanceSpecification>();
+		for (InstanceSpecification instance : DepUtils.getTopLevelInstances(srcModelComponentDeploymentPlan)) {
+			// InstanceSpecification newInstance = mainModelTrafo.transformInstance(instance, null);
+			InstanceSpecification newInstance = intermediateModelCopier.getCopy(instance);
+
+			// --------------------------------------------------------------------
+			checkProgressStatus();
+			// --------------------------------------------------------------------
+
+			TransformationUtil.applyInstanceConfigurators(newInstance);
+
+			TransformationUtil.propagateAllocation(newInstance);
+			instanceMap.put(instance, newInstance);
+		}
+		tc.deploymentPlan = intermediateModelCopier.getCopy(srcModelComponentDeploymentPlan);
+		tc.modelRoot = PackageUtil.getRootPackage(tc.deploymentPlan);
+
+		M2MTrafoChain chain = DepUtils.getTransformationChain(srcModelComponentDeploymentPlan);
+		
+		ExecuteTransformationChain.apply(chain);
+
+		/*
+		 * if (!generateCACOnly) {
+		 * deployOnNodes(instanceMap, existingModel, intermediateModel);
+		 * }
+		 */
+
+		intermediateModelManagement.saveModel(project, TEMP_MODEL_FOLDER, TEMP_MODEL_POSTFIX);
+		// also save additional root elements
+		for (ModelManagement mm : tc.copier.getAdditionalRootPkgs()) {
+			mm.saveModel(project, TEMP_MODEL_FOLDER, TEMP_MODEL_POSTFIX);
+		}
+		// --------------------------------------------------------------------
+		checkProgressStatus();
+		// --------------------------------------------------------------------
+
+		intermediateModelManagement.dispose();
+		// also dispose additional models
+		for (ModelManagement mm : tc.copier.getAdditionalRootPkgs()) {
+			mm.dispose();
+		}
+	}
+
+	private void destroyDeploymentPlanFolder(Model generatedModel) {
+		PackageableElement deploymentPlanFolder = generatedModel.getPackagedElement(DeployConstants.depPlanFolderHw);
+		if (deploymentPlanFolder != null) {
+			deploymentPlanFolder.destroy();
+		}
+	}
+
+	private void removeDerivedInterfacesInRoot(Model generatedModel) {
+		// 2b: remove derived interfaces in root: derived interfaces
+		// that can not be placed in the same package as the port type (e.g.
+		// since read-only type from system library), are put in a top-level
+		// package called "derivedInterfaces". Due to the copying of imports,
+		// the top-level package has changed which implies that new derived
+		// interfaces are put into a different package and the derivedInterfaces
+		// package in the original root becomes obsolete. Delete this obsolete
+		// package, if existing.
+		for (PackageableElement packagedElement : generatedModel.getPackagedElements()) {
+			if (packagedElement instanceof Package) {
+				NamedElement derivedInterfaces = ((Package) packagedElement).getPackagedElement("derivedInterfaces"); //$NON-NLS-1$
+				if (derivedInterfaces instanceof Package) {
+					derivedInterfaces.destroy();
+				}
+			}
+		}
+	}
+
+	/**
+	 * Return the name of a project that is associated with a model that
+	 * is deployed on a node (in the context of a deployment plan)
+	 * 
+	 * @param model
+	 *            The model that is deployed
+	 * @param node
+	 *            The node onto which the software is deployed
+	 * @return The resulting project name
+	 */
+	public String getProjectName(Model model, InstanceSpecification node) {
+		String projectName = model.getName() + "_" + node.getName(); //$NON-NLS-1$
+		projectName += "_" + srcModelComponentDeploymentPlan.getName(); //$NON-NLS-1$
+		DeploymentPlan depPlan = UMLUtil.getStereotypeApplication(srcModelComponentDeploymentPlan, DeploymentPlan.class);
+		if (depPlan != null) {
+			for (String mapping : depPlan.getProjectMappings()) {
+				if (mapping.startsWith(projectName)) {
+					int index = mapping.indexOf("="); //$NON-NLS-1$
+					if (index != -1) {
+						return mapping.substring(index + 1);
+					}
+				}
+			}
+		}
+		return projectName;
+	}
+
+	/**
+	 * 
+	 * @param canonicalProjectName
+	 *            the automatically calculated project name
+	 * @param userProjectName
+	 *            the project name choosen by the user
+	 */
+	public void updateProjectMapping(final String canonicalProjectName, final String userProjectName) {
+		CommandSupport.exec(srcModelComponentDeploymentPlan, "Update project mapping", new Runnable() {
+
+			@Override
+			public void run() {
+				DeploymentPlan depPlan = UMLUtil.getStereotypeApplication(srcModelComponentDeploymentPlan, DeploymentPlan.class);
+				String mapName = canonicalProjectName + "=" + userProjectName;
+				for (String mapping : depPlan.getProjectMappings()) {
+					if (mapping.startsWith(canonicalProjectName)) {
+						mapping = mapName;
+						return;
+					}
+				}
+				depPlan.getProjectMappings().add(mapName);
+			}
+		});
+
+	}
+
+	private void checkProgressStatus() throws InterruptedException {
+		if (monitor.isCanceled()) {
+			throw new InterruptedException();
+		}
+		monitor.worked(1);
+	}
+
+	private void printAndDisplayErrorMessage(Exception e, final String title, final boolean consultConsole) {
+		String message = e.toString();
+		if (consultConsole) {
+			message = message + "\n\n" //$NON-NLS-1$
+					+ Messages.InstantiateDepPlan_ConsultConsole;
+		}
+
+		printAndDisplayErrorMessage(e, title, message, consultConsole);
+	}
+
+	private void printAndDisplayErrorMessage(Exception e, final String title, final String message, final boolean consultConsole) {
+		e.printStackTrace();
+		displayError(title, message);
+		Activator.log.error(e);
+	}
+
+	private void displayError(final String title, final String message) {
+		Display.getDefault().syncExec(new Runnable() {
+			@Override
+			public void run() {
+				Shell shell = Display.getDefault().getActiveShell();
+				MessageDialog.openInformation(shell, title, message);
+			}
+		});
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/LazyCopier.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/LazyCopier.java
new file mode 100644
index 0000000..60a1918
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/LazyCopier.java
@@ -0,0 +1,907 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.transformations;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Stack;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.util.EcoreUtil.Copier;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.designer.transformation.base.utils.CopyUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.ModelManagement;
+import org.eclipse.papyrus.designer.transformation.base.utils.StUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.Activator;
+import org.eclipse.papyrus.designer.transformation.core.copylisteners.PostCopyListener;
+import org.eclipse.papyrus.designer.transformation.core.copylisteners.PreCopyListener;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * A specific copier that enables to make iterative and shallow copies of model elements
+ * from a source to a target model. It also supports copy-listeners, i.e. listeners that
+ * might apply modifications before and after an element is copied.
+ * This class is very useful for model transformations that make a lazy copy of elements,
+ * i.e. copy only elements that are needed in the target model.
+ *
+ * Iterative means that you can copy one element after another, i.e. you do not need
+ * to copy all elements in a single call.
+ * Shallow means that some elements are incomplete copies. For instance, if you copy an
+ * attribute of a class into the target model, the copy routine will create the attribute within
+ * a shallow copy of the original class. The created class is a kind of shallow "container". It
+ * is required, since we can't create the attribute without having a class, but it would initially
+ * only contain the attribute that we copy. This class would have the same qualified name as the
+ * original, i.e. it would be created within shallow packages.
+ * A shallow copy can be transformed into a "real" copy
+ * by explicitly copying it.
+ *
+ */
+public class LazyCopier extends Copier {
+
+	public enum CopyStatus {
+		/**
+		 * The status is not known, in most cases this indicates that the object has not yet been copied.
+		 */
+		UNKNOWN,
+
+		/**
+		 * A full copy obtained via the copy function. Full means that the contained features have been completely
+		 * copied
+		 */
+		FULL,
+
+		/**
+		 * A full copy in progress. Intermediate state of a target element after creation within the copy function,
+		 * before all attributes & references have been copied.
+		 */
+		INPROGRESS,
+
+		/**
+		 * A shallow copy, i.e. a copy only containing a subset of the original element. These are typically containers
+		 * for copied objects and avoids that the copies are not enclosed in an object. A shallow copy may become a full
+		 * copy later on.
+		 */
+		SHALLOW
+	}
+
+	public static final EObject useSourceEObject = EcoreFactory.eINSTANCE.createEObject();
+	
+	/**
+	 *
+	 * @param source
+	 *            source package (root)
+	 * @param target
+	 *            target package (root)
+	 * @param copyExtResources_
+	 *            copy elements that are not within the same resource instead of referencing them.
+	 * @param copyID
+	 *            copyID true, if XML IDs should be copied as well.
+	 */
+	public LazyCopier(Package source, Package target, boolean copyExtResources_, boolean copyID) {
+		this.source = source;
+		this.target = target;
+		// useOriginalReferences = false;
+		copyExtReferences = copyExtResources_;
+		preCopyListeners = new BasicEList<PreCopyListener>();
+		postCopyListeners = new BasicEList<PostCopyListener>();
+		templateMapInfo = new HashMap<EObject, Map<EObject, EObject>>();
+		standardMap = new HashMap<EObject, EObject>();
+		statusMap = new HashMap<EObject, CopyStatus>();
+		boundPackages = new Stack<Namespace>();
+		put(source, target);
+		setStatus(target, CopyStatus.SHALLOW);
+		this.copyID = copyID;
+		if (copyID) {
+			CopyUtils.copyID(source, target);
+		}
+		rootPkgs = new BasicEList<ModelManagement>();
+	};
+
+	/**
+	 *
+	 */
+	private static final long serialVersionUID = -1664013545661635289L;
+
+	/**
+	 * Source model within a transformation
+	 */
+
+	public Package source;
+
+	/**
+	 * Target model within a transformation
+	 */
+	public Package target;
+
+	/**
+	 * if true, copy packages or elements that are imported into the target
+	 * model
+	 */
+	public boolean copyExtReferences;
+
+	/**
+	 * Bound package template
+	 */
+	protected Namespace boundPackage;
+
+	/**
+	 * Map to identify target objects when given source objects
+	 */
+	protected Map<EObject, EObject> standardMap;
+
+	/**
+	 * Map to identify target objects when given source objects
+	 */
+	protected Map<EObject, EObject> templateMap;
+
+	/**
+	 * Set of maps for template instantiations
+	 */
+	protected Map<EObject, Map<EObject, EObject>> templateMapInfo;
+
+	/**
+	 * Map using a target EObject as key
+	 */
+	protected Map<EObject, CopyStatus> statusMap;
+
+	protected boolean copyID;
+
+	protected EList<ModelManagement> rootPkgs;
+
+	/**
+	 * Elements within package templates must be treated differently, we have to ensure that:
+	 * (1) several instantiations with same binding of the same package template do not lead to double copies
+	 * (yet, it may be possible that a 2nd instantiation adds contents, e.g. the trace package template could be
+	 * instantiated containing only OTF trace (and superclasses), a second instantiation might add a different trace
+	 * implementation)
+	 * (2) several instantiations with different binding do not prevent classes from being copied that have already
+	 * been copied earlier.
+	 * The solution is to use a different map for the elements with package template. This map is instantiated once
+	 * for each binding (managed by the TemplateInstantiation class)
+	 */
+	public Map<EObject, EObject> getMap(EObject sourceEObj) {
+		boolean withinTemplate = withinTemplate(sourceEObj);
+		return withinTemplate ?
+				templateMap :
+				standardMap;
+	}
+
+	/**
+	 * Elements from referenced resources might get copied as well and become
+	 * additional root pkgs.
+	 * @return
+	 */
+	public EList<ModelManagement> getAdditionalRootPkgs() {
+		return rootPkgs;
+	}
+	
+	@Override
+	public EObject get(Object sourceEObj) {
+		if (sourceEObj instanceof EObject) {
+			Map<EObject, EObject> map = getMap((EObject) sourceEObj);
+			return map.get(sourceEObj);
+		}
+		return null;
+	}
+
+	@Override
+	public EObject put(EObject sourceEObj, EObject targetEObj) {
+		if (sourceEObj instanceof EObject) {
+			Map<EObject, EObject> map = getMap(sourceEObj);
+			return map.put(sourceEObj, targetEObj);
+		}
+		return null;
+	}
+
+	/**
+	 * Put a pair into the copy map. Unlike the standard put operation,
+	 * the target object is marked as full copy.
+	 * Just using the put operation leads to bug 422899 - [QDesigner] Regression in
+	 * template instantiation
+	 *
+	 * @return
+	 */
+	public EObject putPair(EObject sourceEObj, EObject targetEObj) {
+		EObject target = put(sourceEObj, targetEObj);
+		setStatus(targetEObj, CopyStatus.FULL);
+		return target;
+	}
+
+	@Override
+	public boolean containsKey(Object sourceEObj) {
+		if (sourceEObj instanceof EObject) {
+			Map<EObject, EObject> map = getMap((EObject) sourceEObj);
+			return map.containsKey(sourceEObj);
+		}
+		return false;
+	}
+
+	@Override
+	public EObject remove(Object sourceEObj) {
+		if (sourceEObj instanceof EObject) {
+			Map<EObject, EObject> map = getMap((EObject) sourceEObj);
+			return map.remove(sourceEObj);
+		}
+		return null;
+	}
+
+	/**
+	 * Set the status of a copy object
+	 *
+	 * @param targetEObj
+	 * @param status
+	 */
+	public void setStatus(EObject targetEObj, CopyStatus status) {
+		statusMap.put(targetEObj, status);
+	}
+
+	/**
+	 * return true, if a shallow copy of the passed EObject exists
+	 *
+	 * @param sourceEObj
+	 * @return
+	 */
+	public CopyStatus getStatus(EObject targetEObj) {
+		if (targetEObj != null) {
+			CopyStatus status = statusMap.get(targetEObj);
+			if (status != null) {
+				return status;
+			}
+		}
+		return CopyStatus.UNKNOWN;
+	}
+
+	/**
+	 * Set the reference of a bound package template. It must be a member of the target model.
+	 * Setting the package template is required to assure that elements that are part of a different
+	 * resource get copied (if the copyExtReferences flag is set to false, copying would not be done otherwise)
+	 *
+	 * @param packageTemplate
+	 *            Reference to package (with a template signature) in source model that should be instantiated
+	 * @param boundPackage
+	 *            Reference to (an initially empty) package in which the packate template will be instantiated
+	 *            during the copy process
+	 */
+	public void setPackageTemplate(Namespace packageTemplate, Namespace boundPackage) {
+		this.boundPackage = boundPackage;
+		if (packageTemplate == null) {
+			return;
+		}
+		templateMap =
+				templateMapInfo.get(boundPackage);
+		if (templateMap == null) {
+			templateMap = new HashMap<EObject, EObject>();
+			templateMapInfo.put(boundPackage, templateMap);
+		}
+		// declare relation between packageTemplate and bound package
+		// but: the owner of the package template is not equal to the packageTemplate (e.g. perClass)
+		// since we can extend package templates in different models.
+		standardMap.put(packageTemplate, boundPackage);
+	}
+
+	public void pushPackageTemplate() {
+		boundPackages.push(boundPackage);
+	}
+
+	public void popPackageTemplate() {
+		boundPackage = boundPackages.pop();
+		templateMap =
+				templateMapInfo.get(boundPackage);
+	}
+
+	private Stack<Namespace> boundPackages;
+
+	@SuppressWarnings("unchecked")
+	public EList<EObject> getRefs(EReference eReference, EObject eObject) {
+		EList<EObject> refs = new BasicEList<EObject>();
+		if (eObject.eIsSet(eReference)) {
+			if (eReference.isMany()) {
+				// @SuppressWarnings("unchecked")
+				refs.addAll((List<EObject>) eObject.eGet(eReference));
+			} else {
+				refs.add((EObject) eObject.eGet(eReference));
+			}
+		}
+		return refs;
+	}
+
+	/**
+	 * Check whether the passed element (within the source model) is within a
+	 * a template, i.e. one of is owners is mapped towards the bound package in
+	 * the target model. Note that multiple owners in the source model may be
+	 * mapped to the same bound package.
+	 *
+	 * @param element
+	 * @return
+	 */
+	public boolean withinTemplate(EObject element) {
+		if (boundPackage != null) {
+			EObject owner = element;
+			if ((element.eContainer() == null) &&
+					!(element instanceof Element)) { // has no eContainer and is not a UML element => likely to be a be a stereotype application.
+				// it is important not to call getBaseElement for all eobjects, since its execution can take
+				// quite a while (in particular, if not called on a stereotype application)
+				Element base = UMLUtil.getBaseElement(owner);
+				if (base != null) {
+					owner = base; // containment check is done with base element
+				}
+			}
+			while (owner != null) {
+				owner = owner.eContainer();
+				if (get(owner) == boundPackage) {
+					return true;
+				}
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * Returns a copy of the given eObject.
+	 *
+	 * Normally, we do not want to copy elements that are from a different
+	 * resource. There are two exceptions (1) if this is explicitly specified
+	 * (for producing "complete" models) (2) if we want to copy elements from a
+	 * template into the target model.
+	 *
+	 * @param sourceEObj
+	 *            the object to copy.
+	 * @return the copy.
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public EObject copy(EObject sourceEObj) {
+		if (sourceEObj == null) {
+			// this case may happen, if elements are systematically copied without checking for
+			// null references in the application code (e.g. if we copy a part-with-port which might
+			// be null in case of delegation or connectors without ports
+			return null;
+		}
+
+
+		EObject targetEObj = get(sourceEObj);
+
+		CopyStatus status = getStatus(targetEObj);
+
+		if (status == CopyStatus.FULL || status == CopyStatus.INPROGRESS) {
+			// copy already exists, return targetEObj
+			return targetEObj;
+		}
+
+		boolean withinTemplate = withinTemplate(sourceEObj);
+		boolean sameResource = (sourceEObj.eResource() == source.eResource());
+		if (!sameResource && !copyExtReferences && !withinTemplate) {
+			// do not copy if within different resource, unless
+			// 1. copyExtReferences
+			// 2. within package template
+			return sourceEObj;
+		}
+	
+		if ((sourceEObj instanceof Stereotype) || (sourceEObj instanceof Profile)) {
+			// do not copy Stereotypes, as it would imply copying meta-model elements (the base_X
+			// attribute of the stereotype is typed with a meta-model element)
+			return sourceEObj;
+		}
+
+		for (PreCopyListener listener : preCopyListeners) {
+			EObject result = listener.preCopyEObject(this, sourceEObj);
+			if (result != sourceEObj) {
+				if (result == useSourceEObject) {
+					return sourceEObj;
+				}
+				return result;
+			}
+		}
+
+		if (sourceEObj instanceof NamedElement) {
+			String name = ((NamedElement) sourceEObj).getQualifiedName();
+			if ((name != null) && name.startsWith("uml::")) { //$NON-NLS-1$
+				Activator.log.debug("copy for meta-model element \"" + name + //$NON-NLS-1$
+						"\" requested. Return original element"); //$NON-NLS-1$
+				return sourceEObj;
+			}
+		}
+		// additional sanity check: want to avoid copying (instead of instantiating) elements
+		// of a package template
+		if ((sourceEObj instanceof Package) && (!withinTemplate)) {
+			if (((Package) sourceEObj).getOwnedTemplateSignature() != null) {
+				Activator.log.debug("warning: copying a package template without instantiating a template"); //$NON-NLS-1$
+			}
+		}
+
+		if (status == CopyStatus.SHALLOW) {
+			// copy exists, but was a shallow copy, change status to INPROGRESS
+			setStatus(targetEObj, CopyStatus.INPROGRESS);
+		}
+		else {
+			targetEObj = createCopy(sourceEObj);
+			put(sourceEObj, targetEObj);
+			setStatus(targetEObj, CopyStatus.INPROGRESS);
+			if (copyID) {
+				CopyUtils.copyID(sourceEObj, targetEObj);
+			}
+			// creates a shallow copy of the container. This container will update containment references (such as packagedElement)
+			// and thus update links
+			createShallowContainer(sourceEObj);
+		}
+		EClass eClass = sourceEObj.eClass();
+		for (int i = 0, size = eClass.getFeatureCount(); i < size; ++i)
+		{
+			EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(i);
+			if (eStructuralFeature.isChangeable() && !eStructuralFeature.isDerived())
+			{
+				if (eStructuralFeature instanceof EAttribute) {
+					copyAttribute((EAttribute) eStructuralFeature, sourceEObj, targetEObj);
+				}
+				else {
+					EReference eReference = (EReference) eStructuralFeature;
+					if (eReference.isContainment()) {
+						copyContainment(eReference, sourceEObj, targetEObj);
+					}
+					// some containment relationships require copying the container completely
+					// e.g. if an owned template signature is referenced, we need to follow the "template"
+					// reference, which subsets the "owner" relationship.
+					// e.g. if an operation is referenced, we need to copy the whole interface
+					// Currently: only the standard owning reference is not copied recursively.
+
+					else if (!eReference.getName().equals("owner") && //$NON-NLS-1$
+							(!eReference.getName().equals("owningInstance"))) { //$NON-NLS-1$
+						Object feature = sourceEObj.eGet(eStructuralFeature);
+						if (feature instanceof Element) {
+							copy((Element) feature);
+						} else if (feature instanceof EList) {
+							copyAll((EList<Object>) feature);
+						}
+						copyReference(eReference, sourceEObj, targetEObj);
+					}
+				}
+			}
+			else if ((eStructuralFeature instanceof EReference)) {
+				if (eStructuralFeature.getName().equals("clientDependency")) { //$NON-NLS-1$
+					Object feature = sourceEObj.eGet(eStructuralFeature);
+
+					if (feature instanceof Element) {
+						copy((Element) feature);
+					} else if (feature instanceof EList) {
+						copyAll((EList<Object>) feature);
+					}
+				}
+			}
+		}
+		copyProxyURI(sourceEObj, targetEObj);
+		CopyUtils.copyID(sourceEObj, targetEObj);
+		copyStereotypes(sourceEObj);
+		setStatus(targetEObj, CopyStatus.FULL);
+
+		for (PostCopyListener listener : postCopyListeners) {
+			listener.postCopyEObject(this, targetEObj);
+		}
+
+		return targetEObj;
+	}
+
+	/**
+	 * @param sourceEObj
+	 * @return a copy, if it already exists. If it does not exist, return the
+	 *         source object itself, if no copy is required, otherwise return null.
+	 */
+	public EObject noCopy(EObject sourceEObj) {
+		boolean withinTemplate = withinTemplate(sourceEObj);
+		boolean sameResource = (sourceEObj.eResource() == source.eResource());
+		if (!sameResource && !copyExtReferences && !withinTemplate) {
+			return sourceEObj;
+		}
+		else {
+			return get(sourceEObj);
+		}
+	}
+
+	/**
+	 * Copy stereotype applications. Since stereotype applications are not part of the containment of an eObject, they are not copied by the
+	 * generic function.
+	 * A problem of copying stereotypes is that it may drag whole hierarchies with it, for instance if we copy the base_ attributes,
+	 * we transform a shallow copy into a normal copy.
+	 * => always make shallow copies of packages, never shallow copies of classes? [the split into fragments is solved, but the split of the system component???]
+	 */
+	public void copyStereotypes(EObject sourceEObj, boolean duringShallow) {
+		if (sourceEObj instanceof Element) {
+
+			for (EObject stereoApplication : ((Element) sourceEObj).getStereotypeApplications()) {
+				EObject copiedStereoApplication = (duringShallow) ?
+						shallowCopy(stereoApplication) :
+						copy(stereoApplication);
+
+				if (copiedStereoApplication != null) {
+					// UMLUtil.setBaseElement(copiedStereoApplication, (Element) get(sourceEObj));
+					// add copied stereotype application to the resource (as top-level objects).
+					if (!target.eResource().getContents().contains(copiedStereoApplication)) {
+						target.eResource().getContents().add(copiedStereoApplication);
+					}
+				}
+			}
+		}
+	}
+
+	public void copyStereotypes(EObject sourceEObj) {
+		copyStereotypes(sourceEObj, false);
+	}
+
+	public void shallowCopyStereotypes(EObject sourceEObj) {
+		copyStereotypes(sourceEObj, true);
+	}
+
+	/**
+	 * Copy the containment of an element with respect to a certain reference
+	 *
+	 * @see org.eclipse.emf.ecore.util.EcoreUtil.Copier#copyContainment(org.eclipse.emf.ecore.EReference, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EObject)
+	 *      Differences to referenced function in ECoreUtil
+	 *      - If an element in copyAll is null, it is not added
+	 *      - List elements are always cleared before copying, since the list elements may already have been
+	 *      partially filled by a previous shallow copy
+	 *
+	 * @param eReference
+	 *            a reference, such as for instance packagedElement (the
+	 *            caller needs to check, is this reference is a containment reference).
+	 * @param eObject
+	 *            the source eObject
+	 * @param copyEObject
+	 *            the copy of this eObject
+	 */
+	@Override
+	protected void copyContainment(EReference eReference, EObject eObject, EObject copyEObject) {
+		if (eObject.eIsSet(eReference)) {
+			if (eReference.isMany()) {
+				@SuppressWarnings("unchecked")
+				List<EObject> source = (List<EObject>) eObject.eGet(eReference);
+				@SuppressWarnings("unchecked")
+				List<EObject> target = (List<EObject>) copyEObject.eGet(getTarget(eReference));
+				// do not clear target element (would remove elements that are added by copy listeners)
+				// But: better enforce exact copy? (listeners could only add in a post-copy step)
+				// target.clear();
+				if (!source.isEmpty()) {
+					for (EObject copyEObj : copyAll(source)) {
+						if (copyEObj != null) {
+							target.add(copyEObj);
+						}
+					}
+				}
+			} else {
+				EObject childEObject = (EObject) eObject.eGet(eReference);
+				copyEObject.eSet(getTarget(eReference), childEObject == null ? null : copy(childEObject));
+			}
+		}
+	}
+
+	/**
+	 * Copy the containment in a "shallow" way, i.e. copy references to contained objects, if these exist already.
+	 * If called for instance for a package, it will add those elements to the packagedElements list of the
+	 * target package, that have already been copied.
+	 *
+	 * @param eReference
+	 * @param eObject
+	 * @param copyEObject
+	 */
+	protected void shallowCopyContainment(EReference eReference, EObject eObject, EObject copyEObject) {
+		if (eObject.eIsSet(eReference)) {
+			if (eReference.isMany()) {
+				@SuppressWarnings("unchecked")
+				List<EObject> source = (List<EObject>) eObject.eGet(eReference);
+				@SuppressWarnings("unchecked")
+				List<EObject> target = (List<EObject>) copyEObject.eGet(getTarget(eReference));
+				if (source.isEmpty()) {
+					target.clear();
+				} else {
+					for (EObject sourceEObj : source) {
+						// if eObject has already been copied, add it to target
+						// don't add, if copyEObj is identical to sourceEObj. This would imply manipulating an
+						// element of the source model.
+						EObject copyEObj = noCopy(sourceEObj);
+						if ((copyEObj != null) && (copyEObj != sourceEObj) && (!target.contains(copyEObj))) {
+							try  {
+								target.add(copyEObj);
+							}
+							catch (Exception e) {
+								System.err.println(e);
+							}
+						}
+					}
+				}
+			} else {
+				EObject childEObject = (EObject) eObject.eGet(eReference);
+				// get will return null, if object should not be copied. In this case, we do not want to replace
+				copyEObject.eSet(getTarget(eReference), childEObject == null ? null : noCopy(childEObject));
+			}
+		}
+	}
+
+	/**
+	 * Create a "shallow" container for an object, i.e. create (recursively) the owner without
+	 * adding all other children of this owner (e.g. in case of a package, the package itself will
+	 * be created, but not all elements within that package).
+	 *
+	 * @param sourceEObj
+	 */
+	public void createShallowContainer(EObject sourceEObj) {
+		EObject owner = sourceEObj.eContainer();
+		EObject copy = null;
+		EObject lastSource = null;
+		EList<EObject> copyStereoList = new BasicEList<EObject>();
+		boolean contained = false;
+		while (owner != null) {
+			if (containsKey(owner)) {
+				// owner is in map, still need to re-copy (update) the containment
+				// references, since one of the children did not exist before
+				shallowCopy(owner);
+				contained = true;
+				break;
+			}
+			copy = shallowCopy(owner);
+			copyStereoList.add(lastSource);
+			lastSource = owner;
+			owner = owner.eContainer();
+		}
+		if (copy instanceof Package && !contained) {
+			Package copiedPkg = (Package) copy;
+	
+			// if we copy external resources, we might reach the "top" on the source level
+			// which becomes a new top-level element that is added to a new resource (managed by the
+			// model management instance) below.
+			ModelManagement mm = new ModelManagement(copiedPkg);
+			rootPkgs.add(mm);
+			
+			try {
+				StUtils.copyProfileApplications((Package) lastSource, copiedPkg);
+			}
+			catch (TransformationException e) {
+				throw new RuntimeException(e);
+			}
+		}
+		// copy the stereotypes after the container has been created completely
+		// (stereotypes are added to the resource contents, which becomes defined after
+		// adding an element to the model tree)
+		for (EObject copyStereo : copyStereoList) {
+			copyStereotypes(copyStereo);
+		}
+	}
+
+	/**
+	 * Make a shallow copy of an element, i.e. only create the element itself and not
+	 * all of its contents. If a subset of the containing elements already exist in the copied
+	 * model, update the containment references pointing to these. The function may be called
+	 * multiple times in order to add elements to the containment references that
+	 * have been copied since the previous call (i.e. it is possible to make a shallow copy
+	 * of a package after a single class within it has been copied. It may be called again,
+	 * once a second class within the package has been copied => the packagedElements reference
+	 * of the package will be updated).
+	 *
+	 * It is important that the implementation of this object does not make recursive calls.
+	 * In particular, stereotypes are based on shallow copy as well. This means that stereotype
+	 * attributes that reference other model elements will only be initialized if these elements
+	 * exist already.
+	 *
+	 * @param sourceEObj
+	 * @return
+	 */
+	public EObject shallowCopy(EObject sourceEObj) {
+		boolean first = false;
+		EObject targetEObj = get(sourceEObj);
+		if (targetEObj == null) {
+			targetEObj = createCopy(sourceEObj);
+			put(sourceEObj, targetEObj);
+			setStatus(targetEObj, CopyStatus.SHALLOW);
+			if (copyID) {
+				CopyUtils.copyID(sourceEObj, targetEObj);
+			}
+			first = true;
+		}
+		else if (getStatus(targetEObj) == CopyStatus.FULL) {
+			// object has already been completely copied. Nothing to do, return targetEObj.
+			// Note that this implies that the update of references below is called for full copies
+			// in progress and shallow copies. The former assures that all copied elements have an
+			// eContainer during the call of pre-copy listeners (example: if a class is copied, its
+			// operations are recursively copied, the ownedOperation relationship is only updated
+			// *afterwards* by the code within the (full) copy operation).
+			return targetEObj;
+		}
+
+		shallowCopyStereotypes(sourceEObj);
+
+		EClass eClass = sourceEObj.eClass();
+
+		for (int i = 0, size = eClass.getFeatureCount(); i < size; ++i) {
+			EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(i);
+			if (eStructuralFeature.isChangeable() && !eStructuralFeature.isDerived()) {
+				if (eStructuralFeature instanceof EAttribute) {
+					// copy all attributes during first pass after creation of target object
+					if (first) {
+						copyAttribute((EAttribute) eStructuralFeature, sourceEObj, targetEObj);
+					}
+				} else {
+					EReference eReference = (EReference) eStructuralFeature;
+					// create a shallow copy of the containment: update only references already in the copy map
+					if (sourceEObj != targetEObj) {
+						shallowCopyContainment(eReference, sourceEObj, targetEObj);
+					}
+				}
+			}
+		}
+		return targetEObj;
+	}
+
+	@SuppressWarnings("unchecked")
+	public <T extends Element> T getCopy(T source) {
+		return (T) copy(source);
+	}
+
+	public EList<PreCopyListener> preCopyListeners;
+
+	public EList<PostCopyListener> postCopyListeners;
+
+	/**
+	 * Called to handle the copying of a cross reference;
+	 * this adds values or sets a single value as appropriate for the multiplicity
+	 * while omitting any bidirectional reference that isn't in the copy map.
+	 *
+	 * @param eReference
+	 *            the reference to copy.
+	 * @param eObject
+	 *            the object from which to copy.
+	 * @param copyEObject
+	 *            the object to copy to.
+	 */
+	@Override
+	protected void copyReference(EReference eReference, EObject eObject, EObject copyEObject)
+	{
+		if (eObject.eIsSet(eReference)) {
+			if (eReference.isMany()) {
+				@SuppressWarnings("unchecked")
+				InternalEList<EObject> source = (InternalEList<EObject>) eObject.eGet(eReference);
+				@SuppressWarnings("unchecked")
+				InternalEList<EObject> target = (InternalEList<EObject>) copyEObject.eGet(getTarget(eReference));
+				if (source.isEmpty()) {
+					target.clear();
+				}
+				else {
+					boolean isBidirectional = eReference.getEOpposite() != null;
+					int index = 0;
+					for (Iterator<EObject> k = resolveProxies ? source.iterator() : source.basicIterator(); k.hasNext();) {
+						EObject referencedEObject = k.next();
+						EObject copyReferencedEObject = get(referencedEObject);
+						// check filters (modification compared to method in superclass)
+						boolean noCopy = false;
+						for (PreCopyListener listener : preCopyListeners) {
+							EObject result = listener.preCopyEObject(this, referencedEObject);
+							if (result != referencedEObject) {
+								copyReferencedEObject = result;
+								noCopy = (result == null);
+								break;
+							}
+						}
+						if (noCopy) {
+							continue;
+						}
+						if (copyReferencedEObject == null) {
+							if (useOriginalReferences && !isBidirectional) {
+								target.addUnique(index, referencedEObject);
+								++index;
+							}
+						}
+						else {
+							if (isBidirectional) {
+								int position = target.indexOf(copyReferencedEObject);
+								if (position == -1) {
+									target.addUnique(index, copyReferencedEObject);
+								}
+								else if (index != position) {
+									target.move(index, copyReferencedEObject);
+								}
+							}
+							else if (!target.contains(copyReferencedEObject)) {
+								// TODO: does not allow multiple identical elements in the list. Problematic?
+								// Check above is necessary, since some references that are not
+								// part of the containment may have already been copied (e.g. in case of
+								// a TemplateSignature "ownedParameter" subsets "parameter", thus copying
+								// ownedParameter as part of the containment adds a template parameter)
+								target.addUnique(index, copyReferencedEObject);
+							}
+							++index;
+						}
+					}
+				}
+			}
+			else {
+				Object referencedEObject = eObject.eGet(eReference, resolveProxies);
+				if (referencedEObject == null) {
+					copyEObject.eSet(getTarget(eReference), null);
+				}
+				else if (referencedEObject instanceof EObject) {
+					// difference to original code in EcoreUtil: we obtain a copy (which might be null or the
+					// source object) of the referenced EObject. This assures that we only set a value of a
+					// reference to something we actually want to have in the target model.
+					// Specific problematic case in original code: classifierBehavior is a reference, but assigning such
+					// a behavior will also add an owned behavior. If we assign a referencedEObject (a behavior) from the
+					// source model in the target, we will actually remove it from the source model (as it is uniquely owned).
+					EObject copyReferencedEObject = copy((EObject) referencedEObject);
+					if (copyReferencedEObject != null) {
+						copyEObject.eSet(getTarget(eReference), copyReferencedEObject);
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * Copy all methods from the passed source-model class.
+	 * This function is useful, if the passed class only exist
+	 * as a shallow copy.
+	 *
+	 * @param source
+	 *            A class within the source model
+	 */
+	public void copyMethods(Class source) {
+		for (Behavior method : source.getOwnedBehaviors()) {
+			getCopy(method);
+		}
+	}
+
+	/**
+	 * Copy all attributes from the source-model classifier
+	 * This function is useful, if the passed class only exist
+	 * as a shallow copy.
+	 *
+	 * @param source
+	 *            A classifier within the source model
+	 */
+	public void copyAttributes(Classifier source) {
+		for (Property attribute : source.getAttributes()) {
+			getCopy(attribute);
+		}
+	}
+
+	/**
+	 * copy all operations from the source-model classifier.
+	 * This function is useful, if the passed class only exist
+	 * as a shallow copy.
+	 *
+	 * @param source
+	 *            A classifier within the source model
+	 */
+	public void copyOperations(Classifier source) {
+		for (Operation operation : source.getOperations()) {
+			getCopy(operation);
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/TransformationContext.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/TransformationContext.java
new file mode 100644
index 0000000..78127ca
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/TransformationContext.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.transformations;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.papyrus.designer.languages.common.extensionpoints.ILangProjectSupport;
+import org.eclipse.papyrus.designer.transformation.base.utils.ModelManagement;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Package;
+
+/**
+ * Return information about the current values in the context of a transformation
+ * e.g. the current instance, the current port (container transformation), ...
+ *
+ */
+public class TransformationContext {
+
+	public Package deploymentPlan;
+
+	public ModelManagement mm;
+	
+	public IProject project;
+	
+	public ILangProjectSupport projectSupport;
+	
+	public Package modelRoot;
+
+	public LazyCopier copier;
+		
+	// the element, to which transformations are currently applied.
+	public Classifier classifier;
+	
+	public InstanceSpecification node;
+
+	public static TransformationContext current;
+	
+	public static Package initialSourceRoot;
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/TransformationUtil.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/TransformationUtil.java
new file mode 100644
index 0000000..5707cbd
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/TransformationUtil.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.core.transformations;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.UniqueEList;
+import org.eclipse.papyrus.designer.deployment.tools.AllocUtils;
+import org.eclipse.papyrus.designer.deployment.tools.ConfigUtils;
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.transformation.core.Activator;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+
+public class TransformationUtil {
+	public static void applyInstanceConfigurators(InstanceSpecification instance) {
+		for (Slot slot : instance.getSlots()) {
+			InstanceSpecification subInstance = DepUtils.getInstance(slot);
+			if (!DepUtils.isShared(slot) && (subInstance != null)) {
+				if (slot.getDefiningFeature() instanceof Property) {
+					ConfigUtils.configureInstance(subInstance, (Property) slot.getDefiningFeature(), instance);
+				}
+				applyInstanceConfigurators(subInstance);
+			}
+		}
+	}
+
+	public static void propagateAllocation(InstanceSpecification instance) {
+		propagateAllocation(instance, new UniqueEList<InstanceSpecification>());
+	}
+
+	public static void propagateAllocation(InstanceSpecification instance, EList<InstanceSpecification> nodes) {
+		// create copy of node (otherwise, more and more nodes get aggregated.
+		UniqueEList<InstanceSpecification> nodesCopy = new UniqueEList<InstanceSpecification>();
+		nodesCopy.addAll(nodes);
+		nodesCopy.addAll(AllocUtils.getNodes(instance));
+		for (Slot slot : instance.getSlots()) {
+			InstanceSpecification subInstance = DepUtils.getInstance(slot);
+			if (subInstance != null) {
+				if (DepUtils.isShared(slot)) {
+					for (InstanceSpecification node : nodesCopy) {
+						Activator.log.info(String.format("Propagate node allocation: %s to %s", subInstance.getName(), node.getName())); //$NON-NLS-1$
+						AllocUtils.allocate(subInstance, node);
+					}
+				}
+				else {
+					propagateAllocation(subInstance, nodesCopy);
+				}
+			}
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/UpdateUtils.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/UpdateUtils.java
new file mode 100644
index 0000000..2910f28
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/UpdateUtils.java
@@ -0,0 +1,85 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.transformations;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationRTException;
+import org.eclipse.papyrus.designer.transformation.core.Messages;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Utility functions for the update derived elements, e.g. operations of a component
+ * that depend on the operations of an interface that is offered by the component.
+ */
+public class UpdateUtils {
+
+	public static EList<Element> getDerivedElements(Package pkg, NamedElement source) {
+		EList<Element> list = new BasicEList<Element>();
+		Iterator<NamedElement> members = pkg.getOwnedMembers().iterator();
+		while (members.hasNext()) {
+			NamedElement member = members.next();
+			if (getSource(member) == source) {
+				list.add(member);
+			}
+			if (member instanceof Package) {
+				EList<Element> subList = getDerivedElements((Package) member, source);
+				list.addAll(subList);
+			}
+		}
+		return list;
+	}
+
+	public static Element getDerivedElement(EList<? extends Element> list, Element source) {
+		Iterator<? extends Element> elements = list.iterator();
+		while (elements.hasNext()) {
+			Element element = elements.next();
+			if (StereotypeUtil.isApplied(element, DerivedElement.class)) {
+				DerivedElement de = UMLUtil.getStereotypeApplication(element, DerivedElement.class);
+				if ((de != null) && (de.getSource() == source)) {
+					return element;
+				}
+			}
+		}
+		return null;
+	}
+
+	public static void setSource(Element derivedElement, Element source) {
+		DerivedElement de = StereotypeUtil.applyApp(derivedElement, DerivedElement.class);
+		if (de != null) {
+			de.setSource(source);
+		}
+		else {
+			throw new TransformationRTException(Messages.UpdateUtils_CannotApplyFCMstereo);
+		}
+	}
+
+	public static Element getSource(Element element) {
+		if (StereotypeUtil.isApplied(element, DerivedElement.class)) {
+			DerivedElement de = UMLUtil.getStereotypeApplication(element, DerivedElement.class);
+			if (de != null) {
+				return de.getSource();
+			}
+		}
+		return null;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/filters/FilterDeploymentPlan.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/filters/FilterDeploymentPlan.java
new file mode 100644
index 0000000..a4c65f7
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/filters/FilterDeploymentPlan.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.transformations.filters;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan;
+import org.eclipse.papyrus.designer.transformation.core.copylisteners.PreCopyListener;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+
+/**
+ * This filter removes the deployment plan stereotype. The objective is to
+ * avoid creating a copy of transformation chain (referenced via the deployment plan)
+ * in the target model
+ */
+public class FilterDeploymentPlan implements PreCopyListener {
+
+	public static FilterDeploymentPlan getInstance() {
+		if (instance == null) {
+			instance = new FilterDeploymentPlan();
+		}
+		return instance;
+	}
+	
+	@Override
+	public EObject preCopyEObject(LazyCopier copier, EObject sourceEObj) {
+		if (sourceEObj instanceof DeploymentPlan) {
+			return null;
+		}
+		return sourceEObj;
+	}
+
+
+	private static FilterDeploymentPlan instance = null;
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/filters/FilterM2MTrafo.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/filters/FilterM2MTrafo.java
new file mode 100644
index 0000000..4dd360d
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/filters/FilterM2MTrafo.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.transformations.filters;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.designer.transformation.core.copylisteners.PreCopyListener;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+
+
+/**
+ * Do not copy the M2MTrafo stereotype (references by ApplyTransformation stereotype). It would imply copying
+ * the M2M definitions into the target model
+ */
+public class FilterM2MTrafo implements PreCopyListener {
+
+	public static FilterM2MTrafo getInstance() {
+		if (instance == null) {
+			instance = new FilterM2MTrafo();
+		}
+		return instance;
+	}
+
+	@Override
+	public EObject preCopyEObject(LazyCopier copy, EObject sourceEObj) {
+		if (sourceEObj instanceof M2MTrafo) {
+			return null;
+		}
+		return sourceEObj;
+		
+	}
+
+	private static FilterM2MTrafo instance = null;
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/filters/FilterSignatures.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/filters/FilterSignatures.java
new file mode 100644
index 0000000..3ae3a1d
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/filters/FilterSignatures.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.transformations.filters;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.designer.transformation.core.copylisteners.PreCopyListener;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.uml2.uml.TemplateSignature;
+
+
+/**
+ * Remove signatures from package template (only remove signatures within the
+ * template, not others)
+ *
+ * @author ansgar
+ *
+ */
+public class FilterSignatures implements PreCopyListener {
+
+	public static FilterSignatures getInstance() {
+		if (instance == null) {
+			instance = new FilterSignatures();
+		}
+		return instance;
+	}
+
+	@Override
+	public EObject preCopyEObject(LazyCopier copier, EObject sourceEObj) {
+		if (sourceEObj instanceof TemplateSignature) {
+			if (copier.withinTemplate(sourceEObj)) {
+				return null;
+			}
+		}
+		return sourceEObj;
+	}
+
+	private static FilterSignatures instance = null;
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/filters/FilterStateMachines.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/filters/FilterStateMachines.java
new file mode 100644
index 0000000..5bc222f
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/filters/FilterStateMachines.java
@@ -0,0 +1,44 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.transformations.filters;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.designer.transformation.core.copylisteners.PreCopyListener;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.uml2.uml.StateMachine;
+
+/**
+ * This filter copies the effect of transitions to the class level.
+ */
+public class FilterStateMachines implements PreCopyListener {
+
+	public static FilterStateMachines getInstance() {
+		if (instance == null) {
+			instance = new FilterStateMachines();
+		}
+		return instance;
+	}
+	
+	@Override
+	public EObject preCopyEObject(LazyCopier copier, EObject sourceEObj) {
+		if (sourceEObj instanceof StateMachine) {
+			return null;
+		}
+		return sourceEObj;
+	}
+
+
+	private static FilterStateMachines instance = null;
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/filters/FilterTemplateBinding.java b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/filters/FilterTemplateBinding.java
new file mode 100644
index 0000000..f7e4360
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.core/src/org/eclipse/papyrus/designer/transformation/core/transformations/filters/FilterTemplateBinding.java
@@ -0,0 +1,58 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.core.transformations.filters;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.designer.transformation.core.copylisteners.PreCopyListener;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.TemplateBinding;
+
+
+/**
+ * Remove template bindings to packages from model. The reason is to avoid that the template binding will drag the
+ * package template with it.
+ * (However, template binding on non-class level)
+ *
+ */
+public class FilterTemplateBinding implements PreCopyListener {
+
+	public static FilterTemplateBinding getInstance() {
+		if (instance == null) {
+			instance = new FilterTemplateBinding();
+		}
+		return instance;
+	}
+
+	@Override
+	public EObject preCopyEObject(LazyCopier copy, EObject sourceEObj) {
+		if (sourceEObj instanceof TemplateBinding) {
+			TemplateBinding binding = (TemplateBinding) sourceEObj;
+			for (Element target : binding.getTargets()) {
+				if (target != null) {
+					if (!(target.eContainer() instanceof Package)) {
+						return sourceEObj;
+					}
+				}
+			}
+			return null;
+		}
+		return sourceEObj;
+		
+	}
+
+	private static FilterTemplateBinding instance = null;
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.classpath b/transformation/org.eclipse.papyrus.designer.transformation.extensions/.classpath
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.classpath
copy to transformation/org.eclipse.papyrus.designer.transformation.extensions/.classpath
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.extensions/.project b/transformation/org.eclipse.papyrus.designer.transformation.extensions/.project
new file mode 100644
index 0000000..b70978c
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.extensions/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.transformation.extensions</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/transformation/org.eclipse.papyrus.designer.transformation.extensions/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to transformation/org.eclipse.papyrus.designer.transformation.extensions/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.jdt.core.prefs b/transformation/org.eclipse.papyrus.designer.transformation.extensions/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.jdt.core.prefs
copy to transformation/org.eclipse.papyrus.designer.transformation.extensions/.settings/org.eclipse.jdt.core.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/transformation/org.eclipse.papyrus.designer.transformation.extensions/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to transformation/org.eclipse.papyrus.designer.transformation.extensions/.settings/org.eclipse.m2e.core.prefs
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.extensions/META-INF/MANIFEST.MF b/transformation/org.eclipse.papyrus.designer.transformation.extensions/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..a34fb52
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.extensions/META-INF/MANIFEST.MF
@@ -0,0 +1,38 @@
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.designer.transformation.extensions
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore,
+ org.eclipse.uml2.uml,
+ org.eclipse.ui.ide,
+ org.eclipse.core.resources,
+ org.eclipse.papyrus.marte.static.profile;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.transformation.vsl;bundle-version="0.7.0",
+ org.eclipse.papyrus.uml.modelexplorer.widgets;bundle-version="1.2.0",
+ org.eclipse.papyrus.uml.tools;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.languages.cpp.profile;bundle-version="0.7.0",
+ org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
+ org.eclipse.gmf.runtime.common.core;bundle-version="1.7.0",
+ org.eclipse.gmf.runtime.emf.commands.core;bundle-version="1.4.0",
+ org.eclipse.papyrus.infra.widgets;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.emf;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.services.labelprovider;bundle-version="1.2.0",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
+ org.eclipse.ui,
+ org.eclipse.papyrus.designer.languages.common.extensionpoints;bundle-version="0.7.0",
+ org.eclipse.uml2.uml.profile.standard;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.ui;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.languages.common.profile;bundle-version="0.7.1",
+ org.eclipse.papyrus.designer.transformation.profile;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.deployment.profile;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.transformation.base;bundle-version="0.7.3"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 0.7.5.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.designer.transformation.extensions.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.designer.transformation.extensions;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/about.html b/transformation/org.eclipse.papyrus.designer.transformation.extensions/about.html
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/about.html
copy to transformation/org.eclipse.papyrus.designer.transformation.extensions/about.html
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/about.properties b/transformation/org.eclipse.papyrus.designer.transformation.extensions/about.properties
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/about.properties
copy to transformation/org.eclipse.papyrus.designer.transformation.extensions/about.properties
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.extensions/build.properties b/transformation/org.eclipse.papyrus.designer.transformation.extensions/build.properties
new file mode 100644
index 0000000..d85a45c
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.extensions/build.properties
@@ -0,0 +1,11 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               about.properties,\
+               about.html,\
+               plugin.properties,\
+               schema/
+customBuildCallbacks = build.acceleo
+src.includes = about.html
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/plugin.properties b/transformation/org.eclipse.papyrus.designer.transformation.extensions/plugin.properties
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/plugin.properties
copy to transformation/org.eclipse.papyrus.designer.transformation.extensions/plugin.properties
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.extensions/plugin.xml b/transformation/org.eclipse.papyrus.designer.transformation.extensions/plugin.xml
new file mode 100644
index 0000000..fb4aa77
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.extensions/plugin.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+ plugin.xml
+	<extension-point id="instanceConfig" name="instanceConfigName" schema="schema/instanceConfig.exsd"/>
+	<extension-point id="textTemplate" name="textTemplateName" schema="schema/textTemplate.exsd"/>
+	<extension-point id="m2mTrafo" name="m2mTrafoName" schema="schema/m2mTrafo.exsd"/>
+ </plugin>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.extensions/pom.xml b/transformation/org.eclipse.papyrus.designer.transformation.extensions/pom.xml
new file mode 100644
index 0000000..64b701f
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.extensions/pom.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.designer</groupId>
+		<artifactId>org.eclipse.papyrus.designer.transformation</artifactId>
+		<version>0.7.5-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.designer.transformation.extensions</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This module contains the extension points for the model-2-model transformations</description>
+</project>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.extensions/schema/instanceConfig.exsd b/transformation/org.eclipse.papyrus.designer.transformation.extensions/schema/instanceConfig.exsd
new file mode 100644
index 0000000..0d7bd03
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.extensions/schema/instanceConfig.exsd
@@ -0,0 +1,109 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.papyrus.designer.transformation.core" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+      <appinfo>
+         <meta.schema plugin="org.eclipse.papyrus.designer.transformation.core" id="instanceConfig" name="instanceConfigName"/>
+      </appinfo>
+      <documentation>
+         A Java class that configures an instance (UML instance specification) automatically, e.g. retrieves data from a stereotype.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <annotation>
+         <appinfo>
+            <meta.element />
+         </appinfo>
+      </annotation>
+      <complexType>
+         <choice minOccurs="0" maxOccurs="unbounded">
+            <element ref="client"/>
+         </choice>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appinfo>
+                  <meta.attribute translatable="true"/>
+               </appinfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="client">
+      <complexType>
+         <attribute name="configuratorID" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appinfo>
+                  <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.designer.components.transformation.core.extensions.IInstanceConfigurator"/>
+               </appinfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="since"/>
+      </appinfo>
+      <documentation>
+         [Enter the first release in which this extension point appears.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="examples"/>
+      </appinfo>
+      <documentation>
+         [Enter extension point usage example here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="apiinfo"/>
+      </appinfo>
+      <documentation>
+         [Enter API information here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="implementation"/>
+      </appinfo>
+      <documentation>
+         [Enter information about supplied implementation of this extension point.]
+      </documentation>
+   </annotation>
+
+
+</schema>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.extensions/schema/language.exsd b/transformation/org.eclipse.papyrus.designer.transformation.extensions/schema/language.exsd
new file mode 100644
index 0000000..dd4e7cc
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.extensions/schema/language.exsd
@@ -0,0 +1,109 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.papyrus.designer.transformation.core" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+      <appinfo>
+         <meta.schema plugin="org.eclipse.papyrus.designer.transformation.core" id="language" name="languageSupport"/>
+      </appinfo>
+      <documentation>
+         A customized component to OO transformation
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <annotation>
+         <appinfo>
+            <meta.element />
+         </appinfo>
+      </annotation>
+      <complexType>
+         <choice minOccurs="0" maxOccurs="unbounded">
+            <element ref="client"/>
+         </choice>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appinfo>
+                  <meta.attribute translatable="true"/>
+               </appinfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="client">
+      <complexType>
+         <attribute name="language" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appinfo>
+                  <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.designer.components.transformation.core.ILangSupport"/>
+               </appinfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="since"/>
+      </appinfo>
+      <documentation>
+         [Enter the first release in which this extension point appears.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="examples"/>
+      </appinfo>
+      <documentation>
+         [Enter extension point usage example here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="apiinfo"/>
+      </appinfo>
+      <documentation>
+         [Enter API information here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="implementation"/>
+      </appinfo>
+      <documentation>
+         [Enter information about supplied implementation of this extension point.]
+      </documentation>
+   </annotation>
+
+
+</schema>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.extensions/schema/m2mTrafo.exsd b/transformation/org.eclipse.papyrus.designer.transformation.extensions/schema/m2mTrafo.exsd
new file mode 100644
index 0000000..82971fd
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.extensions/schema/m2mTrafo.exsd
@@ -0,0 +1,109 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.papyrus.designer.transformation.core" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+      <appInfo>
+         <meta.schema plugin="org.eclipse.papyrus.designer.transformation.core" id="m2mTrafo" name="m2mTrafoName"/>
+      </appInfo>
+      <documentation>
+         A container transformation that is defined outside of the transformation core.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <annotation>
+         <appInfo>
+            <meta.element />
+         </appInfo>
+      </annotation>
+      <complexType>
+         <sequence minOccurs="1" maxOccurs="unbounded">
+            <element ref="transformation"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="transformation">
+      <complexType>
+         <attribute name="transformationID" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.designer.transformation.core.extensions.IEmptyM2MTrafo"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         0.7.2
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         [Enter extension point usage example here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiinfo"/>
+      </appInfo>
+      <documentation>
+         [Enter API information here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="implementation"/>
+      </appInfo>
+      <documentation>
+         [Enter information about supplied implementation of this extension point.]
+      </documentation>
+   </annotation>
+
+
+</schema>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.extensions/schema/textTemplate.exsd b/transformation/org.eclipse.papyrus.designer.transformation.extensions/schema/textTemplate.exsd
new file mode 100644
index 0000000..b9ff597
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.extensions/schema/textTemplate.exsd
@@ -0,0 +1,110 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.papyrus.designer.transformation.core" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+      <appinfo>
+         <meta.schema plugin="org.eclipse.papyrus.designer.transformation.core" id="textTemplate" name="textTemplateName"/>
+      </appinfo>
+      <documentation>
+         A set of text templates implemented by a class. Each text template corresponds to a method which should return a string or character sequence. The returned texts corresponds to a binding of the template with the actuals that are passed as parameters.
+From the UML model, such templates can be referenced using the magic string &quot;!template &lt;templateName&gt;&quot; in an opaque expression. While the template classes are typically written in xtend, they could also be written in Java.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <annotation>
+         <appinfo>
+            <meta.element />
+         </appinfo>
+      </annotation>
+      <complexType>
+         <sequence minOccurs="1" maxOccurs="unbounded">
+            <element ref="template"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appinfo>
+                  <meta.attribute translatable="true"/>
+               </appinfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="template">
+      <complexType>
+         <attribute name="templateID" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appinfo>
+                  <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.designer.transformation.extensions.ITextTemplate"/>
+               </appinfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="since"/>
+      </appinfo>
+      <documentation>
+         [Enter the first release in which this extension point appears.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="examples"/>
+      </appinfo>
+      <documentation>
+         [Enter extension point usage example here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="apiinfo"/>
+      </appinfo>
+      <documentation>
+         [Enter API information here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="implementation"/>
+      </appinfo>
+      <documentation>
+         [Enter information about supplied implementation of this extension point.]
+      </documentation>
+   </annotation>
+
+
+</schema>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/Activator.java b/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/Activator.java
new file mode 100644
index 0000000..5bcda87
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/Activator.java
@@ -0,0 +1,73 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.extensions;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.designer.transformation.extensions"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+
+	public static LogHelper log;
+
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+
+		// register the login helper
+		log = new LogHelper(plugin);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/IInstanceConfigurator.java b/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/IInstanceConfigurator.java
new file mode 100644
index 0000000..fd26abf
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/IInstanceConfigurator.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2011 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     CEA LIST - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.extensions;
+
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * Interface used by Qompass extensions that supports specific instance configurators,
+ * used for containers.
+ */
+public interface IInstanceConfigurator {
+
+	/**
+	 * configure an instance (within a container)
+	 *
+	 * @param instance
+	 *            the instance of an element which should be configured.
+	 * @param componentPart
+	 *            the property that represents the component within the enclosing composite. May be null, if the instance
+	 *            that should be configured is the main instance.
+	 * @param parentInstance
+	 *            the instance specification of the parent, i.e. the enclosing composite. If the instance that should be
+	 *            configured has a container, the parent instance corresponds to the instance specification of this
+	 *            container. This instance specification provides thus access to additional infromation available on the
+	 *            container level.
+	 */
+	public void configureInstance(InstanceSpecification instance, Property componentPart, InstanceSpecification parentInstance);
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/IM2MTrafo.java b/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/IM2MTrafo.java
new file mode 100644
index 0000000..5af3ec3
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/IM2MTrafo.java
@@ -0,0 +1,21 @@
+/**
+ * Copyright (c) 2016 CEA LIST
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Ansgar Radermacher - Initial API and implementation
+ *
+ */
+
+package org.eclipse.papyrus.designer.transformation.extensions;
+
+/**
+ * Common interface for model transformations. Deliberately left empty to enable specific subclasses,
+ * here notably copy-handlers or "regular transformations"
+ */
+public interface IM2MTrafo {
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/ITextTemplate.java b/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/ITextTemplate.java
new file mode 100644
index 0000000..deb904a
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/ITextTemplate.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2011 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     CEA LIST - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.extensions;
+
+/**
+ * This interface needs to be implemented by the classes that implement text
+ * transformations. It is deliberately left empty to enable the execution of
+ * arbitrary methods (referenced from the model) within these classes via the
+ * Java reflection mechanisms 
+ */
+public interface ITextTemplate {
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/InstanceConfigurator.java b/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/InstanceConfigurator.java
new file mode 100644
index 0000000..47d65e1
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/InstanceConfigurator.java
@@ -0,0 +1,80 @@
+/*******************************************************************************
+ * Copyright (c) 2011 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     CEA LIST - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.extensions;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionRegistry;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.UseInstanceConfigurator;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Property;
+
+
+/**
+ * Support for the configuration of instances via the Eclipse extension mechanism
+ */
+public class InstanceConfigurator {
+
+	public static final String IINSTANCE_CONFIG_ID = Activator.PLUGIN_ID + ".instanceConfig"; //$NON-NLS-1$
+
+	public static boolean onNodeModel = false;
+
+	/**
+	 * Configure an instance with a given configurator
+	 *
+	 * @param useInstanceConfigurator
+	 * @param instance
+	 * @param componentPart
+	 * @param containerContext
+	 */
+	public static void configureInstance(UseInstanceConfigurator useInstanceConfigurator, InstanceSpecification instance, Property componentPart, InstanceSpecification parentInstance) {
+		if (useInstanceConfigurator != null) {
+			org.eclipse.papyrus.designer.deployment.profile.Deployment.InstanceConfigurator instanceConfigurator =
+					useInstanceConfigurator.getConfigurator();
+			if (instanceConfigurator.isOnNodeModel() == onNodeModel) {
+				if (instanceConfigurator != null) {
+					String id = instanceConfigurator.getBase_Class().getName();
+					IInstanceConfigurator iConfigurator = getInstanceConfigurator(id);
+					if (iConfigurator != null) {
+						iConfigurator.configureInstance(instance, componentPart, parentInstance);
+
+					}
+				}
+			}
+		}
+	}
+
+	protected static IInstanceConfigurator getInstanceConfigurator(String iConfiguratorID) {
+		IExtensionRegistry reg = Platform.getExtensionRegistry();
+		IConfigurationElement[] configElements = reg.getConfigurationElementsFor(IINSTANCE_CONFIG_ID);
+		for (IConfigurationElement configElement : configElements) {
+			try {
+				final String iConfiguratorIDext = configElement.getAttribute("configuratorID"); //$NON-NLS-1$
+				if (iConfiguratorIDext == null) {
+					throw new RuntimeException(String.format(
+							Messages.InstanceConfigurator_InvalidPluginExtension, iConfiguratorID));
+				}
+				if (iConfiguratorIDext.equals(iConfiguratorID)) {
+					// TODO: cache returned instance (avoid creating a new instance each time => more efficient, no need for static attributes)
+					final Object obj = configElement.createExecutableExtension("class"); //$NON-NLS-1$
+					if (obj instanceof IInstanceConfigurator) {
+						return (IInstanceConfigurator) obj;
+					}
+				}
+			} catch (CoreException exception) {
+				exception.printStackTrace();
+			}
+		}
+		return null;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/M2MTrafoExt.java b/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/M2MTrafoExt.java
new file mode 100644
index 0000000..b4f6b81
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/M2MTrafoExt.java
@@ -0,0 +1,82 @@
+/*******************************************************************************
+ * Copyright (c) 2011 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     CEA LIST - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.extensions;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionRegistry;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationRTException;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * Support for binding helper
+ */
+public class M2MTrafoExt {
+
+	public static final String TRANSFORMATION_ID = "transformationID"; //$NON-NLS-1$
+	public static final String M2M_TRAFO = Activator.PLUGIN_ID + ".m2mTrafo"; //$NON-NLS-1$
+
+	/**
+	 * Obtain a list of M2M transformations that are explicitly applied to a model element 
+	 * @param element the model element
+	 * @return the list of M2M transformations
+	 */
+	public static EList<M2MTrafo> getM2MTrafos(Element element) {
+		ApplyTransformation applyTrafo =
+				UMLUtil.getStereotypeApplication(element, ApplyTransformation.class);
+		if (applyTrafo != null) {
+			// execute the set of transformations applied to the element
+			return applyTrafo.getTrafo();
+		}
+		return null;
+	}
+	
+	/**
+	 * Get a reference to the M2M transformation class using the m2mTrafo element (stereotype)
+	 * if the kind option is set, the transformation class is obtained via the kind.
+	 *
+	 * @param m2mTrafo a m2m transformation reference
+	 * @return
+	 */
+	public static IM2MTrafo getM2MTrafo(M2MTrafo m2mTrafo) {
+		if (m2mTrafo != null) {
+			return getM2MTrafo(m2mTrafo.getBase_Class().getQualifiedName());
+		}
+		return null;
+	}
+
+	public static IM2MTrafo getM2MTrafo(String trafoName) {
+		IExtensionRegistry reg = Platform.getExtensionRegistry();
+		IConfigurationElement[] configElements = reg.getConfigurationElementsFor(M2M_TRAFO);
+		for (IConfigurationElement configElement : configElements) {
+			try {
+				final String transformationID = configElement.getAttribute(TRANSFORMATION_ID);
+				if ((transformationID != null) && transformationID.equals(trafoName)) {
+					final Object obj = configElement.createExecutableExtension("class"); //$NON-NLS-1$
+					if (obj instanceof IM2MTrafo) {
+						return (IM2MTrafo) obj;
+					}
+				}
+			} catch (CoreException exception) {
+				Activator.log.error(exception);
+			}
+		}
+		throw new TransformationRTException(
+				String.format("Cannot find class for transformation <%s>", trafoName));
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/Messages.java b/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/Messages.java
new file mode 100644
index 0000000..8a0d3fb
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/Messages.java
@@ -0,0 +1,30 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.extensions;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.eclipse.papyrus.designer.transformation.core.messages"; //$NON-NLS-1$
+
+	public static String InstanceConfigurator_InvalidPluginExtension;
+
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/TextTemplateExt.java b/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/TextTemplateExt.java
new file mode 100644
index 0000000..c8968fc
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/TextTemplateExt.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2011 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     CEA LIST - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.extensions;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionRegistry;
+import org.eclipse.core.runtime.Platform;
+
+
+/**
+ * Support for embedding text templates
+ */
+public class TextTemplateExt {
+
+	public static final String ITEMPLATE_ID = Activator.PLUGIN_ID + ".textTemplate"; //$NON-NLS-1$
+
+	public static ITextTemplate getTextTemplate(String templateID) {
+		IExtensionRegistry reg = Platform.getExtensionRegistry();
+		IConfigurationElement[] configElements = reg.getConfigurationElementsFor(ITEMPLATE_ID);
+		for (IConfigurationElement configElement : configElements) {
+			try {
+				final String iTemplateID = configElement.getAttribute("templateID"); //$NON-NLS-1$
+				if (iTemplateID.equals(templateID)) {
+					final Object obj = configElement.createExecutableExtension("class"); //$NON-NLS-1$
+					if (obj instanceof ITextTemplate) {
+						return (ITextTemplate) obj;
+					}
+				}
+			} catch (CoreException exception) {
+				exception.printStackTrace();
+			}
+		}
+		return null;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/messages.properties b/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/messages.properties
new file mode 100644
index 0000000..bf983c0
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.extensions/src/org/eclipse/papyrus/designer/transformation/extensions/messages.properties
@@ -0,0 +1 @@
+InstanceConfigurator_InvalidPluginExtension=InstanceConfigurator: plugin extension for id %s is invalid
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/.classpath b/transformation/org.eclipse.papyrus.designer.transformation.library/.classpath
new file mode 100644
index 0000000..40ca2a4
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="src" path="xtend-gen/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/.gitignore b/transformation/org.eclipse.papyrus.designer.transformation.library/.gitignore
new file mode 100644
index 0000000..5500bf7
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/.gitignore
@@ -0,0 +1 @@
+tmpModel
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/.project b/transformation/org.eclipse.papyrus.designer.transformation.library/.project
new file mode 100644
index 0000000..3f4cf82
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.transformation.library</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/transformation/org.eclipse.papyrus.designer.transformation.library/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to transformation/org.eclipse.papyrus.designer.transformation.library/.settings/org.eclipse.core.resources.prefs
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/.settings/org.eclipse.jdt.core.prefs b/transformation/org.eclipse.papyrus.designer.transformation.library/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c537b63
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/transformation/org.eclipse.papyrus.designer.transformation.library/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to transformation/org.eclipse.papyrus.designer.transformation.library/.settings/org.eclipse.m2e.core.prefs
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/.settings/org.eclipse.xtend.core.Xtend.prefs b/transformation/org.eclipse.papyrus.designer.transformation.library/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..df3c3c4
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,6 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/main/java.directory=xtend-gen
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/ExtendedPort.java b/transformation/org.eclipse.papyrus.designer.transformation.library/ExtendedPort.java
new file mode 100644
index 0000000..fda5675
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/ExtendedPort.java
@@ -0,0 +1,127 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr  
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.components.modellibs.core.mappingrules;
+
+import org.eclipse.papyrus.FCM.util.IMappingRule;
+import org.eclipse.papyrus.FCM.util.MapUtil;
+import org.eclipse.papyrus.designer.components.transformation.core.OperationUtils;
+import org.eclipse.papyrus.designer.components.transformation.core.PortUtils;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+
+
+/**
+ * An extended Port in the sense of the DDS4CCM standard: a port typed with a component
+ * type. Since the component typing the port can have multiple provided and required
+ * ports, the ports are implicitly owned by the port. Conjugation on the level of an extended
+ * port level will conjugate all ports of the component typing the port.
+ * 
+ * The derived interface that is provided will concatenate provided port names within the
+ * extended port with the port name and provided a "big" interface.
+ * The derived interface that is required is identical, except for a conjugation on the
+ * extended port level.
+ * 
+ * Creates a fixed template binding that binds T (of the extended Port) to the used data type
+ * 
+ * Here, the idea is that the port type is a classifier, e.g. the data type that is
+ * transported by a DDS port. The port kind is the extended port, e.g. DDSWrite.
+ * 
+ * The derived property isExtended of FCM port-kind is true, if the class representing the port-kind owns at least one
+ * port
+ * 
+ * @author ansgar
+ * 
+ */
+public class ExtendedPort implements IMappingRule {
+
+	public Interface getProvided(org.eclipse.papyrus.FCM.Port p, InstanceSpecification config, boolean update)
+	{
+		return getDerived(p, false, config, update);
+	}
+
+	public Interface getRequired(org.eclipse.papyrus.FCM.Port p, InstanceSpecification config, boolean update)
+	{
+		return getDerived(p, true, config, update);
+	}
+
+	public Interface getDerived(org.eclipse.papyrus.FCM.Port extPort, boolean isRequired, InstanceSpecification config, boolean update)
+	{
+		Type type = extPort.getBase_Port().getType();
+		if(!(type instanceof Classifier)) {
+			return null;
+		}
+		Class extendedPort = extPort.getKind().getBase_Class();
+
+		String prefix = extendedPort.getName() + "_" + (isRequired ? "R_" : "P_");
+		Interface derivedInterface = MapUtil.getOrCreateDerivedInterfaceFP(extPort, prefix, type, update);
+		if (!update) {
+			return derivedInterface;
+		}
+		if(derivedInterface == null) {
+			return null;
+		}
+		/*
+		TemplateSignature signature = TemplateUtils.getSignature(type.getNearestPackage());
+		if(signature != null) {
+			Package model = Utils.getTop(derivedInterface);
+			try {
+				TemplateBinding binding =
+					TemplateUtils.fixedBinding(model, extendedPort, (Classifier)type);
+				Copy copy = new Copy(model, model, false);
+				TemplateInstantiation ti = new TemplateInstantiation(copy, binding);
+				// create a bound element of the extended port. Add bound class to derived interface class
+				Class boundClass = ti.bindNamedElement(extendedPort);
+				derivedInterface.getNearestPackage().getPackagedElements().add(boundClass);
+			} catch (TransformationException e) {
+				return null;
+			}
+		}
+		*/
+		// obtain first template parameter = port type
+		// kind.getBase_Class().getNearestPackage().getTemplateParameter();
+
+		for(Port port : extendedPort.getOwnedPorts()) {
+			Interface derivedIntf = (isRequired) ?
+				PortUtils.getRequired(port) :
+				PortUtils.getProvided(port);
+
+			if(derivedIntf != null) {
+				for(Operation op : derivedIntf.getAllOperations()) {
+					String name = port.getName() + "_" + op.getName(); //$NON-NLS-1$
+
+					// check whether operation already exists. Create, if not
+					Operation derivedOperation = derivedInterface.getOperation(name, null, null);
+					if(derivedOperation == null) {
+						derivedOperation = derivedInterface.createOwnedOperation(name, null, null);
+						OperationUtils.syncOperation(op, derivedOperation);
+						derivedOperation.setName(name);
+					}
+					else {
+						if (!OperationUtils.isSameOperation(derivedOperation, op, false)) {
+							OperationUtils.syncOperation(op, derivedOperation);
+							derivedOperation.setName(name);
+						}
+					}
+				}
+			}
+		}
+		return derivedInterface;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/META-INF/MANIFEST.MF b/transformation/org.eclipse.papyrus.designer.transformation.library/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..27100e2
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/META-INF/MANIFEST.MF
@@ -0,0 +1,39 @@
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.designer.transformation.library,
+ org.eclipse.papyrus.designer.transformation.library.statemachine,
+ org.eclipse.papyrus.designer.transformation.library.transformations,
+ org.eclipse.papyrus.designer.transformation.library.transformations.bindinghelpers,
+ org.eclipse.papyrus.designer.transformation.library.xtend
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.ui.ide;bundle-version="3.8.0",
+ org.eclipse.core.runtime,
+ org.eclipse.papyrus.designer.transformation.core;bundle-version="0.7.0",
+ org.eclipse.uml2.uml;bundle-version="4.0.0",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
+ org.eclipse.core.resources,
+ org.eclipse.papyrus.designer.languages.cpp.profile;bundle-version="0.7.0",
+ org.eclipse.papyrus.uml.diagram.wizards;bundle-version="1.2.0",
+ com.google.guava;bundle-version="11.0.0",
+ org.eclipse.xtext.xbase.lib,
+ org.eclipse.xtend.lib,
+ org.eclipse.xtend.lib.macro,
+ org.eclipse.papyrus.designer.transformation.profile;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.transformation.base;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.deployment.tools;bundle-version="0.7.5",
+ org.eclipse.papyrus.designer.transformation.vsl;bundle-version="0.7.3",
+ org.eclipse.uml2.uml.profile.standard;bundle-version="1.0.0",
+ org.eclipse.papyrus.designer.languages.cpp.codegen;bundle-version="1.0.2",
+ org.eclipse.papyrus.designer.transformation.extensions;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.deployment.profile;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.languages.common.extensionpoints;bundle-version="1.0.2",
+ org.eclipse.papyrus.marte.static.profile;bundle-version="1.2.0"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 0.7.5.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.designer.transformation.library.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.designer.transformation.library;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/about.html b/transformation/org.eclipse.papyrus.designer.transformation.library/about.html
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/about.html
copy to transformation/org.eclipse.papyrus.designer.transformation.library/about.html
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/build.properties b/transformation/org.eclipse.papyrus.designer.transformation.library/build.properties
new file mode 100644
index 0000000..4454371
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/build.properties
@@ -0,0 +1,17 @@
+#
+#Thu Jun 28 15:46:18 CEST 2012
+bin.includes = META-INF/,\
+               .,\
+               models/,\
+               plugin.xml,\
+               .classpath,\
+               .project,\
+               html/,\
+               help/,\
+               about.html,\
+               plugin.properties
+output..=bin/
+src.includes = models/,\
+               about.html
+source.. = src/,\
+           xtend-gen/
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/help/modellibs-core-examples.xml b/transformation/org.eclipse.papyrus.designer.transformation.library/help/modellibs-core-examples.xml
new file mode 100644
index 0000000..bf908c0
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/help/modellibs-core-examples.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+
+<toc label="modellibs.core.examples" link_to="../org.eclipse.papyrus.designer.components.transformation.doc/toc.xml#samples"> 
+	<topic
+		label="Getting started: a hello world example"
+		href="html/examples/hello-world.html"> 
+	</topic>
+	<topic
+		label="A simple producer consumer example"
+		href="html/examples/producer-consumer.html"> 
+	</topic>
+</toc>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/help/modellibs-core-library.xml b/transformation/org.eclipse.papyrus.designer.transformation.library/help/modellibs-core-library.xml
new file mode 100644
index 0000000..e92e25c
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/help/modellibs-core-library.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+
+<toc label="modellibs.core" link_to="../org.eclipse.papyrus.designer.components.transformation.doc/toc.xml#modellibs"> 
+	<topic label="Core model library" href="html/library/core.html"> 
+	</topic>
+	<topic label="CORBA basic types" href="html/library/corba"> 
+	</topic>
+	<topic label="FIFO interaction components" href="html/library/fifo.html">
+	</topic>
+	<topic label="OS abstraction layer" href="html/osal.html"> 
+	</topic>
+	<topic label="State machine execution support" href="html/library/statemachine.html"> 
+	</topic>
+</toc>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/hello-world.html b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/hello-world.html
new file mode 100644
index 0000000..a8aacf1
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/hello-world.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
+	<title>Hello world example with Qompass</title>
+	<link rel="StyleSheet"
+		href="../sitestyle.css"
+		type="text/css">
+</head>
+<body>
+
+<h1>Hello world example with Qompass</h1>
+
+In the sequel, we outline a simple hello world example using qompass designer. Please note that the example
+can be found via File->New->Example in the category Qompass examples. There are also two cheat-sheets that explain how
+to create your own example from scratch.
+<p>
+
+As for all Qompass examples, there are three different parts that needs to be modeled
+<ol>
+<li>The software components
+<li>An abstraction of the hardware platform
+<li>A so-called deployment plan, i.e. a set of component instance definitions along with their configuration and
+	allocation of software components to hardware nodes
+</ol>
+
+In the sequel, we will go through all of these items with a focus on the the definition of the software components.
+
+<h2>Definition of software components</h2>
+
+The example consists of two components, detailed below
+
+<h3>The hello-world component</h3>
+
+The hello-world component is shown in the following screen shot.
+
+<center>
+<img src="screenshots/hw/hello-world.png" alt="The Hello World component">
+</center>
+<br>
+The hello world component inherits from a component called <em>CStart</em>. This is an abstract component defined in the
+Qompass core model library. It owns a port (called start) that provides the pre-defined interface <em>IStart</em>. This
+interface has a single operation <em>run</em>. Components that provide an interface via a port need to implement this
+interface. This include ports that are inherited. In our case, the hello world component needs to implement the <em>IStart</em>
+interface, i.e. contain an operation "run" as well as a behavior for this operation.<br>
+Qompass supports the user by automatically creating derived operations for interfaceS provided via a port, i.e. the operation
+signature is copied (and synchronized on demand) from the interface. The developer needs to provide behavior. In UML, behavior
+can be specified either via activities or by embedding code in a programming language (opaque behavior) into the model.
+Currently, Qompass focuses on the latter,in particular in form of embedded C++ code. A simple C/C++ view allows to enter
+the code, as shown in the following screenshot (there is ongoing work concerning a CDT editor integration)
+
+<p>
+<center>
+<img src="screenshots/hw/c-cpp-view.png" alt="C/C++ view">
+</center>
+<p>
+
+The code outputs "Hello World" and an additional message that is an attribute of the hello world component. The attribute <em>message</em>
+is declared as a UML String, but it does not have a particular contents on the level of the component definition. We will
+see in the section explaining deployment plans how this contents can be defined.
+<p>
+The specific start port enables a component to get the initial control. Its <em>run</em> operation is called at system
+start-up by a generated boot-loader.
+
+<h3>A system component</h3>
+
+All Qompass applications need to define a top-level component, typically called <em>System</em> that aggregates its components,
+in our case the hello-world component.  It is defined by means of a composite class, contained components are
+modeled via attributes (use composite aggregation for these) typed by the contained components. Note that we define a role (or part)
+within a composition, the hello world component declaration is not part of the system class. This role corresponds to an
+instance of a class in the deployment plan below.<br>
+In our simple hello world example, there is a single component only. Thus, there are no connections between components (so called <em>assembly</em>). take a look at the
+<a href="producer-consumer.html">producer-consumer</a> example to see how the assembly can be done.
+<p>
+<center>
+<img src="screenshots/hw/system.png" alt="The System component"> 
+</center>
+
+
+<h2>Definition of an abstract hardware platform</h2>
+
+In parallel to the software component, the hardware platform or merely an abstraction thereof can be defined. The main objective
+of this step is to define computational nodes on which the software can be allocated. A node isa stereotyped class that defines
+for the moment only quite basic information about a computational node, such as the provided memory and operating system.
+
+<p>
+
+The following screenshot defines a platform for the Hello World component. The <em>HWArchitecture</em> class has a similar
+function for the platform as the <em>System</em> class has for the software: it represents the used notes and their interconnections.
+In this simple example, the hardware architecture contains a single node.<br>
+<center>
+<img src="screenshots/hw/platform.png" alt="A platform for the Hello World component"> 
+</center>
+
+<h2>Definition of a deployment plan</h2>
+
+A deployment plan is a collection of instance specifications, stored within a UML package. It has two objectives. The first is
+to configure an <em>instance</em> of a component, i.e. to provide values for configuration attributes. The second is to allocate
+instance to processing resources such as threads or directly to a node of the platform definition.
+
+In case of the hello world component, the message that should be written is a configuration attribute. Qompass provides a
+dialog that simplifies the configuration of this attribute. The dialog lists instances and their configuration attributes and
+enables the user to provide a value in a text field. On the model level, a corresponding slot and a value specification are
+produced.<br>    
+
+<center>
+<img src="screenshots/hw/configure-instance.png" alt="configure instance dialog">
+</center>
+ 
+The allocation is also simplified by means of a custom dialog. The instances of a system are shown by means of a tree structure
+and the user can either allocate leafs or a parent node. In our case, the whole system should be allocated to node "monoNode", as
+shown in the screenshot below. On the model level, allocation is a MARTE relationship.<br>
+<center>
+<img src="screenshots/hw/allocate.png" alt="allocation dialog"> 
+</center>
+
+The last screenshot shows the resulting deployment plan, the package containing two instance specifications and the slots along
+with the configured values. You also see the allocation of the system component. Note, that the visualization of all instances
+in a diagram is often not useful for larger applications, since the graphical visualization does not provide additional
+information compared to the tree structure depicted by the dedicated dialog.<br>
+
+<center>
+<img src="screenshots/hw/deployment-plan.png" alt="resulting deployment plan"> 
+</center>
+
+The last step is the code generation which can be executed via the context menu of a deployment plan. The code generation creates an CDT project
+which can be compiled and executed.
+
+<h2>Compilation, Execution and Debugging</h2>
+
+<h3>For Windows users</h3>
+
+If you are using Windows and it is the first time you are running C++ project using Eclipse CDT, 
+you can face some problems during compilation, execution and debugging of the generated code. 
+
+First of all, be sure that you have defined the environment variable for your C++ compiler. To do so, open a command line window  (cmd.exe) and type "gdb".
+You should see an output like below.
+
+<center>
+<img src="screenshots/cmd_without_error.png" alt="command line without error">
+</center> 
+
+If you do not see this output and see the error below, 
+
+<center>
+<img src="screenshots/cmd_with_error.png" alt="command line with error">
+</center> 
+
+
+go to "My Computer -> Properties -> Advanced System Parameters". Edit the variable named "PATH" and add the following to the end of its value ";C:\MinGW\bin\" 
+<br><br>
+Moreover, another problem you can face can be having no console output after a successful run of the code. In this case, 
+<br><br>
+Right-click on your project. Select "Properties".
+<br><br>
+Select the "Run/Debug Settings" Property on the left of the new window.
+<br><br>
+In the right window, click on your executable to highlight (ie - Test.exe) and click "Edit".
+<br><br>
+In the Environment tab, hit "New"
+<br><br>
+Name: <b>PATH</b> 
+<br>
+Value: <b>Path to your MinGW bin directory</b> (For example: C:\MinGW\bin) 
+<br><br>
+Click "OK" on all windows to close down.
+<br><br>
+Try running again, it should print output to the screen.
+<br><br>
+<a href="http://stackoverflow.com/questions/3443254/eclipse-cdt-using-mingw-does-not-output-in-console">See this link!</a>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/producer-consumer.html b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/producer-consumer.html
new file mode 100644
index 0000000..e461476
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/producer-consumer.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
+	<title>Producer-consumer example with Qompass</title>
+	<link rel="StyleSheet"
+		href="../sitestyle.css"
+		type="text/css">
+</head>
+<body>
+
+<h1>A simple producer-consumer example</h1>
+
+In the sequel, we outline a simple producer consumer example using Qompass designer. Please note that the example
+can be found via File->New->Example in the category Qompass examples. It follows the same principles as the
+<a href="hello-world.html">Hello World</a> example, i.e. a separation between components, platform and deployment plan.
+<p>
+
+<h2>Definition of software components</h2>
+
+The example consists of three components, a producer, a consumer and the enclosing system component. These components are outlined
+in the sequel.
+
+<h3>The producer</h3>
+
+A data producer needs flow port of type "out" to communicate the data to other components. The following screenshot shows its
+definition.
+
+<center>
+<img src="screenshots/pc/push-producer.png" alt="The push producer"> 
+</center>
+
+The producer is the main active component in our system. Therefore, it inherits (as the hello world component) from
+the CStart component within the Qompass "core" modeling library and gets an initial execution thread. This thread executes the
+component's "run" method is shown below. It executes 20 periods with a length of 200ms (we use only the simple POSIX call usleep
+instead of the OS abstraction library to ensure that this example runs on most machines). In each period, an instance of type
+PubData is send to the port q.
+<p>
+<code><pre>
+cout << "publish a value via port q;" << endl;
+ComponentModel::interfaces::PubData data;
+data.x = 2;
+data.y = 3;
+for (int i = 0; i<20; i++) {
+    q->push(data);
+    cout << "." << flush;
+    // wait 200ms
+    usleep(200*1000);
+}
+</pre></code>
+
+<h3>The consumer</h3>
+
+There are (at least) two different variants to consume data. The first is to actively pull for new data, the second is being notified (pushed)
+whenever new data arrives. Although both consumers have a flow-port of type in, the mapping towards provided and required
+interfaces is quite different. Whereas the pull consumer calls a pull operation, the push consumer is called from the outside.
+This also implies that the pull consumer has its own thread of control, which typically performs the poll with a certain period.  
+
+The following screenshot shows the push variant of the consumer. Since the component is inactive, no additional thread is required.
+Data consumption at an "push-in" flow ports corresponds to the implementation of an interface with a push method. This interface
+is automatically calculated and a derived (calculated) attribute of the port stereotyped with the FCM profile.
+ 
+<center>
+<img src="screenshots/pc/push-consumer.png" alt="The push consumer"> 
+</center>
+<p>
+
+The next screenshot shows the pull variant of the consumer. This components inherits from the abstract LifeCycle component that
+provides the lifecycle port. The interface associated with this port contains the two operations activate and deactivate. The
+lifecycle operations are called after creation, but -- unlike the start call -- should return the control immediately (or after
+a very short time).<br>
+Since we want that the consumer executes a periodic pull operation, we need to launch a new thread in the activation call and let
+this thread execute the pull loop. One way to achieve this Qompass is to use a <em>container service</em> that intercepts the
+activation call. This service is call runStartThread and is visible in the context menu of the class.  
+ 
+<center>
+<img src="screenshots/pc/pull-consumer.png" alt="The pull consumer"> 
+</center>
+<p>
+
+<h3>The system</h3>
+
+Since we use two different variants of a consumer, we need to have two different variants of the system component.
+The first variant uses a push consumer. In this case, producer and consumer can be connected directly, since the producer
+calls the push operation that is provided by the consumer.
+
+<center>
+<img src="screenshots/pc/system-push.png" alt="The System component with a push consumer"> 
+</center>
+
+The variant with a pull consumer is a bit more complicated. In this case, both producer and consumer call operations (push and
+pull respectively) and we need a mediator between this. A suitable choice is the use of a FIFO queue. The producer pushes data
+into the FIFO and the consumer polls for data "at the other end". Instead of explicitly introducing an additional part for the
+queue in the system, Qompass supports annotating UML connectors. In this case, we add the information to the connector between
+producer and consumer that a FIFO connector should be used. When the code for this system is generated, Qompass replaces the
+connection by a reified connector, as shown in the
+<a href="../../../org.eclipse.papyrus.designer.components.transformation.doc/html/reference/interactionComponent.html">reference guide</a>
+ 
+<center>
+<img src="screenshots/pc/system-pull.png" alt="The System component with a pull consumer"> 
+</center>
+
+
+<h2>Definition of an abstract hardware platform</h2>
+
+The hardware platform is the same monolithic platform as for the hello world example
+
+<center>
+<img src="screenshots/hw/platform.png" alt="The push consumer"> 
+</center>
+
+<h2>Definition of a deployment plan</h2>
+
+There are two deployment plans corresponding to the two variants to consume data. The screenshots below shows both plans
+without detailing the contained instance specifications.<br>
+In addition to the two plans, there are two <em>Configurations</em> that enable activation of container extension. For
+instance, the tracing rules are only active in a trace configuration. A configuration refers to a set of configuration
+options and a deployment plan, as shown in screenshots.
+
+<center>
+<img src="screenshots/pc/dep-plans.png" alt="The push consumer"> 
+</center>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/cmd_with_error.png b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/cmd_with_error.png
new file mode 100644
index 0000000..b239ab3
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/cmd_with_error.png
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/cmd_without_error.png b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/cmd_without_error.png
new file mode 100644
index 0000000..a03d922
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/cmd_without_error.png
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/allocate.png b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/allocate.png
new file mode 100644
index 0000000..43f7020
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/allocate.png
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/c-cpp-view.png b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/c-cpp-view.png
new file mode 100644
index 0000000..5435622
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/c-cpp-view.png
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/configure-instance.png b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/configure-instance.png
new file mode 100644
index 0000000..a77b9c3
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/configure-instance.png
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/deployment-plan.png b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/deployment-plan.png
new file mode 100644
index 0000000..969c3b0
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/deployment-plan.png
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/hello-world.png b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/hello-world.png
new file mode 100644
index 0000000..9044503
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/hello-world.png
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/platform.png b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/platform.png
new file mode 100644
index 0000000..f82efda
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/platform.png
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/system.png b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/system.png
new file mode 100644
index 0000000..6e0304f
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/hw/system.png
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/dep-plans.png b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/dep-plans.png
new file mode 100644
index 0000000..9d5c201
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/dep-plans.png
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/generated-container.png b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/generated-container.png
new file mode 100644
index 0000000..4eb0072
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/generated-container.png
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/pull-consumer.png b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/pull-consumer.png
new file mode 100644
index 0000000..950ad42
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/pull-consumer.png
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/push-consumer.png b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/push-consumer.png
new file mode 100644
index 0000000..83065ac
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/push-consumer.png
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/push-producer.png b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/push-producer.png
new file mode 100644
index 0000000..580db31
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/push-producer.png
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/system-pull.png b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/system-pull.png
new file mode 100644
index 0000000..08d5286
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/system-pull.png
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/system-push.png b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/system-push.png
new file mode 100644
index 0000000..1c3ce96
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/examples/screenshots/pc/system-push.png
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/library/corba.html b/transformation/org.eclipse.papyrus.designer.transformation.library/html/library/corba.html
new file mode 100644
index 0000000..266c64e
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/library/corba.html
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
+	<title>CORBA basic types (model library)</title>
+	<link rel="StyleSheet"
+		href="../sitestyle.css"
+		type="text/css">
+</head>
+<body>
+
+<h1>A collection of CORBA base types</h1>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/library/core.html b/transformation/org.eclipse.papyrus.designer.transformation.library/html/library/core.html
new file mode 100644
index 0000000..038fd21
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/library/core.html
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
+	<title>Core model library</title>
+	<link rel="StyleSheet"
+		href="../sitestyle.css"
+		type="text/css">
+</head>
+<body>
+
+<h1>A simple producer-consumer example</h1>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/library/osal.html b/transformation/org.eclipse.papyrus.designer.transformation.library/html/library/osal.html
new file mode 100644
index 0000000..038fd21
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/library/osal.html
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
+	<title>Core model library</title>
+	<link rel="StyleSheet"
+		href="../sitestyle.css"
+		type="text/css">
+</head>
+<body>
+
+<h1>A simple producer-consumer example</h1>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/html/library/statemachine.html b/transformation/org.eclipse.papyrus.designer.transformation.library/html/library/statemachine.html
new file mode 100644
index 0000000..038fd21
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/html/library/statemachine.html
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
+	<title>Core model library</title>
+	<link rel="StyleSheet"
+		href="../sitestyle.css"
+		type="text/css">
+</head>
+<body>
+
+<h1>A simple producer-consumer example</h1>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/AbitComplexSM.di b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/AbitComplexSM.di
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/AbitComplexSM.di
rename to transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/AbitComplexSM.di
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/AbitComplexSM.notation b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/AbitComplexSM.notation
new file mode 100644
index 0000000..1445a9e
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/AbitComplexSM.notation
@@ -0,0 +1,1039 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_XSHWMF36Ed-UvNEDwY5GNg" type="PapyrusUMLClassDiagram" name="Interfaces" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_MTW5IDcZEeGPyrZ5I3hMlA" type="Interface_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTYuUDcZEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTYuUTcZEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTZVYDcZEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTZVYTcZEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTZVYjcZEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTZVYzcZEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_MTZVZDcZEeGPyrZ5I3hMlA" type="Interface_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IDa5YPX4EeWa_pjn9guopQ" visible="false" type="Interface_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZVZjcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZVZzcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZVaDcZEeGPyrZ5I3hMlA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZVaTcZEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IHycAPX4EeWa_pjn9guopQ" type="Interface_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_QIpIoDcZEeGPyrZ5I3hMlA" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-jHsIFmOEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-ovzAFmOEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="6408"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="AbitComplexSM.uml#_DGs6wDLgEd28fJKJJnUaeQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QIpIoTcZEeGPyrZ5I3hMlA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_QIqWwDcZEeGPyrZ5I3hMlA" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__X1GkFmOEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__X6mIFmOEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="6408"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="AbitComplexSM.uml#_L8EY8DLgEd28fJKJJnUaeQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QIqWwTcZEeGPyrZ5I3hMlA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_1U9e4McqEeSsAI2TZshUyg" type="Reception_InterfaceReceptionLabel">
+          <element xmi:type="uml:Reception" href="AbitComplexSM.uml#_1U0U8McqEeSsAI2TZshUyg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_1U9e4ccqEeSsAI2TZshUyg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_M-0sIMcrEeSsAI2TZshUyg" type="Reception_InterfaceReceptionLabel">
+          <element xmi:type="uml:Reception" href="AbitComplexSM.uml#_M-tXYMcrEeSsAI2TZshUyg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_M-0sIccrEeSsAI2TZshUyg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZ8cDcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZ8cTcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZ8cjcZEeGPyrZ5I3hMlA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZ8czcZEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IHycAfX4EeWa_pjn9guopQ" visible="false" type="Interface_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZ8dTcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZ8djcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZ8dzcZEeGPyrZ5I3hMlA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZ8eDcZEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hsloIFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hsloIVbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hsloIlbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_XYUeMGkLEeWakucY9QdE0g" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XYUeMWkLEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Interface" href="AbitComplexSM.uml#_cn-H0DLbEd2qeKRLMdIx_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTW5ITcZEeGPyrZ5I3hMlA" x="150" y="111" width="337" height="110"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ywpIAMcqEeSsAI2TZshUyg" type="Signal_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ywpvEMcqEeSsAI2TZshUyg" type="Signal_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ywpvEccqEeSsAI2TZshUyg" type="Signal_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ywpvEscqEeSsAI2TZshUyg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IH2tcPX4EeWa_pjn9guopQ" type="Signal_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ywqWIccqEeSsAI2TZshUyg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ywqWIscqEeSsAI2TZshUyg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ywqWI8cqEeSsAI2TZshUyg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ywqWJMcqEeSsAI2TZshUyg"/>
+      </children>
+      <element xmi:type="uml:Signal" href="AbitComplexSM.uml#_ywk2kMcqEeSsAI2TZshUyg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ywpIAccqEeSsAI2TZshUyg" x="640" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_z0oUkMcqEeSsAI2TZshUyg" type="Signal_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_z0o7oMcqEeSsAI2TZshUyg" type="Signal_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_z0o7occqEeSsAI2TZshUyg" type="Signal_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_z0o7oscqEeSsAI2TZshUyg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IH4ioPX4EeWa_pjn9guopQ" type="Signal_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_z0o7pMcqEeSsAI2TZshUyg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_z0o7pccqEeSsAI2TZshUyg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_z0o7pscqEeSsAI2TZshUyg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0o7p8cqEeSsAI2TZshUyg"/>
+      </children>
+      <element xmi:type="uml:Signal" href="AbitComplexSM.uml#_z0nGcMcqEeSsAI2TZshUyg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0oUkccqEeSsAI2TZshUyg" x="840" y="120"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_XSHWMV36Ed-UvNEDwY5GNg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_XYVFQGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="AbitComplexSM.uml#_Tp4n8DLaEd2qeKRLMdIx_A"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_aeSh0F37Ed-UvNEDwY5GNg" type="CompositeStructure" name="CompositeDiagram SimpleSM" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_c2tKsF37Ed-UvNEDwY5GNg" type="Class_Shape" fontName="Monospace" fontHeight="10" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MXrr0H8eEd-5xfPoaTlRww" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MXsS4H8eEd-5xfPoaTlRww" key="QualifiedNameDepth" value="1"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NqCEgH8eEd-5xfPoaTlRww" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NqCEgX8eEd-5xfPoaTlRww" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_c2tKsl37Ed-UvNEDwY5GNg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_I-1YwPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2tKtF37Ed-UvNEDwY5GNg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_FzA74GfbEd-T-rJ3Ep9Y5Q" type="Port_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzSosGfbEd-T-rJ3Ep9Y5Q" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzTPwGfbEd-T-rJ3Ep9Y5Q" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzTPwWfbEd-T-rJ3Ep9Y5Q" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzT20GfbEd-T-rJ3Ep9Y5Q" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzT20WfbEd-T-rJ3Ep9Y5Q" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzT20mfbEd-T-rJ3Ep9Y5Q" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_FzUd4GfbEd-T-rJ3Ep9Y5Q" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FzUd4WfbEd-T-rJ3Ep9Y5Q" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_FzUd4mfbEd-T-rJ3Ep9Y5Q" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FzUd42fbEd-T-rJ3Ep9Y5Q" x="-50" y="-30"/>
+        </children>
+        <element xmi:type="uml:Port" href="AbitComplexSM.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FzA74WfbEd-T-rJ3Ep9Y5Q" x="-10" y="130"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hw-_8FbmEeObiJAlOlmjpQ" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hw-_8VbmEeObiJAlOlmjpQ" showTitle="true"/>
+        <element xmi:type="FCM:RuleApplication" href="AbitComplexSM.uml#_DWIYoP6yEd6Ie_kieu_3CQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hw-_8lbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hxIJ4FbmEeObiJAlOlmjpQ" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hxIJ4VbmEeObiJAlOlmjpQ" showTitle="true"/>
+        <element xmi:type="C_Cpp:Include" href="AbitComplexSM.uml#_EaeJMNp0EeKd1ax3yaXM9w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxIJ4lbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hxIJ41bmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hxIJ5FbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxIJ5VbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Xth5MGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Xth5MWkLEeWakucY9QdE0g" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Xvnj4GkLEeWakucY9QdE0g" type="StereotypeCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XvvfsGkLEeWakucY9QdE0g" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XvvfsWkLEeWakucY9QdE0g" key="visible" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_XvoyAGkLEeWakucY9QdE0g" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_r2VLUJD2Ed-I9dVdNhZAGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XvoyAWkLEeWakucY9QdE0g"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Xvnj4WkLEeWakucY9QdE0g" showTitle="true"/>
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_Xvnj4mkLEeWakucY9QdE0g" name="stereotype" stringValue="FCM::RuleApplication"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_te7YAMtkEd2H_o0jIC6qDQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xvnj42kLEeWakucY9QdE0g"/>
+      </children>
+      <element xmi:type="uml:Class" href="AbitComplexSM.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2tKsV37Ed-UvNEDwY5GNg" x="100" y="140" width="321" height="161"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ccPtMDemEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQUQDemEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQUQTemEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQUQjemEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQUQzemEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQURDemEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQURTemEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ccQURjemEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="AbitComplexSM.uml#_cb-ncDemEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccPtMTemEeGPyrZ5I3hMlA" x="500" y="140" width="184"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Xvj5gGkLEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Xvj5gWkLEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xvj5g2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="AbitComplexSM.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xvj5gmkLEeWakucY9QdE0g" x="308" y="72"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_XxYecGkLEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_XxYecWkLEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XxYec2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="AbitComplexSM.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XxYecmkLEeWakucY9QdE0g" x="190" y="108"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Dv6ycCgBEeapjr3l63b85A" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Dv91wCgBEeapjr3l63b85A" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Dv91wSgBEeapjr3l63b85A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Dv91wigBEeapjr3l63b85A" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Dv-c0CgBEeapjr3l63b85A" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Dv-c0SgBEeapjr3l63b85A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dv-c0igBEeapjr3l63b85A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Dwk5wCgBEeapjr3l63b85A" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Dwk5wSgBEeapjr3l63b85A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dwk5wigBEeapjr3l63b85A"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_PI7SECgBEeapjr3l63b85A" type="Port_Shape">
+        <children xmi:type="notation:DecorationNode" xmi:id="_PI7SEigBEeapjr3l63b85A" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_PI7SEygBEeapjr3l63b85A" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_PI7SFCgBEeapjr3l63b85A" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_PI7SFSgBEeapjr3l63b85A" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PI7SESgBEeapjr3l63b85A" x="-10" y="30"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dv6ycSgBEeapjr3l63b85A" x="100" y="20" width="321" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_PJhvACgBEeapjr3l63b85A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_PJhvASgBEeapjr3l63b85A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_PJhvAygBEeapjr3l63b85A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PJhvAigBEeapjr3l63b85A" x="190" y="-9"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_aeSh0V37Ed-UvNEDwY5GNg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_Xth5MmkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_0yX_oCgBEeapjr3l63b85A">
+      <owner xmi:type="uml:Package" href="AbitComplexSM.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    </styles>
+    <element xmi:type="uml:Package" href="AbitComplexSM.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_gMg50DemEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_ccPtMDemEeGPyrZ5I3hMlA" target="_c2tKsF37Ed-UvNEDwY5GNg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_gMg50TemEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gMg50jemEeGPyrZ5I3hMlA" points="[-10, -7, 55, 0]$[-42, -9, 23, -2]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gM_a8DemEeGPyrZ5I3hMlA" id="(0.0,0.6349206349206349)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gNACADemEeGPyrZ5I3hMlA" id="(1.0,0.43795620437956206)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Xvj5hGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_c2tKsF37Ed-UvNEDwY5GNg" target="_Xvj5gGkLEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Xvj5hWkLEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xvj5iWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="AbitComplexSM.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xvj5hmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xvj5h2kLEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xvj5iGkLEeWakucY9QdE0g"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XxYedGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_FzA74GfbEd-T-rJ3Ep9Y5Q" target="_XxYecGkLEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_XxYedWkLEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XxZFgGkLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="AbitComplexSM.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XxYedmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XxYed2kLEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XxYeeGkLEeWakucY9QdE0g"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_LvBXACgBEeapjr3l63b85A" type="Generalization_Edge" source="_c2tKsF37Ed-UvNEDwY5GNg" target="_Dv6ycCgBEeapjr3l63b85A">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LvClICgBEeapjr3l63b85A" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_LvClISgBEeapjr3l63b85A" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_LvBXASgBEeapjr3l63b85A"/>
+      <element xmi:type="uml:Generalization" href="AbitComplexSM.uml#_LuEUwCgBEeapjr3l63b85A"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LvBXAigBEeapjr3l63b85A" points="[260, 140, -643984, -643984]$[260, 66, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LvZxgCgBEeapjr3l63b85A" id="(0.4984423676012461,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LvZxgSgBEeapjr3l63b85A" id="(0.4984423676012461,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_PJhvBCgBEeapjr3l63b85A" type="StereotypeCommentLink" source="_PI7SECgBEeapjr3l63b85A" target="_PJhvACgBEeapjr3l63b85A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_PJhvBSgBEeapjr3l63b85A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_PJiWECgBEeapjr3l63b85A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PJhvBigBEeapjr3l63b85A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PJhvBygBEeapjr3l63b85A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PJhvCCgBEeapjr3l63b85A"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_q-Wa0F37Ed-UvNEDwY5GNg" type="CompositeStructure" name="CompositeDiagram System" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_sGaPEF37Ed-UvNEDwY5GNg" type="Class_Shape" fontName="Sans Serif" fontHeight="10" transparency="0" gradient="8047085, 0, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6B6WUGSuEd-dQdK1-7wIFg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6B69YGSuEd-dQdK1-7wIFg" key="QualifiedNameDepth" value="3"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_62o-4GSuEd-dQdK1-7wIFg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_62o-4WSuEd-dQdK1-7wIFg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KXK-0GGEEeO2F4QRMDSOXg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KXK-0WGEEeO2F4QRMDSOXg" key="fillColor" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_sGa2IF37Ed-UvNEDwY5GNg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JEi_MPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_vHCHcF37Ed-UvNEDwY5GNg" type="Property_Shape" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_haY70F38Ed-UvNEDwY5GNg" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_haY70V38Ed-UvNEDwY5GNg" key="QualifiedNameDepth" value="4"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_64BTMHl_EeOuQYJqyYp5HQ" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_64BTMXl_EeOuQYJqyYp5HQ" key="fillColor" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_vHCHcl37Ed-UvNEDwY5GNg" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DC4cAFmPEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DJ5qAFmPEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JEkNUfX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vHCHdF37Ed-UvNEDwY5GNg"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_zk0VwDrcEeGgAdAmWw4pyQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk080TrcEeGgAdAmWw4pyQ" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk080jrcEeGgAdAmWw4pyQ" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk080zrcEeGgAdAmWw4pyQ" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk081DrcEeGgAdAmWw4pyQ" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk1j4DrcEeGgAdAmWw4pyQ" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk1j4TrcEeGgAdAmWw4pyQ" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_zk1j4jrcEeGgAdAmWw4pyQ" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BYsLEFmPEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BeLIAFmPEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_zk1j4zrcEeGgAdAmWw4pyQ" x="25" y="3"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_zk1j5DrcEeGgAdAmWw4pyQ" visible="false" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_zk1j5TrcEeGgAdAmWw4pyQ" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="AbitComplexSM.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zk080DrcEeGgAdAmWw4pyQ" x="-10" y="50"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_hzStEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_hzStEVbmEeObiJAlOlmjpQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hzStElbmEeObiJAlOlmjpQ"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Xx40xGkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_Xx40xWkLEeWakucY9QdE0g" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="AbitComplexSM.uml#_gV1cgDLiEd2RVeNawwNNzg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vHCHcV37Ed-UvNEDwY5GNg" x="54" y="33" width="201" height="112"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_X1dtMmkLEeWakucY9QdE0g" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_X1dtM2kLEeWakucY9QdE0g" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X1dtNWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="AbitComplexSM.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X1dtNGkLEeWakucY9QdE0g" x="190" y="59"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGa2Il37Ed-UvNEDwY5GNg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hzPCsFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hzPCsVbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hzPCslbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Xx40wGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Xx40wWkLEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="AbitComplexSM.uml#_bYJagDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGaPEV37Ed-UvNEDwY5GNg" x="60" y="40" width="321" height="221"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_q-Wa0V37Ed-UvNEDwY5GNg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_Xx40ymkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="AbitComplexSM.uml#_XLQjUDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_X1dtNmkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_zk0VwDrcEeGgAdAmWw4pyQ" target="_X1dtMmkLEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_X1dtN2kLEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X1eUQmkLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="AbitComplexSM.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X1dtOGkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X1eUQGkLEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X1eUQWkLEeWakucY9QdE0g"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_6FvnwGONEd-seu3qyZgHfg" type="PapyrusUMLClassDiagram" name="deployment plans" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_TOVRYHltEeOh_8tymvdOOg" type="Package_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_TOVRYnltEeOh_8tymvdOOg" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JLvMUPX4EeWa_pjn9guopQ" type="Package_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_TOVRZHltEeOh_8tymvdOOg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TOVRZXltEeOh_8tymvdOOg"/>
+      </children>
+      <element xmi:type="uml:Package" href="AbitComplexSM.uml#_QQiDgHltEeOh_8tymvdOOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TOVRYXltEeOh_8tymvdOOg" x="149" y="152" width="221" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_X47Q4GkLEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_X47Q4WkLEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X47Q42kLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="AbitComplexSM.uml#_QQiDgHltEeOh_8tymvdOOg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X47Q4mkLEeWakucY9QdE0g" x="240" y="40"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_6FvnwWONEd-seu3qyZgHfg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_X3OnwGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="AbitComplexSM.uml#_234GEDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_X4738GkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_TOVRYHltEeOh_8tymvdOOg" target="_X47Q4GkLEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_X4738WkLEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X4739WkLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="AbitComplexSM.uml#_QQiDgHltEeOh_8tymvdOOg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X4738mkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X47382kLEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X4739GkLEeWakucY9QdE0g"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_KYrjcKxkEeCgusK7cm6qjQ" type="PapyrusUMLClassDiagram" name="Platform" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_LsWKwKxkEeCgusK7cm6qjQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx0KxkEeCgusK7cm6qjQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx0axkEeCgusK7cm6qjQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx0qxkEeCgusK7cm6qjQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx06xkEeCgusK7cm6qjQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx1KxkEeCgusK7cm6qjQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx1axkEeCgusK7cm6qjQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_LsWx1qxkEeCgusK7cm6qjQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JOqkgPX4EeWa_pjn9guopQ" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY4axkEeCgusK7cm6qjQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY4qxkEeCgusK7cm6qjQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY46xkEeCgusK7cm6qjQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JOrLkPX4EeWa_pjn9guopQ" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY5axkEeCgusK7cm6qjQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY5qxkEeCgusK7cm6qjQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY56xkEeCgusK7cm6qjQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JOrLkfX4EeWa_pjn9guopQ" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY6axkEeCgusK7cm6qjQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY6qxkEeCgusK7cm6qjQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY66xkEeCgusK7cm6qjQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_h25asFbmEeObiJAlOlmjpQ" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_h25asVbmEeObiJAlOlmjpQ" showTitle="true"/>
+        <element xmi:type="FCM:Target" href="AbitComplexSM.uml#_HvbFMLqQEd-BObGGoBbehA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h25aslbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_h26BwFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_h26BwVbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h26BwlbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_X5Fo8GkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_X5Fo8WkLEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Node" href="AbitComplexSM.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsWKwaxkEeCgusK7cm6qjQ" x="57" y="55" width="160" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_X6kPoGkLEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_X6kPoWkLEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X6kPo2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Node" href="AbitComplexSM.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X6kPomkLEeWakucY9QdE0g" x="257" y="55"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_KYrjcaxkEeCgusK7cm6qjQ"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_X5Fo8mkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="AbitComplexSM.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_X6kPpGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_LsWKwKxkEeCgusK7cm6qjQ" target="_X6kPoGkLEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_X6kPpWkLEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X6kPqWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Node" href="AbitComplexSM.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X6kPpmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X6kPp2kLEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X6kPqGkLEeWakucY9QdE0g"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_HoscYMniEeCMCo5Ox2CNmg" type="CompositeStructure" name="HWArchitecture" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_M1wXIMniEeCMCo5Ox2CNmg" type="Class_Shape" fontName="" fontHeight="10" fillColor="10011046" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BgMniEeCMCo5Ox2CNmg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10BgcniEeCMCo5Ox2CNmg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BgsniEeCMCo5Ox2CNmg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10Bg8niEeCMCo5Ox2CNmg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BhMniEeCMCo5Ox2CNmg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10BhcniEeCMCo5Ox2CNmg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_M10BhsniEeCMCo5Ox2CNmg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JRHbkPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_QgbSEMniEeCMCo5Ox2CNmg" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgbSEsniEeCMCo5Ox2CNmg" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QgbSE8niEeCMCo5Ox2CNmg" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qgb5IMniEeCMCo5Ox2CNmg" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qgb5IcniEeCMCo5Ox2CNmg" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qgb5IsniEeCMCo5Ox2CNmg" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qgb5I8niEeCMCo5Ox2CNmg" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Qgb5JMniEeCMCo5Ox2CNmg" type="Property_NameLabel"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JRICoPX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qgb5JsniEeCMCo5Ox2CNmg"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_h493QFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_h493QVbmEeObiJAlOlmjpQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h493QlbmEeObiJAlOlmjpQ"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_X6unsmkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_X6uns2kLEeWakucY9QdE0g" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="AbitComplexSM.uml#_QgKzYMniEeCMCo5Ox2CNmg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QgbSEcniEeCMCo5Ox2CNmg" x="83" y="28" width="165" height="55"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Ndrf8GGIEeO2F4QRMDSOXg" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_Ndrf8mGIEeO2F4QRMDSOXg" type="Property_NameLabel"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JRJQwPX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_Ndrf9GGIEeO2F4QRMDSOXg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ndrf9WGIEeO2F4QRMDSOXg"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_znjjUHDZEeORJcfdyIEeTg" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_znjjUXDZEeORJcfdyIEeTg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_znjjUnDZEeORJcfdyIEeTg"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_X6untGkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_X6untWkLEeWakucY9QdE0g" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="AbitComplexSM.uml#_Ndc2cGGIEeO2F4QRMDSOXg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ndrf8WGIEeO2F4QRMDSOXg" x="346" y="33" width="109"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M10BiMniEeCMCo5Ox2CNmg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_h48CEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_h48CEVbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h48CElbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_X6unsGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unsWkLEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="AbitComplexSM.uml#_M1a_8MniEeCMCo5Ox2CNmg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M1wXIcniEeCMCo5Ox2CNmg" x="72" y="72" width="577" height="163"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BLhG8DemEeGPyrZ5I3hMlA" type="Node_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG8jemEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG8zemEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG9DemEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG9TemEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG9jemEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG9zemEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BLhuADemEeGPyrZ5I3hMlA" type="Node_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JRKe4PX4EeWa_pjn9guopQ" visible="false" type="Node_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BLhuAjemEeGPyrZ5I3hMlA" showTitle="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BLhuAzemEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_h4_FYFbmEeObiJAlOlmjpQ" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_h4_FYVbmEeObiJAlOlmjpQ" showTitle="true"/>
+        <element xmi:type="FCM:Target" href="AbitComplexSM.uml#_HvbFMLqQEd-BObGGoBbehA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h4_FYlbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_h5CIsFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_h5CIsVbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h5CIslbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_X6untmkLEeWakucY9QdE0g" type="Node_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unt2kLEeWakucY9QdE0g" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_X8sWkGkLEeWakucY9QdE0g" type="StereotypeCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_X8woAGkLEeWakucY9QdE0g" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X8xPEGkLEeWakucY9QdE0g" key="visible" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_X8uLwmkLEeWakucY9QdE0g" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_BZCjMJOGEd-5qPBhYeIVtw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_X8uLw2kLEeWakucY9QdE0g"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_X8tksGkLEeWakucY9QdE0g" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#__5rAUGE_Ed-eArNXja7SuA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_X8tksWkLEeWakucY9QdE0g"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_X8sWkWkLEeWakucY9QdE0g" showTitle="true"/>
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_X8sWkmkLEeWakucY9QdE0g" name="stereotype" stringValue="FCM::Target"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X8sWk2kLEeWakucY9QdE0g"/>
+      </children>
+      <element xmi:type="uml:Node" href="AbitComplexSM.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BLhG8TemEeGPyrZ5I3hMlA" x="71" y="269" width="164" height="119"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GVBbMGGIEeO2F4QRMDSOXg" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GVCCQGGIEeO2F4QRMDSOXg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JRLF8PX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GVCCQmGIEeO2F4QRMDSOXg" showTitle="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GVCCQ2GIEeO2F4QRMDSOXg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_znnNsHDZEeORJcfdyIEeTg" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_znnNsXDZEeORJcfdyIEeTg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_znnNsnDZEeORJcfdyIEeTg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_X6unuGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unuWkLEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="AbitComplexSM.uml#_GUl9YGGIEeO2F4QRMDSOXg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GVBbMWGIEeO2F4QRMDSOXg" x="459" y="270" width="187" height="118"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_HoscYcniEeCMCo5Ox2CNmg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_X6unumkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="AbitComplexSM.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_0MCIsOYXEeCBL_IbXY9ofw" type="PapyrusUMLStateMachineDiagram" name="SmDiagramServer" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_0MCIseYXEeCBL_IbXY9ofw" type="StateMachine_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIsuYXEeCBL_IbXY9ofw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIs-YXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItOYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIteYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItuYXEeCBL_IbXY9ofw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIt-YXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JlR4wHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JlR4wXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LKHvoHn3EeOfttgBwSq-Ig" key="gradient" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0MCIuOYXEeCBL_IbXY9ofw" type="StateMachine_NameLabel">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIueYXEeCBL_IbXY9ofw" width="981" height="20"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JVovMPX4EeWa_pjn9guopQ" type="StateMachine_RegionCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_0MCIu-YXEeCBL_IbXY9ofw" type="Region_Shape" fontName="Sans Serif" lineColor="0" lineWidth="1">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvOYXEeCBL_IbXY9ofw" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIveYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvuYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIv-YXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwOYXEeCBL_IbXY9ofw" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIweYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwuYXEeCBL_IbXY9ofw" source="RegionAnnotationKey">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIw-YXEeCBL_IbXY9ofw" key="RegionZoneKey" value=""/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TbH8gHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TbH8gXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uP7skPZMEeWa_pjn9guopQ" key="lineWidth" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JVpWQPX4EeWa_pjn9guopQ" type="Region_SubvertexCompartment">
+            <children xmi:type="notation:Shape" xmi:id="_1U-twOYXEeCBL_IbXY9ofw" type="Pseudostate_InitialShape" fontName="Sans Serif" fillColor="0" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_U0OYXEeCBL_IbXY9ofw" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74OYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74eYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74uYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74-YXEeCBL_IbXY9ofw" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_75OYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LqN7kMcpEeSsAI2TZshUyg" source="PapyrusCSSForceValue">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LqPJsMcpEeSsAI2TZshUyg" key="gradient" value="true"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75eYXEeCBL_IbXY9ofw" type="Pseudostate_InitialFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_75uYXEeCBL_IbXY9ofw" x="36" y="-9"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75-YXEeCBL_IbXY9ofw" type="Pseudostate_InitialStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_76OYXEeCBL_IbXY9ofw" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="AbitComplexSM.uml#_1UVNgOYXEeCBL_IbXY9ofw"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1U-tweYXEeCBL_IbXY9ofw" x="41" y="18"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_53eokOYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPoOYXEeCBL_IbXY9ofw" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53fPoeYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPouYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2sOYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53f2seYXEeCBL_IbXY9ofw" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2suYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_53f2s-YXEeCBL_IbXY9ofw" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7PRh8OYXEeCBL_IbXY9ofw" width="99" height="20"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_JVp9UPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PvBTIPX4EeWa_pjn9guopQ" source="PapyrusCSSForceValue">
+                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PvB6MPX4EeWa_pjn9guopQ" key="visible" value="true"/>
+                </eAnnotations>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53f2teYXEeCBL_IbXY9ofw" y="20" width="99" height="43"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_h9cHkFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_h9cHkVbmEeObiJAlOlmjpQ"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9cHklbmEeObiJAlOlmjpQ"/>
+              </children>
+              <element xmi:type="uml:State" href="AbitComplexSM.uml#_53E_8OYXEeCBL_IbXY9ofw"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53eokeYXEeCBL_IbXY9ofw" x="180" y="40" width="99" height="63"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_8AQS8OYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8AQ6AOYXEeCBL_IbXY9ofw" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEOYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhEeYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEuYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhE-YXEeCBL_IbXY9ofw" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhFOYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_8ARhFeYXEeCBL_IbXY9ofw" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8A06sOYXEeCBL_IbXY9ofw" width="100" height="20"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_JVrLcPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8ARhF-YXEeCBL_IbXY9ofw" y="20" width="100" height="42"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_h9ej0FbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_h9ej0VbmEeObiJAlOlmjpQ"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ej0lbmEeObiJAlOlmjpQ"/>
+              </children>
+              <element xmi:type="uml:State" href="AbitComplexSM.uml#_7_1cMOYXEeCBL_IbXY9ofw"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8AQS8eYXEeCBL_IbXY9ofw" x="179" y="238" width="100" height="62"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_oxRiMCjmEeaJJusTB1aIbg" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_oxSwUCjmEeaJJusTB1aIbg" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p6M5ICjmEeaJJusTB1aIbg" width="101"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_oxTXYCjmEeaJJusTB1aIbg" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_oxTXYSjmEeaJJusTB1aIbg" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_oxTXYijmEeaJJusTB1aIbg" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxTXYyjmEeaJJusTB1aIbg" y="-1" width="101"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_8DYl4CkDEeaWptp_P1JVYQ" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_8DYl4SkDEeaWptp_P1JVYQ"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8DYl4ikDEeaWptp_P1JVYQ"/>
+              </children>
+              <children xmi:type="notation:Shape" xmi:id="_hGz_0CkFEeaWptp_P1JVYQ" type="Behavior_EntryBehaviorLabel">
+                <element xmi:type="uml:OpaqueBehavior" href="AbitComplexSM.uml#_hGRNQCkFEeaWptp_P1JVYQ"/>
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_hGz_0SkFEeaWptp_P1JVYQ" x="-10" y="-10"/>
+              </children>
+              <element xmi:type="uml:State" href="AbitComplexSM.uml#_owZYcCjmEeaJJusTB1aIbg"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxRiMSjmEeaJJusTB1aIbg" x="599" y="40" width="101" height="61"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="__-OxACjmEeaJJusTB1aIbg" type="Pseudostate_JunctionShape">
+              <children xmi:type="notation:DecorationNode" xmi:id="__-PYECjmEeaJJusTB1aIbg" visible="false" type="Pseudostate_JunctionFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYESjmEeaJJusTB1aIbg" x="34" y="22"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="__-PYEijmEeaJJusTB1aIbg" type="Pseudostate_JunctionStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYEyjmEeaJJusTB1aIbg" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="AbitComplexSM.uml#__9lQwCjmEeaJJusTB1aIbg"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="__-OxASjmEeaJJusTB1aIbg" x="559" y="160"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_mySKUCkEEeaWptp_P1JVYQ" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_myTYcCkEEeaWptp_P1JVYQ" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nRa9YCkEEeaWptp_P1JVYQ" width="421" height="20"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_myTYcSkEEeaWptp_P1JVYQ" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_myTYcikEEeaWptp_P1JVYQ" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_myTYcykEEeaWptp_P1JVYQ" type="State_RegionCompartment">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pXB_ACkEEeaWptp_P1JVYQ" source="PapyrusCSSForceValue">
+                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pXCmECkEEeaWptp_P1JVYQ" key="visible" value="true"/>
+                </eAnnotations>
+                <children xmi:type="notation:Shape" xmi:id="_pXLI8CkEEeaWptp_P1JVYQ" type="Region_Shape">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pXLwAikEEeaWptp_P1JVYQ" source="RegionAnnotationKey">
+                    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pXLwAykEEeaWptp_P1JVYQ" key="RegionZoneKey" value=""/>
+                  </eAnnotations>
+                  <children xmi:type="notation:BasicCompartment" xmi:id="_pXLwACkEEeaWptp_P1JVYQ" type="Region_SubvertexCompartment">
+                    <children xmi:type="notation:Shape" xmi:id="_pXOzUCkEEeaWptp_P1JVYQ" type="State_Shape">
+                      <children xmi:type="notation:DecorationNode" xmi:id="_pXOzUikEEeaWptp_P1JVYQ" type="State_NameLabel">
+                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m48BwCu-EeafWNwvkqnGkA" width="81"/>
+                      </children>
+                      <children xmi:type="notation:DecorationNode" xmi:id="_pXOzUykEEeaWptp_P1JVYQ" type="State_FloatingNameLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_pXOzVCkEEeaWptp_P1JVYQ" x="40"/>
+                      </children>
+                      <children xmi:type="notation:BasicCompartment" xmi:id="_pXOzVSkEEeaWptp_P1JVYQ" type="State_RegionCompartment">
+                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pXOzVikEEeaWptp_P1JVYQ" y="-1" width="81"/>
+                      </children>
+                      <element xmi:type="uml:State" href="AbitComplexSM.uml#_pXM-ICkEEeaWptp_P1JVYQ"/>
+                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pXOzUSkEEeaWptp_P1JVYQ" x="219" y="60" width="81" height="61"/>
+                    </children>
+                    <children xmi:type="notation:Shape" xmi:id="_w_1jcCkEEeaWptp_P1JVYQ" type="Pseudostate_ShallowHistoryShape">
+                      <children xmi:type="notation:DecorationNode" xmi:id="_w_2KgCkEEeaWptp_P1JVYQ" type="Pseudostate_ShallowHistoryFloatingNameLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_w_2KgSkEEeaWptp_P1JVYQ" x="40" y="-20"/>
+                      </children>
+                      <children xmi:type="notation:DecorationNode" xmi:id="_w_2KgikEEeaWptp_P1JVYQ" type="Pseudostate_ShallowHistoryStereotypeLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_w_2KgykEEeaWptp_P1JVYQ" x="25" y="-10"/>
+                      </children>
+                      <element xmi:type="uml:Pseudostate" href="AbitComplexSM.uml#_w-8yoCkEEeaWptp_P1JVYQ"/>
+                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w_1jcSkEEeaWptp_P1JVYQ" x="19" y="20"/>
+                    </children>
+                    <children xmi:type="notation:Shape" xmi:id="_-BL54CkEEeaWptp_P1JVYQ" type="State_Shape">
+                      <children xmi:type="notation:DecorationNode" xmi:id="_-BL54ikEEeaWptp_P1JVYQ" type="State_NameLabel">
+                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zUfjgCu-EeafWNwvkqnGkA" width="78"/>
+                      </children>
+                      <children xmi:type="notation:DecorationNode" xmi:id="_-BL54ykEEeaWptp_P1JVYQ" type="State_FloatingNameLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_-BMg8CkEEeaWptp_P1JVYQ" x="40"/>
+                      </children>
+                      <children xmi:type="notation:BasicCompartment" xmi:id="_-BMg8SkEEeaWptp_P1JVYQ" type="State_RegionCompartment">
+                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-BMg8ikEEeaWptp_P1JVYQ" y="-1" width="78"/>
+                      </children>
+                      <element xmi:type="uml:State" href="AbitComplexSM.uml#_-AIxACkEEeaWptp_P1JVYQ"/>
+                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-BL54SkEEeaWptp_P1JVYQ" x="19" y="80" width="78" height="61"/>
+                    </children>
+                    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pXLwASkEEeaWptp_P1JVYQ"/>
+                  </children>
+                  <element xmi:type="uml:Region" href="AbitComplexSM.uml#_pXD0MCkEEeaWptp_P1JVYQ"/>
+                  <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pXLI8SkEEeaWptp_P1JVYQ" width="421" height="181"/>
+                </children>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_myTYdCkEEeaWptp_P1JVYQ" y="20" width="421" height="181"/>
+              </children>
+              <element xmi:type="uml:State" href="AbitComplexSM.uml#_mxZZgCkEEeaWptp_P1JVYQ"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mySKUSkEEeaWptp_P1JVYQ" x="539" y="240" width="421" height="201"/>
+            </children>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxeYXEeCBL_IbXY9ofw"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_h9XPEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_h9XPEVbmEeObiJAlOlmjpQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9XPElbmEeObiJAlOlmjpQ"/>
+          </children>
+          <element xmi:type="uml:Region" href="AbitComplexSM.uml#_0Lv00OYXEeCBL_IbXY9ofw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxuYXEeCBL_IbXY9ofw" width="981" height="461"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIx-YXEeCBL_IbXY9ofw" y="20" width="981" height="461"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_h9ULwFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_h9ULwVbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ULwlbmEeObiJAlOlmjpQ"/>
+      </children>
+      <styles xmi:type="notation:StringListValueStyle" xmi:id="_v51OQHn2EeOfttgBwSq-Ig" name="cssClass"/>
+      <element xmi:type="uml:StateMachine" href="AbitComplexSM.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIyOYXEeCBL_IbXY9ofw" x="40" y="40" width="981" height="481"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_0MCIyeYXEeCBL_IbXY9ofw"/>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_B2g2QHn3EeOfttgBwSq-Ig" name="css_stylesheets" eObjectListValue="_B2g2QXn3EeOfttgBwSq-Ig"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_YAq3oGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:StateMachine" href="AbitComplexSM.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_CLUHAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_1U-twOYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_loi7ECkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8MeYYEeCBL_IbXY9ofw" x="-5" y="1"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MuYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lpG7wCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8M-YYEeCBL_IbXY9ofw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8NOYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lpZ2sCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8NeYYEeCBL_IbXY9ofw" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_CLUHAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_CLBzIOYYEeCBL_IbXY9ofw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CLUHAuYYEeCBL_IbXY9ofw" points="[10, -4, -180, 0]$[175, -7, -15, -3]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CMH_UOYYEeCBL_IbXY9ofw" id="(0.16483516483516483,0.4142857142857143)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Doz_wOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0OYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lFjiwCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0eYYEeCBL_IbXY9ofw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0uYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lF1PkCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0-YYEeCBL_IbXY9ofw" x="-2" y="84"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m1OYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lGFHMCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m1eYYEeCBL_IbXY9ofw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Doz_weYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_Doi6AOYYEeCBL_IbXY9ofw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Doz_wuYYEeCBL_IbXY9ofw" points="[4, 9, 0, -45]$[1, 47, -3, -7]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacsOYYEeCBL_IbXY9ofw" id="(0.2,0.9846153846153847)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacseYYEeCBL_IbXY9ofw" id="(0.2,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_OIPMAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OIPzEOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lD7yICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIOYYEeCBL_IbXY9ofw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaIeYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lEucUCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIuYYEeCBL_IbXY9ofw" x="-32" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaI-YYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lFJ6ICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaJOYYEeCBL_IbXY9ofw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_OIPMAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_OH_UYOYYEeCBL_IbXY9ofw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OIPMAuYYEeCBL_IbXY9ofw" points="[-4, -31, 8, 88]$[4, -128, 16, -9]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgOYYEeCBL_IbXY9ofw" id="(0.8,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgeYYEeCBL_IbXY9ofw" id="(0.8,0.9846153846153847)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mPjVYOtqEeCzSsOGmQH2aA" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" roundedBendpointsRadius="10" routing="Rectilinear" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wFmGcHoDEeOA64V_YLapaA" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wFmtgHoDEeOA64V_YLapaA" key="smoothness" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoOtqEeCzSsOGmQH2aA" visible="false" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XwnVkPX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxoetqEeCzSsOGmQH2aA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoutqEeCzSsOGmQH2aA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XxIS8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxo-tqEeCzSsOGmQH2aA" x="-15" y="28"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxpOtqEeCzSsOGmQH2aA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Xxll8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxpetqEeCzSsOGmQH2aA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_mPjVYetqEeCzSsOGmQH2aA" fontName=""/>
+      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_mJvoUOtqEeCzSsOGmQH2aA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mPjVYutqEeCzSsOGmQH2aA" points="[299, 171, -643984, -643984]$[147, 171, -643984, -643984]$[147, 272, -643984, -643984]$[299, 272, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wOtqEeCzSsOGmQH2aA" id="(0.0,0.6915887850467289)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wetqEeCzSsOGmQH2aA" id="(0.0,0.5)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_rgm2QCjmEeaJJusTB1aIbg" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_oxRiMCjmEeaJJusTB1aIbg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUCjmEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l3qVICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUSjmEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUijmEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l4T1YCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUyjmEeaJJusTB1aIbg" x="-140" y="-25"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rgndVCjmEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l48HgCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndVSjmEeaJJusTB1aIbg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_rgm2QSjmEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_rdKgsCjmEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rgm2QijmEeaJJusTB1aIbg" points="[399, 131, -643984, -643984]$[551, 131, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhuQkCjmEeaJJusTB1aIbg" id="(1.0,0.5)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhu3oCjmEeaJJusTB1aIbg" id="(0.0,0.5932203389830508)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_BPTXUCjnEeaJJusTB1aIbg" type="Transition_Edge" source="_oxRiMCjmEeaJJusTB1aIbg" target="__-OxACjmEeaJJusTB1aIbg" roundedBendpointsRadius="10" routing="Rectilinear">
+      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXUyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cWcoICkFEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVCjnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cWvjECkFEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVijnEeaJJusTB1aIbg" x="-45" y="-22"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cXNdICkFEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXWCjnEeaJJusTB1aIbg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_BPTXUSjnEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_BO7j4CjnEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BPTXUijnEeaJJusTB1aIbg" points="[680, 161, -643984, -643984]$[680, 180, -643984, -643984]$[590, 180, -643984, -643984]$[590, 222, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUCjnEeaJJusTB1aIbg" id="(0.39603960396039606,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUSjnEeaJJusTB1aIbg" id="(0.5,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_G11iACjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_53eokOYXEeCBL_IbXY9ofw" roundedBendpointsRadius="10" routing="Rectilinear">
+      <children xmi:type="notation:DecorationNode" xmi:id="_G11iAyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l5PpgCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBCjnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_G11iBSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l5fhICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBijnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_G11iByjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l5zDICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iCCjnEeaJJusTB1aIbg" x="-2" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_G11iASjnEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_G1QTMCjnEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G11iAijnEeaJJusTB1aIbg" points="[583, 227, -643984, -643984]$[317, 227, -643984, -643984]$[317, 160, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2gQYCjnEeaJJusTB1aIbg" id="(0.15,0.3863945578231304)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2g3cCjnEeaJJusTB1aIbg" id="(0.9797979797979798,0.9117647058823529)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_HndzQCjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_w_1jcCkEEeaWptp_P1JVYQ" roundedBendpointsRadius="10" routing="Rectilinear">
+      <children xmi:type="notation:DecorationNode" xmi:id="_HndzQyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lGXbECkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRCjnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lGpH4CkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRijnEeaJJusTB1aIbg" x="10" y="-5"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lG-fECkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzSCjnEeaJJusTB1aIbg" x="-2" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_HndzQSjnEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_HnKRQCjnEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HndzQijnEeaJJusTB1aIbg" points="[608, 220, -643984, -643984]$[608, 280, -643984, -643984]$[610, 280, -643984, -643984]$[610, 341, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoK94CjnEeaJJusTB1aIbg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoLk8CjnEeaJJusTB1aIbg" id="(0.5,0.05)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_zVFjkCkEEeaWptp_P1JVYQ" type="Transition_Edge" source="_w_1jcCkEEeaWptp_P1JVYQ" target="_pXOzUCkEEeaWptp_P1JVYQ" roundedBendpointsRadius="10" routing="Rectilinear">
+      <children xmi:type="notation:DecorationNode" xmi:id="_zVGKoikEEeaWptp_P1JVYQ" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_mYSdsCu8EeafWNwvkqnGkA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_zVGKoykEEeaWptp_P1JVYQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_zVGKpCkEEeaWptp_P1JVYQ" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_mYuikCu8EeafWNwvkqnGkA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_zVGKpSkEEeaWptp_P1JVYQ" x="-31" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_zVGKpikEEeaWptp_P1JVYQ" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_mZcUQCu8EeafWNwvkqnGkA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_zVGKpykEEeaWptp_P1JVYQ" x="1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_zVGKoCkEEeaWptp_P1JVYQ"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_zRtfcCkEEeaWptp_P1JVYQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zVGKoSkEEeaWptp_P1JVYQ" points="[618, 353, -643984, -643984]$[700, 353, -643984, -643984]$[700, 400, -643984, -643984]$[800, 400, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zWNk8CkEEeaWptp_P1JVYQ" id="(0.9,0.65)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zWNk8SkEEeaWptp_P1JVYQ" id="(0.0,0.32786885245901637)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="__p2g0CkEEeaWptp_P1JVYQ" type="Transition_Edge" source="_pXOzUCkEEeaWptp_P1JVYQ" target="_-BL54CkEEeaWptp_P1JVYQ" roundedBendpointsRadius="10" routing="Rectilinear">
+      <children xmi:type="notation:DecorationNode" xmi:id="__p2g0ykEEeaWptp_P1JVYQ" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vSNrwCu8EeafWNwvkqnGkA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__p2g1CkEEeaWptp_P1JVYQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="__p2g1SkEEeaWptp_P1JVYQ" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vTEnYCu8EeafWNwvkqnGkA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__p2g1ikEEeaWptp_P1JVYQ" x="59" y="-55"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="__p2g1ykEEeaWptp_P1JVYQ" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vTp2MCu8EeafWNwvkqnGkA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__p2g2CkEEeaWptp_P1JVYQ" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="__p2g0SkEEeaWptp_P1JVYQ"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#__pc4MCkEEeaWptp_P1JVYQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__p2g0ikEEeaWptp_P1JVYQ" points="[800, 420, -643984, -643984]$[678, 420, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__q6QwCkEEeaWptp_P1JVYQ" id="(0.0,0.6557377049180327)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__q630CkEEeaWptp_P1JVYQ" id="(1.0,0.45454545454545453)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_JP4m8CkFEeaWptp_P1JVYQ" type="Transition_Edge" source="_-BL54CkEEeaWptp_P1JVYQ" target="_8AQS8OYXEeCBL_IbXY9ofw" roundedBendpointsRadius="10" routing="Rectilinear">
+      <children xmi:type="notation:DecorationNode" xmi:id="_JP4m8ykFEeaWptp_P1JVYQ" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kS-XACu8EeafWNwvkqnGkA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JP4m9CkFEeaWptp_P1JVYQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JP4m9SkFEeaWptp_P1JVYQ" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kTuk8Cu8EeafWNwvkqnGkA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JP4m9ikFEeaWptp_P1JVYQ" x="160" y="-35"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JP4m9ykFEeaWptp_P1JVYQ" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUVo8Cu8EeafWNwvkqnGkA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JP4m-CkFEeaWptp_P1JVYQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_JP4m8SkFEeaWptp_P1JVYQ"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSM.uml#_JPEuoCkFEeaWptp_P1JVYQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JP4m8ikFEeaWptp_P1JVYQ" points="[632, 420, -643984, -643984]$[280, 420, -643984, -643984]$[280, 360, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JQsfQCkFEeaWptp_P1JVYQ" id="(0.0,0.5909090909090909)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JQsfQSkFEeaWptp_P1JVYQ" id="(0.6,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <css:EmbeddedStyleSheet xmi:id="_B2g2QXn3EeOfttgBwSq-Ig" label="Animation" content=":animated{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 3px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #c00000;&#xA;&#x9;bold: true;&#xA;} &#xA;&#xA;:suspended{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #fab953;&#xA;&#x9;bold: true;&#xA;}&#xA;&#xA;:visited{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #92d050;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #92d050;&#xA;}&#xA;Transition > Label {&#xA;&#x9;bodyCutLength: 1;&#xA;&#x9;indicateParameters: true;&#xA;&#x9;lineBreakBeforeEffect : true;&#xA;}"/>
+  <css:ModelStyleSheets xmi:id="_Rz4BcMcpEeSsAI2TZshUyg"/>
+</xmi:XMI>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/AbitComplexSM.uml b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/AbitComplexSM.uml
new file mode 100644
index 0000000..201a184
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/AbitComplexSM.uml
@@ -0,0 +1,416 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc">
+  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="ABitComplexSMExample">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_C_CORE/componentlib.uml#_O6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_YvEs8OusEeCTfOY57pgE3w">
+      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/statemachine.uml#_ago_QOUTEd-P08Bciq_LqQ"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="components">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_cb-ncDemEeGPyrZ5I3hMlA" annotatedElement="_oqZNUDLaEd2qeKRLMdIx_A">
+        <body>State-machine support is enabled with a container rule</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Package" xmi:id="_Tp4n8DLaEd2qeKRLMdIx_A" name="Interfaces">
+        <packagedElement xmi:type="uml:Interface" xmi:id="_cn-H0DLbEd2qeKRLMdIx_A" name="ICompute">
+          <ownedReception xmi:type="uml:Reception" xmi:id="_1U0U8McqEeSsAI2TZshUyg" name="add" signal="_ywk2kMcqEeSsAI2TZshUyg"/>
+          <ownedReception xmi:type="uml:Reception" xmi:id="_M-tXYMcrEeSsAI2TZshUyg" name="mult" signal="_z0nGcMcqEeSsAI2TZshUyg"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_DGs6wDLgEd28fJKJJnUaeQ" name="add">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6wTLgEd28fJKJJnUaeQ" name="a">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6wzLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6wjLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6xTLgEd28fJKJJnUaeQ" name="b">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6xzLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6xjLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6yTLgEd28fJKJJnUaeQ" name="res" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6yzLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6yjLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+          </ownedOperation>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_L8EY8DLgEd28fJKJJnUaeQ" name="mult">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY8TLgEd28fJKJJnUaeQ" name="a">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY8zLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY8jLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY9TLgEd28fJKJJnUaeQ" name="b">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY9zLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY9jLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY-TLgEd28fJKJJnUaeQ" name="res" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY-zLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY-jLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+          </ownedOperation>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Signal" xmi:id="_ywk2kMcqEeSsAI2TZshUyg" name="Add"/>
+        <packagedElement xmi:type="uml:Signal" xmi:id="_z0nGcMcqEeSsAI2TZshUyg" name="Mult"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_XLQjUDLiEd2RVeNawwNNzg" name="System">
+        <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="System_impl">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_gV1cgDLiEd2RVeNawwNNzg" name="simpleSM" type="_oqZNUDLaEd2qeKRLMdIx_A" isUnique="false" aggregation="composite"/>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_oqZNUDLaEd2qeKRLMdIx_A" name="SimpleSM" classifierBehavior="_y7KWsOYXEeCBL_IbXY9ofw">
+        <generalization xmi:type="uml:Generalization" xmi:id="_LuEUwCgBEeapjr3l63b85A">
+          <general xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+        </generalization>
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_4KiE8DLbEd2qeKRLMdIx_A" name="p" type="_cn-H0DLbEd2qeKRLMdIx_A" aggregation="composite"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_Ya5_oCkFEeaWptp_P1JVYQ" name="x">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedAttribute>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_YQqH0JYlEd6G9q9hwr11bw" name="derived realization of ICompute" client="_oqZNUDLaEd2qeKRLMdIx_A" supplier="_cn-H0DLbEd2qeKRLMdIx_A" contract="_cn-H0DLbEd2qeKRLMdIx_A"/>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_VGnYgCgBEeapjr3l63b85A" name="derived realization of IStart" client="_oqZNUDLaEd2qeKRLMdIx_A">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+          <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+        </interfaceRealization>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_qxjWINnmEd2_cstbO2Uzgg" name="mult" specification="_4ZEZwHecEd6r18stFZxmFQ">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_es-r0C1REea25uwDpRQuxg" name="a">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_es-r0S1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_es-r0i1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_es_S4C1REea25uwDpRQuxg" name="b">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_es_S4S1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_es_S4i1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_es_58C1REea25uwDpRQuxg" name="res" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_es_58S1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_es_58i1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a*b=&quot; &lt;&lt; a*b &lt;&lt; endl;
+return a*b;</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ML-4AKI5Ed6FqJCjEUrkqQ" name="add" specification="_TbIjUJYlEd6G9q9hwr11bw">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_etAhAC1REea25uwDpRQuxg" name="a">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_etAhAS1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_etAhAi1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_etAhAy1REea25uwDpRQuxg" name="b">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_etBIEC1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_etBIES1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_etBIEi1REea25uwDpRQuxg" name="res" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_etBIEy1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_etBvIC1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a+b=&quot; &lt;&lt; a+b &lt;&lt; endl;
+return a+b;</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_y7KWsOYXEeCBL_IbXY9ofw" name="SMSimple">
+          <region xmi:type="uml:Region" xmi:id="_0Lv00OYXEeCBL_IbXY9ofw" name="Region0">
+            <transition xmi:type="uml:Transition" xmi:id="_CLBzIOYYEeCBL_IbXY9ofw" name="Transition0" source="_1UVNgOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw"/>
+            <transition xmi:type="uml:Transition" xmi:id="_Doi6AOYYEeCBL_IbXY9ofw" name="Transition1" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
+              <trigger xmi:type="uml:Trigger" xmi:id="_rHpXoOtoEeCjb9i0gG4phA" event="_rHoJgOtoEeCjb9i0gG4phA"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_OH_UYOYYEeCBL_IbXY9ofw" name="Transition2" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw">
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_CAWpgSSoEeG6GJ4vU06VYQ" name="add" isAbstract="true">
+                <language>C/C++</language>
+                <body>add(2,3);&#xD;
+mult(3,5);&#xD;
+std::cout &lt;&lt;&quot;From State1 to State0 \n&quot;;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_-aQtACaeEeG4fZdVXNtoOQ" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_mJvoUOtqEeCzSsOGmQH2aA" name="Transition3" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
+              <trigger xmi:type="uml:Trigger" xmi:id="_8WepQHoDEeOA64V_YLapaA" event="_8WeCMHoDEeOA64V_YLapaA"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_rdKgsCjmEeaJJusTB1aIbg" source="_53E_8OYXEeCBL_IbXY9ofw" target="_owZYcCjmEeaJJusTB1aIbg">
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_-EnkACjmEeaJJusTB1aIbg" isAbstract="true">
+                <language>C++</language>
+                <body>cout &lt;&lt; &quot;From State 0 to State 2&quot; &lt;&lt; endl;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_4eMuECjmEeaJJusTB1aIbg" event="_4WSIMCjmEeaJJusTB1aIbg"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_BO7j4CjnEeaJJusTB1aIbg" source="_owZYcCjmEeaJJusTB1aIbg" target="__9lQwCjmEeaJJusTB1aIbg">
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_F9mScCjnEeaJJusTB1aIbg">
+                <language>C++</language>
+                <body>x = 6;&#xD;
+std::cout &lt;&lt;&quot;From State 2 to Junction1\n&quot;;&#xD;
+</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_GlK94CjpEeaJJusTB1aIbg" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_G1QTMCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_53E_8OYXEeCBL_IbXY9ofw"/>
+            <transition xmi:type="uml:Transition" xmi:id="_HnKRQCjnEeaJJusTB1aIbg" guard="_KB4nQCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_w-8yoCkEEeaWptp_P1JVYQ">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="_KB4nQCjnEeaJJusTB1aIbg">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_KB4nQSjnEeaJJusTB1aIbg">
+                  <language>C++</language>
+                  <body>x == 5</body>
+                </specification>
+              </ownedRule>
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_QlLVICjnEeaJJusTB1aIbg" isAbstract="true">
+                <language>C++</language>
+                <body>cout &lt;&lt; &quot;From Junction1 to Shallow history&quot; &lt;&lt; endl;</body>
+              </effect>
+            </transition>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="_1UVNgOYXEeCBL_IbXY9ofw" name="Initial0"/>
+            <subvertex xmi:type="uml:State" xmi:id="_53E_8OYXEeCBL_IbXY9ofw" name="State0"/>
+            <subvertex xmi:type="uml:State" xmi:id="_7_1cMOYXEeCBL_IbXY9ofw" name="State1"/>
+            <subvertex xmi:type="uml:State" xmi:id="_owZYcCjmEeaJJusTB1aIbg" name="State2">
+              <entry xmi:type="uml:OpaqueBehavior" xmi:id="_hGRNQCkFEeaWptp_P1JVYQ">
+                <language>C++</language>
+                <body>x = 5;</body>
+              </entry>
+            </subvertex>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="__9lQwCjmEeaJJusTB1aIbg" name="Junction1" kind="junction"/>
+            <subvertex xmi:type="uml:State" xmi:id="_mxZZgCkEEeaWptp_P1JVYQ" name="State3">
+              <region xmi:type="uml:Region" xmi:id="_pXD0MCkEEeaWptp_P1JVYQ" name="Region1">
+                <transition xmi:type="uml:Transition" xmi:id="_zRtfcCkEEeaWptp_P1JVYQ" source="_w-8yoCkEEeaWptp_P1JVYQ" target="_pXM-ICkEEeaWptp_P1JVYQ">
+                  <effect xmi:type="uml:OpaqueBehavior" xmi:id="_7hUlMCkEEeaWptp_P1JVYQ" isAbstract="true">
+                    <language>C++</language>
+                    <body>cout &lt;&lt; &quot;From Shallow history to State 3_1&quot; &lt;&lt; endl;</body>
+                  </effect>
+                </transition>
+                <transition xmi:type="uml:Transition" xmi:id="__pc4MCkEEeaWptp_P1JVYQ" source="_pXM-ICkEEeaWptp_P1JVYQ" target="_-AIxACkEEeaWptp_P1JVYQ">
+                  <effect xmi:type="uml:OpaqueBehavior" xmi:id="_Im4tQCkFEeaWptp_P1JVYQ" isAbstract="true">
+                    <language>C++</language>
+                    <body>cout &lt;&lt; &quot;From State 3_1 to State 3_2&quot; &lt;&lt; endl;</body>
+                  </effect>
+                  <trigger xmi:type="uml:Trigger" xmi:id="_D0f8UCkFEeaWptp_P1JVYQ" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
+                </transition>
+                <transition xmi:type="uml:Transition" xmi:id="_JPEuoCkFEeaWptp_P1JVYQ" source="_-AIxACkEEeaWptp_P1JVYQ" target="_7_1cMOYXEeCBL_IbXY9ofw">
+                  <effect xmi:type="uml:OpaqueBehavior" xmi:id="_QHO5QCkFEeaWptp_P1JVYQ" isAbstract="true">
+                    <language>C++</language>
+                    <body>cout &lt;&lt; &quot;From State 5 to State 1&quot; &lt;&lt; endl;</body>
+                  </effect>
+                  <trigger xmi:type="uml:Trigger" xmi:id="_NO0hsCkFEeaWptp_P1JVYQ" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
+                </transition>
+                <subvertex xmi:type="uml:State" xmi:id="_pXM-ICkEEeaWptp_P1JVYQ" name="State3_1"/>
+                <subvertex xmi:type="uml:Pseudostate" xmi:id="_w-8yoCkEEeaWptp_P1JVYQ" name="ShallowHistory1" kind="shallowHistory"/>
+                <subvertex xmi:type="uml:State" xmi:id="_-AIxACkEEeaWptp_P1JVYQ" name="State3_2"/>
+              </region>
+            </subvertex>
+          </region>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_YNCW4CgBEeapjr3l63b85A" name="run" specification="_VGsRACgBEeapjr3l63b85A">
+          <language>C/C++</language>
+          <body>cout &lt;&lt; &quot;call add (2, 3);&quot; &lt;&lt; endl;
+cout &lt;&lt; &quot;result: &quot; &lt;&lt; add (2, 3) &lt;&lt; endl;
+cout &lt;&lt; &quot;sleeping for 15 seconds (statemachine remains active);&quot; &lt;&lt; endl;
+sleep(15);
+</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_4ZEZwHecEd6r18stFZxmFQ" name="mult" method="_qxjWINnmEd2_cstbO2Uzgg">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_es5MQC1REea25uwDpRQuxg" name="a">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_es6aYC1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_es6aYS1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_es6aYi1REea25uwDpRQuxg" name="b">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_es8PkC1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_es8PkS1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_es82oC1REea25uwDpRQuxg" name="res" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_es9dsC1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_es9dsS1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_TbIjUJYlEd6G9q9hwr11bw" name="add" method="_ML-4AKI5Ed6FqJCjEUrkqQ">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_espUoC1REea25uwDpRQuxg" name="a">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_esrJ0C1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_esrJ0S1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_esrJ0i1REea25uwDpRQuxg" name="b">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ess_AC1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ess_AS1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_ess_Ai1REea25uwDpRQuxg" name="res" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_esu0MC1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_esu0MS1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_VGsRACgBEeapjr3l63b85A" name="run" method="_YNCW4CgBEeapjr3l63b85A"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_rGzqIOtoEeCjb9i0gG4phA" name="events">
+        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_rHoJgOtoEeCjb9i0gG4phA" name="TE - {value=50, unit=ms}" isRelative="true">
+          <when xmi:type="uml:TimeExpression" xmi:id="_rHoJgetoEeCjb9i0gG4phA">
+            <expr xmi:type="uml:OpaqueExpression" xmi:id="_rHoJgutoEeCjb9i0gG4phA">
+              <language>Natural language</language>
+              <body>{value=50, unit=ms}</body>
+            </expr>
+          </when>
+        </packagedElement>
+        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_-PMFcCaeEeG4fZdVXNtoOQ" name="TE - {value=500, unit=ms}" isRelative="true">
+          <when xmi:type="uml:TimeExpression" xmi:id="_-PMFcSaeEeG4fZdVXNtoOQ">
+            <expr xmi:type="uml:OpaqueExpression" xmi:id="_-PMFciaeEeG4fZdVXNtoOQ">
+              <language>Natural language</language>
+              <body>{value=500, unit=ms}</body>
+            </expr>
+          </when>
+        </packagedElement>
+        <packagedElement xmi:type="uml:CallEvent" xmi:id="_8WeCMHoDEeOA64V_YLapaA" name="CE - CServer_impl - add" operation="_TbIjUJYlEd6G9q9hwr11bw"/>
+        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_4WSIMCjmEeaJJusTB1aIbg" name="TE - {value=25, unit=ms}" isRelative="true">
+          <when xmi:type="uml:TimeExpression" xmi:id="_4WSIMSjmEeaJJusTB1aIbg">
+            <expr xmi:type="uml:OpaqueExpression" xmi:id="_4WSIMijmEeaJJusTB1aIbg">
+              <language>Natural language</language>
+              <body>{value=25, unit=ms}</body>
+            </expr>
+          </when>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_v3fMgDLiEd2RVeNawwNNzg" name="platform">
+      <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="MonoNode">
+        <generalization xmi:type="uml:Generalization" xmi:id="_A39CYHDaEeORJcfdyIEeTg">
+          <general xmi:type="uml:Class" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmImnHEeOtZICylR5Azw"/>
+        </generalization>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_M1a_8MniEeCMCo5Ox2CNmg" name="HWArchitectureMonolithic">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_QgKzYMniEeCMCo5Ox2CNmg" name="monoNode" visibility="public" type="_zY9vMDLiEd2RVeNawwNNzg" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XijRAMniEeCMCo5Ox2CNmg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XkfxwMniEeCMCo5Ox2CNmg" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_XlIq8MniEeCMCo5Ox2CNmg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_Ndc2cGGIEeO2F4QRMDSOXg" name="Eclipse" type="_GUl9YGGIEeO2F4QRMDSOXg" aggregation="composite"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_GUl9YGGIEeO2F4QRMDSOXg" name="EclipseServer">
+        <generalization xmi:type="uml:Generalization" xmi:id="_Bpd-4HDaEeORJcfdyIEeTg">
+          <general xmi:type="uml:Class" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmImnHEeOtZICylR5Azw"/>
+        </generalization>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_ZDrmkHDaEeORJcfdyIEeTg" name="HWArchitectureMonolithicPlatform">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDrmkXDaEeORJcfdyIEeTg" classifier="_M1a_8MniEeCMCo5Ox2CNmg">
+          <slot xmi:type="uml:Slot" xmi:id="_ZDsNoXDaEeORJcfdyIEeTg" definingFeature="_QgKzYMniEeCMCo5Ox2CNmg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_ZDs0sHDaEeORJcfdyIEeTg" instance="_ZDsNoHDaEeORJcfdyIEeTg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_ZDtbwHDaEeORJcfdyIEeTg" definingFeature="_Ndc2cGGIEeO2F4QRMDSOXg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_ZDuC0HDaEeORJcfdyIEeTg" instance="_ZDs0sXDaEeORJcfdyIEeTg"/>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDsNoHDaEeORJcfdyIEeTg" name="monoNode" classifier="_zY9vMDLiEd2RVeNawwNNzg">
+          <slot xmi:type="uml:Slot" xmi:id="_fg9zEHDaEeORJcfdyIEeTg">
+            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJWnHEeOtZICylR5Azw"/>
+            <value xmi:type="uml:LiteralString" xmi:id="_fg-aIHDaEeORJcfdyIEeTg" name="value for IPaddress" value="127.0.0.1">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            </value>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_hDbrYHDaEeORJcfdyIEeTg">
+            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJmnHEeOtZICylR5Azw"/>
+            <value xmi:type="uml:LiteralInteger" xmi:id="_hDcScHDaEeORJcfdyIEeTg" name="value for portNumber" value="12345">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+            </value>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDs0sXDaEeORJcfdyIEeTg" name="Eclipse" classifier="_GUl9YGGIEeO2F4QRMDSOXg">
+          <slot xmi:type="uml:Slot" xmi:id="_oXzQ4HDaEeORJcfdyIEeTg">
+            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJWnHEeOtZICylR5Azw"/>
+            <value xmi:type="uml:LiteralString" xmi:id="_oXz38HDaEeORJcfdyIEeTg" name="value for IPaddress" value="127.0.0.1">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            </value>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_plcIsHDaEeORJcfdyIEeTg">
+            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJmnHEeOtZICylR5Azw"/>
+            <value xmi:type="uml:LiteralInteger" xmi:id="_plcvwHDaEeORJcfdyIEeTg" name="value for portNumber" value="12346">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+            </value>
+          </slot>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_NaSPIHltEeOh_8tymvdOOg" name="System_implPlatform">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaS2MHltEeOh_8tymvdOOg" classifier="_bYJagDLiEd2RVeNawwNNzg">
+          <slot xmi:type="uml:Slot" xmi:id="_NaTdQXltEeOh_8tymvdOOg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_NaUEUHltEeOh_8tymvdOOg" instance="_NaTdQHltEeOh_8tymvdOOg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_NaVScHltEeOh_8tymvdOOg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_NaV5gHltEeOh_8tymvdOOg" instance="_NaUrYHltEeOh_8tymvdOOg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_NaXHoHltEeOh_8tymvdOOg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_NaXHoXltEeOh_8tymvdOOg" instance="_NaWgkHltEeOh_8tymvdOOg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_NaXusXltEeOh_8tymvdOOg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_NaYVwHltEeOh_8tymvdOOg" instance="_NaXusHltEeOh_8tymvdOOg"/>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaTdQHltEeOh_8tymvdOOg" name="server" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaUrYHltEeOh_8tymvdOOg" name="client"/>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaWgkHltEeOh_8tymvdOOg" name="singleton_localanimservice">
+          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/statemachine.uml#_xELAwF81EeGbQoflzrdx0g"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaXusHltEeOh_8tymvdOOg" name="singleton_remoteanimservice">
+          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/statemachine.uml#_B0gFAHg_EeOejZqJpKQeww"/>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
+      <packagedElement xmi:type="uml:Package" xmi:id="_QQiDgHltEeOh_8tymvdOOg" name="System_implDepPlan">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_QQm8AHltEeOh_8tymvdOOg" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg">
+          <slot xmi:type="uml:Slot" xmi:id="_QQtpsHltEeOh_8tymvdOOg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_QQuQwHltEeOh_8tymvdOOg" instance="_QQr0gHltEeOh_8tymvdOOg"/>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_QQr0gHltEeOh_8tymvdOOg" name="mainInstance.simpleSM" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_StNrwCQdEeabuaUFyev1pw" name="allocate mainInstance to monoNode" client="_QQm8AHltEeOh_8tymvdOOg" supplier="_ZDsNoHDaEeORJcfdyIEeTg"/>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_GcC0cAHtEd6HSdiss9GQ0A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Gd1kMAHtEd6HSdiss9GQ0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_z1TwgFW3Ed63BrxiKsw-0Q">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z2GasFW3Ed63BrxiKsw-0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_zi-sUE2sEeGl8qrc8BM7vA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0QJUUE2sEeGl8qrc8BM7vA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+  </uml:Model>
+  <Transformation:DerivedElement xmi:id="_DWb6oP6yEd6Ie_kieu_3CQ" base_Element="_TbIjUJYlEd6G9q9hwr11bw" source="_DGs6wDLgEd28fJKJJnUaeQ"/>
+  <Transformation:DerivedElement xmi:id="_DXK6cP6yEd6Ie_kieu_3CQ" base_Element="_4ZEZwHecEd6r18stFZxmFQ" source="_L8EY8DLgEd28fJKJJnUaeQ"/>
+  <FCM:RuleApplication xmi:id="_DWIYoP6yEd6Ie_kieu_3CQ" base_Class="_oqZNUDLaEd2qeKRLMdIx_A">
+    <containerRule xmi:type="FCM:ContainerRule" href="pathmap://QML_CORE/statemachine.uml#_7BlhkCPoEeauR8esGjVxRA"/>
+    <propagateRule>false</propagateRule>
+    <containerRule xmi:type="FCM:CompositeCRule" href="pathmap://QML_CORE/statemachine.uml#_BncCwO68EeCZ9MjsZTV1zw"/>
+    <interceptor href="pathmap://QML_TRACE/tracing.uml#_35od4DKrEd-z5o2wSoJ16A"/>
+  </FCM:RuleApplication>
+  <FCM:Port xmi:id="_GofhQP6yEd6Ie_kieu_3CQ" base_Port="_4KiE8DLbEd2qeKRLMdIx_A" type="_cn-H0DLbEd2qeKRLMdIx_A">
+    <kind xmi:type="FCM:PortKind" href="pathmap://DML_C_CORE/componentlib.uml#_wySlkFRxEd6GqrP6fkWBoQ"/>
+  </FCM:Port>
+  <FCM:Target xmi:id="_HvbFMLqQEd-BObGGoBbehA" base_Node="_zY9vMDLiEd2RVeNawwNNzg">
+    <targetArch xmi:type="FCM:TargetArchitecture" href="pathmap://DML_C_CORE/componentlib.uml#_FYOqwF0OEd-12d_h0i1xhQ"/>
+    <usedOS xmi:type="FCM:OperatingSystem" href="pathmap://DML_C_CORE/componentlib.uml#_1eULwF0NEd-12d_h0i1xhQ"/>
+  </FCM:Target>
+  <C_Cpp:Include xmi:id="_EaeJMNp0EeKd1ax3yaXM9w" body="#include &lt;iostream>&#xA;using namespace std;&#xA;&#xA;#include &lt;unistd.h>&#xA;" base_class="_oqZNUDLaEd2qeKRLMdIx_A"/>
+  <Deployment:DeploymentPlan xmi:id="_QQlt4HltEeOh_8tymvdOOg" mainInstance="_QQm8AHltEeOh_8tymvdOOg" base_Package="_QQiDgHltEeOh_8tymvdOOg"/>
+  <Alloc:Allocate xmi:id="_StSkQCQdEeabuaUFyev1pw" base_Abstraction="_StNrwCQdEeabuaUFyev1pw"/>
+  <Transformation:DerivedElement xmi:id="_VGxwkCgBEeapjr3l63b85A" base_Element="_VGsRACgBEeapjr3l63b85A">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+  </Transformation:DerivedElement>
+</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/AbitComplexSMOrthogonal.di b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/AbitComplexSMOrthogonal.di
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/AbitComplexSMOrthogonal.di
rename to transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/AbitComplexSMOrthogonal.di
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/AbitComplexSMOrthogonal.notation b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/AbitComplexSMOrthogonal.notation
new file mode 100644
index 0000000..26f9f1c
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/AbitComplexSMOrthogonal.notation
@@ -0,0 +1,1130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_XSHWMF36Ed-UvNEDwY5GNg" type="PapyrusUMLClassDiagram" name="Interfaces" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_MTW5IDcZEeGPyrZ5I3hMlA" type="Interface_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTYuUDcZEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTYuUTcZEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTZVYDcZEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTZVYTcZEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTZVYjcZEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTZVYzcZEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_MTZVZDcZEeGPyrZ5I3hMlA" type="Interface_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IDa5YPX4EeWa_pjn9guopQ" visible="false" type="Interface_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZVZjcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZVZzcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZVaDcZEeGPyrZ5I3hMlA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZVaTcZEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IHycAPX4EeWa_pjn9guopQ" type="Interface_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_QIpIoDcZEeGPyrZ5I3hMlA" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-jHsIFmOEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-ovzAFmOEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="6408"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="AbitComplexSMOrthogonal.uml#_DGs6wDLgEd28fJKJJnUaeQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QIpIoTcZEeGPyrZ5I3hMlA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_QIqWwDcZEeGPyrZ5I3hMlA" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__X1GkFmOEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__X6mIFmOEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="6408"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="AbitComplexSMOrthogonal.uml#_L8EY8DLgEd28fJKJJnUaeQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QIqWwTcZEeGPyrZ5I3hMlA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_1U9e4McqEeSsAI2TZshUyg" type="Reception_InterfaceReceptionLabel">
+          <element xmi:type="uml:Reception" href="AbitComplexSMOrthogonal.uml#_1U0U8McqEeSsAI2TZshUyg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_1U9e4ccqEeSsAI2TZshUyg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_M-0sIMcrEeSsAI2TZshUyg" type="Reception_InterfaceReceptionLabel">
+          <element xmi:type="uml:Reception" href="AbitComplexSMOrthogonal.uml#_M-tXYMcrEeSsAI2TZshUyg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_M-0sIccrEeSsAI2TZshUyg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZ8cDcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZ8cTcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZ8cjcZEeGPyrZ5I3hMlA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZ8czcZEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IHycAfX4EeWa_pjn9guopQ" visible="false" type="Interface_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZ8dTcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZ8djcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZ8dzcZEeGPyrZ5I3hMlA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZ8eDcZEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hsloIFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hsloIVbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hsloIlbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_XYUeMGkLEeWakucY9QdE0g" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XYUeMWkLEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Interface" href="AbitComplexSMOrthogonal.uml#_cn-H0DLbEd2qeKRLMdIx_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTW5ITcZEeGPyrZ5I3hMlA" x="150" y="111" width="337" height="110"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ywpIAMcqEeSsAI2TZshUyg" type="Signal_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ywpvEMcqEeSsAI2TZshUyg" type="Signal_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ywpvEccqEeSsAI2TZshUyg" type="Signal_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ywpvEscqEeSsAI2TZshUyg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IH2tcPX4EeWa_pjn9guopQ" type="Signal_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ywqWIccqEeSsAI2TZshUyg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ywqWIscqEeSsAI2TZshUyg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ywqWI8cqEeSsAI2TZshUyg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ywqWJMcqEeSsAI2TZshUyg"/>
+      </children>
+      <element xmi:type="uml:Signal" href="AbitComplexSMOrthogonal.uml#_ywk2kMcqEeSsAI2TZshUyg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ywpIAccqEeSsAI2TZshUyg" x="640" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_z0oUkMcqEeSsAI2TZshUyg" type="Signal_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_z0o7oMcqEeSsAI2TZshUyg" type="Signal_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_z0o7occqEeSsAI2TZshUyg" type="Signal_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_z0o7oscqEeSsAI2TZshUyg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IH4ioPX4EeWa_pjn9guopQ" type="Signal_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_z0o7pMcqEeSsAI2TZshUyg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_z0o7pccqEeSsAI2TZshUyg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_z0o7pscqEeSsAI2TZshUyg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0o7p8cqEeSsAI2TZshUyg"/>
+      </children>
+      <element xmi:type="uml:Signal" href="AbitComplexSMOrthogonal.uml#_z0nGcMcqEeSsAI2TZshUyg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0oUkccqEeSsAI2TZshUyg" x="840" y="120"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_XSHWMV36Ed-UvNEDwY5GNg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_XYVFQGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_Tp4n8DLaEd2qeKRLMdIx_A"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_aeSh0F37Ed-UvNEDwY5GNg" type="CompositeStructure" name="CompositeDiagram SimpleSM" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_c2tKsF37Ed-UvNEDwY5GNg" type="Class_Shape" fontName="Monospace" fontHeight="10" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MXrr0H8eEd-5xfPoaTlRww" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MXsS4H8eEd-5xfPoaTlRww" key="QualifiedNameDepth" value="1"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NqCEgH8eEd-5xfPoaTlRww" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NqCEgX8eEd-5xfPoaTlRww" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_c2tKsl37Ed-UvNEDwY5GNg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_I-1YwPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2tKtF37Ed-UvNEDwY5GNg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_FzA74GfbEd-T-rJ3Ep9Y5Q" type="Port_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzSosGfbEd-T-rJ3Ep9Y5Q" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzTPwGfbEd-T-rJ3Ep9Y5Q" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzTPwWfbEd-T-rJ3Ep9Y5Q" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzT20GfbEd-T-rJ3Ep9Y5Q" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzT20WfbEd-T-rJ3Ep9Y5Q" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzT20mfbEd-T-rJ3Ep9Y5Q" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_FzUd4GfbEd-T-rJ3Ep9Y5Q" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FzUd4WfbEd-T-rJ3Ep9Y5Q" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_FzUd4mfbEd-T-rJ3Ep9Y5Q" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FzUd42fbEd-T-rJ3Ep9Y5Q" x="-50" y="-30"/>
+        </children>
+        <element xmi:type="uml:Port" href="AbitComplexSMOrthogonal.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FzA74WfbEd-T-rJ3Ep9Y5Q" x="-10" y="130"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hw-_8FbmEeObiJAlOlmjpQ" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hw-_8VbmEeObiJAlOlmjpQ" showTitle="true"/>
+        <element xmi:type="FCM:RuleApplication" href="AbitComplexSMOrthogonal.uml#_DWIYoP6yEd6Ie_kieu_3CQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hw-_8lbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hxIJ4FbmEeObiJAlOlmjpQ" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hxIJ4VbmEeObiJAlOlmjpQ" showTitle="true"/>
+        <element xmi:type="C_Cpp:Include" href="AbitComplexSMOrthogonal.uml#_EaeJMNp0EeKd1ax3yaXM9w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxIJ4lbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hxIJ41bmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hxIJ5FbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxIJ5VbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Xth5MGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Xth5MWkLEeWakucY9QdE0g" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Xvnj4GkLEeWakucY9QdE0g" type="StereotypeCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XvvfsGkLEeWakucY9QdE0g" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XvvfsWkLEeWakucY9QdE0g" key="visible" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_XvoyAGkLEeWakucY9QdE0g" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_r2VLUJD2Ed-I9dVdNhZAGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XvoyAWkLEeWakucY9QdE0g"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Xvnj4WkLEeWakucY9QdE0g" showTitle="true"/>
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_Xvnj4mkLEeWakucY9QdE0g" name="stereotype" stringValue="FCM::RuleApplication"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_te7YAMtkEd2H_o0jIC6qDQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xvnj42kLEeWakucY9QdE0g"/>
+      </children>
+      <element xmi:type="uml:Class" href="AbitComplexSMOrthogonal.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2tKsV37Ed-UvNEDwY5GNg" x="100" y="140" width="321" height="161"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ccPtMDemEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQUQDemEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQUQTemEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQUQjemEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQUQzemEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQURDemEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQURTemEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ccQURjemEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="AbitComplexSMOrthogonal.uml#_cb-ncDemEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccPtMTemEeGPyrZ5I3hMlA" x="500" y="140" width="184"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Xvj5gGkLEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Xvj5gWkLEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xvj5g2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="AbitComplexSMOrthogonal.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xvj5gmkLEeWakucY9QdE0g" x="308" y="72"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_XxYecGkLEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_XxYecWkLEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XxYec2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="AbitComplexSMOrthogonal.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XxYecmkLEeWakucY9QdE0g" x="190" y="108"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Dv6ycCgBEeapjr3l63b85A" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Dv91wCgBEeapjr3l63b85A" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Dv91wSgBEeapjr3l63b85A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Dv91wigBEeapjr3l63b85A" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Dv-c0CgBEeapjr3l63b85A" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Dv-c0SgBEeapjr3l63b85A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dv-c0igBEeapjr3l63b85A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Dwk5wCgBEeapjr3l63b85A" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Dwk5wSgBEeapjr3l63b85A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dwk5wigBEeapjr3l63b85A"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_PI7SECgBEeapjr3l63b85A" type="Port_Shape">
+        <children xmi:type="notation:DecorationNode" xmi:id="_PI7SEigBEeapjr3l63b85A" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_PI7SEygBEeapjr3l63b85A" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_PI7SFCgBEeapjr3l63b85A" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_PI7SFSgBEeapjr3l63b85A" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PI7SESgBEeapjr3l63b85A" x="-10" y="30"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dv6ycSgBEeapjr3l63b85A" x="100" y="20" width="321" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_PJhvACgBEeapjr3l63b85A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_PJhvASgBEeapjr3l63b85A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_PJhvAygBEeapjr3l63b85A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PJhvAigBEeapjr3l63b85A" x="190" y="-9"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_aeSh0V37Ed-UvNEDwY5GNg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_Xth5MmkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_0yX_oCgBEeapjr3l63b85A">
+      <owner xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    </styles>
+    <element xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_gMg50DemEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_ccPtMDemEeGPyrZ5I3hMlA" target="_c2tKsF37Ed-UvNEDwY5GNg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_gMg50TemEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gMg50jemEeGPyrZ5I3hMlA" points="[-10, -7, 55, 0]$[-42, -9, 23, -2]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gM_a8DemEeGPyrZ5I3hMlA" id="(0.0,0.6349206349206349)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gNACADemEeGPyrZ5I3hMlA" id="(1.0,0.43795620437956206)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Xvj5hGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_c2tKsF37Ed-UvNEDwY5GNg" target="_Xvj5gGkLEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Xvj5hWkLEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xvj5iWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="AbitComplexSMOrthogonal.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xvj5hmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xvj5h2kLEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xvj5iGkLEeWakucY9QdE0g"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XxYedGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_FzA74GfbEd-T-rJ3Ep9Y5Q" target="_XxYecGkLEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_XxYedWkLEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XxZFgGkLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="AbitComplexSMOrthogonal.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XxYedmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XxYed2kLEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XxYeeGkLEeWakucY9QdE0g"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_LvBXACgBEeapjr3l63b85A" type="Generalization_Edge" source="_c2tKsF37Ed-UvNEDwY5GNg" target="_Dv6ycCgBEeapjr3l63b85A">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LvClICgBEeapjr3l63b85A" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_LvClISgBEeapjr3l63b85A" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_LvBXASgBEeapjr3l63b85A"/>
+      <element xmi:type="uml:Generalization" href="AbitComplexSMOrthogonal.uml#_LuEUwCgBEeapjr3l63b85A"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LvBXAigBEeapjr3l63b85A" points="[260, 140, -643984, -643984]$[260, 66, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LvZxgCgBEeapjr3l63b85A" id="(0.4984423676012461,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LvZxgSgBEeapjr3l63b85A" id="(0.4984423676012461,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_PJhvBCgBEeapjr3l63b85A" type="StereotypeCommentLink" source="_PI7SECgBEeapjr3l63b85A" target="_PJhvACgBEeapjr3l63b85A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_PJhvBSgBEeapjr3l63b85A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_PJiWECgBEeapjr3l63b85A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PJhvBigBEeapjr3l63b85A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PJhvBygBEeapjr3l63b85A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PJhvCCgBEeapjr3l63b85A"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_q-Wa0F37Ed-UvNEDwY5GNg" type="CompositeStructure" name="CompositeDiagram System" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_sGaPEF37Ed-UvNEDwY5GNg" type="Class_Shape" fontName="Sans Serif" fontHeight="10" transparency="0" gradient="8047085, 0, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6B6WUGSuEd-dQdK1-7wIFg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6B69YGSuEd-dQdK1-7wIFg" key="QualifiedNameDepth" value="3"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_62o-4GSuEd-dQdK1-7wIFg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_62o-4WSuEd-dQdK1-7wIFg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KXK-0GGEEeO2F4QRMDSOXg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KXK-0WGEEeO2F4QRMDSOXg" key="fillColor" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_sGa2IF37Ed-UvNEDwY5GNg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JEi_MPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_vHCHcF37Ed-UvNEDwY5GNg" type="Property_Shape" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_haY70F38Ed-UvNEDwY5GNg" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_haY70V38Ed-UvNEDwY5GNg" key="QualifiedNameDepth" value="4"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_64BTMHl_EeOuQYJqyYp5HQ" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_64BTMXl_EeOuQYJqyYp5HQ" key="fillColor" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_vHCHcl37Ed-UvNEDwY5GNg" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DC4cAFmPEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DJ5qAFmPEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JEkNUfX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vHCHdF37Ed-UvNEDwY5GNg"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_zk0VwDrcEeGgAdAmWw4pyQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk080TrcEeGgAdAmWw4pyQ" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk080jrcEeGgAdAmWw4pyQ" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk080zrcEeGgAdAmWw4pyQ" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk081DrcEeGgAdAmWw4pyQ" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zk1j4DrcEeGgAdAmWw4pyQ" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zk1j4TrcEeGgAdAmWw4pyQ" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_zk1j4jrcEeGgAdAmWw4pyQ" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BYsLEFmPEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BeLIAFmPEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_zk1j4zrcEeGgAdAmWw4pyQ" x="25" y="3"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_zk1j5DrcEeGgAdAmWw4pyQ" visible="false" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_zk1j5TrcEeGgAdAmWw4pyQ" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="AbitComplexSMOrthogonal.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zk080DrcEeGgAdAmWw4pyQ" x="-10" y="50"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_hzStEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_hzStEVbmEeObiJAlOlmjpQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hzStElbmEeObiJAlOlmjpQ"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Xx40xGkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_Xx40xWkLEeWakucY9QdE0g" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="AbitComplexSMOrthogonal.uml#_gV1cgDLiEd2RVeNawwNNzg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vHCHcV37Ed-UvNEDwY5GNg" x="54" y="33" width="201" height="112"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_X1dtMmkLEeWakucY9QdE0g" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_X1dtM2kLEeWakucY9QdE0g" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X1dtNWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="AbitComplexSMOrthogonal.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X1dtNGkLEeWakucY9QdE0g" x="190" y="59"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGa2Il37Ed-UvNEDwY5GNg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hzPCsFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hzPCsVbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hzPCslbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Xx40wGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Xx40wWkLEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="AbitComplexSMOrthogonal.uml#_bYJagDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGaPEV37Ed-UvNEDwY5GNg" x="60" y="40" width="321" height="221"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_q-Wa0V37Ed-UvNEDwY5GNg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_Xx40ymkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_XLQjUDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_X1dtNmkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_zk0VwDrcEeGgAdAmWw4pyQ" target="_X1dtMmkLEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_X1dtN2kLEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X1eUQmkLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="AbitComplexSMOrthogonal.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X1dtOGkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X1eUQGkLEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X1eUQWkLEeWakucY9QdE0g"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_6FvnwGONEd-seu3qyZgHfg" type="PapyrusUMLClassDiagram" name="deployment plans" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_TOVRYHltEeOh_8tymvdOOg" type="Package_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_TOVRYnltEeOh_8tymvdOOg" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JLvMUPX4EeWa_pjn9guopQ" type="Package_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_TOVRZHltEeOh_8tymvdOOg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TOVRZXltEeOh_8tymvdOOg"/>
+      </children>
+      <element xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_QQiDgHltEeOh_8tymvdOOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TOVRYXltEeOh_8tymvdOOg" x="40" y="40" width="221" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_X47Q4GkLEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_X47Q4WkLEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X47Q42kLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_QQiDgHltEeOh_8tymvdOOg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X47Q4mkLEeWakucY9QdE0g" x="240" y="40"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_6FvnwWONEd-seu3qyZgHfg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_X3OnwGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_234GEDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_X4738GkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_TOVRYHltEeOh_8tymvdOOg" target="_X47Q4GkLEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_X4738WkLEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X4739WkLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_QQiDgHltEeOh_8tymvdOOg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X4738mkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X47382kLEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X4739GkLEeWakucY9QdE0g"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_KYrjcKxkEeCgusK7cm6qjQ" type="PapyrusUMLClassDiagram" name="Platform" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_LsWKwKxkEeCgusK7cm6qjQ" type="Class_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx0KxkEeCgusK7cm6qjQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx0axkEeCgusK7cm6qjQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx0qxkEeCgusK7cm6qjQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx06xkEeCgusK7cm6qjQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx1KxkEeCgusK7cm6qjQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx1axkEeCgusK7cm6qjQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_LsWx1qxkEeCgusK7cm6qjQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JOqkgPX4EeWa_pjn9guopQ" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY4axkEeCgusK7cm6qjQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY4qxkEeCgusK7cm6qjQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY46xkEeCgusK7cm6qjQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JOrLkPX4EeWa_pjn9guopQ" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY5axkEeCgusK7cm6qjQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY5qxkEeCgusK7cm6qjQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY56xkEeCgusK7cm6qjQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JOrLkfX4EeWa_pjn9guopQ" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY6axkEeCgusK7cm6qjQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY6qxkEeCgusK7cm6qjQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY66xkEeCgusK7cm6qjQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_h25asFbmEeObiJAlOlmjpQ" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_h25asVbmEeObiJAlOlmjpQ" showTitle="true"/>
+        <element xmi:type="FCM:Target" href="AbitComplexSMOrthogonal.uml#_HvbFMLqQEd-BObGGoBbehA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h25aslbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_h26BwFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_h26BwVbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h26BwlbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_X5Fo8GkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_X5Fo8WkLEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Node" href="AbitComplexSMOrthogonal.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsWKwaxkEeCgusK7cm6qjQ" x="57" y="55" width="160" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_X6kPoGkLEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_X6kPoWkLEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X6kPo2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Node" href="AbitComplexSMOrthogonal.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X6kPomkLEeWakucY9QdE0g" x="257" y="55"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_KYrjcaxkEeCgusK7cm6qjQ"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_X5Fo8mkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_X6kPpGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_LsWKwKxkEeCgusK7cm6qjQ" target="_X6kPoGkLEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_X6kPpWkLEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X6kPqWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Node" href="AbitComplexSMOrthogonal.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X6kPpmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X6kPp2kLEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X6kPqGkLEeWakucY9QdE0g"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_HoscYMniEeCMCo5Ox2CNmg" type="CompositeStructure" name="HWArchitecture" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_M1wXIMniEeCMCo5Ox2CNmg" type="Class_Shape" fontName="" fontHeight="10" fillColor="10011046" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BgMniEeCMCo5Ox2CNmg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10BgcniEeCMCo5Ox2CNmg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BgsniEeCMCo5Ox2CNmg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10Bg8niEeCMCo5Ox2CNmg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BhMniEeCMCo5Ox2CNmg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10BhcniEeCMCo5Ox2CNmg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_M10BhsniEeCMCo5Ox2CNmg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JRHbkPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_QgbSEMniEeCMCo5Ox2CNmg" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgbSEsniEeCMCo5Ox2CNmg" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QgbSE8niEeCMCo5Ox2CNmg" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qgb5IMniEeCMCo5Ox2CNmg" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qgb5IcniEeCMCo5Ox2CNmg" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qgb5IsniEeCMCo5Ox2CNmg" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qgb5I8niEeCMCo5Ox2CNmg" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Qgb5JMniEeCMCo5Ox2CNmg" type="Property_NameLabel"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JRICoPX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qgb5JsniEeCMCo5Ox2CNmg"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_h493QFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_h493QVbmEeObiJAlOlmjpQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h493QlbmEeObiJAlOlmjpQ"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_X6unsmkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_X6uns2kLEeWakucY9QdE0g" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="AbitComplexSMOrthogonal.uml#_QgKzYMniEeCMCo5Ox2CNmg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QgbSEcniEeCMCo5Ox2CNmg" x="83" y="28" width="165" height="55"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Ndrf8GGIEeO2F4QRMDSOXg" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_Ndrf8mGIEeO2F4QRMDSOXg" type="Property_NameLabel"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JRJQwPX4EeWa_pjn9guopQ" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_Ndrf9GGIEeO2F4QRMDSOXg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ndrf9WGIEeO2F4QRMDSOXg"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_znjjUHDZEeORJcfdyIEeTg" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_znjjUXDZEeORJcfdyIEeTg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_znjjUnDZEeORJcfdyIEeTg"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_X6untGkLEeWakucY9QdE0g" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_X6untWkLEeWakucY9QdE0g" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="AbitComplexSMOrthogonal.uml#_Ndc2cGGIEeO2F4QRMDSOXg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ndrf8WGIEeO2F4QRMDSOXg" x="346" y="33" width="109"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M10BiMniEeCMCo5Ox2CNmg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_h48CEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_h48CEVbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h48CElbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_X6unsGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unsWkLEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="AbitComplexSMOrthogonal.uml#_M1a_8MniEeCMCo5Ox2CNmg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M1wXIcniEeCMCo5Ox2CNmg" x="72" y="72" width="577" height="163"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BLhG8DemEeGPyrZ5I3hMlA" type="Node_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG8jemEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG8zemEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG9DemEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG9TemEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BLhG9jemEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BLhG9zemEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BLhuADemEeGPyrZ5I3hMlA" type="Node_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JRKe4PX4EeWa_pjn9guopQ" visible="false" type="Node_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BLhuAjemEeGPyrZ5I3hMlA" showTitle="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BLhuAzemEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_h4_FYFbmEeObiJAlOlmjpQ" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_h4_FYVbmEeObiJAlOlmjpQ" showTitle="true"/>
+        <element xmi:type="FCM:Target" href="AbitComplexSMOrthogonal.uml#_HvbFMLqQEd-BObGGoBbehA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h4_FYlbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_h5CIsFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_h5CIsVbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h5CIslbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_X6untmkLEeWakucY9QdE0g" type="Node_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unt2kLEeWakucY9QdE0g" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_X8sWkGkLEeWakucY9QdE0g" type="StereotypeCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_X8woAGkLEeWakucY9QdE0g" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X8xPEGkLEeWakucY9QdE0g" key="visible" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_X8uLwmkLEeWakucY9QdE0g" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_BZCjMJOGEd-5qPBhYeIVtw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_X8uLw2kLEeWakucY9QdE0g"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_X8tksGkLEeWakucY9QdE0g" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#__5rAUGE_Ed-eArNXja7SuA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_X8tksWkLEeWakucY9QdE0g"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_X8sWkWkLEeWakucY9QdE0g" showTitle="true"/>
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_X8sWkmkLEeWakucY9QdE0g" name="stereotype" stringValue="FCM::Target"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X8sWk2kLEeWakucY9QdE0g"/>
+      </children>
+      <element xmi:type="uml:Node" href="AbitComplexSMOrthogonal.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BLhG8TemEeGPyrZ5I3hMlA" x="71" y="269" width="164" height="119"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GVBbMGGIEeO2F4QRMDSOXg" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GVCCQGGIEeO2F4QRMDSOXg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JRLF8PX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GVCCQmGIEeO2F4QRMDSOXg" showTitle="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GVCCQ2GIEeO2F4QRMDSOXg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_znnNsHDZEeORJcfdyIEeTg" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_znnNsXDZEeORJcfdyIEeTg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_znnNsnDZEeORJcfdyIEeTg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_X6unuGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6unuWkLEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="AbitComplexSMOrthogonal.uml#_GUl9YGGIEeO2F4QRMDSOXg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GVBbMWGIEeO2F4QRMDSOXg" x="459" y="270" width="187" height="118"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_HoscYcniEeCMCo5Ox2CNmg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_X6unumkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="AbitComplexSMOrthogonal.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_0MCIsOYXEeCBL_IbXY9ofw" type="PapyrusUMLStateMachineDiagram" name="SmDiagramServer" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_0MCIseYXEeCBL_IbXY9ofw" type="StateMachine_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIsuYXEeCBL_IbXY9ofw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIs-YXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItOYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIteYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItuYXEeCBL_IbXY9ofw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIt-YXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JlR4wHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JlR4wXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LKHvoHn3EeOfttgBwSq-Ig" key="gradient" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0MCIuOYXEeCBL_IbXY9ofw" type="StateMachine_NameLabel">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIueYXEeCBL_IbXY9ofw" width="1078" height="20"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JVovMPX4EeWa_pjn9guopQ" type="StateMachine_RegionCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_0MCIu-YXEeCBL_IbXY9ofw" type="Region_Shape" fontName="Sans Serif" lineColor="0" lineWidth="1">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvOYXEeCBL_IbXY9ofw" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIveYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvuYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIv-YXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwOYXEeCBL_IbXY9ofw" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIweYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwuYXEeCBL_IbXY9ofw" source="RegionAnnotationKey">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIw-YXEeCBL_IbXY9ofw" key="RegionZoneKey" value=""/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TbH8gHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TbH8gXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uP7skPZMEeWa_pjn9guopQ" key="lineWidth" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JVpWQPX4EeWa_pjn9guopQ" type="Region_SubvertexCompartment">
+            <children xmi:type="notation:Shape" xmi:id="_1U-twOYXEeCBL_IbXY9ofw" type="Pseudostate_InitialShape" fontName="Sans Serif" fillColor="0" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_U0OYXEeCBL_IbXY9ofw" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74OYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74eYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74uYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74-YXEeCBL_IbXY9ofw" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_75OYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LqN7kMcpEeSsAI2TZshUyg" source="PapyrusCSSForceValue">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LqPJsMcpEeSsAI2TZshUyg" key="gradient" value="true"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75eYXEeCBL_IbXY9ofw" type="Pseudostate_InitialFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_75uYXEeCBL_IbXY9ofw" x="36" y="-9"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75-YXEeCBL_IbXY9ofw" type="Pseudostate_InitialStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_76OYXEeCBL_IbXY9ofw" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="AbitComplexSMOrthogonal.uml#_1UVNgOYXEeCBL_IbXY9ofw"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1U-tweYXEeCBL_IbXY9ofw" x="41" y="18"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_53eokOYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPoOYXEeCBL_IbXY9ofw" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53fPoeYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPouYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2sOYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53f2seYXEeCBL_IbXY9ofw" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2suYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_53f2s-YXEeCBL_IbXY9ofw" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7PRh8OYXEeCBL_IbXY9ofw" width="99" height="20"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_JVp9UPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PvBTIPX4EeWa_pjn9guopQ" source="PapyrusCSSForceValue">
+                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PvB6MPX4EeWa_pjn9guopQ" key="visible" value="true"/>
+                </eAnnotations>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53f2teYXEeCBL_IbXY9ofw" y="20" width="99" height="48"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_h9cHkFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_h9cHkVbmEeObiJAlOlmjpQ"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9cHklbmEeObiJAlOlmjpQ"/>
+              </children>
+              <element xmi:type="uml:State" href="AbitComplexSMOrthogonal.uml#_53E_8OYXEeCBL_IbXY9ofw"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53eokeYXEeCBL_IbXY9ofw" x="180" y="35" width="99" height="68"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_8AQS8OYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8AQ6AOYXEeCBL_IbXY9ofw" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEOYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhEeYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEuYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhE-YXEeCBL_IbXY9ofw" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhFOYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_8ARhFeYXEeCBL_IbXY9ofw" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8A06sOYXEeCBL_IbXY9ofw" width="100" height="20"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_JVrLcPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8ARhF-YXEeCBL_IbXY9ofw" y="20" width="100" height="42"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_h9ej0FbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_h9ej0VbmEeObiJAlOlmjpQ"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ej0lbmEeObiJAlOlmjpQ"/>
+              </children>
+              <element xmi:type="uml:State" href="AbitComplexSMOrthogonal.uml#_7_1cMOYXEeCBL_IbXY9ofw"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8AQS8eYXEeCBL_IbXY9ofw" x="179" y="238" width="100" height="62"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_oxRiMCjmEeaJJusTB1aIbg" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_oxSwUCjmEeaJJusTB1aIbg" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p6M5ICjmEeaJJusTB1aIbg" width="79"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_oxTXYCjmEeaJJusTB1aIbg" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_oxTXYSjmEeaJJusTB1aIbg" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_oxTXYijmEeaJJusTB1aIbg" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxTXYyjmEeaJJusTB1aIbg" y="-1" width="79"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_8DYl4CkDEeaWptp_P1JVYQ" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_8DYl4SkDEeaWptp_P1JVYQ"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8DYl4ikDEeaWptp_P1JVYQ"/>
+              </children>
+              <children xmi:type="notation:Shape" xmi:id="_hGz_0CkFEeaWptp_P1JVYQ" type="Behavior_EntryBehaviorLabel">
+                <element xmi:type="uml:OpaqueBehavior" href="AbitComplexSMOrthogonal.uml#_hGRNQCkFEeaWptp_P1JVYQ"/>
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_hGz_0SkFEeaWptp_P1JVYQ" x="-10" y="-10"/>
+              </children>
+              <element xmi:type="uml:State" href="AbitComplexSMOrthogonal.uml#_owZYcCjmEeaJJusTB1aIbg"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxRiMSjmEeaJJusTB1aIbg" x="502" y="33" width="79" height="59"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="__-OxACjmEeaJJusTB1aIbg" type="Pseudostate_JunctionShape">
+              <children xmi:type="notation:DecorationNode" xmi:id="__-PYECjmEeaJJusTB1aIbg" type="Pseudostate_JunctionFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYESjmEeaJJusTB1aIbg" x="34" y="22"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="__-PYEijmEeaJJusTB1aIbg" type="Pseudostate_JunctionStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYEyjmEeaJJusTB1aIbg" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="AbitComplexSMOrthogonal.uml#__9lQwCjmEeaJJusTB1aIbg"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="__-OxASjmEeaJJusTB1aIbg" x="539" y="162"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_mySKUCkEEeaWptp_P1JVYQ" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_myTYcCkEEeaWptp_P1JVYQ" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nRa9YCkEEeaWptp_P1JVYQ" width="396" height="20"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_myTYcSkEEeaWptp_P1JVYQ" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_myTYcikEEeaWptp_P1JVYQ" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_myTYcykEEeaWptp_P1JVYQ" type="State_RegionCompartment">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pXB_ACkEEeaWptp_P1JVYQ" source="PapyrusCSSForceValue">
+                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pXCmECkEEeaWptp_P1JVYQ" key="visible" value="true"/>
+                </eAnnotations>
+                <children xmi:type="notation:Shape" xmi:id="_pXLI8CkEEeaWptp_P1JVYQ" type="Region_Shape">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pXLwAikEEeaWptp_P1JVYQ" source="RegionAnnotationKey">
+                    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pXLwAykEEeaWptp_P1JVYQ" key="RegionZoneKey" value="T"/>
+                  </eAnnotations>
+                  <children xmi:type="notation:BasicCompartment" xmi:id="_pXLwACkEEeaWptp_P1JVYQ" type="Region_SubvertexCompartment">
+                    <children xmi:type="notation:Shape" xmi:id="_pXOzUCkEEeaWptp_P1JVYQ" type="State_Shape">
+                      <children xmi:type="notation:DecorationNode" xmi:id="_pXOzUikEEeaWptp_P1JVYQ" type="State_NameLabel"/>
+                      <children xmi:type="notation:DecorationNode" xmi:id="_pXOzUykEEeaWptp_P1JVYQ" type="State_FloatingNameLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_pXOzVCkEEeaWptp_P1JVYQ" x="40"/>
+                      </children>
+                      <children xmi:type="notation:BasicCompartment" xmi:id="_pXOzVSkEEeaWptp_P1JVYQ" type="State_RegionCompartment">
+                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pXOzVikEEeaWptp_P1JVYQ"/>
+                      </children>
+                      <element xmi:type="uml:State" href="AbitComplexSMOrthogonal.uml#_pXM-ICkEEeaWptp_P1JVYQ"/>
+                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pXOzUSkEEeaWptp_P1JVYQ" x="173" y="16"/>
+                    </children>
+                    <children xmi:type="notation:Shape" xmi:id="_w_1jcCkEEeaWptp_P1JVYQ" type="Pseudostate_ShallowHistoryShape">
+                      <children xmi:type="notation:DecorationNode" xmi:id="_w_2KgCkEEeaWptp_P1JVYQ" type="Pseudostate_ShallowHistoryFloatingNameLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_w_2KgSkEEeaWptp_P1JVYQ" x="25" y="-9"/>
+                      </children>
+                      <children xmi:type="notation:DecorationNode" xmi:id="_w_2KgikEEeaWptp_P1JVYQ" type="Pseudostate_ShallowHistoryStereotypeLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_w_2KgykEEeaWptp_P1JVYQ" x="25" y="-10"/>
+                      </children>
+                      <element xmi:type="uml:Pseudostate" href="AbitComplexSMOrthogonal.uml#_w-8yoCkEEeaWptp_P1JVYQ"/>
+                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w_1jcSkEEeaWptp_P1JVYQ" x="34" y="16"/>
+                    </children>
+                    <children xmi:type="notation:Shape" xmi:id="_-BL54CkEEeaWptp_P1JVYQ" type="State_Shape">
+                      <children xmi:type="notation:DecorationNode" xmi:id="_-BL54ikEEeaWptp_P1JVYQ" type="State_NameLabel"/>
+                      <children xmi:type="notation:DecorationNode" xmi:id="_-BL54ykEEeaWptp_P1JVYQ" type="State_FloatingNameLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_-BMg8CkEEeaWptp_P1JVYQ" x="40"/>
+                      </children>
+                      <children xmi:type="notation:BasicCompartment" xmi:id="_-BMg8SkEEeaWptp_P1JVYQ" type="State_RegionCompartment">
+                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-BMg8ikEEeaWptp_P1JVYQ"/>
+                      </children>
+                      <element xmi:type="uml:State" href="AbitComplexSMOrthogonal.uml#_-AIxACkEEeaWptp_P1JVYQ"/>
+                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-BL54SkEEeaWptp_P1JVYQ" x="51" y="74"/>
+                    </children>
+                    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pXLwASkEEeaWptp_P1JVYQ"/>
+                  </children>
+                  <element xmi:type="uml:Region" href="AbitComplexSMOrthogonal.uml#_pXD0MCkEEeaWptp_P1JVYQ"/>
+                  <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pXLI8SkEEeaWptp_P1JVYQ" width="396" height="128"/>
+                </children>
+                <children xmi:type="notation:Shape" xmi:id="_0LmGECkKEeaYyIUJlvqqqw" type="Region_Shape">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0LpwcCkKEeaYyIUJlvqqqw" source="RegionAnnotationKey">
+                    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0LpwcSkKEeaYyIUJlvqqqw" key="RegionZoneKey" value="B"/>
+                  </eAnnotations>
+                  <children xmi:type="notation:BasicCompartment" xmi:id="_0LpJYCkKEeaYyIUJlvqqqw" type="Region_SubvertexCompartment">
+                    <children xmi:type="notation:Shape" xmi:id="_01jCACkKEeaYyIUJlvqqqw" type="State_Shape">
+                      <children xmi:type="notation:DecorationNode" xmi:id="_01jpECkKEeaYyIUJlvqqqw" type="State_NameLabel"/>
+                      <children xmi:type="notation:DecorationNode" xmi:id="_01jpESkKEeaYyIUJlvqqqw" type="State_FloatingNameLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_01jpEikKEeaYyIUJlvqqqw" x="40"/>
+                      </children>
+                      <children xmi:type="notation:BasicCompartment" xmi:id="_01jpEykKEeaYyIUJlvqqqw" type="State_RegionCompartment">
+                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_01jpFCkKEeaYyIUJlvqqqw"/>
+                      </children>
+                      <children xmi:type="notation:BasicCompartment" xmi:id="_02So4CkKEeaYyIUJlvqqqw" type="compartment_shape_display">
+                        <styles xmi:type="notation:TitleStyle" xmi:id="_02So4SkKEeaYyIUJlvqqqw"/>
+                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_02So4ikKEeaYyIUJlvqqqw"/>
+                      </children>
+                      <children xmi:type="notation:Shape" xmi:id="_mal-4CkLEeaYyIUJlvqqqw" type="Behavior_EntryBehaviorLabel">
+                        <element xmi:type="uml:OpaqueBehavior" href="AbitComplexSMOrthogonal.uml#_mZyGkCkLEeaYyIUJlvqqqw"/>
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_mal-4SkLEeaYyIUJlvqqqw" x="-10" y="-10"/>
+                      </children>
+                      <element xmi:type="uml:State" href="AbitComplexSMOrthogonal.uml#_00q4QCkKEeaYyIUJlvqqqw"/>
+                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_01jCASkKEeaYyIUJlvqqqw" x="72" y="43"/>
+                    </children>
+                    <children xmi:type="notation:Shape" xmi:id="_2LlA0CkKEeaYyIUJlvqqqw" type="State_Shape">
+                      <children xmi:type="notation:DecorationNode" xmi:id="_2Lln4CkKEeaYyIUJlvqqqw" type="State_NameLabel"/>
+                      <children xmi:type="notation:DecorationNode" xmi:id="_2Lln4SkKEeaYyIUJlvqqqw" type="State_FloatingNameLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_2Lln4ikKEeaYyIUJlvqqqw" x="40"/>
+                      </children>
+                      <children xmi:type="notation:BasicCompartment" xmi:id="_2Lln4ykKEeaYyIUJlvqqqw" type="State_RegionCompartment">
+                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2Lln5CkKEeaYyIUJlvqqqw"/>
+                      </children>
+                      <element xmi:type="uml:State" href="AbitComplexSMOrthogonal.uml#_2KfbsCkKEeaYyIUJlvqqqw"/>
+                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LlA0SkKEeaYyIUJlvqqqw" x="323" y="43"/>
+                    </children>
+                    <children xmi:type="notation:Shape" xmi:id="_3wizgCkKEeaYyIUJlvqqqw" type="Pseudostate_InitialShape">
+                      <children xmi:type="notation:DecorationNode" xmi:id="_3wizgikKEeaYyIUJlvqqqw" type="Pseudostate_InitialFloatingNameLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_3wizgykKEeaYyIUJlvqqqw" x="25" y="3"/>
+                      </children>
+                      <children xmi:type="notation:DecorationNode" xmi:id="_3wizhCkKEeaYyIUJlvqqqw" type="Pseudostate_InitialStereotypeLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_3wizhSkKEeaYyIUJlvqqqw" x="25" y="-10"/>
+                      </children>
+                      <element xmi:type="uml:Pseudostate" href="AbitComplexSMOrthogonal.uml#_3vbZMCkKEeaYyIUJlvqqqw"/>
+                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3wizgSkKEeaYyIUJlvqqqw" x="14" y="16"/>
+                    </children>
+                    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0LpJYSkKEeaYyIUJlvqqqw"/>
+                  </children>
+                  <element xmi:type="uml:Region" href="AbitComplexSMOrthogonal.uml#_0LTyMCkKEeaYyIUJlvqqqw"/>
+                  <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0LmGESkKEeaYyIUJlvqqqw" y="128" width="396" height="128"/>
+                </children>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_myTYdCkEEeaWptp_P1JVYQ" y="20" width="396" height="256"/>
+              </children>
+              <element xmi:type="uml:State" href="AbitComplexSMOrthogonal.uml#_mxZZgCkEEeaWptp_P1JVYQ"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mySKUSkEEeaWptp_P1JVYQ" x="514" y="262" width="396" height="276"/>
+            </children>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxeYXEeCBL_IbXY9ofw"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_h9XPEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_h9XPEVbmEeObiJAlOlmjpQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9XPElbmEeObiJAlOlmjpQ"/>
+          </children>
+          <element xmi:type="uml:Region" href="AbitComplexSMOrthogonal.uml#_0Lv00OYXEeCBL_IbXY9ofw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxuYXEeCBL_IbXY9ofw" width="1078" height="542"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIx-YXEeCBL_IbXY9ofw" y="20" width="1078" height="542"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_h9ULwFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_h9ULwVbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ULwlbmEeObiJAlOlmjpQ"/>
+      </children>
+      <styles xmi:type="notation:StringListValueStyle" xmi:id="_v51OQHn2EeOfttgBwSq-Ig" name="cssClass"/>
+      <element xmi:type="uml:StateMachine" href="AbitComplexSMOrthogonal.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIyOYXEeCBL_IbXY9ofw" x="40" y="40" width="1078" height="562"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_0MCIyeYXEeCBL_IbXY9ofw"/>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_B2g2QHn3EeOfttgBwSq-Ig" name="css_stylesheets" eObjectListValue="_B2g2QXn3EeOfttgBwSq-Ig"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_YAq3oGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:StateMachine" href="AbitComplexSMOrthogonal.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_CLUHAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_1U-twOYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_loi7ECkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8MeYYEeCBL_IbXY9ofw" x="-5" y="1"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MuYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lpG7wCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8M-YYEeCBL_IbXY9ofw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8NOYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lpZ2sCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8NeYYEeCBL_IbXY9ofw" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_CLUHAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_CLBzIOYYEeCBL_IbXY9ofw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CLUHAuYYEeCBL_IbXY9ofw" points="[10, -4, -180, 0]$[175, -7, -15, -3]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CMH_UOYYEeCBL_IbXY9ofw" id="(0.16483516483516483,0.4142857142857143)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Doz_wOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0OYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lFjiwCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0eYYEeCBL_IbXY9ofw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0uYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lF1PkCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0-YYEeCBL_IbXY9ofw" x="-2" y="84"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m1OYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lGFHMCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m1eYYEeCBL_IbXY9ofw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Doz_weYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_Doi6AOYYEeCBL_IbXY9ofw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Doz_wuYYEeCBL_IbXY9ofw" points="[4, 9, 0, -45]$[1, 47, -3, -7]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacsOYYEeCBL_IbXY9ofw" id="(0.2,0.9846153846153847)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacseYYEeCBL_IbXY9ofw" id="(0.2,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_OIPMAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OIPzEOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lD7yICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIOYYEeCBL_IbXY9ofw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaIeYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lEucUCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIuYYEeCBL_IbXY9ofw" x="16" y="-8"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaI-YYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lFJ6ICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaJOYYEeCBL_IbXY9ofw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_OIPMAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_OH_UYOYYEeCBL_IbXY9ofw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OIPMAuYYEeCBL_IbXY9ofw" points="[-4, -31, 8, 88]$[4, -128, 16, -9]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgOYYEeCBL_IbXY9ofw" id="(0.8,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgeYYEeCBL_IbXY9ofw" id="(0.8,0.9846153846153847)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mPjVYOtqEeCzSsOGmQH2aA" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" roundedBendpointsRadius="10" routing="Rectilinear" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wFmGcHoDEeOA64V_YLapaA" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wFmtgHoDEeOA64V_YLapaA" key="smoothness" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoOtqEeCzSsOGmQH2aA" visible="false" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XwnVkPX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxoetqEeCzSsOGmQH2aA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoutqEeCzSsOGmQH2aA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XxIS8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxo-tqEeCzSsOGmQH2aA" x="-15" y="28"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxpOtqEeCzSsOGmQH2aA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Xxll8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxpetqEeCzSsOGmQH2aA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_mPjVYetqEeCzSsOGmQH2aA" fontName=""/>
+      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_mJvoUOtqEeCzSsOGmQH2aA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mPjVYutqEeCzSsOGmQH2aA" points="[299, 171, -643984, -643984]$[147, 171, -643984, -643984]$[147, 272, -643984, -643984]$[299, 272, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wOtqEeCzSsOGmQH2aA" id="(0.0,0.6915887850467289)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wetqEeCzSsOGmQH2aA" id="(0.0,0.5)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_rgm2QCjmEeaJJusTB1aIbg" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_oxRiMCjmEeaJJusTB1aIbg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUCjmEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l3qVICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUSjmEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUijmEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l4T1YCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUyjmEeaJJusTB1aIbg" x="-103" y="-48"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rgndVCjmEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l48HgCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndVSjmEeaJJusTB1aIbg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_rgm2QSjmEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_rdKgsCjmEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rgm2QijmEeaJJusTB1aIbg" points="[399, 131, -643984, -643984]$[551, 131, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhuQkCjmEeaJJusTB1aIbg" id="(1.0,0.5)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhu3oCjmEeaJJusTB1aIbg" id="(0.0,0.5932203389830508)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_BPTXUCjnEeaJJusTB1aIbg" type="Transition_Edge" source="_oxRiMCjmEeaJJusTB1aIbg" target="__-OxACjmEeaJJusTB1aIbg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXUyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cWcoICkFEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVCjnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cWvjECkFEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVijnEeaJJusTB1aIbg" x="4" y="-61"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cXNdICkFEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXWCjnEeaJJusTB1aIbg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_BPTXUSjnEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_BO7j4CjnEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BPTXUijnEeaJJusTB1aIbg" points="[590, 155, -643984, -643984]$[590, 222, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUCjnEeaJJusTB1aIbg" id="(0.4936708860759494,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUSjnEeaJJusTB1aIbg" id="(0.5,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_G11iACjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_53eokOYXEeCBL_IbXY9ofw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_G11iAyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l5PpgCkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBCjnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_G11iBSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l5fhICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBijnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_G11iByjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l5zDICkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iCCjnEeaJJusTB1aIbg" x="-2" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_G11iASjnEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_G1QTMCjnEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G11iAijnEeaJJusTB1aIbg" points="[583, 227, -643984, -643984]$[397, 159, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2gQYCjnEeaJJusTB1aIbg" id="(0.15,0.3863945578231304)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2g3cCjnEeaJJusTB1aIbg" id="(0.9797979797979798,0.9117647058823529)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_HndzQCjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_w_1jcCkEEeaWptp_P1JVYQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_HndzQyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lGXbECkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRCjnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lGpH4CkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRijnEeaJJusTB1aIbg" x="-17" y="-13"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lG-fECkEEeaWptp_P1JVYQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzSCjnEeaJJusTB1aIbg" x="-2" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_HndzQSjnEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_HnKRQCjnEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HndzQijnEeaJJusTB1aIbg" points="[585, 234, -643984, -643984]$[400, 277, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoK94CjnEeaJJusTB1aIbg" id="(0.27479674796748554,0.8330623306233065)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoLk8CjnEeaJJusTB1aIbg" id="(0.35,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_zVFjkCkEEeaWptp_P1JVYQ" type="Transition_Edge" source="_w_1jcCkEEeaWptp_P1JVYQ" target="_pXOzUCkEEeaWptp_P1JVYQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_zVGKoikEEeaWptp_P1JVYQ" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_zVGKoykEEeaWptp_P1JVYQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_zVGKpCkEEeaWptp_P1JVYQ" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_zVGKpSkEEeaWptp_P1JVYQ" x="36" y="-67"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_zVGKpikEEeaWptp_P1JVYQ" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_zVGKpykEEeaWptp_P1JVYQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_zVGKoCkEEeaWptp_P1JVYQ"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_zRtfcCkEEeaWptp_P1JVYQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zVGKoSkEEeaWptp_P1JVYQ" points="[608, 371, -643984, -643984]$[729, 377, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zWNk8CkEEeaWptp_P1JVYQ" id="(0.9216981132075432,0.6566037735849051)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zWNk8SkEEeaWptp_P1JVYQ" id="(0.0,0.4318181818181818)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="__p2g0CkEEeaWptp_P1JVYQ" type="Transition_Edge" source="_pXOzUCkEEeaWptp_P1JVYQ" target="_-BL54CkEEeaWptp_P1JVYQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="__p2g0ykEEeaWptp_P1JVYQ" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__p2g1CkEEeaWptp_P1JVYQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="__p2g1SkEEeaWptp_P1JVYQ" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__p2g1ikEEeaWptp_P1JVYQ" x="2" y="-10"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="__p2g1ykEEeaWptp_P1JVYQ" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__p2g2CkEEeaWptp_P1JVYQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="__p2g0SkEEeaWptp_P1JVYQ"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#__pc4MCkEEeaWptp_P1JVYQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__p2g0ikEEeaWptp_P1JVYQ" points="[733, 400, -643984, -643984]$[647, 431, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__q6QwCkEEeaWptp_P1JVYQ" id="(0.1,0.9545454545454546)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__q630CkEEeaWptp_P1JVYQ" id="(1.0,0.3409090909090909)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_JP4m8CkFEeaWptp_P1JVYQ" type="Transition_Edge" source="_-BL54CkEEeaWptp_P1JVYQ" target="_8AQS8OYXEeCBL_IbXY9ofw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_JP4m8ykFEeaWptp_P1JVYQ" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JP4m9CkFEeaWptp_P1JVYQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JP4m9SkFEeaWptp_P1JVYQ" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JP4m9ikFEeaWptp_P1JVYQ" x="120" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JP4m9ykFEeaWptp_P1JVYQ" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JP4m-CkFEeaWptp_P1JVYQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_JP4m8SkFEeaWptp_P1JVYQ"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_JPEuoCkFEeaWptp_P1JVYQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JP4m8ikFEeaWptp_P1JVYQ" points="[628, 442, -643984, -643984]$[317, 356, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JQsfQCkFEeaWptp_P1JVYQ" id="(0.0,0.6590909090909091)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JQsfQSkFEeaWptp_P1JVYQ" id="(0.97,0.9354838709677419)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_4zdpECkKEeaYyIUJlvqqqw" type="Transition_Edge" source="_3wizgCkKEeaYyIUJlvqqqw" target="_01jCACkKEeaYyIUJlvqqqw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_4zdpEykKEeaYyIUJlvqqqw" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_4zdpFCkKEeaYyIUJlvqqqw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_4zdpFSkKEeaYyIUJlvqqqw" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_4zdpFikKEeaYyIUJlvqqqw" x="-91" y="108"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_4zdpFykKEeaYyIUJlvqqqw" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_4zdpGCkKEeaYyIUJlvqqqw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_4zdpESkKEeaYyIUJlvqqqw"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_4wueICkKEeaYyIUJlvqqqw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4zdpEikKEeaYyIUJlvqqqw" points="[584, 503, -643984, -643984]$[628, 530, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_40sYICkKEeaYyIUJlvqqqw" id="(0.7353932584269671,0.8646067415730357)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_40s_MCkKEeaYyIUJlvqqqw" id="(0.0,0.38636363636363635)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_99EAICkKEeaYyIUJlvqqqw" type="Transition_Edge" source="_01jCACkKEeaYyIUJlvqqqw" target="_2LlA0CkKEeaYyIUJlvqqqw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_99EnMCkKEeaYyIUJlvqqqw" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JwRvgCkLEeaYyIUJlvqqqw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_99EnMSkKEeaYyIUJlvqqqw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_99EnMikKEeaYyIUJlvqqqw" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JxAvUCkLEeaYyIUJlvqqqw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_99EnMykKEeaYyIUJlvqqqw" x="-57" y="33"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_99EnNCkKEeaYyIUJlvqqqw" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JxepYCkLEeaYyIUJlvqqqw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_99EnNSkKEeaYyIUJlvqqqw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_99EAISkKEeaYyIUJlvqqqw"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_98L2YCkKEeaYyIUJlvqqqw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_99EAIikKEeaYyIUJlvqqqw" points="[668, 537, -643984, -643984]$[742, 537, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9-UkYCkKEeaYyIUJlvqqqw" id="(1.0,0.5454545454545454)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9-UkYSkKEeaYyIUJlvqqqw" id="(0.0,0.5454545454545454)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_MOsSsCkLEeaYyIUJlvqqqw" type="Transition_Edge" source="_2LlA0CkKEeaYyIUJlvqqqw" target="_01jCACkKEeaYyIUJlvqqqw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_MOsSsykLEeaYyIUJlvqqqw" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_eMacgCkLEeaYyIUJlvqqqw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_MOs5wCkLEeaYyIUJlvqqqw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_MOs5wSkLEeaYyIUJlvqqqw" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_eNHnICkLEeaYyIUJlvqqqw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_MOs5wikLEeaYyIUJlvqqqw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_MOs5wykLEeaYyIUJlvqqqw" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_eN5qQCkLEeaYyIUJlvqqqw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_MOs5xCkLEeaYyIUJlvqqqw" x="-2" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_MOsSsSkLEeaYyIUJlvqqqw"/>
+      <element xmi:type="uml:Transition" href="AbitComplexSMOrthogonal.uml#_MOEnoCkLEeaYyIUJlvqqqw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MOsSsikLEeaYyIUJlvqqqw" points="[867, 516, -643984, -643984]$[668, 522, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MQH2ECkLEeaYyIUJlvqqqw" id="(0.025,0.11363636363636363)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MQH2ESkLEeaYyIUJlvqqqw" id="(1.0,0.20454545454545456)"/>
+    </edges>
+  </notation:Diagram>
+  <css:EmbeddedStyleSheet xmi:id="_B2g2QXn3EeOfttgBwSq-Ig" label="Animation" content=":animated{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 3px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #c00000;&#xA;&#x9;bold: true;&#xA;} &#xA;&#xA;:suspended{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #fab953;&#xA;&#x9;bold: true;&#xA;}&#xA;&#xA;:visited{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #92d050;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #92d050;&#xA;}&#xA;Transition > Label {&#xA;&#x9;bodyCutLength: 1;&#xA;&#x9;indicateParameters: true;&#xA;&#x9;lineBreakBeforeEffect : true;&#xA;}"/>
+  <css:ModelStyleSheets xmi:id="_Rz4BcMcpEeSsAI2TZshUyg"/>
+</xmi:XMI>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/AbitComplexSMOrthogonal.uml b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/AbitComplexSMOrthogonal.uml
new file mode 100644
index 0000000..6368d44
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/AbitComplexSMOrthogonal.uml
@@ -0,0 +1,450 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc">
+  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="ABitComplexSMOrthogonalExample">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_C_CORE/componentlib.uml#_O6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_YvEs8OusEeCTfOY57pgE3w">
+      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/statemachine.uml#_ago_QOUTEd-P08Bciq_LqQ"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="components">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_cb-ncDemEeGPyrZ5I3hMlA" annotatedElement="_oqZNUDLaEd2qeKRLMdIx_A">
+        <body>State-machine support is enabled with a container rule</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Package" xmi:id="_Tp4n8DLaEd2qeKRLMdIx_A" name="Interfaces">
+        <packagedElement xmi:type="uml:Interface" xmi:id="_cn-H0DLbEd2qeKRLMdIx_A" name="ICompute">
+          <ownedReception xmi:type="uml:Reception" xmi:id="_1U0U8McqEeSsAI2TZshUyg" name="add" signal="_ywk2kMcqEeSsAI2TZshUyg"/>
+          <ownedReception xmi:type="uml:Reception" xmi:id="_M-tXYMcrEeSsAI2TZshUyg" name="mult" signal="_z0nGcMcqEeSsAI2TZshUyg"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_DGs6wDLgEd28fJKJJnUaeQ" name="add">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6wTLgEd28fJKJJnUaeQ" name="a">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6wzLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6wjLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6xTLgEd28fJKJJnUaeQ" name="b">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6xzLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6xjLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6yTLgEd28fJKJJnUaeQ" name="res" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6yzLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6yjLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+          </ownedOperation>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_L8EY8DLgEd28fJKJJnUaeQ" name="mult">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY8TLgEd28fJKJJnUaeQ" name="a">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY8zLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY8jLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY9TLgEd28fJKJJnUaeQ" name="b">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY9zLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY9jLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY-TLgEd28fJKJJnUaeQ" name="res" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY-zLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY-jLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+          </ownedOperation>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Signal" xmi:id="_ywk2kMcqEeSsAI2TZshUyg" name="Add"/>
+        <packagedElement xmi:type="uml:Signal" xmi:id="_z0nGcMcqEeSsAI2TZshUyg" name="Mult"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_XLQjUDLiEd2RVeNawwNNzg" name="System">
+        <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="System_impl">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_gV1cgDLiEd2RVeNawwNNzg" name="simpleSM" type="_oqZNUDLaEd2qeKRLMdIx_A" isUnique="false" aggregation="composite"/>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_oqZNUDLaEd2qeKRLMdIx_A" name="SimpleSM" classifierBehavior="_y7KWsOYXEeCBL_IbXY9ofw">
+        <generalization xmi:type="uml:Generalization" xmi:id="_LuEUwCgBEeapjr3l63b85A">
+          <general xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+        </generalization>
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_4KiE8DLbEd2qeKRLMdIx_A" name="p" type="_cn-H0DLbEd2qeKRLMdIx_A" aggregation="composite"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_Ya5_oCkFEeaWptp_P1JVYQ" name="x">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedAttribute>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_YQqH0JYlEd6G9q9hwr11bw" name="derived realization of ICompute" client="_oqZNUDLaEd2qeKRLMdIx_A" supplier="_cn-H0DLbEd2qeKRLMdIx_A" contract="_cn-H0DLbEd2qeKRLMdIx_A"/>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_VGnYgCgBEeapjr3l63b85A" name="derived realization of IStart" client="_oqZNUDLaEd2qeKRLMdIx_A">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+          <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+        </interfaceRealization>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_qxjWINnmEd2_cstbO2Uzgg" name="mult" specification="_4ZEZwHecEd6r18stFZxmFQ">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqWHcC1REea25uwDpRQuxg" name="a">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqWHcS1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqWHci1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqWHcy1REea25uwDpRQuxg" name="b">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqWugC1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqWugS1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqWugi1REea25uwDpRQuxg" name="res" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqWugy1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqWuhC1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a*b=&quot; &lt;&lt; a*b &lt;&lt; endl;
+return a*b;</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ML-4AKI5Ed6FqJCjEUrkqQ" name="add" specification="_TbIjUJYlEd6G9q9hwr11bw">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqXVkC1REea25uwDpRQuxg" name="a">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqXVkS1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqXVki1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqX8oC1REea25uwDpRQuxg" name="b">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqX8oS1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqX8oi1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqX8oy1REea25uwDpRQuxg" name="res" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqX8pC1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqYjsC1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a+b=&quot; &lt;&lt; a+b &lt;&lt; endl;
+return a+b;</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_y7KWsOYXEeCBL_IbXY9ofw" name="SMServer">
+          <region xmi:type="uml:Region" xmi:id="_0Lv00OYXEeCBL_IbXY9ofw" name="Region0">
+            <transition xmi:type="uml:Transition" xmi:id="_CLBzIOYYEeCBL_IbXY9ofw" name="Transition0" source="_1UVNgOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw"/>
+            <transition xmi:type="uml:Transition" xmi:id="_Doi6AOYYEeCBL_IbXY9ofw" name="Transition1" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
+              <trigger xmi:type="uml:Trigger" xmi:id="_rHpXoOtoEeCjb9i0gG4phA" event="_rHoJgOtoEeCjb9i0gG4phA"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_OH_UYOYYEeCBL_IbXY9ofw" name="Transition2" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw">
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_CAWpgSSoEeG6GJ4vU06VYQ" name="add">
+                <language>C/C++</language>
+                <body>add(2,3);&#xD;
+mult(3,5);&#xD;
+std::cout &lt;&lt;&quot;From State1 to State0 \n&quot;;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_-aQtACaeEeG4fZdVXNtoOQ" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_mJvoUOtqEeCzSsOGmQH2aA" name="Transition3" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
+              <trigger xmi:type="uml:Trigger" xmi:id="_8WepQHoDEeOA64V_YLapaA" event="_8WeCMHoDEeOA64V_YLapaA"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_rdKgsCjmEeaJJusTB1aIbg" source="_53E_8OYXEeCBL_IbXY9ofw" target="_owZYcCjmEeaJJusTB1aIbg">
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_-EnkACjmEeaJJusTB1aIbg">
+                <language>C++</language>
+                <body>std::cout &lt;&lt; &quot;From State 0 to State 2\n&quot;;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_4eMuECjmEeaJJusTB1aIbg" event="_4WSIMCjmEeaJJusTB1aIbg"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_BO7j4CjnEeaJJusTB1aIbg" source="_owZYcCjmEeaJJusTB1aIbg" target="__9lQwCjmEeaJJusTB1aIbg">
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_F9mScCjnEeaJJusTB1aIbg">
+                <language>C++</language>
+                <body>x = 6;&#xD;
+std::cout &lt;&lt;&quot;From State 2 to Junction1\n&quot;;&#xD;
+</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_GlK94CjpEeaJJusTB1aIbg" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_G1QTMCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_53E_8OYXEeCBL_IbXY9ofw"/>
+            <transition xmi:type="uml:Transition" xmi:id="_HnKRQCjnEeaJJusTB1aIbg" guard="_KB4nQCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_w-8yoCkEEeaWptp_P1JVYQ">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="_KB4nQCjnEeaJJusTB1aIbg">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_KB4nQSjnEeaJJusTB1aIbg">
+                  <language>C++</language>
+                  <body>x == 5</body>
+                </specification>
+              </ownedRule>
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_QlLVICjnEeaJJusTB1aIbg">
+                <language>C++</language>
+                <body>std::cout &lt;&lt; &quot;From Junction1 to Shallow history \n&quot;;</body>
+              </effect>
+            </transition>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="_1UVNgOYXEeCBL_IbXY9ofw" name="Initial0"/>
+            <subvertex xmi:type="uml:State" xmi:id="_53E_8OYXEeCBL_IbXY9ofw" name="State0"/>
+            <subvertex xmi:type="uml:State" xmi:id="_7_1cMOYXEeCBL_IbXY9ofw" name="State1"/>
+            <subvertex xmi:type="uml:State" xmi:id="_owZYcCjmEeaJJusTB1aIbg" name="State2">
+              <entry xmi:type="uml:OpaqueBehavior" xmi:id="_hGRNQCkFEeaWptp_P1JVYQ">
+                <language>C++</language>
+                <body>x = 5;</body>
+              </entry>
+            </subvertex>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="__9lQwCjmEeaJJusTB1aIbg" name="Junction1" kind="junction"/>
+            <subvertex xmi:type="uml:State" xmi:id="_mxZZgCkEEeaWptp_P1JVYQ" name="State3">
+              <region xmi:type="uml:Region" xmi:id="_pXD0MCkEEeaWptp_P1JVYQ" name="Region1">
+                <transition xmi:type="uml:Transition" xmi:id="_zRtfcCkEEeaWptp_P1JVYQ" source="_w-8yoCkEEeaWptp_P1JVYQ" target="_pXM-ICkEEeaWptp_P1JVYQ">
+                  <effect xmi:type="uml:OpaqueBehavior" xmi:id="_7hUlMCkEEeaWptp_P1JVYQ">
+                    <language>C++</language>
+                    <body>std::cout &lt;&lt; &quot;From Shallow history  to State 4\n&quot;;</body>
+                  </effect>
+                </transition>
+                <transition xmi:type="uml:Transition" xmi:id="__pc4MCkEEeaWptp_P1JVYQ" source="_pXM-ICkEEeaWptp_P1JVYQ" target="_-AIxACkEEeaWptp_P1JVYQ">
+                  <effect xmi:type="uml:OpaqueBehavior" xmi:id="_Im4tQCkFEeaWptp_P1JVYQ">
+                    <language>C++</language>
+                    <body>std::cout &lt;&lt; &quot;From State 4 to State 5 \n&quot;;</body>
+                  </effect>
+                  <trigger xmi:type="uml:Trigger" xmi:id="_D0f8UCkFEeaWptp_P1JVYQ" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
+                </transition>
+                <transition xmi:type="uml:Transition" xmi:id="_JPEuoCkFEeaWptp_P1JVYQ" source="_-AIxACkEEeaWptp_P1JVYQ" target="_7_1cMOYXEeCBL_IbXY9ofw">
+                  <effect xmi:type="uml:OpaqueBehavior" xmi:id="_QHO5QCkFEeaWptp_P1JVYQ">
+                    <language>C++</language>
+                    <body>std::cout &lt;&lt; &quot;From State 5 to State 1 \n&quot;;</body>
+                  </effect>
+                  <trigger xmi:type="uml:Trigger" xmi:id="_NO0hsCkFEeaWptp_P1JVYQ" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
+                </transition>
+                <subvertex xmi:type="uml:State" xmi:id="_pXM-ICkEEeaWptp_P1JVYQ" name="State4"/>
+                <subvertex xmi:type="uml:Pseudostate" xmi:id="_w-8yoCkEEeaWptp_P1JVYQ" name="ShallowHistory1" kind="shallowHistory"/>
+                <subvertex xmi:type="uml:State" xmi:id="_-AIxACkEEeaWptp_P1JVYQ" name="State5"/>
+              </region>
+              <region xmi:type="uml:Region" xmi:id="_0LTyMCkKEeaYyIUJlvqqqw" name="Region2">
+                <transition xmi:type="uml:Transition" xmi:id="_4wueICkKEeaYyIUJlvqqqw" source="_3vbZMCkKEeaYyIUJlvqqqw" target="_00q4QCkKEeaYyIUJlvqqqw">
+                  <effect xmi:type="uml:OpaqueBehavior" xmi:id="_83I54CkKEeaYyIUJlvqqqw">
+                    <language>C++</language>
+                    <body>std::cout &lt;&lt;&quot;Initial to state 6\n&quot;;</body>
+                  </effect>
+                </transition>
+                <transition xmi:type="uml:Transition" xmi:id="_98L2YCkKEeaYyIUJlvqqqw" source="_00q4QCkKEeaYyIUJlvqqqw" target="_2KfbsCkKEeaYyIUJlvqqqw">
+                  <effect xmi:type="uml:OpaqueBehavior" xmi:id="_iNXwgCkLEeaYyIUJlvqqqw">
+                    <language>C++</language>
+                    <body>std::cout&lt;&lt;&quot;From state6 to state7\n&quot;;</body>
+                  </effect>
+                  <trigger xmi:type="uml:Trigger" xmi:id="_IiaOMCkLEeaYyIUJlvqqqw" event="_ay7_QCkLEeaYyIUJlvqqqw"/>
+                </transition>
+                <transition xmi:type="uml:Transition" xmi:id="_MOEnoCkLEeaYyIUJlvqqqw" source="_2KfbsCkKEeaYyIUJlvqqqw" target="_00q4QCkKEeaYyIUJlvqqqw">
+                  <trigger xmi:type="uml:Trigger" xmi:id="_bCRbwCkLEeaYyIUJlvqqqw" event="_ay7_QCkLEeaYyIUJlvqqqw"/>
+                </transition>
+                <subvertex xmi:type="uml:State" xmi:id="_00q4QCkKEeaYyIUJlvqqqw" name="State6">
+                  <entry xmi:type="uml:OpaqueBehavior" xmi:id="_mZyGkCkLEeaYyIUJlvqqqw">
+                    <language>C++</language>
+                    <body>std::cout&lt;&lt;&quot;Entering state6\n&quot;;</body>
+                  </entry>
+                </subvertex>
+                <subvertex xmi:type="uml:State" xmi:id="_2KfbsCkKEeaYyIUJlvqqqw" name="State7"/>
+                <subvertex xmi:type="uml:Pseudostate" xmi:id="_3vbZMCkKEeaYyIUJlvqqqw" name="Initial1"/>
+              </region>
+            </subvertex>
+          </region>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_YNCW4CgBEeapjr3l63b85A" name="run" specification="_VGsRACgBEeapjr3l63b85A">
+          <language>C/C++</language>
+          <body>cout &lt;&lt; &quot;call add (2, 3);&quot; &lt;&lt; endl;
+cout &lt;&lt; &quot;result: &quot; &lt;&lt; add (2, 3) &lt;&lt; endl;
+cout &lt;&lt; &quot;sleeping for 15 seconds (statemachine remains active);&quot; &lt;&lt; endl;
+sleep(15);
+</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_4ZEZwHecEd6r18stFZxmFQ" name="mult" method="_qxjWINnmEd2_cstbO2Uzgg">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqR2AC1REea25uwDpRQuxg" name="a">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqSdEC1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqTEIC1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqTEIS1REea25uwDpRQuxg" name="b">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqTrMC1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqTrMS1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqTrMi1REea25uwDpRQuxg" name="res" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqU5UC1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqU5US1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_TbIjUJYlEd6G9q9hwr11bw" name="add" method="_ML-4AKI5Ed6FqJCjEUrkqQ">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqMWcC1REea25uwDpRQuxg" name="a">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqM9gC1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqNkkC1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqNkkS1REea25uwDpRQuxg" name="b">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqOLoC1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqOLoS1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_uqOLoi1REea25uwDpRQuxg" name="res" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqPZwC1REea25uwDpRQuxg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqPZwS1REea25uwDpRQuxg" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_VGsRACgBEeapjr3l63b85A" name="run" method="_YNCW4CgBEeapjr3l63b85A"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_rGzqIOtoEeCjb9i0gG4phA" name="events">
+        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_rHoJgOtoEeCjb9i0gG4phA" name="TE - {value=50, unit=ms}" isRelative="true">
+          <when xmi:type="uml:TimeExpression" xmi:id="_rHoJgetoEeCjb9i0gG4phA">
+            <expr xmi:type="uml:OpaqueExpression" xmi:id="_rHoJgutoEeCjb9i0gG4phA">
+              <language>Natural language</language>
+              <body>{value=50, unit=ms}</body>
+            </expr>
+          </when>
+        </packagedElement>
+        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_-PMFcCaeEeG4fZdVXNtoOQ" name="TE - {value=500, unit=ms}" isRelative="true">
+          <when xmi:type="uml:TimeExpression" xmi:id="_-PMFcSaeEeG4fZdVXNtoOQ">
+            <expr xmi:type="uml:OpaqueExpression" xmi:id="_-PMFciaeEeG4fZdVXNtoOQ">
+              <language>Natural language</language>
+              <body>{value=500, unit=ms}</body>
+            </expr>
+          </when>
+        </packagedElement>
+        <packagedElement xmi:type="uml:CallEvent" xmi:id="_8WeCMHoDEeOA64V_YLapaA" name="CE - CServer_impl - add" operation="_TbIjUJYlEd6G9q9hwr11bw"/>
+        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_4WSIMCjmEeaJJusTB1aIbg" name="TE - {value=25, unit=ms}" isRelative="true">
+          <when xmi:type="uml:TimeExpression" xmi:id="_4WSIMSjmEeaJJusTB1aIbg">
+            <expr xmi:type="uml:OpaqueExpression" xmi:id="_4WSIMijmEeaJJusTB1aIbg">
+              <language>Natural language</language>
+              <body>{value=25, unit=ms}</body>
+            </expr>
+          </when>
+        </packagedElement>
+        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_ay7_QCkLEeaYyIUJlvqqqw" name="TE-{value=1, unit=s}" isRelative="true">
+          <when xmi:type="uml:TimeExpression" xmi:id="_ay7_QSkLEeaYyIUJlvqqqw">
+            <expr xmi:type="uml:OpaqueExpression" xmi:id="_ay7_QikLEeaYyIUJlvqqqw">
+              <language>Natural language</language>
+              <body>{value=1, unit=s}</body>
+            </expr>
+          </when>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_v3fMgDLiEd2RVeNawwNNzg" name="platform">
+      <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="MonoNode">
+        <generalization xmi:type="uml:Generalization" xmi:id="_A39CYHDaEeORJcfdyIEeTg">
+          <general xmi:type="uml:Class" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmImnHEeOtZICylR5Azw"/>
+        </generalization>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_M1a_8MniEeCMCo5Ox2CNmg" name="HWArchitectureMonolithic">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_QgKzYMniEeCMCo5Ox2CNmg" name="monoNode" visibility="public" type="_zY9vMDLiEd2RVeNawwNNzg" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XijRAMniEeCMCo5Ox2CNmg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XkfxwMniEeCMCo5Ox2CNmg" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_XlIq8MniEeCMCo5Ox2CNmg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_Ndc2cGGIEeO2F4QRMDSOXg" name="Eclipse" type="_GUl9YGGIEeO2F4QRMDSOXg" aggregation="composite"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_GUl9YGGIEeO2F4QRMDSOXg" name="EclipseServer">
+        <generalization xmi:type="uml:Generalization" xmi:id="_Bpd-4HDaEeORJcfdyIEeTg">
+          <general xmi:type="uml:Class" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmImnHEeOtZICylR5Azw"/>
+        </generalization>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_ZDrmkHDaEeORJcfdyIEeTg" name="HWArchitectureMonolithicPlatform">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDrmkXDaEeORJcfdyIEeTg" classifier="_M1a_8MniEeCMCo5Ox2CNmg">
+          <slot xmi:type="uml:Slot" xmi:id="_ZDsNoXDaEeORJcfdyIEeTg" definingFeature="_QgKzYMniEeCMCo5Ox2CNmg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_ZDs0sHDaEeORJcfdyIEeTg" instance="_ZDsNoHDaEeORJcfdyIEeTg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_ZDtbwHDaEeORJcfdyIEeTg" definingFeature="_Ndc2cGGIEeO2F4QRMDSOXg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_ZDuC0HDaEeORJcfdyIEeTg" instance="_ZDs0sXDaEeORJcfdyIEeTg"/>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDsNoHDaEeORJcfdyIEeTg" name="monoNode" classifier="_zY9vMDLiEd2RVeNawwNNzg">
+          <slot xmi:type="uml:Slot" xmi:id="_fg9zEHDaEeORJcfdyIEeTg">
+            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJWnHEeOtZICylR5Azw"/>
+            <value xmi:type="uml:LiteralString" xmi:id="_fg-aIHDaEeORJcfdyIEeTg" name="value for IPaddress" value="127.0.0.1">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            </value>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_hDbrYHDaEeORJcfdyIEeTg">
+            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJmnHEeOtZICylR5Azw"/>
+            <value xmi:type="uml:LiteralInteger" xmi:id="_hDcScHDaEeORJcfdyIEeTg" name="value for portNumber" value="12345">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+            </value>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ZDs0sXDaEeORJcfdyIEeTg" name="Eclipse" classifier="_GUl9YGGIEeO2F4QRMDSOXg">
+          <slot xmi:type="uml:Slot" xmi:id="_oXzQ4HDaEeORJcfdyIEeTg">
+            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJWnHEeOtZICylR5Azw"/>
+            <value xmi:type="uml:LiteralString" xmi:id="_oXz38HDaEeORJcfdyIEeTg" name="value for IPaddress" value="127.0.0.1">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            </value>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_plcIsHDaEeORJcfdyIEeTg">
+            <definingFeature xmi:type="uml:Property" href="pathmap://QML_DISTRIBUTION/SocketRuntime.uml#_4ozmJmnHEeOtZICylR5Azw"/>
+            <value xmi:type="uml:LiteralInteger" xmi:id="_plcvwHDaEeORJcfdyIEeTg" name="value for portNumber" value="12346">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+            </value>
+          </slot>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_NaSPIHltEeOh_8tymvdOOg" name="System_implPlatform">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaS2MHltEeOh_8tymvdOOg" classifier="_bYJagDLiEd2RVeNawwNNzg">
+          <slot xmi:type="uml:Slot" xmi:id="_NaTdQXltEeOh_8tymvdOOg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_NaUEUHltEeOh_8tymvdOOg" instance="_NaTdQHltEeOh_8tymvdOOg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_NaVScHltEeOh_8tymvdOOg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_NaV5gHltEeOh_8tymvdOOg" instance="_NaUrYHltEeOh_8tymvdOOg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_NaXHoHltEeOh_8tymvdOOg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_NaXHoXltEeOh_8tymvdOOg" instance="_NaWgkHltEeOh_8tymvdOOg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_NaXusXltEeOh_8tymvdOOg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_NaYVwHltEeOh_8tymvdOOg" instance="_NaXusHltEeOh_8tymvdOOg"/>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaTdQHltEeOh_8tymvdOOg" name="server" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaUrYHltEeOh_8tymvdOOg" name="client"/>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaWgkHltEeOh_8tymvdOOg" name="singleton_localanimservice">
+          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/statemachine.uml#_xELAwF81EeGbQoflzrdx0g"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_NaXusHltEeOh_8tymvdOOg" name="singleton_remoteanimservice">
+          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/statemachine.uml#_B0gFAHg_EeOejZqJpKQeww"/>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
+      <packagedElement xmi:type="uml:Package" xmi:id="_QQiDgHltEeOh_8tymvdOOg" name="System_implDepPlan">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_QQm8AHltEeOh_8tymvdOOg" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg">
+          <slot xmi:type="uml:Slot" xmi:id="_QQtpsHltEeOh_8tymvdOOg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_QQuQwHltEeOh_8tymvdOOg" instance="_QQr0gHltEeOh_8tymvdOOg"/>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_QQr0gHltEeOh_8tymvdOOg" name="mainInstance.simpleSM" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_StNrwCQdEeabuaUFyev1pw" name="allocate mainInstance to monoNode" client="_QQm8AHltEeOh_8tymvdOOg" supplier="_ZDsNoHDaEeORJcfdyIEeTg"/>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_GcC0cAHtEd6HSdiss9GQ0A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Gd1kMAHtEd6HSdiss9GQ0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_z1TwgFW3Ed63BrxiKsw-0Q">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z2GasFW3Ed63BrxiKsw-0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_zi-sUE2sEeGl8qrc8BM7vA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0QJUUE2sEeGl8qrc8BM7vA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+  </uml:Model>
+  <Transformation:DerivedElement xmi:id="_DWb6oP6yEd6Ie_kieu_3CQ" base_Element="_TbIjUJYlEd6G9q9hwr11bw" source="_DGs6wDLgEd28fJKJJnUaeQ"/>
+  <Transformation:DerivedElement xmi:id="_DXK6cP6yEd6Ie_kieu_3CQ" base_Element="_4ZEZwHecEd6r18stFZxmFQ" source="_L8EY8DLgEd28fJKJJnUaeQ"/>
+  <FCM:RuleApplication xmi:id="_DWIYoP6yEd6Ie_kieu_3CQ" base_Class="_oqZNUDLaEd2qeKRLMdIx_A">
+    <containerRule xmi:type="FCM:ContainerRule" href="pathmap://QML_CORE/statemachine.uml#_7BlhkCPoEeauR8esGjVxRA"/>
+    <propagateRule>false</propagateRule>
+    <containerRule xmi:type="FCM:CompositeCRule" href="pathmap://QML_CORE/statemachine.uml#_BncCwO68EeCZ9MjsZTV1zw"/>
+    <interceptor href="pathmap://QML_TRACE/tracing.uml#_35od4DKrEd-z5o2wSoJ16A"/>
+  </FCM:RuleApplication>
+  <FCM:Port xmi:id="_GofhQP6yEd6Ie_kieu_3CQ" base_Port="_4KiE8DLbEd2qeKRLMdIx_A" type="_cn-H0DLbEd2qeKRLMdIx_A">
+    <kind xmi:type="FCM:PortKind" href="pathmap://DML_C_CORE/componentlib.uml#_wySlkFRxEd6GqrP6fkWBoQ"/>
+  </FCM:Port>
+  <FCM:Target xmi:id="_HvbFMLqQEd-BObGGoBbehA" base_Node="_zY9vMDLiEd2RVeNawwNNzg">
+    <targetArch xmi:type="FCM:TargetArchitecture" href="pathmap://DML_C_CORE/componentlib.uml#_FYOqwF0OEd-12d_h0i1xhQ"/>
+    <usedOS xmi:type="FCM:OperatingSystem" href="pathmap://DML_C_CORE/componentlib.uml#_1eULwF0NEd-12d_h0i1xhQ"/>
+  </FCM:Target>
+  <C_Cpp:Include xmi:id="_EaeJMNp0EeKd1ax3yaXM9w" body="#include &lt;iostream>&#xA;using namespace std;&#xA;&#xA;#include &lt;unistd.h>&#xA;" base_class="_oqZNUDLaEd2qeKRLMdIx_A"/>
+  <Deployment:DeploymentPlan xmi:id="_QQlt4HltEeOh_8tymvdOOg" mainInstance="_QQm8AHltEeOh_8tymvdOOg" base_Package="_QQiDgHltEeOh_8tymvdOOg"/>
+  <Alloc:Allocate xmi:id="_StSkQCQdEeabuaUFyev1pw" base_Abstraction="_StNrwCQdEeabuaUFyev1pw"/>
+  <Transformation:DerivedElement xmi:id="_VGxwkCgBEeapjr3l63b85A" base_Element="_VGsRACgBEeapjr3l63b85A">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+  </Transformation:DerivedElement>
+</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ClientServerTimer.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di
copy to transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ClientServerTimer.di
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ClientServerTimer.notation b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ClientServerTimer.notation
new file mode 100644
index 0000000..ab0a135
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ClientServerTimer.notation
@@ -0,0 +1,1242 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_XSHWMF36Ed-UvNEDwY5GNg" type="PapyrusUMLClassDiagram" name="Interfaces" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_iubEsDbcEeGdqp2YT1LwWw" type="2004" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iucS0DbcEeGdqp2YT1LwWw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iucS0TbcEeGdqp2YT1LwWw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iuc54DbcEeGdqp2YT1LwWw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iuc54TbcEeGdqp2YT1LwWw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iuc54jbcEeGdqp2YT1LwWw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iuc54zbcEeGdqp2YT1LwWw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_iuc55DbcEeGdqp2YT1LwWw" type="5011"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_iudg8DbcEeGdqp2YT1LwWw" visible="false" type="7006">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_iudg8TbcEeGdqp2YT1LwWw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_iudg8jbcEeGdqp2YT1LwWw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_iudg8zbcEeGdqp2YT1LwWw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iudg9DbcEeGdqp2YT1LwWw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_iudg9TbcEeGdqp2YT1LwWw" type="7007">
+        <children xmi:type="notation:Shape" xmi:id="_kZh7oDbcEeGdqp2YT1LwWw" type="3007" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_oSbL4Fl7EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oW1x0Fl7EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="6408"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="ClientServerTimer.uml#_DGs6wDLgEd28fJKJJnUaeQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kZh7oTbcEeGdqp2YT1LwWw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kZiisDbcEeGdqp2YT1LwWw" type="3007" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pVrYoFl7EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zM5VYFl7EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="6408"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="ClientServerTimer.uml#_L8EY8DLgEd28fJKJJnUaeQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kZiisTbcEeGdqp2YT1LwWw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_iudg9jbcEeGdqp2YT1LwWw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_iudg9zbcEeGdqp2YT1LwWw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_iudg-DbcEeGdqp2YT1LwWw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iudg-TbcEeGdqp2YT1LwWw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_iudg-jbcEeGdqp2YT1LwWw" visible="false" type="7008">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_iudg-zbcEeGdqp2YT1LwWw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_iudg_DbcEeGdqp2YT1LwWw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_iudg_TbcEeGdqp2YT1LwWw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iudg_jbcEeGdqp2YT1LwWw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_TJ_EAFy9EeORBN8YBc21fg" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_TJ_EAVy9EeORBN8YBc21fg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TJ_EAly9EeORBN8YBc21fg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ScLe4GkMEeWakucY9QdE0g" type="8507">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ScLe4WkMEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Interface" href="ClientServerTimer.uml#_cn-H0DLbEd2qeKRLMdIx_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iubEsTbcEeGdqp2YT1LwWw" x="132" y="101" width="328" height="80"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_XSHWMV36Ed-UvNEDwY5GNg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_ScMF8GkMEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.1.0"/>
+    <element xmi:type="uml:Package" href="ClientServerTimer.uml#_Tp4n8DLaEd2qeKRLMdIx_A"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_wOG5sF36Ed-UvNEDwY5GNg" type="CompositeStructure" name="CompositeDiagram Client" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_xxFIUF36Ed-UvNEDwY5GNg" type="Class_Shape" fontName="Sans Serif" fontHeight="10" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sZxrcDenEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sZxrcTenEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_xxFvYF36Ed-UvNEDwY5GNg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_xxFvYV36Ed-UvNEDwY5GNg" type="Class_StructureCompartment" collapsed="true">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xxFvYl36Ed-UvNEDwY5GNg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_gcVpEDenEeGPyrZ5I3hMlA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gcWQIDenEeGPyrZ5I3hMlA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gcWQITenEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gcWQIjenEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gcW3MDenEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gcW3MTenEeGPyrZ5I3hMlA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gcW3MjenEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_gcW3MzenEeGPyrZ5I3hMlA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FHl10Fl7EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FOOpUFl7EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_gcW3NDenEeGPyrZ5I3hMlA" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_gcW3NTenEeGPyrZ5I3hMlA" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_gcW3NjenEeGPyrZ5I3hMlA" x="-47" y="-20"/>
+        </children>
+        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gcVpETenEeGPyrZ5I3hMlA" x="-10" y="50"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_i3LT0DenEeGPyrZ5I3hMlA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i3L64DenEeGPyrZ5I3hMlA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i3L64TenEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i3L64jenEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i3L64zenEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_i3L65DenEeGPyrZ5I3hMlA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_i3L65TenEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_i3L65jenEeGPyrZ5I3hMlA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GOOGsFl7EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GT4p0Fl7EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_i3L65zenEeGPyrZ5I3hMlA" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_i3Mh8DenEeGPyrZ5I3hMlA" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_i3Mh8TenEeGPyrZ5I3hMlA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="ClientServerTimer.uml#_U50WMCkDEeGDDbdzqSb4UA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_i3LT0TenEeGPyrZ5I3hMlA" x="-10" y="105"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_ZmeH8DrdEeGgAdAmWw4pyQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZmeH8jrdEeGgAdAmWw4pyQ" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZmevADrdEeGgAdAmWw4pyQ" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZmevATrdEeGgAdAmWw4pyQ" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZmevAjrdEeGgAdAmWw4pyQ" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZmevAzrdEeGgAdAmWw4pyQ" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZmevBDrdEeGgAdAmWw4pyQ" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ZmevBTrdEeGgAdAmWw4pyQ" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FyNgIFl7EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_F2-EUFl7EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZmevBjrdEeGgAdAmWw4pyQ" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ZmevBzrdEeGgAdAmWw4pyQ" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZmevCDrdEeGgAdAmWw4pyQ" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="ClientServerTimer.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZmeH8TrdEeGgAdAmWw4pyQ" x="153" y="81"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_TZhU0Fy9EeORBN8YBc21fg" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_TZhU0Vy9EeORBN8YBc21fg" showTitle="true"/>
+        <element xmi:type="C_Cpp:Include" href="ClientServerTimer.uml#_7SAnAP76Ed6Zw96O-tCw7A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TZhU0ly9EeORBN8YBc21fg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_TZh74Fy9EeORBN8YBc21fg" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_TZh74Vy9EeORBN8YBc21fg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TZh74ly9EeORBN8YBc21fg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_SfMWoGkMEeWakucY9QdE0g" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_SfMWoWkMEeWakucY9QdE0g" y="5"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Sjr1EGkMEeWakucY9QdE0g" visible="false" type="StereotypeLabel">
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_Sjr1EWkMEeWakucY9QdE0g" name="stereotype" stringValue="C_Cpp::Include"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_RwTdQByJEduN1bTiWJ0lyw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Sjr1EmkMEeWakucY9QdE0g"/>
+      </children>
+      <element xmi:type="uml:Class" href="ClientServerTimer.uml#_IfjoETLbEd2qeKRLMdIx_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xxFIUV36Ed-UvNEDwY5GNg" x="120" y="160" width="201" height="133"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_lvTlsAOUEeCBk5-airPjFw" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lvVa4AOUEeCBk5-airPjFw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lvVa4QOUEeCBk5-airPjFw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lvWB8AOUEeCBk5-airPjFw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lvWB8QOUEeCBk5-airPjFw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lvWB8gOUEeCBk5-airPjFw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lvWB8wOUEeCBk5-airPjFw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_lvWB9AOUEeCBk5-airPjFw" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_lvWpAAOUEeCBk5-airPjFw" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lvWpAQOUEeCBk5-airPjFw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_qjxzIDenEeGPyrZ5I3hMlA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qjyaMDenEeGPyrZ5I3hMlA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qjyaMTenEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qjyaMjenEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qjyaMzenEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qjyaNDenEeGPyrZ5I3hMlA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qjyaNTenEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_qjyaNjenEeGPyrZ5I3hMlA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GzR7kFl7EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G7WScFl7EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qjyaNzenEeGPyrZ5I3hMlA" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_qjyaODenEeGPyrZ5I3hMlA" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qjyaOTenEeGPyrZ5I3hMlA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qjxzITenEeGPyrZ5I3hMlA" x="-10" y="27"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_TZ8yoFy9EeORBN8YBc21fg" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_TZ9ZsFy9EeORBN8YBc21fg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TZ9ZsVy9EeORBN8YBc21fg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_SfMWomkMEeWakucY9QdE0g" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_SfMWo2kMEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lvTlsQOUEeCBk5-airPjFw" x="120" y="40" width="201" height="55"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_yGogkDenEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yGpHoDenEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yGpHoTenEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yGpHojenEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yGpHozenEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yGpHpDenEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yGpHpTenEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_yGpHpjenEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="ClientServerTimer.uml#_yGhL0DenEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yGogkTenEeGPyrZ5I3hMlA" x="102" y="319" width="322" height="51"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Sj5QcmkMEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Sj5Qc2kMEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Sj53gGkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="ClientServerTimer.uml#_IfjoETLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Sj5QdGkMEeWakucY9QdE0g" x="326" y="153"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_SkPOsGkMEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_SkPOsWkMEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SkPOs2kMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SkPOsmkMEeWakucY9QdE0g" x="190" y="42"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_SkiwtmkMEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Skiwt2kMEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SkiwuWkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ClientServerTimer.uml#_U50WMCkDEeGDDbdzqSb4UA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SkiwuGkMEeWakucY9QdE0g" x="190" y="105"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Sk0dgGkMEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Sk0dgWkMEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Sk0dg2kMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ClientServerTimer.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Sk0dgmkMEeWakucY9QdE0g" x="353" y="81"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_SlLp5mkMEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_SlLp52kMEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SlMQ8GkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SlLp6GkMEeWakucY9QdE0g" x="190" y="27"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_wOG5sV36Ed-UvNEDwY5GNg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_SfMWpGkMEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="ClientServerTimer.uml#_etOZkDLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_lwdcQAOUEeCBk5-airPjFw" type="Generalization_Edge" source="_xxFIUF36Ed-UvNEDwY5GNg" target="_lvTlsAOUEeCBk5-airPjFw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_lwfRcAOUEeCBk5-airPjFw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_2WUAICz6Eea25uwDpRQuxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_lwfRcQOUEeCBk5-airPjFw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_lwdcQQOUEeCBk5-airPjFw" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="ClientServerTimer.uml#_34FjAPx3Ed6O2oOTPfeAMA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lwdcQgOUEeCBk5-airPjFw" points="[-46, -44, 166, 165]$[-212, -209, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8doS4MTfEeWfEYAFL-UFuw" id="(0.49079754601226994,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7964EMTfEeWfEYAFL-UFuw" id="(0.49079754601226994,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_7z2z0DenEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_yGogkDenEeGPyrZ5I3hMlA" target="_i3LT0DenEeGPyrZ5I3hMlA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_7z2z0TenEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7z2z0jenEeGPyrZ5I3hMlA" points="[4, -1, 0, 38]$[1, -39, -3, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_70JHsDenEeGPyrZ5I3hMlA" id="(0.055900621118012424,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_70JHsTenEeGPyrZ5I3hMlA" id="(0.25,0.9)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Sj53gWkMEeWakucY9QdE0g" type="StereotypeCommentLink" source="_xxFIUF36Ed-UvNEDwY5GNg" target="_Sj5QcmkMEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Sj53gmkMEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Sj53hmkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="ClientServerTimer.uml#_IfjoETLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Sj53g2kMEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sj53hGkMEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sj53hWkMEeWakucY9QdE0g"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_SkPOtGkMEeWakucY9QdE0g" type="StereotypeCommentLink" source="_gcVpEDenEeGPyrZ5I3hMlA" target="_SkPOsGkMEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_SkPOtWkMEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SkPOuWkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SkPOtmkMEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SkPOt2kMEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SkPOuGkMEeWakucY9QdE0g"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_SkiwumkMEeWakucY9QdE0g" type="StereotypeCommentLink" source="_i3LT0DenEeGPyrZ5I3hMlA" target="_SkiwtmkMEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Skiwu2kMEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Skiwv2kMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ClientServerTimer.uml#_U50WMCkDEeGDDbdzqSb4UA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SkiwvGkMEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SkiwvWkMEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SkiwvmkMEeWakucY9QdE0g"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Sk0dhGkMEeWakucY9QdE0g" type="StereotypeCommentLink" source="_ZmeH8DrdEeGgAdAmWw4pyQ" target="_Sk0dgGkMEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Sk0dhWkMEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Sk0diWkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ClientServerTimer.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Sk0dhmkMEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sk0dh2kMEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sk0diGkMEeWakucY9QdE0g"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_SlMQ8WkMEeWakucY9QdE0g" type="StereotypeCommentLink" source="_qjxzIDenEeGPyrZ5I3hMlA" target="_SlLp5mkMEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_SlMQ8mkMEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SlMQ9mkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SlMQ82kMEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SlMQ9GkMEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SlMQ9WkMEeWakucY9QdE0g"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_aeSh0F37Ed-UvNEDwY5GNg" type="CompositeStructure" name="CompositeDiagram Server" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_c2tKsF37Ed-UvNEDwY5GNg" type="Class_Shape" fontName="Monospace" fontHeight="10" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NqCEgH8eEd-5xfPoaTlRww" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NqCEgX8eEd-5xfPoaTlRww" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FV2R8DreEeGgAdAmWw4pyQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FV2R8TreEeGgAdAmWw4pyQ" key="QualifiedNameDepth" value="1"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_c2tKsl37Ed-UvNEDwY5GNg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_c2tKs137Ed-UvNEDwY5GNg" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2tKtF37Ed-UvNEDwY5GNg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_FzA74GfbEd-T-rJ3Ep9Y5Q" type="Port_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzSosGfbEd-T-rJ3Ep9Y5Q" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzTPwGfbEd-T-rJ3Ep9Y5Q" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzTPwWfbEd-T-rJ3Ep9Y5Q" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzT20GfbEd-T-rJ3Ep9Y5Q" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzT20WfbEd-T-rJ3Ep9Y5Q" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzT20mfbEd-T-rJ3Ep9Y5Q" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_FzUd4GfbEd-T-rJ3Ep9Y5Q" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FzUd4WfbEd-T-rJ3Ep9Y5Q" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_FzUd4mfbEd-T-rJ3Ep9Y5Q" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FzUd42fbEd-T-rJ3Ep9Y5Q" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="ClientServerTimer.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FzA74WfbEd-T-rJ3Ep9Y5Q" y="114"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Tb56cFy9EeORBN8YBc21fg" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Tb56cVy9EeORBN8YBc21fg" showTitle="true"/>
+        <element xmi:type="FCM:RuleApplication" href="ClientServerTimer.uml#_DWIYoP6yEd6Ie_kieu_3CQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tb56cly9EeORBN8YBc21fg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_TcB2QFy9EeORBN8YBc21fg" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_TcB2QVy9EeORBN8YBc21fg" showTitle="true"/>
+        <element xmi:type="C_Cpp:Include" href="ClientServerTimer.uml#_Sa4nEP77Ed6Zw96O-tCw7A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TcB2Qly9EeORBN8YBc21fg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_TcCdUFy9EeORBN8YBc21fg" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_TcDEYFy9EeORBN8YBc21fg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TcDEYVy9EeORBN8YBc21fg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_SlcIkGkMEeWakucY9QdE0g" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_SlcIkWkMEeWakucY9QdE0g" y="5"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_SoKFYmkMEeWakucY9QdE0g" visible="false" type="StereotypeLabel">
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_SoKFY2kMEeWakucY9QdE0g" name="stereotype" stringValue="C_Cpp::Include"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_RwTdQByJEduN1bTiWJ0lyw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SoKFZGkMEeWakucY9QdE0g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_SoYH0GkMEeWakucY9QdE0g" type="StereotypeCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SogDoGkMEeWakucY9QdE0g" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SogDoWkMEeWakucY9QdE0g" key="visible" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_SoZV8GkMEeWakucY9QdE0g" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_r2VLUJD2Ed-I9dVdNhZAGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_SoZV8WkMEeWakucY9QdE0g"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_SoYH0WkMEeWakucY9QdE0g" showTitle="true"/>
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_SoYH0mkMEeWakucY9QdE0g" name="stereotype" stringValue="FCM::RuleApplication"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_te7YAMtkEd2H_o0jIC6qDQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SoYH02kMEeWakucY9QdE0g"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_5i4ZAMTfEeWfEYAFL-UFuw" visible="false" type="StereotypeLabel">
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_5i4ZAcTfEeWfEYAFL-UFuw" name="stereotype" stringValue="FCM::RuleApplication"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_te7YAMtkEd2H_o0jIC6qDQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5i4ZAsTfEeWfEYAFL-UFuw"/>
+      </children>
+      <element xmi:type="uml:Class" href="ClientServerTimer.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2tKsV37Ed-UvNEDwY5GNg" x="120" y="60" width="241" height="161"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_SoWSoGkMEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_SoWSoWkMEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SoWSo2kMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="ClientServerTimer.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SoWSomkMEeWakucY9QdE0g" x="334" y="74"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Spce0GkMEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Spce0WkMEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Spce02kMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ClientServerTimer.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Spce0mkMEeWakucY9QdE0g" x="190" y="106"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_aeSh0V37Ed-UvNEDwY5GNg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_SlcIkmkMEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="ClientServerTimer.uml#_OGM88DLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_SoWSpGkMEeWakucY9QdE0g" type="StereotypeCommentLink" source="_c2tKsF37Ed-UvNEDwY5GNg" target="_SoWSoGkMEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_SoWSpWkMEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SoWSqWkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="ClientServerTimer.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SoWSpmkMEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SoWSp2kMEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SoWSqGkMEeWakucY9QdE0g"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Spce1GkMEeWakucY9QdE0g" type="StereotypeCommentLink" source="_FzA74GfbEd-T-rJ3Ep9Y5Q" target="_Spce0GkMEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Spce1WkMEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Spce2WkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ClientServerTimer.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Spce1mkMEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Spce12kMEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Spce2GkMEeWakucY9QdE0g"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_q-Wa0F37Ed-UvNEDwY5GNg" type="CompositeStructure" name="CompositeDiagram System" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_sGaPEF37Ed-UvNEDwY5GNg" type="2073" fontName="Sans Serif" fontHeight="10" transparency="0" gradient="8047085, 0, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6B6WUGSuEd-dQdK1-7wIFg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6B69YGSuEd-dQdK1-7wIFg" key="QualifiedNameDepth" value="3"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_62o-4GSuEd-dQdK1-7wIFg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_62o-4WSuEd-dQdK1-7wIFg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4WS4wHk8EeOh_8tymvdOOg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4WS4wXk8EeOh_8tymvdOOg" key="fillColor" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_sGa2IF37Ed-UvNEDwY5GNg" type="5156"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sGa2IV37Ed-UvNEDwY5GNg" type="7073">
+        <children xmi:type="notation:Shape" xmi:id="_uegu4F37Ed-UvNEDwY5GNg" type="3070" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fGdKUF38Ed-UvNEDwY5GNg" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fGdKUV38Ed-UvNEDwY5GNg" key="QualifiedNameDepth" value="4"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_uegu4l37Ed-UvNEDwY5GNg" type="5126">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d-ALMFl6EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eQykUFl6EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_uehV8F37Ed-UvNEDwY5GNg" type="7077">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uehV8V37Ed-UvNEDwY5GNg"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_TLHfQAcCEeGnrLqQ0OQeAg" type="3069" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TLJUcAcCEeGnrLqQ0OQeAg" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TLJUcQcCEeGnrLqQ0OQeAg" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TLJUcgcCEeGnrLqQ0OQeAg" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TLJUcwcCEeGnrLqQ0OQeAg" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TLJ7gAcCEeGnrLqQ0OQeAg" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TLJ7gQcCEeGnrLqQ0OQeAg" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_TLJ7ggcCEeGnrLqQ0OQeAg" type="5125">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_b33lIFl6EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_b8oJUFl6EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_TLJ7gwcCEeGnrLqQ0OQeAg" x="20" y="1"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_TLKikAcCEeGnrLqQ0OQeAg" visible="false" type="6029">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_TLKikQcCEeGnrLqQ0OQeAg" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TLHfQQcCEeGnrLqQ0OQeAg" x="-10" y="51"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_U5_VUCkDEeGDDbdzqSb4UA" type="3069" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U5_8YCkDEeGDDbdzqSb4UA" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U5_8YSkDEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U5_8YikDEeGDDbdzqSb4UA" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U5_8YykDEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U5_8ZCkDEeGDDbdzqSb4UA" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U5_8ZSkDEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_U5_8ZikDEeGDDbdzqSb4UA" type="5125">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_k26jwFl6EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k-FiwFl6EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_U5_8ZykDEeGDDbdzqSb4UA" x="18" y="-9"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_U5_8aCkDEeGDDbdzqSb4UA" visible="false" type="6029">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_U6AjcCkDEeGDDbdzqSb4UA" x="27" y="9"/>
+            </children>
+            <element xmi:type="uml:Port" href="ClientServerTimer.uml#_U50WMCkDEeGDDbdzqSb4UA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U5_VUSkDEeGDDbdzqSb4UA" x="19" y="106" width="20" height="20"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_1ltaADrdEeGgAdAmWw4pyQ" type="3069" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1luBEDrdEeGgAdAmWw4pyQ" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1luBETrdEeGgAdAmWw4pyQ" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1luBEjrdEeGgAdAmWw4pyQ" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1luBEzrdEeGgAdAmWw4pyQ" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1luBFDrdEeGgAdAmWw4pyQ" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1luBFTrdEeGgAdAmWw4pyQ" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_1luBFjrdEeGgAdAmWw4pyQ" type="5125">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cVyQMFl6EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cdIOUFl6EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_1luBFzrdEeGgAdAmWw4pyQ" x="-75" y="-18"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_1luBGDrdEeGgAdAmWw4pyQ" visible="false" type="6029">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_1luBGTrdEeGgAdAmWw4pyQ" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="ClientServerTimer.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1ltaATrdEeGgAdAmWw4pyQ" x="166" y="52"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_Tg4hEFy9EeORBN8YBc21fg" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_Tg4hEVy9EeORBN8YBc21fg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tg4hEly9EeORBN8YBc21fg"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_SppTImkMEeWakucY9QdE0g" type="6054">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_SppTI2kMEeWakucY9QdE0g" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="ClientServerTimer.uml#_i-I7gDLiEd2RVeNawwNNzg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uegu4V37Ed-UvNEDwY5GNg" x="43" y="17" width="176" height="116"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_vHCHcF37Ed-UvNEDwY5GNg" type="3070" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_haY70F38Ed-UvNEDwY5GNg" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_haY70V38Ed-UvNEDwY5GNg" key="QualifiedNameDepth" value="4"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_vHCHcl37Ed-UvNEDwY5GNg" type="5126">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_guFGIFl6EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g4e_UFl6EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_vHCHc137Ed-UvNEDwY5GNg" type="7077">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vHCHdF37Ed-UvNEDwY5GNg"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_3RXDgDrdEeGgAdAmWw4pyQ" type="3069" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3RXDgjrdEeGgAdAmWw4pyQ" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3RXDgzrdEeGgAdAmWw4pyQ" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3RXDhDrdEeGgAdAmWw4pyQ" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3RXDhTrdEeGgAdAmWw4pyQ" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3RXqkDrdEeGgAdAmWw4pyQ" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3RXqkTrdEeGgAdAmWw4pyQ" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_3RXqkjrdEeGgAdAmWw4pyQ" type="5125">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lbX7sFl6EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_liaX0Fl6EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_3RXqkzrdEeGgAdAmWw4pyQ" x="25" y="3"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_3RXqlDrdEeGgAdAmWw4pyQ" visible="false" type="6029">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_3RXqlTrdEeGgAdAmWw4pyQ" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="ClientServerTimer.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3RXDgTrdEeGgAdAmWw4pyQ" x="-10" y="50"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_ThBD8Fy9EeORBN8YBc21fg" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_ThBD8Vy9EeORBN8YBc21fg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ThBD8ly9EeORBN8YBc21fg"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_SppTJGkMEeWakucY9QdE0g" type="6054">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_SppTJWkMEeWakucY9QdE0g" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="ClientServerTimer.uml#_gV1cgDLiEd2RVeNawwNNzg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vHCHcV37Ed-UvNEDwY5GNg" x="369" y="19" width="188" height="112"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_lMUi4CjYEeGFbebITJYb9g" type="3070" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lMp6ECjYEeGFbebITJYb9g" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lMp6ESjYEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lMp6EijYEeGFbebITJYb9g" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lMp6EyjYEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lMqhICjYEeGFbebITJYb9g" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lMqhISjYEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_lMqhIijYEeGFbebITJYb9g" type="5126">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_h8_JQFl6EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iGTdUFl6EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_lMqhIyjYEeGFbebITJYb9g" type="7077">
+            <children xmi:type="notation:Shape" xmi:id="_1LoQsCkDEeGDDbdzqSb4UA" type="3070" fontName="" fontHeight="10" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1Lo3wCkDEeGDDbdzqSb4UA" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1Lo3wSkDEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1Lo3wikDEeGDDbdzqSb4UA" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1Lo3wykDEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1Lo3xCkDEeGDDbdzqSb4UA" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1Lo3xSkDEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_1Lo3xikDEeGDDbdzqSb4UA" type="5126">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jFXtoFl6EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jMV4UFl6EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+                </eAnnotations>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_1Lpe0CkDEeGDDbdzqSb4UA" visible="false" type="7077">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_1Lpe0SkDEeGDDbdzqSb4UA"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1Lpe0ikDEeGDDbdzqSb4UA"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_ThIYsFy9EeORBN8YBc21fg" visible="false" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_ThIYsVy9EeORBN8YBc21fg"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ThIYsly9EeORBN8YBc21fg"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_SppTKGkMEeWakucY9QdE0g" type="6054">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_SppTKWkMEeWakucY9QdE0g" y="5"/>
+              </children>
+              <element xmi:type="uml:Property" href="pathmap://QML_CORE/core.uml#_ARs_UCjaEeGFbebITJYb9g"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1LoQsSkDEeGDDbdzqSb4UA" x="22" y="10" width="172"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_1LqF4CkDEeGDDbdzqSb4UA" type="3070" fontName="" fontHeight="10" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1Lqs8CkDEeGDDbdzqSb4UA" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1Lqs8SkDEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1Lqs8ikDEeGDDbdzqSb4UA" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1Lqs8ykDEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1Lqs9CkDEeGDDbdzqSb4UA" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1Lqs9SkDEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_1Lqs9ikDEeGDDbdzqSb4UA" type="5126">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kITxUFl6EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kPQG0Fl6EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+                </eAnnotations>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_1Lqs9ykDEeGDDbdzqSb4UA" visible="false" type="7077">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_1Lqs-CkDEeGDDbdzqSb4UA"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1Lqs-SkDEeGDDbdzqSb4UA"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_ThK08Fy9EeORBN8YBc21fg" visible="false" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_ThLcAFy9EeORBN8YBc21fg"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ThLcAVy9EeORBN8YBc21fg"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_SppTKmkMEeWakucY9QdE0g" type="6054">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_SppTK2kMEeWakucY9QdE0g" y="5"/>
+              </children>
+              <element xmi:type="uml:Property" href="pathmap://QML_CORE/core.uml#_RMqEkCjaEeGFbebITJYb9g"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1LqF4SkDEeGDDbdzqSb4UA" x="22" y="65" width="172"/>
+            </children>
+            <styles xmi:type="notation:TitleStyle" xmi:id="_lMqhJCjYEeGFbebITJYb9g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lMqhJSjYEeGFbebITJYb9g"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_OEbywCkDEeGDDbdzqSb4UA" type="3069" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OEdA4CkDEeGDDbdzqSb4UA" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OEdA4SkDEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OEdA4ikDEeGDDbdzqSb4UA" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OEdA4ykDEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OEdA5CkDEeGDDbdzqSb4UA" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OEdA5SkDEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_OEdn8CkDEeGDDbdzqSb4UA" type="5125">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bSNTUFl6EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bYdFQFl6EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_OEdn8SkDEeGDDbdzqSb4UA" x="-71" y="27"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_OEdn8ikDEeGDDbdzqSb4UA" visible="false" type="6029">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_OEdn8ykDEeGDDbdzqSb4UA" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_3NSGwCkAEeGDDbdzqSb4UA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEcZ0CkDEeGDDbdzqSb4UA" x="-10" y="36"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_ThFVYFy9EeORBN8YBc21fg" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_ThFVYVy9EeORBN8YBc21fg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ThFVYly9EeORBN8YBc21fg"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_SppTJmkMEeWakucY9QdE0g" type="6054">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_SppTJ2kMEeWakucY9QdE0g" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="ClientServerTimer.uml#_lKtZUCjYEeGFbebITJYb9g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lMUi4SjYEeGFbebITJYb9g" x="143" y="168" width="217" height="145"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_rBvlwDbcEeGdqp2YT1LwWw" type="2109" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rBwM0DbcEeGdqp2YT1LwWw" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rBwM0TbcEeGdqp2YT1LwWw" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rBwM0jbcEeGdqp2YT1LwWw" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rBwM0zbcEeGdqp2YT1LwWw" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rBwM1DbcEeGdqp2YT1LwWw" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rBwM1TbcEeGdqp2YT1LwWw" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Uz0AUMTwEeWfEYAFL-UFuw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Uz0AUcTwEeWfEYAFL-UFuw" key="gradient" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vi-zcMTwEeWfEYAFL-UFuw" key="fillColor" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_rBwz4DbcEeGdqp2YT1LwWw" type="5192"/>
+          <element xmi:type="uml:Comment" href="ClientServerTimer.uml#_q_GhcDbcEeGdqp2YT1LwWw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rBvlwTbcEeGdqp2YT1LwWw" x="388" y="237" width="215"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_QeHR0DenEeGPyrZ5I3hMlA" type="3097" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QeH44DenEeGPyrZ5I3hMlA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QeH44TenEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QeH44jenEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QeH44zenEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QeH45DenEeGPyrZ5I3hMlA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QeH45TenEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YJxPgMTwEeWfEYAFL-UFuw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YJxPgcTwEeWfEYAFL-UFuw" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YZTgUMTwEeWfEYAFL-UFuw" key="gradient" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_QeH45jenEeGPyrZ5I3hMlA" type="5150"/>
+          <element xmi:type="uml:Comment" href="ClientServerTimer.uml#_Qd-H4DenEeGPyrZ5I3hMlA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QeHR0TenEeGPyrZ5I3hMlA" x="387" y="168" width="216" height="50"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_St9LZmkMEeWakucY9QdE0g" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_St9LZ2kMEeWakucY9QdE0g" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_St9LaWkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_St9LaGkMEeWakucY9QdE0g" x="190" y="51"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_SuMb8GkMEeWakucY9QdE0g" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_SuMb8WkMEeWakucY9QdE0g" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SuMb82kMEeWakucY9QdE0g" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="ClientServerTimer.uml#_U50WMCkDEeGDDbdzqSb4UA"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SuMb8mkMEeWakucY9QdE0g" x="219" y="106"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_SuXbFmkMEeWakucY9QdE0g" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_SuXbF2kMEeWakucY9QdE0g" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SuXbGWkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="ClientServerTimer.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SuXbGGkMEeWakucY9QdE0g" x="366" y="52"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Suq9EGkMEeWakucY9QdE0g" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_Suq9EWkMEeWakucY9QdE0g" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Suq9E2kMEeWakucY9QdE0g" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="ClientServerTimer.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Suq9EmkMEeWakucY9QdE0g" x="190" y="50"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Su9Q8mkMEeWakucY9QdE0g" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_Su9Q82kMEeWakucY9QdE0g" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Su9Q9WkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_3NSGwCkAEeGDDbdzqSb4UA"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Su9Q9GkMEeWakucY9QdE0g" x="190" y="36"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGa2Il37Ed-UvNEDwY5GNg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Tg1dwFy9EeORBN8YBc21fg" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Tg1dwVy9EeORBN8YBc21fg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tg1dwly9EeORBN8YBc21fg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_SppTIGkMEeWakucY9QdE0g" type="6089">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_SppTIWkMEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="ClientServerTimer.uml#_bYJagDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGaPEV37Ed-UvNEDwY5GNg" x="68" y="32" width="635" height="393"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_q-Wa0V37Ed-UvNEDwY5GNg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_SppTLGkMEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.1.0"/>
+    <element xmi:type="uml:Package" href="ClientServerTimer.uml#_XLQjUDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_s0Og4CkDEeGDDbdzqSb4UA" type="4013" source="_OEbywCkDEeGDDbdzqSb4UA" target="_U5_VUCkDEeGDDbdzqSb4UA" routing="Rectilinear" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_s0PH8CkDEeGDDbdzqSb4UA" type="6025">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_a9i-sMTwEeWfEYAFL-UFuw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_s0PH8SkDEeGDDbdzqSb4UA" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_s0PH8ikDEeGDDbdzqSb4UA" visible="false" type="6050">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_a9vL8MTwEeWfEYAFL-UFuw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_s0PH8ykDEeGDDbdzqSb4UA" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_s0PH9CkDEeGDDbdzqSb4UA" visible="false" type="6051">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_a99OYMTwEeWfEYAFL-UFuw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_s0PH9SkDEeGDDbdzqSb4UA" x="-22" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_s0PH9ikDEeGDDbdzqSb4UA" visible="false" type="6052">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_a-INgMTwEeWfEYAFL-UFuw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_s0PH9ykDEeGDDbdzqSb4UA" x="22" y="20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_s0Og4SkDEeGDDbdzqSb4UA" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Connector" href="ClientServerTimer.uml#_s0Ev4CkDEeGDDbdzqSb4UA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_s0Og4ikDEeGDDbdzqSb4UA" points="[206, 262, -643984, -643984]$[177, 262, -643984, -643984]$[177, 191, -643984, -643984]$[130, 191, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a9WxcMTwEeWfEYAFL-UFuw" id="(0.0,0.3)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XWhlwCmeEeGDDbdzqSb4UA" id="(1.0,0.45)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_xFIEgDbcEeGdqp2YT1LwWw" type="4002" source="_rBvlwDbcEeGdqp2YT1LwWw" target="_1LoQsCkDEeGDDbdzqSb4UA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_xFIEgTbcEeGdqp2YT1LwWw" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xFIEgjbcEeGdqp2YT1LwWw" points="[-4, -9, 35, 105]$[-21, -111, 18, 3]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xGPe0DbcEeGdqp2YT1LwWw" id="(0.0,0.061855670103092786)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xGPe0TbcEeGdqp2YT1LwWw" id="(0.9767441860465116,0.75)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_UgNOQDenEeGPyrZ5I3hMlA" type="4002" source="_QeHR0DenEeGPyrZ5I3hMlA" target="_lMUi4CjYEeGFbebITJYb9g" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_UgNOQTenEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UgNOQjenEeGPyrZ5I3hMlA" points="[-7, -8, 33, 0]$[-34, -12, 6, -4]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UgfiIDenEeGPyrZ5I3hMlA" id="(0.041916167664670656,0.38333333333333336)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UgfiITenEeGPyrZ5I3hMlA" id="(1.0,0.1310344827586207)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_7LU-sDrdEeGgAdAmWw4pyQ" type="4013" source="_1ltaADrdEeGgAdAmWw4pyQ" target="_3RXDgDrdEeGgAdAmWw4pyQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7LVlwDrdEeGgAdAmWw4pyQ" visible="false" type="6025">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_7LVlwTrdEeGgAdAmWw4pyQ" x="-7" y="15"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_7LVlwjrdEeGgAdAmWw4pyQ" visible="false" type="6050">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_7LVlwzrdEeGgAdAmWw4pyQ" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_7LVlxDrdEeGgAdAmWw4pyQ" visible="false" type="6051">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_7LVlxTrdEeGgAdAmWw4pyQ" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_7LVlxjrdEeGgAdAmWw4pyQ" visible="false" type="6052">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_7LVlxzrdEeGgAdAmWw4pyQ" y="20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_7LU-sTrdEeGgAdAmWw4pyQ" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Connector" href="ClientServerTimer.uml#_fXbtMACUEd-PD8FdFs7bpA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7LU-sjrdEeGgAdAmWw4pyQ" points="[10, 0, -140, 0]$[140, 0, -10, 0]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_St9LamkMEeWakucY9QdE0g" type="StereotypeCommentLink" source="_TLHfQAcCEeGnrLqQ0OQeAg" target="_St9LZmkMEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_St9La2kMEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_St9ycmkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_St9LbGkMEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_St9ycGkMEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_St9ycWkMEeWakucY9QdE0g"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_SuMb9GkMEeWakucY9QdE0g" type="StereotypeCommentLink" source="_U5_VUCkDEeGDDbdzqSb4UA" target="_SuMb8GkMEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_SuMb9WkMEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SuMb-WkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ClientServerTimer.uml#_U50WMCkDEeGDDbdzqSb4UA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SuMb9mkMEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SuMb92kMEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SuMb-GkMEeWakucY9QdE0g"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_SuXbGmkMEeWakucY9QdE0g" type="StereotypeCommentLink" source="_1ltaADrdEeGgAdAmWw4pyQ" target="_SuXbFmkMEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_SuXbG2kMEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SuXbH2kMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ClientServerTimer.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SuXbHGkMEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SuXbHWkMEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SuXbHmkMEeWakucY9QdE0g"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Suq9FGkMEeWakucY9QdE0g" type="StereotypeCommentLink" source="_3RXDgDrdEeGgAdAmWw4pyQ" target="_Suq9EGkMEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Suq9FWkMEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Suq9GWkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ClientServerTimer.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Suq9FmkMEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Suq9F2kMEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Suq9GGkMEeWakucY9QdE0g"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Su9Q9mkMEeWakucY9QdE0g" type="StereotypeCommentLink" source="_OEbywCkDEeGDDbdzqSb4UA" target="_Su9Q8mkMEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Su9Q92kMEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Su9Q-2kMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_3NSGwCkAEeGDDbdzqSb4UA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Su9Q-GkMEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Su9Q-WkMEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Su9Q-mkMEeWakucY9QdE0g"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_6FvnwGONEd-seu3qyZgHfg" type="PapyrusUMLClassDiagram" name="deployment plans" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_7Fso4GONEd-seu3qyZgHfg" type="Package_Shape" fontName="Sans Serif" fontHeight="10" transparency="0" gradient="8905185, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7FvFImONEd-seu3qyZgHfg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7FvsMGONEd-seu3qyZgHfg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7FvsMWONEd-seu3qyZgHfg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7FvsMmONEd-seu3qyZgHfg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_30xTEGTfEd-rCOWJcspHOA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_30xTEWTfEd-rCOWJcspHOA" key="ShadowFigure_Value" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_7FvsM2ONEd-seu3qyZgHfg" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_vAKR8Cz6Eea25uwDpRQuxg" type="Package_PackagedElementCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7FvsNWONEd-seu3qyZgHfg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_TjxdAFy9EeORBN8YBc21fg" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_TjxdAVy9EeORBN8YBc21fg" showTitle="true"/>
+        <element xmi:type="FCM:DeploymentPlan" href="ClientServerTimer.uml#_6dGQgP6zEd6Ie_kieu_3CQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TjxdAly9EeORBN8YBc21fg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_TjyEEFy9EeORBN8YBc21fg" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_TjyEEVy9EeORBN8YBc21fg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TjyEEly9EeORBN8YBc21fg"/>
+      </children>
+      <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_7FtP8GONEd-seu3qyZgHfg"/>
+      <element xmi:type="uml:Package" href="ClientServerTimer.uml#_5Z7MEDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7FtP8WONEd-seu3qyZgHfg" x="77" y="68"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7zJkwGONEd-seu3qyZgHfg" type="Package_Shape" fontName="Sans Serif" fontHeight="10" transparency="0" gradient="8047085, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7zKL0mONEd-seu3qyZgHfg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7zKL02ONEd-seu3qyZgHfg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7zKL1GONEd-seu3qyZgHfg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7zKL1WONEd-seu3qyZgHfg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5T0rAGTfEd-rCOWJcspHOA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5T0rAWTfEd-rCOWJcspHOA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_7zKL1mONEd-seu3qyZgHfg" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_vAKR8Sz6Eea25uwDpRQuxg" type="Package_PackagedElementCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7zKL2GONEd-seu3qyZgHfg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Tj0gUFy9EeORBN8YBc21fg" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Tj0gUVy9EeORBN8YBc21fg" showTitle="true"/>
+        <element xmi:type="FCM:DeploymentPlan" href="ClientServerTimer.uml#_bBdJUP_BEd6628OhKk_dpg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tj0gUly9EeORBN8YBc21fg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Tj1HYFy9EeORBN8YBc21fg" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Tj1HYVy9EeORBN8YBc21fg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tj1HYly9EeORBN8YBc21fg"/>
+      </children>
+      <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_7zJkwWONEd-seu3qyZgHfg"/>
+      <element xmi:type="uml:Package" href="ClientServerTimer.uml#_bBSxQP_BEd6628OhKk_dpg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7zJkwmONEd-seu3qyZgHfg" x="77" y="191"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_QU0ngKDjEd-rLNbSWf1QuA" type="Class_Shape" fontName="Sans Serif" fontHeight="10" transparency="0" gradient="8905185, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QU3DwKDjEd-rLNbSWf1QuA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QU3DwaDjEd-rLNbSWf1QuA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QU3q0KDjEd-rLNbSWf1QuA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QU3q0aDjEd-rLNbSWf1QuA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QU4R4KDjEd-rLNbSWf1QuA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QU4R4aDjEd-rLNbSWf1QuA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v0z_4Hk8EeOh_8tymvdOOg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v00m8Hk8EeOh_8tymvdOOg" key="fillColor" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_QU4R4qDjEd-rLNbSWf1QuA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QU4R46DjEd-rLNbSWf1QuA" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QU4R5KDjEd-rLNbSWf1QuA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QU4R5aDjEd-rLNbSWf1QuA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QU4R5qDjEd-rLNbSWf1QuA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QU448KDjEd-rLNbSWf1QuA" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QU448aDjEd-rLNbSWf1QuA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QU448qDjEd-rLNbSWf1QuA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QU4486DjEd-rLNbSWf1QuA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QU449KDjEd-rLNbSWf1QuA" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QU449aDjEd-rLNbSWf1QuA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QU449qDjEd-rLNbSWf1QuA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QU4496DjEd-rLNbSWf1QuA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Tj4KsFy9EeORBN8YBc21fg" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Tj4KsVy9EeORBN8YBc21fg" showTitle="true"/>
+        <element xmi:type="FCM:Configuration" href="ClientServerTimer.uml#_Y10_QKDjEd-rLNbSWf1QuA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tj4Ksly9EeORBN8YBc21fg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Tj5Y0Fy9EeORBN8YBc21fg" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Tj5Y0Vy9EeORBN8YBc21fg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tj5Y0ly9EeORBN8YBc21fg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Sve1YGkMEeWakucY9QdE0g" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Sve1YWkMEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="ClientServerTimer.uml#_QT6okKDjEd-rLNbSWf1QuA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QU0ngaDjEd-rLNbSWf1QuA" x="366" y="87" width="184" height="65"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7A5iUDemEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7A6JYDemEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7A6JYTemEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7A6JYjemEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7A6JYzemEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7A6JZDemEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7A6JZTemEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_7A6JZjemEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="ClientServerTimer.uml#_7AvxUDemEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7A5iUTemEeGPyrZ5I3hMlA" x="350" y="204"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_SyQckGkMEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_SyQckWkMEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SyQck2kMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="ClientServerTimer.uml#_5Z7MEDLiEd2RVeNawwNNzg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SyQckmkMEeWakucY9QdE0g" x="277" y="68"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_SzvDQmkMEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_SzvDQ2kMEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SzvDRWkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="ClientServerTimer.uml#_bBSxQP_BEd6628OhKk_dpg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SzvDRGkMEeWakucY9QdE0g" x="277" y="191"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Sz-T0GkMEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Sz-T0WkMEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Sz-T02kMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="ClientServerTimer.uml#_QT6okKDjEd-rLNbSWf1QuA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Sz-T0mkMEeWakucY9QdE0g" x="566" y="87"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_6FvnwWONEd-seu3qyZgHfg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_Sve1YmkMEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="ClientServerTimer.uml#_234GEDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_G5oq4DenEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_7A5iUDemEeGPyrZ5I3hMlA" target="_7Fso4GONEd-seu3qyZgHfg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_G5oq4TenEeGPyrZ5I3hMlA" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G5oq4jenEeGPyrZ5I3hMlA" points="[-14, -13, 86, 77]$[-87, -88, 13, 2]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G537cDenEeGPyrZ5I3hMlA" id="(0.029787234042553193,0.36666666666666664)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G537cTenEeGPyrZ5I3hMlA" id="(0.935,0.68)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_HVm1MDenEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_7A5iUDemEeGPyrZ5I3hMlA" target="_7zJkwGONEd-seu3qyZgHfg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_HVm1MTenEeGPyrZ5I3hMlA" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HVm1MjenEeGPyrZ5I3hMlA" points="[-4, 1, 99, -36]$[-77, 44, 26, 7]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HV2FwDenEeGPyrZ5I3hMlA" id="(0.00851063829787234,0.36666666666666664)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HV2FwTenEeGPyrZ5I3hMlA" id="(0.87,0.72)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_SyQclGkMEeWakucY9QdE0g" type="StereotypeCommentLink" source="_7Fso4GONEd-seu3qyZgHfg" target="_SyQckGkMEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_SyQclWkMEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SyQcmWkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="ClientServerTimer.uml#_5Z7MEDLiEd2RVeNawwNNzg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SyQclmkMEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SyQcl2kMEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SyQcmGkMEeWakucY9QdE0g"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_SzvqUGkMEeWakucY9QdE0g" type="StereotypeCommentLink" source="_7zJkwGONEd-seu3qyZgHfg" target="_SzvDQmkMEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_SzvqUWkMEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SzvqVWkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="ClientServerTimer.uml#_bBSxQP_BEd6628OhKk_dpg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SzvqUmkMEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SzvqU2kMEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SzvqVGkMEeWakucY9QdE0g"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Sz-T1GkMEeWakucY9QdE0g" type="StereotypeCommentLink" source="_QU0ngKDjEd-rLNbSWf1QuA" target="_Sz-T0GkMEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Sz-T1WkMEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Sz-T2WkMEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="ClientServerTimer.uml#_QT6okKDjEd-rLNbSWf1QuA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Sz-T1mkMEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sz-T12kMEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sz-T2GkMEeWakucY9QdE0g"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_KYrjcKxkEeCgusK7cm6qjQ" type="PapyrusUMLClassDiagram" name="Platform" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_LsWKwKxkEeCgusK7cm6qjQ" type="2008" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx0KxkEeCgusK7cm6qjQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx0axkEeCgusK7cm6qjQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx0qxkEeCgusK7cm6qjQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx06xkEeCgusK7cm6qjQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LsWx1KxkEeCgusK7cm6qjQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsWx1axkEeCgusK7cm6qjQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_LsWx1qxkEeCgusK7cm6qjQ" type="5029"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LsXY4KxkEeCgusK7cm6qjQ" visible="false" type="7017">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY4axkEeCgusK7cm6qjQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY4qxkEeCgusK7cm6qjQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY46xkEeCgusK7cm6qjQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LsXY5KxkEeCgusK7cm6qjQ" visible="false" type="7018">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY5axkEeCgusK7cm6qjQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY5qxkEeCgusK7cm6qjQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY56xkEeCgusK7cm6qjQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LsXY6KxkEeCgusK7cm6qjQ" visible="false" type="7019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LsXY6axkEeCgusK7cm6qjQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LsXY6qxkEeCgusK7cm6qjQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsXY66xkEeCgusK7cm6qjQ"/>
+      </children>
+      <element xmi:type="uml:Node" href="ClientServerTimer.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LsWKwaxkEeCgusK7cm6qjQ" x="57" y="55" width="160" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_MR1dcKxkEeCgusK7cm6qjQ" type="2008" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MR1dcqxkEeCgusK7cm6qjQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MR1dc6xkEeCgusK7cm6qjQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MR1ddKxkEeCgusK7cm6qjQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MR1ddaxkEeCgusK7cm6qjQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MR1ddqxkEeCgusK7cm6qjQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MR1dd6xkEeCgusK7cm6qjQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_MR1deKxkEeCgusK7cm6qjQ" type="5029"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_MR2EgKxkEeCgusK7cm6qjQ" visible="false" type="7017">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MR2EgaxkEeCgusK7cm6qjQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MR2EgqxkEeCgusK7cm6qjQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MR2Eg6xkEeCgusK7cm6qjQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_MR2EhKxkEeCgusK7cm6qjQ" visible="false" type="7018">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MR2EhaxkEeCgusK7cm6qjQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MR2EhqxkEeCgusK7cm6qjQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MR2Eh6xkEeCgusK7cm6qjQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_MR2EiKxkEeCgusK7cm6qjQ" visible="false" type="7019">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MR2EiaxkEeCgusK7cm6qjQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MR2EiqxkEeCgusK7cm6qjQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MR2Ei6xkEeCgusK7cm6qjQ"/>
+      </children>
+      <element xmi:type="uml:Node" href="ClientServerTimer.uml#_MxayMP_BEd6628OhKk_dpg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MR1dcaxkEeCgusK7cm6qjQ" x="252" y="54" height="73"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_KYrjcaxkEeCgusK7cm6qjQ"/>
+    <element xmi:type="uml:Package" href="ClientServerTimer.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_HoscYMniEeCMCo5Ox2CNmg" type="CompositeStructure" name="HWArchitecture" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_M1wXIMniEeCMCo5Ox2CNmg" type="2073" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BgMniEeCMCo5Ox2CNmg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10BgcniEeCMCo5Ox2CNmg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BgsniEeCMCo5Ox2CNmg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10Bg8niEeCMCo5Ox2CNmg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M10BhMniEeCMCo5Ox2CNmg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M10BhcniEeCMCo5Ox2CNmg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_M10BhsniEeCMCo5Ox2CNmg" type="5156"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_M10Bh8niEeCMCo5Ox2CNmg" type="7073">
+        <children xmi:type="notation:Shape" xmi:id="_QgbSEMniEeCMCo5Ox2CNmg" type="3070" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QgbSEsniEeCMCo5Ox2CNmg" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QgbSE8niEeCMCo5Ox2CNmg" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qgb5IMniEeCMCo5Ox2CNmg" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qgb5IcniEeCMCo5Ox2CNmg" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qgb5IsniEeCMCo5Ox2CNmg" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qgb5I8niEeCMCo5Ox2CNmg" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Qgb5JMniEeCMCo5Ox2CNmg" type="5126"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_Qgb5JcniEeCMCo5Ox2CNmg" type="7077">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qgb5JsniEeCMCo5Ox2CNmg"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_TmahUFy9EeORBN8YBc21fg" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_TmahUVy9EeORBN8YBc21fg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TmahUly9EeORBN8YBc21fg"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_S0JS8mkMEeWakucY9QdE0g" type="6054">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_S0JS82kMEeWakucY9QdE0g" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="ClientServerTimer.uml#_QgKzYMniEeCMCo5Ox2CNmg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QgbSEcniEeCMCo5Ox2CNmg" x="83" y="28" width="165" height="55"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M10BiMniEeCMCo5Ox2CNmg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_TmYFEFy9EeORBN8YBc21fg" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_TmYFEVy9EeORBN8YBc21fg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TmYFEly9EeORBN8YBc21fg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_S0JS8GkMEeWakucY9QdE0g" type="6089">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_S0JS8WkMEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="ClientServerTimer.uml#_M1a_8MniEeCMCo5Ox2CNmg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M1wXIcniEeCMCo5Ox2CNmg" x="72" y="54" width="361" height="145"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Xmz24Da3EeGBl4WmUxMhOA" type="2073" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Xm1FADa3EeGBl4WmUxMhOA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Xm1FATa3EeGBl4WmUxMhOA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Xm1FAja3EeGBl4WmUxMhOA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Xm1FAza3EeGBl4WmUxMhOA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Xm1sEDa3EeGBl4WmUxMhOA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Xm1sETa3EeGBl4WmUxMhOA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Xm1sEja3EeGBl4WmUxMhOA" type="5156"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Xm1sEza3EeGBl4WmUxMhOA" type="7073">
+        <children xmi:type="notation:Shape" xmi:id="_eBxIIDa3EeGBl4WmUxMhOA" type="3070" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eBxvMDa3EeGBl4WmUxMhOA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eBxvMTa3EeGBl4WmUxMhOA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eBxvMja3EeGBl4WmUxMhOA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eBxvMza3EeGBl4WmUxMhOA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eBxvNDa3EeGBl4WmUxMhOA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eBxvNTa3EeGBl4WmUxMhOA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_eBxvNja3EeGBl4WmUxMhOA" type="5126"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_eBxvNza3EeGBl4WmUxMhOA" type="7077">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_eBxvODa3EeGBl4WmUxMhOA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eBxvOTa3EeGBl4WmUxMhOA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_TmgA4Fy9EeORBN8YBc21fg" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_TmgA4Vy9EeORBN8YBc21fg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TmgA4ly9EeORBN8YBc21fg"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_S0JS9mkMEeWakucY9QdE0g" type="6054">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_S0JS92kMEeWakucY9QdE0g" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="ClientServerTimer.uml#_eBgCYDa3EeGBl4WmUxMhOA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eBxIITa3EeGBl4WmUxMhOA" x="85" y="26" width="163"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Xm1sFDa3EeGBl4WmUxMhOA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xm1sFTa3EeGBl4WmUxMhOA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_TmdkoFy9EeORBN8YBc21fg" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_TmdkoVy9EeORBN8YBc21fg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tmdkoly9EeORBN8YBc21fg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_S0JS9GkMEeWakucY9QdE0g" type="6089">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_S0JS9WkMEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="ClientServerTimer.uml#_XkN14Da3EeGBl4WmUxMhOA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xmz24Ta3EeGBl4WmUxMhOA" x="72" y="240" width="361" height="130"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_HoscYcniEeCMCo5Ox2CNmg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_S0JS-GkMEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.1.0"/>
+    <element xmi:type="uml:Package" href="ClientServerTimer.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ClientServerTimer.uml b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ClientServerTimer.uml
new file mode 100644
index 0000000..5782b40
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ClientServerTimer.uml
@@ -0,0 +1,415 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc">
+  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="ClientServerTimer">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
+      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/core.uml#_O6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="ComponentModel">
+      <packagedElement xmi:type="uml:Package" xmi:id="_OGM88DLaEd2qeKRLMdIx_A" name="Server">
+        <packagedElement xmi:type="uml:Class" xmi:id="_oqZNUDLaEd2qeKRLMdIx_A" name="CServer_impl">
+          <ownedAttribute xmi:type="uml:Port" xmi:id="_4KiE8DLbEd2qeKRLMdIx_A" name="p" type="_cn-H0DLbEd2qeKRLMdIx_A" aggregation="composite"/>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_YQqH0JYlEd6G9q9hwr11bw" name="derived realization of ICompute" client="_oqZNUDLaEd2qeKRLMdIx_A" supplier="_cn-H0DLbEd2qeKRLMdIx_A" contract="_cn-H0DLbEd2qeKRLMdIx_A"/>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ML-4AKI5Ed6FqJCjEUrkqQ" name="add" specification="_TbIjUJYlEd6G9q9hwr11bw">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DdtUMCz7Eea25uwDpRQuxg" name="a">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Ddt7QCz7Eea25uwDpRQuxg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DduiUCz7Eea25uwDpRQuxg" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DduiUSz7Eea25uwDpRQuxg" name="b">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DdvJYCz7Eea25uwDpRQuxg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DdvJYSz7Eea25uwDpRQuxg" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DdvJYiz7Eea25uwDpRQuxg" name="res" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DdvwcCz7Eea25uwDpRQuxg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DdvwcSz7Eea25uwDpRQuxg" value="1"/>
+            </ownedParameter>
+            <language>C/C++</language>
+            <body>cout &lt;&lt; &quot;server: got add request for a=&quot; &lt;&lt; a &lt;&lt; &quot; and b=&quot; &lt;&lt; b &lt;&lt; endl;
+return a+b;</body>
+          </ownedBehavior>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_I1R3YAcDEeGnrLqQ0OQeAg" name="mult" specification="_4ZEZwHecEd6r18stFZxmFQ">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DdwXgCz7Eea25uwDpRQuxg" name="a">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DdwXgSz7Eea25uwDpRQuxg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ddw-kCz7Eea25uwDpRQuxg" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_Ddw-kSz7Eea25uwDpRQuxg" name="b">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DdxloCz7Eea25uwDpRQuxg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DdxloSz7Eea25uwDpRQuxg" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_Ddxloiz7Eea25uwDpRQuxg" name="res" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DdyMsCz7Eea25uwDpRQuxg" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DdyMsSz7Eea25uwDpRQuxg" value="1"/>
+            </ownedParameter>
+            <language>C/C++</language>
+            <body>cout &lt;&lt; &quot;server: got mult request for a=&quot; &lt;&lt; a &lt;&lt; &quot; and b=&quot; &lt;&lt; b &lt;&lt; endl;
+return a*b;</body>
+          </ownedBehavior>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_4ZEZwHecEd6r18stFZxmFQ" name="mult" method="_I1R3YAcDEeGnrLqQ0OQeAg">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_n5e4ECzXEea77cD6dZ298w" name="a">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_n5gGMCzXEea77cD6dZ298w" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_n5gGMSzXEea77cD6dZ298w" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_n5gtQCzXEea77cD6dZ298w" name="b">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_n5h7YCzXEea77cD6dZ298w" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_n5h7YSzXEea77cD6dZ298w" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_n5h7YizXEea77cD6dZ298w" name="res" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_n5jJgCzXEea77cD6dZ298w" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_n5jwkCzXEea77cD6dZ298w" value="1"/>
+            </ownedParameter>
+          </ownedOperation>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_TbIjUJYlEd6G9q9hwr11bw" name="add" method="_ML-4AKI5Ed6FqJCjEUrkqQ">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_n5W8QCzXEea77cD6dZ298w" name="a">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_n5YKYCzXEea77cD6dZ298w" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_n5YKYSzXEea77cD6dZ298w" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_n5YKYizXEea77cD6dZ298w" name="b">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_n5ZYgCzXEea77cD6dZ298w" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_n5ZYgSzXEea77cD6dZ298w" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_n5ZYgizXEea77cD6dZ298w" name="res" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_n5Z_kCzXEea77cD6dZ298w" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_n5amoCzXEea77cD6dZ298w" value="1"/>
+            </ownedParameter>
+          </ownedOperation>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_Tp4n8DLaEd2qeKRLMdIx_A" name="Interfaces">
+        <packagedElement xmi:type="uml:Interface" xmi:id="_cn-H0DLbEd2qeKRLMdIx_A" name="ICompute">
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_DGs6wDLgEd28fJKJJnUaeQ" name="add" isAbstract="true">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6wTLgEd28fJKJJnUaeQ" name="a">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6wzLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6wjLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6xTLgEd28fJKJJnUaeQ" name="b">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6xzLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6xjLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6yTLgEd28fJKJJnUaeQ" name="res" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6yzLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6yjLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+          </ownedOperation>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_L8EY8DLgEd28fJKJJnUaeQ" name="mult" isAbstract="true">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY8TLgEd28fJKJJnUaeQ" name="a">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY8zLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY8jLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY9TLgEd28fJKJJnUaeQ" name="b">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY9zLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY9jLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY-TLgEd28fJKJJnUaeQ" name="res" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY-zLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY-jLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+          </ownedOperation>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_etOZkDLaEd2qeKRLMdIx_A" name="Client">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_yGhL0DenEeGPyrZ5I3hMlA" annotatedElement="_U50WMCkDEeGDDbdzqSb4UA">
+          <body>Additional &quot;tick&quot; port. The contained tick operation is called by the timer. See composite diagram of system for the assembly </body>
+        </ownedComment>
+        <packagedElement xmi:type="uml:Class" xmi:id="_IfjoETLbEd2qeKRLMdIx_A" name="CClient_impl">
+          <generalization xmi:type="uml:Generalization" xmi:id="_34FjAPx3Ed6O2oOTPfeAMA">
+            <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+          </generalization>
+          <ownedAttribute xmi:type="uml:Port" xmi:id="_DtWn4DLcEd2qeKRLMdIx_A" name="q" type="_AMpzIiz7Eea25uwDpRQuxg" aggregation="composite"/>
+          <ownedAttribute xmi:type="uml:Port" xmi:id="_U50WMCkDEeGDDbdzqSb4UA" name="tick" aggregation="composite">
+            <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
+          </ownedAttribute>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_vdcwkKDcEd-t8JNe-ruCrQ" name="derived realization of IStart" client="_IfjoETLbEd2qeKRLMdIx_A">
+            <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+            <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+          </interfaceRealization>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_qfhbMCozEeGxrprK9wB9iA" name="derived realization of ITick" client="_IfjoETLbEd2qeKRLMdIx_A">
+            <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
+            <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
+          </interfaceRealization>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_yXNVoKF4Ed6FqJCjEUrkqQ" name="run" specification="_4CRrYHpbEd-X4Z9aZ0cpCQ">
+            <language>C/C++</language>
+            <body>cout &lt;&lt; &quot;call via port q: add(2, 3);&quot; &lt;&lt; endl;
+cout &lt;&lt; &quot;result: &quot; &lt;&lt; q->add(2, 3) &lt;&lt; endl;
+cout &lt;&lt; &quot;now sleeping 10 seconds&quot; &lt;&lt; endl;
+sleep(10);
+cout &lt;&lt; &quot;finishing CClient_impl::run&quot; &lt;&lt; endl;</body>
+          </ownedBehavior>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_w5uegCozEeGxrprK9wB9iA" name="tick" specification="_qf6cwCozEeGxrprK9wB9iA">
+            <language>C/C++</language>
+            <body>cout &lt;&lt; &quot;call via port tick: mult(4, 5);&quot; &lt;&lt; endl;
+cout &lt;&lt; &quot;result: &quot; &lt;&lt; q->mult(4, 5) &lt;&lt; endl;</body>
+          </ownedBehavior>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_4CRrYHpbEd-X4Z9aZ0cpCQ" name="run" method="_yXNVoKF4Ed6FqJCjEUrkqQ"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_qf6cwCozEeGxrprK9wB9iA" name="tick" method="_w5uegCozEeGxrprK9wB9iA"/>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_XLQjUDLiEd2RVeNawwNNzg" name="System">
+        <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="System_impl">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_q_GhcDbcEeGdqp2YT1LwWw">
+            <annotatedElement xmi:type="uml:Property" href="pathmap://QML_CORE/core.uml#_ARs_UCjaEeGFbebITJYb9g"/>
+            <body>Period of timer can be configured via
+&quot;configure instance properties&quot; popup (once timer attribute is selected)</body>
+          </ownedComment>
+          <ownedComment xmi:type="uml:Comment" xmi:id="_Qd-H4DenEeGPyrZ5I3hMlA" annotatedElement="_lKtZUCjYEeGFbebITJYb9g">
+            <body>Part of Qompasss modeling library</body>
+          </ownedComment>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_gV1cgDLiEd2RVeNawwNNzg" name="server" type="_oqZNUDLaEd2qeKRLMdIx_A" isUnique="false" aggregation="composite"/>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_i-I7gDLiEd2RVeNawwNNzg" name="client" visibility="public" type="_IfjoETLbEd2qeKRLMdIx_A" isUnique="false" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_d5JgYFl6EeKFQZ_XV_Kn6g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_d5KugFl6EeKFQZ_XV_Kn6g" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_d5MjsFl6EeKFQZ_XV_Kn6g">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_lKtZUCjYEeGFbebITJYb9g" name="timer" visibility="public" aggregation="composite">
+            <type xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_-X6zMCjZEeGFbebITJYb9g"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ofEtECjYEeGFbebITJYb9g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ofGiQCjYEeGFbebITJYb9g" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_ofI-gCjYEeGFbebITJYb9g">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedConnector xmi:type="uml:Connector" xmi:id="_fXbtMACUEd-PD8FdFs7bpA" name="qpconnector">
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_fYI30ACUEd-PD8FdFs7bpA" partWithPort="_i-I7gDLiEd2RVeNawwNNzg" role="_DtWn4DLcEd2qeKRLMdIx_A"/>
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_fYLUEACUEd-PD8FdFs7bpA" partWithPort="_gV1cgDLiEd2RVeNawwNNzg" role="_4KiE8DLbEd2qeKRLMdIx_A"/>
+          </ownedConnector>
+          <ownedConnector xmi:type="uml:Connector" xmi:id="_s0Ev4CkDEeGDDbdzqSb4UA" name="Connector1">
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_s0FW8CkDEeGDDbdzqSb4UA" partWithPort="_lKtZUCjYEeGFbebITJYb9g">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_s0FW8ikDEeGDDbdzqSb4UA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_s0FW8SkDEeGDDbdzqSb4UA" value="1"/>
+              <role xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_3NSGwCkAEeGDDbdzqSb4UA"/>
+            </end>
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_s0FW8ykDEeGDDbdzqSb4UA" partWithPort="_i-I7gDLiEd2RVeNawwNNzg" role="_U50WMCkDEeGDDbdzqSb4UA">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_s0FW9SkDEeGDDbdzqSb4UA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_s0FW9CkDEeGDDbdzqSb4UA" value="1"/>
+            </end>
+          </ownedConnector>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_v3fMgDLiEd2RVeNawwNNzg" name="PlatformModel">
+      <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="LinuxHost"/>
+      <packagedElement xmi:type="uml:Node" xmi:id="_MxayMP_BEd6628OhKk_dpg" name="CygwinHost"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_M1a_8MniEeCMCo5Ox2CNmg" name="HWArchitectureLinux">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_QgKzYMniEeCMCo5Ox2CNmg" name="linux" visibility="public" type="_zY9vMDLiEd2RVeNawwNNzg" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XijRAMniEeCMCo5Ox2CNmg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XkfxwMniEeCMCo5Ox2CNmg" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_XlIq8MniEeCMCo5Ox2CNmg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_XkN14Da3EeGBl4WmUxMhOA" name="HWArchitectureCygwin">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_eBgCYDa3EeGBl4WmUxMhOA" name="cygwin" visibility="public" type="_MxayMP_BEd6628OhKk_dpg" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_j8xuADa3EeGBl4WmUxMhOA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_j84bsDa3EeGBl4WmUxMhOA" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_j936MDa3EeGBl4WmUxMhOA">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_6EfzEDa3EeGBl4WmUxMhOA" name="HWArchitectureLinuxPlatform">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_6EgaIDa3EeGBl4WmUxMhOA" name="linux" classifier="_zY9vMDLiEd2RVeNawwNNzg"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_BPe9oDa5EeG-uqYpasEQgg" name="HWArchitectureCygwinPlatform">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_BQRAwDa5EeG-uqYpasEQgg" name="cygwin" classifier="_MxayMP_BEd6628OhKk_dpg"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_7AvxUDemEeGPyrZ5I3hMlA" annotatedElement="_5Z7MEDLiEd2RVeNawwNNzg _bBSxQP_BEd6628OhKk_dpg">
+        <body>Linux and cygwin require different deployment plans, since we use different target platforms
+</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Package" xmi:id="_5Z7MEDLiEd2RVeNawwNNzg" name="linux">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_L9xhwDLjEd2RVeNawwNNzg" name="mySystem" classifier="_bYJagDLiEd2RVeNawwNNzg">
+          <slot xmi:type="uml:Slot" xmi:id="_TdCvsDLjEd2RVeNawwNNzg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_fw8xUDLjEd2RVeNawwNNzg" name="" instance="_MyQ5wDLjEd2RVeNawwNNzg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_YhikUDLjEd2RVeNawwNNzg" definingFeature="_i-I7gDLiEd2RVeNawwNNzg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_lAoiQDLjEd2RVeNawwNNzg" instance="_P3ovQDLjEd2RVeNawwNNzg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_n1a1wSnNEeGxrprK9wB9iA" definingFeature="_lKtZUCjYEeGFbebITJYb9g">
+            <value xmi:type="uml:InstanceValue" xmi:id="_n1cD4CnNEeGxrprK9wB9iA" instance="_n1ThACnNEeGxrprK9wB9iA"/>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_MyQ5wDLjEd2RVeNawwNNzg" name="mySystem.server" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_P3ovQDLjEd2RVeNawwNNzg" name="mySystem.client" classifier="_IfjoETLbEd2qeKRLMdIx_A"/>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_n1ThACnNEeGxrprK9wB9iA" name="mySystem.timer">
+          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_-X6zMCjZEeGFbebITJYb9g"/>
+          <slot xmi:type="uml:Slot" xmi:id="_n1XLYCnNEeGxrprK9wB9iA">
+            <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE/core.uml#_ARs_UCjaEeGFbebITJYb9g"/>
+            <value xmi:type="uml:InstanceValue" xmi:id="_n1XycCnNEeGxrprK9wB9iA" instance="_n1V9QCnNEeGxrprK9wB9iA"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_n1aOsCnNEeGxrprK9wB9iA">
+            <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE/core.uml#_RMqEkCjaEeGFbebITJYb9g"/>
+            <value xmi:type="uml:InstanceValue" xmi:id="_n1a1wCnNEeGxrprK9wB9iA" instance="_n1YZgCnNEeGxrprK9wB9iA"/>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_n1V9QCnNEeGxrprK9wB9iA" name="mySystem.timer.timer">
+          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_9V8OQCjYEeGFbebITJYb9g"/>
+          <slot xmi:type="uml:Slot" xmi:id="_AfWlACozEeGxrprK9wB9iA">
+            <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE/core.uml#_tmNeoCjbEeGFbebITJYb9g"/>
+            <value xmi:type="uml:LiteralInteger" xmi:id="_AfXzICozEeGxrprK9wB9iA" name="value for periodLength" value="250">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+            </value>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_n1YZgCnNEeGxrprK9wB9iA" name="mySystem.timer.thread">
+          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_KeQaUDa5EeG-uqYpasEQgg" name="allocate to linux" client="_L9xhwDLjEd2RVeNawwNNzg" supplier="_6EgaIDa3EeGBl4WmUxMhOA"/>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_fWvAAE2tEeGl8qrc8BM7vA" name="allocate to linux" client="_L9xhwDLjEd2RVeNawwNNzg" supplier="_6EgaIDa3EeGBl4WmUxMhOA"/>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_2OkBAGkEEeG997IUAIbceQ" name="allocate to linux"/>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_2kbjUGkEEeG997IUAIbceQ" name="allocate to linux" client="_L9xhwDLjEd2RVeNawwNNzg" supplier="_6EgaIDa3EeGBl4WmUxMhOA"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_bBSxQP_BEd6628OhKk_dpg" name="cygwin">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_bBdwYP_BEd6628OhKk_dpg" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg">
+          <slot xmi:type="uml:Slot" xmi:id="_bBpWkP_BEd6628OhKk_dpg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_bBqksP_BEd6628OhKk_dpg" instance="_bBnhYP_BEd6628OhKk_dpg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_bBuPEP_BEd6628OhKk_dpg" definingFeature="_i-I7gDLiEd2RVeNawwNNzg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_bBxSYP_BEd6628OhKk_dpg" instance="_bBry0P_BEd6628OhKk_dpg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_JtE40CozEeGxrprK9wB9iA" definingFeature="_lKtZUCjYEeGFbebITJYb9g">
+            <value xmi:type="uml:InstanceValue" xmi:id="_JtE40SozEeGxrprK9wB9iA" instance="_JtB1gCozEeGxrprK9wB9iA"/>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_bBnhYP_BEd6628OhKk_dpg" name="mainInstance.server" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_bBry0P_BEd6628OhKk_dpg" name="mainInstance.client" classifier="_IfjoETLbEd2qeKRLMdIx_A"/>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_JtB1gCozEeGxrprK9wB9iA" name="mainInstance.timer">
+          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_-X6zMCjZEeGFbebITJYb9g"/>
+          <slot xmi:type="uml:Slot" xmi:id="_JtDDoCozEeGxrprK9wB9iA">
+            <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE/core.uml#_ARs_UCjaEeGFbebITJYb9g"/>
+            <value xmi:type="uml:InstanceValue" xmi:id="_JtDqsCozEeGxrprK9wB9iA" instance="_JtCckCozEeGxrprK9wB9iA"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_JtERwCozEeGxrprK9wB9iA">
+            <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE/core.uml#_RMqEkCjaEeGFbebITJYb9g"/>
+            <value xmi:type="uml:InstanceValue" xmi:id="_JtERwSozEeGxrprK9wB9iA" instance="_JtDqsSozEeGxrprK9wB9iA"/>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_JtCckCozEeGxrprK9wB9iA" name="mainInstance.timer.timer">
+          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_9V8OQCjYEeGFbebITJYb9g"/>
+          <slot xmi:type="uml:Slot" xmi:id="_1wSfkCsJEeGEwYCLcbR5yw">
+            <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE/core.uml#_tmNeoCjbEeGFbebITJYb9g"/>
+            <value xmi:type="uml:LiteralInteger" xmi:id="_1yhUMCsJEeGEwYCLcbR5yw" name="value for periodLength" value="500">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+            </value>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_JtDqsSozEeGxrprK9wB9iA" name="mainInstance.timer.thread">
+          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_JTpoYDa5EeG-uqYpasEQgg" name="allocate to cygwin" client="_bBdwYP_BEd6628OhKk_dpg" supplier="_BQRAwDa5EeG-uqYpasEQgg"/>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_gXDNgE2tEeGl8qrc8BM7vA" name="allocate to cygwin" client="_bBdwYP_BEd6628OhKk_dpg" supplier="_BQRAwDa5EeG-uqYpasEQgg"/>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_3pREcGkEEeG997IUAIbceQ" name="allocate to cygwin" client="_bBdwYP_BEd6628OhKk_dpg" supplier="_BQRAwDa5EeG-uqYpasEQgg"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_QT6okKDjEd-rLNbSWf1QuA" name="ConfigTraceMono"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_AMnW4Cz7Eea25uwDpRQuxg" name="derivedTypes">
+      <packagedElement xmi:type="uml:Package" xmi:id="_AMpMECz7Eea25uwDpRQuxg" name="ClientServerTimer">
+        <packagedElement xmi:type="uml:Package" xmi:id="_AMpzICz7Eea25uwDpRQuxg" name="ComponentModel">
+          <packagedElement xmi:type="uml:Package" xmi:id="_AMpzISz7Eea25uwDpRQuxg" name="Interfaces">
+            <packagedElement xmi:type="uml:Class" xmi:id="_AMpzIiz7Eea25uwDpRQuxg" name="Use_ICompute"/>
+            <packagedElement xmi:type="uml:Usage" xmi:id="_AMzkICz7Eea25uwDpRQuxg" client="_AMpzIiz7Eea25uwDpRQuxg" supplier="_cn-H0DLbEd2qeKRLMdIx_A"/>
+          </packagedElement>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_GcC0cAHtEd6HSdiss9GQ0A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Gd1kMAHtEd6HSdiss9GQ0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_z1TwgFW3Ed63BrxiKsw-0Q">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z2GasFW3Ed63BrxiKsw-0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_2aRhwGkEEeG997IUAIbceQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2eU7UGkEEeG997IUAIbceQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_2eX-oGkEEeG997IUAIbceQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2hLbAGkEEeG997IUAIbceQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_yNSZIAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_2hOeUGkEEeG997IUAIbceQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2kYgAGkEEeG997IUAIbceQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//GCM"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_YgAioAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+  </uml:Model>
+  <FCM:DerivedElement xmi:id="_DWb6oP6yEd6Ie_kieu_3CQ" base_Element="_TbIjUJYlEd6G9q9hwr11bw" source="_DGs6wDLgEd28fJKJJnUaeQ"/>
+  <FCM:DerivedElement xmi:id="_DXK6cP6yEd6Ie_kieu_3CQ" base_Element="_4ZEZwHecEd6r18stFZxmFQ" source="_L8EY8DLgEd28fJKJJnUaeQ"/>
+  <FCM:RuleApplication xmi:id="_DWIYoP6yEd6Ie_kieu_3CQ" base_Class="_oqZNUDLaEd2qeKRLMdIx_A">
+    <containerRule xmi:type="FCM:ContainerRule" href="pathmap://QML_TRACE/tracing.uml#_ISo6gLdwEd-CtfrGQre34Q"/>
+    <interceptor href="pathmap://QML_TRACE/tracing.uml#_35od4DKrEd-z5o2wSoJ16A"/>
+  </FCM:RuleApplication>
+  <FCM:Port xmi:id="_GofhQP6yEd6Ie_kieu_3CQ" base_Port="_4KiE8DLbEd2qeKRLMdIx_A" type="_cn-H0DLbEd2qeKRLMdIx_A">
+    <kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_wySlkFRxEd6GqrP6fkWBoQ"/>
+  </FCM:Port>
+  <FCM:DeploymentPlan xmi:id="_6dGQgP6zEd6Ie_kieu_3CQ" mainInstance="_L9xhwDLjEd2RVeNawwNNzg" base_Package="_5Z7MEDLiEd2RVeNawwNNzg"/>
+  <C_Cpp:Include xmi:id="_7SAnAP76Ed6Zw96O-tCw7A" body="#include &lt;iostream>&#xA;using namespace std;&#xA;&#xA;#include &lt;unistd.h>" base_class="_IfjoETLbEd2qeKRLMdIx_A"/>
+  <C_Cpp:Include xmi:id="_Sa4nEP77Ed6Zw96O-tCw7A" body="#include &lt;iostream>&#xA;using namespace std;" base_class="_oqZNUDLaEd2qeKRLMdIx_A"/>
+  <FCM:DeploymentPlan xmi:id="_bBdJUP_BEd6628OhKk_dpg" mainInstance="_bBdwYP_BEd6628OhKk_dpg" base_Package="_bBSxQP_BEd6628OhKk_dpg"/>
+  <FCM:Port xmi:id="_IWQqoP6yEd6Ie_kieu_3CQ" base_Port="_DtWn4DLcEd2qeKRLMdIx_A" type="_cn-H0DLbEd2qeKRLMdIx_A">
+    <kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_9Fif4FRxEd6GqrP6fkWBoQ"/>
+  </FCM:Port>
+  <FCM:DerivedElement xmi:id="_vd5cgKDcEd-t8JNe-ruCrQ" base_Element="_4CRrYHpbEd-X4Z9aZ0cpCQ">
+    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+  </FCM:DerivedElement>
+  <FCM:Configuration xmi:id="_Y10_QKDjEd-rLNbSWf1QuA" base_Class="_QT6okKDjEd-rLNbSWf1QuA" deploymentPlan="_6dGQgP6zEd6Ie_kieu_3CQ">
+    <configOptions xmi:type="FCM:ConfigOption" href="pathmap://QML_CORE/core.uml#_u6LqoH7eEd-FNNgSS03RxQ"/>
+  </FCM:Configuration>
+  <FCM:Target xmi:id="_Et5N4LqQEd-BObGGoBbehA" base_Node="_MxayMP_BEd6628OhKk_dpg">
+    <targetArch xmi:type="FCM:TargetArchitecture" href="pathmap://QML_CORE/core.uml#_FYOqwF0OEd-12d_h0i1xhQ"/>
+    <usedOS xmi:type="FCM:OperatingSystem" href="pathmap://QML_CORE/core.uml#_r4nVcCp9EeG1Y7BvjQ0T-w"/>
+  </FCM:Target>
+  <FCM:Target xmi:id="_HvbFMLqQEd-BObGGoBbehA" base_Node="_zY9vMDLiEd2RVeNawwNNzg">
+    <targetArch xmi:type="FCM:TargetArchitecture" href="pathmap://QML_CORE/core.uml#_FYOqwF0OEd-12d_h0i1xhQ"/>
+    <usedOS xmi:type="FCM:OperatingSystem" href="pathmap://QML_CORE/core.uml#_1eULwF0NEd-12d_h0i1xhQ"/>
+  </FCM:Target>
+  <FCM:Port xmi:id="_U509QCkDEeGDDbdzqSb4UA" base_Port="_U50WMCkDEeGDDbdzqSb4UA">
+    <kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_wySlkFRxEd6GqrP6fkWBoQ"/>
+    <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
+  </FCM:Port>
+  <FCM:DerivedElement xmi:id="_qf85ACozEeGxrprK9wB9iA" base_Element="_qf6cwCozEeGxrprK9wB9iA">
+    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_asFRoAweEd6it_RkGhz_AA"/>
+  </FCM:DerivedElement>
+  <Alloc:Allocate xmi:id="_2lLKMGkEEeG997IUAIbceQ" base_Abstraction="_2kbjUGkEEeG997IUAIbceQ"/>
+  <Alloc:Allocate xmi:id="_3pYZMGkEEeG997IUAIbceQ" base_Abstraction="_3pREcGkEEeG997IUAIbceQ"/>
+  <FCM:DerivedElement xmi:id="_AMxu8Cz7Eea25uwDpRQuxg" base_Element="_AMpzIiz7Eea25uwDpRQuxg" source="_cn-H0DLbEd2qeKRLMdIx_A"/>
+</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorld.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di
copy to transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorld.di
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorld.notation b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorld.notation
new file mode 100644
index 0000000..2537ab7
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorld.notation
@@ -0,0 +1,968 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_7kc7YM__Ed-TP80eVS-2Rg" type="CompositeStructure" name="HelloWorldComponent" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_8LSR4M__Ed-TP80eVS-2Rg" type="Class_Shape" fontName="" fontHeight="10" fillColor="8905185" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LSR4s__Ed-TP80eVS-2Rg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LSR48__Ed-TP80eVS-2Rg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LS48M__Ed-TP80eVS-2Rg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LS48c__Ed-TP80eVS-2Rg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LS48s__Ed-TP80eVS-2Rg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LS488__Ed-TP80eVS-2Rg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8LS49M__Ed-TP80eVS-2Rg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8LS49c__Ed-TP80eVS-2Rg" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_8rDfAFTzEeKvFeqt5Q_lqw" type="Property_Shape" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8rGiUFTzEeKvFeqt5Q_lqw" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8rGiUVTzEeKvFeqt5Q_lqw" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8rGiUlTzEeKvFeqt5Q_lqw" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8rGiU1TzEeKvFeqt5Q_lqw" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8rGiVFTzEeKvFeqt5Q_lqw" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8rGiVVTzEeKvFeqt5Q_lqw" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4k6AsHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4k7O0Hk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4urnwHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_8rHJYFTzEeKvFeqt5Q_lqw" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CBQusFT0EeKvFeqt5Q_lqw" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CGsoUFT0EeKvFeqt5Q_lqw" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_8rHJYVTzEeKvFeqt5Q_lqw" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_8rHJYlTzEeKvFeqt5Q_lqw" showTitle="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8rHJY1TzEeKvFeqt5Q_lqw"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_p2fBUrYoEeWaTqnU44XdvA" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_p2fBU7YoEeWaTqnU44XdvA" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="HelloWorld.uml#_8pupUFTzEeKvFeqt5Q_lqw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8rDfAVTzEeKvFeqt5Q_lqw" x="40" y="30" width="163"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_qF26ELYoEeWaTqnU44XdvA" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_qF26EbYoEeWaTqnU44XdvA" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qF26E7YoEeWaTqnU44XdvA" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Property" href="HelloWorld.uml#_8pupUFTzEeKvFeqt5Q_lqw"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qF26ErYoEeWaTqnU44XdvA" x="240" y="30"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8LS49s__Ed-TP80eVS-2Rg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7kMQFWUEeKdxoQIVxFNNg" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7kMQVWUEeKdxoQIVxFNNg" showTitle="true"/>
+        <element xmi:type="C_Cpp:Include" href="HelloWorld.uml#_11OtwPcaEd-KM6l7lmIPkw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7kMQlWUEeKdxoQIVxFNNg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_6UeXAFWUEeKdxoQIVxFNNg" type="Port_Shape" fontName="Sans Serif" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ue-EFWUEeKdxoQIVxFNNg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Ue-EVWUEeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ue-FFWUEeKdxoQIVxFNNg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6UflIFWUEeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6kEY8LYoEeWaTqnU44XdvA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6kEY8bYoEeWaTqnU44XdvA" key="displayNameLabelIcon_value" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_6UflIVWUEeKdxoQIVxFNNg" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_6UflIlWUEeKdxoQIVxFNNg" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_6UflI1WUEeKdxoQIVxFNNg" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_6UflJFWUEeKdxoQIVxFNNg" x="25" y="-10"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_qG7RELYoEeWaTqnU44XdvA" type="StereotypeBrace">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_qG7REbYoEeWaTqnU44XdvA" showTitle="true"/>
+          <styles xmi:type="notation:StringValueStyle" xmi:id="_qG7RErYoEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Port"/>
+          <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qG74ILYoEeWaTqnU44XdvA"/>
+        </children>
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_fV6D0LkXEeS7TYMQS2xzng" name="maskLabel">
+          <stringListValue>multiplicity</stringListValue>
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UeXAVWUEeKdxoQIVxFNNg" y="31"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_p2fBULYoEeWaTqnU44XdvA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_p2fBUbYoEeWaTqnU44XdvA" y="5"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_qEMGILYoEeWaTqnU44XdvA" visible="false" type="StereotypeLabel">
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_qEMGIbYoEeWaTqnU44XdvA" name="stereotype" stringValue="C_Cpp::Include"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_RwTdQByJEduN1bTiWJ0lyw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qEMGIrYoEeWaTqnU44XdvA"/>
+      </children>
+      <element xmi:type="uml:Class" href="HelloWorld.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8LSR4c__Ed-TP80eVS-2Rg" x="80" y="160" width="261" height="109"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_-HlK8DecEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyADecEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyATecEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyAjecEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyAzecEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyBDecEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyBTecEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-HlyBjecEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorld.uml#_-Hd2MDecEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-HlK8TecEeGPyrZ5I3hMlA" x="420" y="135" width="301" height="55"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_0EFQQDedEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3UDedEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3UTedEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3UjedEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3UzedEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3VDedEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3VTedEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0EF3VjedEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorld.uml#_0D64MDedEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0EFQQTedEeGPyrZ5I3hMlA" x="420" y="18" width="301"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_SypoQFT0EeKvFeqt5Q_lqw" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SyqPUFT0EeKvFeqt5Q_lqw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SyqPUVT0EeKvFeqt5Q_lqw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SyqPUlT0EeKvFeqt5Q_lqw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SyqPU1T0EeKvFeqt5Q_lqw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SyqPVFT0EeKvFeqt5Q_lqw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SyqPVVT0EeKvFeqt5Q_lqw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_SyqPVlT0EeKvFeqt5Q_lqw" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorld.uml#_SxvpUFT0EeKvFeqt5Q_lqw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SypoQVT0EeKvFeqt5Q_lqw" x="420" y="220" width="301" height="45"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_rjTBsFWUEeKdxoQIVxFNNg" type="Class_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rjTowFWUEeKdxoQIVxFNNg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rjTowVWUEeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rjTowlWUEeKdxoQIVxFNNg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rjTow1WUEeKdxoQIVxFNNg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rjToxFWUEeKdxoQIVxFNNg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rjUP0FWUEeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rjUP0VWUEeKdxoQIVxFNNg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_rjUP0lWUEeKdxoQIVxFNNg" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_rjUP01WUEeKdxoQIVxFNNg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rjUP1FWUEeKdxoQIVxFNNg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_wd8WwFWUEeKdxoQIVxFNNg" type="Port_Shape" fontName="Sans Serif" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wd890FWUEeKdxoQIVxFNNg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wd890VWUEeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wd891FWUEeKdxoQIVxFNNg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wd891VWUEeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ygFe8LYpEeWaTqnU44XdvA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ygFe8bYpEeWaTqnU44XdvA" key="displayNameLabelIcon_value" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_wd891lWUEeKdxoQIVxFNNg" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_wd9k4FWUEeKdxoQIVxFNNg" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_wd9k4VWUEeKdxoQIVxFNNg" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_wd9k4lWUEeKdxoQIVxFNNg" x="25" y="-10"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_qKT8QLYoEeWaTqnU44XdvA" type="StereotypeBrace">
+          <children xmi:type="notation:DecorationNode" xmi:id="_qKVKZLYoEeWaTqnU44XdvA" visible="false" type="StereotypePropertyBrace">
+            <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_lARBIOLzEd2hC_i8ZB1Yiw"/>
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_qKVKZbYoEeWaTqnU44XdvA"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_qKVKYrYoEeWaTqnU44XdvA" visible="false" type="StereotypePropertyBrace">
+            <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_erj_ECzCEeWf2IvZSSBQwg"/>
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_qKVKY7YoEeWaTqnU44XdvA"/>
+          </children>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_qKT8QbYoEeWaTqnU44XdvA" showTitle="true"/>
+          <styles xmi:type="notation:StringValueStyle" xmi:id="_qKT8QrYoEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Port"/>
+          <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qKT8Q7YoEeWaTqnU44XdvA"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_qHuiULYoEeWaTqnU44XdvA" visible="false" type="StereotypeLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__ERNsLYoEeWaTqnU44XdvA" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__ERNsbYoEeWaTqnU44XdvA" key="visible" value="true"/>
+          </eAnnotations>
+          <styles xmi:type="notation:StringValueStyle" xmi:id="_qHuiUbYoEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Port"/>
+          <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qHuiUrYoEeWaTqnU44XdvA"/>
+        </children>
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_hG-_4LkXEeS7TYMQS2xzng" name="maskLabel">
+          <stringListValue>multiplicity</stringListValue>
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wd8WwVWUEeKdxoQIVxFNNg" y="32"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_p2fBVLYoEeWaTqnU44XdvA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_p2fBVbYoEeWaTqnU44XdvA" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rjTBsVWUEeKdxoQIVxFNNg" x="80" y="18" width="261" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qEg2QLYoEeWaTqnU44XdvA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qEg2QbYoEeWaTqnU44XdvA" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qEg2Q7YoEeWaTqnU44XdvA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="HelloWorld.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qEg2QrYoEeWaTqnU44XdvA" x="280" y="160"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qHJTgLYoEeWaTqnU44XdvA" type="StereotypeComment">
+      <children xmi:type="notation:BasicCompartment" xmi:id="_qHQoQLYoEeWaTqnU44XdvA" type="StereotypeCompartment">
+        <children xmi:type="notation:DecorationNode" xmi:id="_qHQoRLYoEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_AorBUMtrEd2H_o0jIC6qDQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qHQoRbYoEeWaTqnU44XdvA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_qHQoQbYoEeWaTqnU44XdvA" showTitle="true"/>
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_qHQoQrYoEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Port"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qHQoQ7YoEeWaTqnU44XdvA"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qHJTgbYoEeWaTqnU44XdvA" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qHJTg7YoEeWaTqnU44XdvA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qHJTgrYoEeWaTqnU44XdvA" x="200" y="31"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qKVxcLYoEeWaTqnU44XdvA" type="StereotypeComment">
+      <children xmi:type="notation:BasicCompartment" xmi:id="_qKXmoLYoEeWaTqnU44XdvA" type="StereotypeCompartment">
+        <children xmi:type="notation:DecorationNode" xmi:id="_qKXmprYoEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_erj_ECzCEeWf2IvZSSBQwg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qKXmp7YoEeWaTqnU44XdvA"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_qKXmqLYoEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_lARBIOLzEd2hC_i8ZB1Yiw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qKXmqbYoEeWaTqnU44XdvA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_qKXmobYoEeWaTqnU44XdvA" showTitle="true"/>
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_qKXmorYoEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Port"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qKXmo7YoEeWaTqnU44XdvA"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qKVxcbYoEeWaTqnU44XdvA" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qKVxc7YoEeWaTqnU44XdvA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qKVxcrYoEeWaTqnU44XdvA" x="190" y="27"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_7kc7Yc__Ed-TP80eVS-2Rg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_p2fBVrYoEeWaTqnU44XdvA" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="HelloWorld.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_uHz6kP8nEd-hWJO6cv3VJA" type="Generalization_Edge" source="_8LSR4M__Ed-TP80eVS-2Rg" target="_rjTBsFWUEeKdxoQIVxFNNg" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_uH0hoP8nEd-hWJO6cv3VJA" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uH0hof8nEd-hWJO6cv3VJA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_uHz6kf8nEd-hWJO6cv3VJA" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="HelloWorld.uml#_tyiqss__Ed-TP80eVS-2Rg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uHz6kv8nEd-hWJO6cv3VJA" points="[-103, -45, 204, 90]$[-307, -135, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YcZOULkXEeS7TYMQS2xzng" id="(0.47244094488188976,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zpY_EFWUEeKdxoQIVxFNNg" id="(0.4782608695652174,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_FOfGwDeeEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_0EFQQDedEeGPyrZ5I3hMlA" target="_rjTBsFWUEeKdxoQIVxFNNg" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_FOfGwTeeEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FOfGwjeeEeGPyrZ5I3hMlA" points="[420, 60, -643984, -643984]$[343, 60, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FOwMgDeeEeGPyrZ5I3hMlA" id="(0.0,0.3684210526315789)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FOwMgTeeEeGPyrZ5I3hMlA" id="(0.9881422924901185,0.5753424657534246)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_F4Ju0DeeEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_-HlK8DecEeGPyrZ5I3hMlA" target="_8LSR4M__Ed-TP80eVS-2Rg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_F4Ju0TeeEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_F4Ju0jeeEeGPyrZ5I3hMlA" points="[-25, 3, 78, 0]$[-80, -2, 23, -5]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F4a0kDeeEeGPyrZ5I3hMlA" id="(0.0,0.5625)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F4a0kTeeEeGPyrZ5I3hMlA" id="(0.9448818897637795,0.1834862385321101)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_YapykFT0EeKvFeqt5Q_lqw" type="Comment_AnnotatedElementEdge" source="_SypoQFT0EeKvFeqt5Q_lqw" target="_8rDfAFTzEeKvFeqt5Q_lqw" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_YapykVT0EeKvFeqt5Q_lqw" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YapyklT0EeKvFeqt5Q_lqw" points="[420, 243, -643984, -643984]$[288, 243, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ya7fYFT0EeKvFeqt5Q_lqw" id="(0.0,0.40350877192982454)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ya7fYVT0EeKvFeqt5Q_lqw" id="(1.0,0.65)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qEhdULYoEeWaTqnU44XdvA" type="StereotypeCommentLink" source="_8LSR4M__Ed-TP80eVS-2Rg" target="_qEg2QLYoEeWaTqnU44XdvA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_qEhdUbYoEeWaTqnU44XdvA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qEiEYLYoEeWaTqnU44XdvA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="HelloWorld.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qEhdUrYoEeWaTqnU44XdvA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qEhdU7YoEeWaTqnU44XdvA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qEhdVLYoEeWaTqnU44XdvA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qF26FLYoEeWaTqnU44XdvA" type="StereotypeCommentLink" source="_8rDfAFTzEeKvFeqt5Q_lqw" target="_qF26ELYoEeWaTqnU44XdvA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_qF26FbYoEeWaTqnU44XdvA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qF26GbYoEeWaTqnU44XdvA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Property" href="HelloWorld.uml#_8pupUFTzEeKvFeqt5Q_lqw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qF26FrYoEeWaTqnU44XdvA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qF26F7YoEeWaTqnU44XdvA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qF26GLYoEeWaTqnU44XdvA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qHJThLYoEeWaTqnU44XdvA" type="StereotypeCommentLink" source="_6UeXAFWUEeKdxoQIVxFNNg" target="_qHJTgLYoEeWaTqnU44XdvA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_qHJThbYoEeWaTqnU44XdvA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qHJTibYoEeWaTqnU44XdvA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qHJThrYoEeWaTqnU44XdvA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qHJTh7YoEeWaTqnU44XdvA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qHJTiLYoEeWaTqnU44XdvA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qKVxdLYoEeWaTqnU44XdvA" type="StereotypeCommentLink" source="_wd8WwFWUEeKdxoQIVxFNNg" target="_qKVxcLYoEeWaTqnU44XdvA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_qKVxdbYoEeWaTqnU44XdvA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qKVxebYoEeWaTqnU44XdvA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qKVxdrYoEeWaTqnU44XdvA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qKVxd7YoEeWaTqnU44XdvA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qKVxeLYoEeWaTqnU44XdvA"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_o6ZisNCREd-hqYHBJe17_Q" type="CompositeStructure" name="System" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_VSa6YNHtEd-A1oPfP47IaQ" type="Class_Shape" fontName="" fontHeight="10" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScIgNHtEd-A1oPfP47IaQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvkNHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScvkdHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvktHtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScvk9HtEd-A1oPfP47IaQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvlNHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_VScvldHtEd-A1oPfP47IaQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_VScvltHtEd-A1oPfP47IaQ" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_XsS70NHtEd-A1oPfP47IaQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi4NHtEd-A1oPfP47IaQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi4dHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi4tHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi49HtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi5NHtEd-A1oPfP47IaQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi5dHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6iThgHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6iUvoHk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6o-xQHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_XsTi5tHtEd-A1oPfP47IaQ" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yonwwFTzEeKvFeqt5Q_lqw" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yzIXoFTzEeKvFeqt5Q_lqw" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_XsTi59HtEd-A1oPfP47IaQ" type="Property_StructureCompartment">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XsUJ8NHtEd-A1oPfP47IaQ"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_qKx2UrYoEeWaTqnU44XdvA" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_qKx2U7YoEeWaTqnU44XdvA" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_qOFB8LYoEeWaTqnU44XdvA" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_qOFB8bYoEeWaTqnU44XdvA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qOFB8rYoEeWaTqnU44XdvA"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_Gj0IcLYpEeWaTqnU44XdvA" type="Port_Shape">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KLVowLYpEeWaTqnU44XdvA" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KLVowbYpEeWaTqnU44XdvA" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_Gj19oLYpEeWaTqnU44XdvA" type="Port_NameLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_Gj19obYpEeWaTqnU44XdvA" x="25" y="3"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_Gj19orYpEeWaTqnU44XdvA" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_Gj19o7YpEeWaTqnU44XdvA" x="25" y="-10"/>
+            </children>
+            <children xmi:type="notation:BasicCompartment" xmi:id="_GkyY0LYpEeWaTqnU44XdvA" type="StereotypeBrace">
+              <children xmi:type="notation:DecorationNode" xmi:id="_Gky_4LYpEeWaTqnU44XdvA" visible="false" type="StereotypePropertyBrace">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Jh8GcLYpEeWaTqnU44XdvA" source="PapyrusCSSForceValue">
+                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Jh8GcbYpEeWaTqnU44XdvA" key="visible" value="true"/>
+                </eAnnotations>
+                <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_AorBUMtrEd2H_o0jIC6qDQ"/>
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_Gky_4bYpEeWaTqnU44XdvA"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_Gky_4rYpEeWaTqnU44XdvA" visible="false" type="StereotypePropertyBrace">
+                <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_erj_ECzCEeWf2IvZSSBQwg"/>
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_Gky_47YpEeWaTqnU44XdvA"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_Gky_5LYpEeWaTqnU44XdvA" visible="false" type="StereotypePropertyBrace">
+                <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_lARBIOLzEd2hC_i8ZB1Yiw"/>
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_Gky_5bYpEeWaTqnU44XdvA"/>
+              </children>
+              <styles xmi:type="notation:TitleStyle" xmi:id="_GkyY0bYpEeWaTqnU44XdvA" showTitle="true"/>
+              <styles xmi:type="notation:StringValueStyle" xmi:id="_GkyY0rYpEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Port"/>
+              <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkyY07YpEeWaTqnU44XdvA"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_GkxxwLYpEeWaTqnU44XdvA" visible="false" type="StereotypeLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_I6RCcLYpEeWaTqnU44XdvA" source="PapyrusCSSForceValue">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_I6RpgLYpEeWaTqnU44XdvA" key="visible" value="true"/>
+              </eAnnotations>
+              <styles xmi:type="notation:StringValueStyle" xmi:id="_GkxxwbYpEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Port"/>
+              <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkxxwrYpEeWaTqnU44XdvA"/>
+            </children>
+            <styles xmi:type="notation:StringListValueStyle" xmi:id="_OThmILYpEeWaTqnU44XdvA" name="maskLabel">
+              <stringListValue>name</stringListValue>
+              <stringListValue>type</stringListValue>
+              <stringListValue>derived</stringListValue>
+            </styles>
+            <element xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Gj0IcbYpEeWaTqnU44XdvA" y="44"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_MLlCMLYpEeWaTqnU44XdvA" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="HelloWorld.uml#_gV1cgDLiEd2RVeNawwNNzg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XsS70dHtEd-A1oPfP47IaQ" x="40" y="20" width="193" height="85"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Gky_5rYpEeWaTqnU44XdvA" type="StereotypeComment">
+          <children xmi:type="notation:BasicCompartment" xmi:id="_Gkzm97YpEeWaTqnU44XdvA" type="StereotypeCompartment">
+            <children xmi:type="notation:DecorationNode" xmi:id="_Gkzm_7YpEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
+              <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_lARBIOLzEd2hC_i8ZB1Yiw"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_GkznALYpEeWaTqnU44XdvA"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_Gkzm_bYpEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
+              <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_erj_ECzCEeWf2IvZSSBQwg"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_Gkzm_rYpEeWaTqnU44XdvA"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_Gkzm-7YpEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KtnPYLYpEeWaTqnU44XdvA" source="PapyrusCSSForceValue">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KtnPYbYpEeWaTqnU44XdvA" key="visible" value="true"/>
+              </eAnnotations>
+              <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_AorBUMtrEd2H_o0jIC6qDQ"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_Gkzm_LYpEeWaTqnU44XdvA"/>
+            </children>
+            <styles xmi:type="notation:TitleStyle" xmi:id="_Gkzm-LYpEeWaTqnU44XdvA" showTitle="true"/>
+            <styles xmi:type="notation:StringValueStyle" xmi:id="_Gkzm-bYpEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Port"/>
+            <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Gkzm-rYpEeWaTqnU44XdvA"/>
+          </children>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_Gky_57YpEeWaTqnU44XdvA" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Gkzm8LYpEeWaTqnU44XdvA" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Gky_6LYpEeWaTqnU44XdvA" x="190" y="-9"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VScvl9HtEd-A1oPfP47IaQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_qKx2ULYoEeWaTqnU44XdvA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_qKx2UbYoEeWaTqnU44XdvA" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="HelloWorld.uml#_bYJagDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VSa6YdHtEd-A1oPfP47IaQ" x="18" y="18" width="280" height="172"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_o6ZisdCREd-hqYHBJe17_Q"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_qKydYLYoEeWaTqnU44XdvA" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="HelloWorld.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_Gkzm8bYpEeWaTqnU44XdvA" type="StereotypeCommentLink" source="_Gj0IcLYpEeWaTqnU44XdvA" target="_Gky_5rYpEeWaTqnU44XdvA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Gkzm8rYpEeWaTqnU44XdvA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Gkzm9rYpEeWaTqnU44XdvA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Gkzm87YpEeWaTqnU44XdvA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Gkzm9LYpEeWaTqnU44XdvA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Gkzm9bYpEeWaTqnU44XdvA"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_U1UegPcXEd-KM6l7lmIPkw" type="PapyrusUMLClassDiagram" name="deployment" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_FGfloCghEeCw56aD7XrQhw" type="Diagram_ShortcutShape" element="_7kc7YM__Ed-TP80eVS-2Rg" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGgMsCghEeCw56aD7XrQhw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGgMsSghEeCw56aD7XrQhw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGgMsighEeCw56aD7XrQhw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGgMsyghEeCw56aD7XrQhw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGlsQCghEeCw56aD7XrQhw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGmTUCghEeCw56aD7XrQhw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_FGmTUSghEeCw56aD7XrQhw" type="Diagram_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_FGmTUighEeCw56aD7XrQhw" x="54" y="3"/>
+      </children>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FGfloSghEeCw56aD7XrQhw" x="54" y="24" width="34" height="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gdmuADefEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdmuAjefEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdmuAzefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdmuBDefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdmuBTefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdnVEDefEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdnVETefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_gdnVEjefEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorld.uml#_gdeyMDefEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gdmuATefEeGPyrZ5I3hMlA" x="315" y="18" width="226" height="37"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_-4h4YFWREeKdxoQIVxFNNg" type="Package_Shape" fontName="Sans Serif" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-4k7sFWREeKdxoQIVxFNNg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-4k7sVWREeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-4k7slWREeKdxoQIVxFNNg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-4k7s1WREeKdxoQIVxFNNg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-4liwFWREeKdxoQIVxFNNg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-4liwVWREeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-4liwlWREeKdxoQIVxFNNg" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__Q8_QC1PEea25uwDpRQuxg" type="Package_PackagedElementCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_ZQjFQFWjEeKOivupHOJ8Ew" type="InstanceSpecification_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZQjsUFWjEeKOivupHOJ8Ew" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZQjsUVWjEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZQjsUlWjEeKOivupHOJ8Ew" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZQkTYFWjEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZQkTYVWjEeKOivupHOJ8Ew" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZQkTYlWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8slAsHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8slnwHk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8-kvoHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_ZQkTY1WjEeKOivupHOJ8Ew" type="InstanceSpecification_NameLabel_CN"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_ZQkTZFWjEeKOivupHOJ8Ew" type="InstanceSpecification_SlotCompartment_CN">
+            <children xmi:type="notation:Shape" xmi:id="_ET2zcFWkEeKOivupHOJ8Ew" type="Slot_SlotLabel" fontName="Sans Serif" lineColor="0">
+              <element xmi:type="uml:Slot" href="HelloWorld.uml#_ymQ48FT2EeKvFeqt5Q_lqw"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_ET2zcVWkEeKOivupHOJ8Ew" x="58" y="15"/>
+            </children>
+            <styles xmi:type="notation:TitleStyle" xmi:id="_ZQkTZVWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_ZQkTZlWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_ZQkTZ1WjEeKOivupHOJ8Ew"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZQkTaFWjEeKOivupHOJ8Ew"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_qOXV0LYoEeWaTqnU44XdvA" type="InstanceSpecification_FloatingNameLabel_CN">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_qOXV0bYoEeWaTqnU44XdvA" y="5"/>
+          </children>
+          <element xmi:type="uml:InstanceSpecification" href="HelloWorld.uml#_ymErsFT2EeKvFeqt5Q_lqw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZQjFQVWjEeKOivupHOJ8Ew" x="15" y="13" width="261" height="57"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Z7T5gFWjEeKOivupHOJ8Ew" type="InstanceSpecification_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UgkFWjEeKOivupHOJ8Ew" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7UgkVWjEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UgklWjEeKOivupHOJ8Ew" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7Ugk1WjEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UglFWjEeKOivupHOJ8Ew" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7UglVWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8smO0nk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8smO03k1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8-nL4Hk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Z7UgllWjEeKOivupHOJ8Ew" type="InstanceSpecification_NameLabel_CN"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_Z7Ugl1WjEeKOivupHOJ8Ew" type="InstanceSpecification_SlotCompartment_CN">
+            <children xmi:type="notation:Shape" xmi:id="_6VXKAFWjEeKOivupHOJ8Ew" type="Slot_SlotLabel" fontName="Sans Serif" lineColor="0">
+              <element xmi:type="uml:Slot" href="HelloWorld.uml#_tfj4gFUwEeKdxoQIVxFNNg"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_6VXKAVWjEeKOivupHOJ8Ew" x="26" y="15"/>
+            </children>
+            <styles xmi:type="notation:TitleStyle" xmi:id="_Z7UgmFWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_Z7UgmVWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_Z7UgmlWjEeKOivupHOJ8Ew"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7Ugm1WjEeKOivupHOJ8Ew"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_qOXV0rYoEeWaTqnU44XdvA" type="InstanceSpecification_FloatingNameLabel_CN">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_qOXV07YoEeWaTqnU44XdvA" y="5"/>
+          </children>
+          <element xmi:type="uml:InstanceSpecification" href="HelloWorld.uml#_ymQR4FT2EeKvFeqt5Q_lqw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7T5gVWjEeKOivupHOJ8Ew" x="15" y="133" width="261" height="64"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_85kMIFWjEeKOivupHOJ8Ew" type="InstanceSpecification_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_85kzMFWjEeKOivupHOJ8Ew" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_85kzMVWjEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_85kzMlWjEeKOivupHOJ8Ew" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_85kzM1WjEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_85kzNFWjEeKOivupHOJ8Ew" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_85kzNVWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8smO0Hk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8smO0Xk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8-l9wHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_85kzNlWjEeKOivupHOJ8Ew" type="InstanceSpecification_NameLabel_CN"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_85kzN1WjEeKOivupHOJ8Ew" visible="false" type="InstanceSpecification_SlotCompartment_CN">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_85laQFWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_85laQVWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_85laQlWjEeKOivupHOJ8Ew"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_85laQ1WjEeKOivupHOJ8Ew"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_qOX84LYoEeWaTqnU44XdvA" type="InstanceSpecification_FloatingNameLabel_CN">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_qOX84bYoEeWaTqnU44XdvA" y="5"/>
+          </children>
+          <element xmi:type="uml:InstanceSpecification" href="HelloWorld.uml#_GQ1ekKwHEeCQX8uv_p0Q4A"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_85kMIVWjEeKOivupHOJ8Ew" x="375" y="13" width="163" height="46"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_wCUSAFZVEeKKZs15rvNNjA" type="Comment_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCX8YFZVEeKKZs15rvNNjA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCX8YVZVEeKKZs15rvNNjA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCX8YlZVEeKKZs15rvNNjA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCYjcFZVEeKKZs15rvNNjA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCYjcVZVEeKKZs15rvNNjA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCYjclZVEeKKZs15rvNNjA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_wCYjc1ZVEeKKZs15rvNNjA" type="Comment_BodyLabel_CN"/>
+          <element xmi:type="uml:Comment" href="HelloWorld.uml#_wAbboFZVEeKKZs15rvNNjA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wCUSAVZVEeKKZs15rvNNjA" x="325" y="97" width="235" height="83"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_-4lixFWREeKdxoQIVxFNNg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-4lixVWREeKdxoQIVxFNNg"/>
+      </children>
+      <styles xmi:type="notation:IntValueStyle" xmi:id="_u3oFQLkXEeS7TYMQS2xzng" name="shapeDirection" intValue="1"/>
+      <element xmi:type="uml:Package" href="HelloWorld.uml#_yl9-AFT2EeKvFeqt5Q_lqw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-4h4YVWREeKdxoQIVxFNNg" x="20" y="200" width="597" height="254"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_obNuEFWiEeKOivupHOJ8Ew" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obQxYFWiEeKOivupHOJ8Ew" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obQxYVWiEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obQxYlWiEeKOivupHOJ8Ew" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obQxY1WiEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obRYcFWiEeKOivupHOJ8Ew" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obRYcVWiEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_obRYclWiEeKOivupHOJ8Ew" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorld.uml#_oZw8kFWiEeKOivupHOJ8Ew"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_obNuEVWiEeKOivupHOJ8Ew" x="315" y="90" width="226" height="55"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qX0z0LYoEeWaTqnU44XdvA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qX0z0bYoEeWaTqnU44XdvA" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qX0z07YoEeWaTqnU44XdvA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="HelloWorld.uml#_yl9-AFT2EeKvFeqt5Q_lqw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qX0z0rYoEeWaTqnU44XdvA" x="220" y="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qYPDgLYoEeWaTqnU44XdvA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qYPDgbYoEeWaTqnU44XdvA" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qYPDg7YoEeWaTqnU44XdvA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Abstraction" href="HelloWorld.uml#_UPx34FWUEeKdxoQIVxFNNg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qYPDgrYoEeWaTqnU44XdvA" x="215" y="-87"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_U1UegfcXEd-KM6l7lmIPkw"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_qOX84rYoEeWaTqnU44XdvA" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="HelloWorld.uml#_234GEDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_86CtQFWjEeKOivupHOJ8Ew" type="Abstraction_Edge" source="_ZQjFQFWjEeKOivupHOJ8Ew" target="_85kMIFWjEeKOivupHOJ8Ew" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_86D7YFWjEeKOivupHOJ8Ew" visible="false" type="Abstraction_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_86D7YVWjEeKOivupHOJ8Ew" x="9" y="45"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_86D7YlWjEeKOivupHOJ8Ew" type="Abstraction_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_86D7Y1WjEeKOivupHOJ8Ew" x="-4" y="-9"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_86CtQVWjEeKOivupHOJ8Ew" fontName="Sans Serif"/>
+      <element xmi:type="uml:Abstraction" href="HelloWorld.uml#_UPx34FWUEeKdxoQIVxFNNg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_86CtQlWjEeKOivupHOJ8Ew" points="[-81, -23, 28, 8]$[-109, -31, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zrOXILkXEeS7TYMQS2xzng" id="(1.0,0.40350877192982454)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zrOXIbkXEeS7TYMQS2xzng" id="(0.0,0.5)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Sqs9MFWkEeKOivupHOJ8Ew" type="Comment_AnnotatedElementEdge" source="_obNuEFWiEeKOivupHOJ8Ew" target="_-4h4YFWREeKdxoQIVxFNNg" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Sqs9MVWkEeKOivupHOJ8Ew" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Sqs9MlWkEeKOivupHOJ8Ew" points="[113, 34, 301, -38]$[113, 93, 301, 21]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SrQW0FWkEeKOivupHOJ8Ew" id="(0.0,0.5277777777777778)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SrQW0VWkEeKOivupHOJ8Ew" id="(0.18739054290718038,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_7O5fMFZVEeKKZs15rvNNjA" type="Comment_AnnotatedElementEdge" source="_wCUSAFZVEeKKZs15rvNNjA" target="_ZQjFQFWjEeKOivupHOJ8Ew" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_7O5fMVZVEeKKZs15rvNNjA" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7O5fMlZVEeKKZs15rvNNjA" points="[350, 356, -643984, -643984]$[236, 356, -643984, -643984]$[236, 315, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7PO2YFZVEeKKZs15rvNNjA" id="(0.0,0.11965811965811966)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yzWT8LkXEeS7TYMQS2xzng" id="(0.7509578544061303,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_71Q7oFZVEeKKZs15rvNNjA" type="Comment_AnnotatedElementEdge" source="_wCUSAFZVEeKKZs15rvNNjA" target="_Z7T5gFWjEeKOivupHOJ8Ew" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_71Q7oVZVEeKKZs15rvNNjA" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_71Q7olZVEeKKZs15rvNNjA" points="[350, 407, -643984, -643984]$[301, 407, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_71iBYFZVEeKKZs15rvNNjA" id="(0.0,0.6410256410256411)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_71iBYVZVEeKKZs15rvNNjA" id="(1.0,0.453125)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qX0z1LYoEeWaTqnU44XdvA" type="StereotypeCommentLink" source="_-4h4YFWREeKdxoQIVxFNNg" target="_qX0z0LYoEeWaTqnU44XdvA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_qX0z1bYoEeWaTqnU44XdvA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qX0z2bYoEeWaTqnU44XdvA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="HelloWorld.uml#_yl9-AFT2EeKvFeqt5Q_lqw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qX0z1rYoEeWaTqnU44XdvA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qX0z17YoEeWaTqnU44XdvA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qX0z2LYoEeWaTqnU44XdvA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qYPDhLYoEeWaTqnU44XdvA" type="StereotypeCommentLink" source="_86CtQFWjEeKOivupHOJ8Ew" target="_qYPDgLYoEeWaTqnU44XdvA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_qYPDhbYoEeWaTqnU44XdvA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qYPDibYoEeWaTqnU44XdvA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Abstraction" href="HelloWorld.uml#_UPx34FWUEeKdxoQIVxFNNg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qYPDhrYoEeWaTqnU44XdvA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qYPDh7YoEeWaTqnU44XdvA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qYPDiLYoEeWaTqnU44XdvA"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_0rwpYDefEeGPyrZ5I3hMlA" type="CompositeStructure" name="HWArchitecture" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_1w2CIDefEeGPyrZ5I3hMlA" type="2073" fontName="" fontHeight="10" fillColor="10011046" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pMDefEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pMTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pMjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pMzefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pNDefEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pNTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_1w2pNjefEeGPyrZ5I3hMlA" type="5156"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1w2pNzefEeGPyrZ5I3hMlA" type="7073">
+        <children xmi:type="notation:Shape" xmi:id="_4HLnYDefEeGPyrZ5I3hMlA" type="3070" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOcDefEeGPyrZ5I3hMlA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOcTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOcjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOczefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOdDefEeGPyrZ5I3hMlA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOdTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__C2UgHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__C2UgXk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__Oj1QHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_4HMOdjefEeGPyrZ5I3hMlA" type="5126">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ENwn8FWjEeKOivupHOJ8Ew" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EUBoAFWjEeKOivupHOJ8Ew" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_4HMOdzefEeGPyrZ5I3hMlA" visible="false" type="7077">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_4HMOeDefEeGPyrZ5I3hMlA" showTitle="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4HMOeTefEeGPyrZ5I3hMlA"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_qZEJ8rYoEeWaTqnU44XdvA" type="6054">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_qZEJ87YoEeWaTqnU44XdvA" y="5"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_DrFGELkYEeS7TYMQS2xzng" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="HelloWorld.uml#_4HAoQDefEeGPyrZ5I3hMlA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4HLnYTefEeGPyrZ5I3hMlA" x="40" y="19" width="217" height="82"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1w2pODefEeGPyrZ5I3hMlA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w2pOTefEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_qZEJ8LYoEeWaTqnU44XdvA" type="6089">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_qZEJ8bYoEeWaTqnU44XdvA" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="HelloWorld.uml#_tZvNQDefEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w2CITefEeGPyrZ5I3hMlA" x="80" y="63" width="301" height="154"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7qMbIDefEeGPyrZ5I3hMlA" type="2072" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCMDefEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCMTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCMjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCMzefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCNDefEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCNTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_7qNCNjefEeGPyrZ5I3hMlA" type="5124"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7qNCNzefEeGPyrZ5I3hMlA" visible="false" type="7072">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7qNCODefEeGPyrZ5I3hMlA" showTitle="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7qNCOTefEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_qZEJ9LYoEeWaTqnU44XdvA" type="6088">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_qZEJ9bYoEeWaTqnU44XdvA" y="5"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_qcreoLYoEeWaTqnU44XdvA" visible="false" type="StereotypeLabel">
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_qcreobYoEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Target"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qcreorYoEeWaTqnU44XdvA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_qc_nsLYoEeWaTqnU44XdvA" type="StereotypeCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qdMcALYoEeWaTqnU44XdvA" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qdMcAbYoEeWaTqnU44XdvA" key="visible" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_qdA10LYoEeWaTqnU44XdvA" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#__5rAUGE_Ed-eArNXja7SuA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qdA10bYoEeWaTqnU44XdvA"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_qdBc4rYoEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_BZCjMJOGEd-5qPBhYeIVtw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qdBc47YoEeWaTqnU44XdvA"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_qdBc4LYoEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_C5WBYGGLEd-yH9S4VNNbSQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qdBc4bYoEeWaTqnU44XdvA"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_qdCD8rYoEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_8g_IsNTGEeKiLbHSN_MIRQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qdCD87YoEeWaTqnU44XdvA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_qc_nsbYoEeWaTqnU44XdvA" showTitle="true"/>
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_qc_nsrYoEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Target"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qc_ns7YoEeWaTqnU44XdvA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_qc4S8LYoEeWaTqnU44XdvA" type="StereotypeBrace">
+        <children xmi:type="notation:DecorationNode" xmi:id="_qc5hErYoEeWaTqnU44XdvA" visible="false" type="StereotypePropertyBrace">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fqNlILYpEeWaTqnU44XdvA" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fqNlIbYpEeWaTqnU44XdvA" key="visible" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_C5WBYGGLEd-yH9S4VNNbSQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qc5hE7YoEeWaTqnU44XdvA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_qc4S8bYoEeWaTqnU44XdvA" showTitle="true"/>
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_qc4S8rYoEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Target"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qc4S87YoEeWaTqnU44XdvA"/>
+      </children>
+      <element xmi:type="uml:Node" href="HelloWorld.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7qMbITefEeGPyrZ5I3hMlA" x="440" y="63" width="238" height="107"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_jhQ20DegEeGPyrZ5I3hMlA" type="2109" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ20jegEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ20zegEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ21DegEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ21TegEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ21jegEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ21zegEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_jhRd4DegEeGPyrZ5I3hMlA" type="5192"/>
+      <element xmi:type="uml:Comment" href="HelloWorld.uml#_jhF3sDegEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jhQ20TegEeGPyrZ5I3hMlA" x="431" y="217" width="277"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qc79ULYoEeWaTqnU44XdvA" type="StereotypeComment">
+      <children xmi:type="notation:BasicCompartment" xmi:id="_qc9LcLYoEeWaTqnU44XdvA" type="StereotypeCompartment">
+        <children xmi:type="notation:DecorationNode" xmi:id="_qc9ygrYoEeWaTqnU44XdvA" visible="false" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_C5WBYGGLEd-yH9S4VNNbSQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qc9yg7YoEeWaTqnU44XdvA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_qc9LcbYoEeWaTqnU44XdvA" showTitle="true"/>
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_qc9LcrYoEeWaTqnU44XdvA" name="stereotype" stringValue="FCM::Target"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qc9Lc7YoEeWaTqnU44XdvA"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qc79UbYoEeWaTqnU44XdvA" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qc79U7YoEeWaTqnU44XdvA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Node" href="HelloWorld.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qc79UrYoEeWaTqnU44XdvA" x="640" y="63"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_0rwpYTefEeGPyrZ5I3hMlA"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_qZEJ9rYoEeWaTqnU44XdvA" name="diagram_compatibility_version" stringValue="1.1.0"/>
+    <element xmi:type="uml:Package" href="HelloWorld.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_ugb6IDegEeGPyrZ5I3hMlA" type="4002" source="_jhQ20DegEeGPyrZ5I3hMlA" target="_7qMbIDefEeGPyrZ5I3hMlA" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ugb6ITegEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ugb6IjegEeGPyrZ5I3hMlA" points="[540, 217, -643984, -643984]$[540, 193, -643984, -643984]$[541, 193, -643984, -643984]$[541, 170, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ugs_4DegEeGPyrZ5I3hMlA" id="(0.3971119133574007,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ugs_4TegEeGPyrZ5I3hMlA" id="(0.42436974789915966,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qc79VLYoEeWaTqnU44XdvA" type="StereotypeCommentLink" source="_7qMbIDefEeGPyrZ5I3hMlA" target="_qc79ULYoEeWaTqnU44XdvA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_qc79VbYoEeWaTqnU44XdvA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qc79WbYoEeWaTqnU44XdvA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Node" href="HelloWorld.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qc79VrYoEeWaTqnU44XdvA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qc79V7YoEeWaTqnU44XdvA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qc79WLYoEeWaTqnU44XdvA"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_ovKvYFWjEeKOivupHOJ8Ew" type="PapyrusUMLDeploymentDiagram" name="NewDeploymentDiagram" measurementUnit="Pixel">
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_ovKvYVWjEeKOivupHOJ8Ew"/>
+    <element xmi:type="uml:Package" href="HelloWorld.uml#_234GEDLiEd2RVeNawwNNzg"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_kIfpMLfoEeWaTqnU44XdvA" type="PapyrusUMLClassDiagram" name="HelloWorld class" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_p03KgLi2EeWDsejo3zDcqw" type="2008">
+      <children xmi:type="notation:DecorationNode" xmi:id="_p04YoLi2EeWDsejo3zDcqw" type="5029"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_p04Yobi2EeWDsejo3zDcqw" type="8510">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_p04Yori2EeWDsejo3zDcqw" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_p04_sLi2EeWDsejo3zDcqw" type="7017">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_p04_sbi2EeWDsejo3zDcqw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_p04_sri2EeWDsejo3zDcqw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_p04_s7i2EeWDsejo3zDcqw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p04_tLi2EeWDsejo3zDcqw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_p04_tbi2EeWDsejo3zDcqw" type="7018">
+        <children xmi:type="notation:Shape" xmi:id="_rqq1kLi2EeWDsejo3zDcqw" type="3013">
+          <element xmi:type="uml:Operation" href="HelloWorld.uml#_UtCt0FTzEeKvFeqt5Q_lqw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_rqrcoLi2EeWDsejo3zDcqw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_p04_tri2EeWDsejo3zDcqw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_p04_t7i2EeWDsejo3zDcqw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_p04_uLi2EeWDsejo3zDcqw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p04_ubi2EeWDsejo3zDcqw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_p04_uri2EeWDsejo3zDcqw" visible="false" type="7019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_p04_u7i2EeWDsejo3zDcqw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_p04_vLi2EeWDsejo3zDcqw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_p04_vbi2EeWDsejo3zDcqw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p04_vri2EeWDsejo3zDcqw"/>
+      </children>
+      <element xmi:type="uml:Class" href="HelloWorld.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p03Kgbi2EeWDsejo3zDcqw" x="92" y="99" width="205"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_p1HpMLi2EeWDsejo3zDcqw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_p1HpMbi2EeWDsejo3zDcqw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_p1IQQLi2EeWDsejo3zDcqw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="HelloWorld.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p1HpMri2EeWDsejo3zDcqw" x="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_yB3BILi2EeWDsejo3zDcqw" type="2012">
+      <children xmi:type="notation:DecorationNode" xmi:id="_yB3BIri2EeWDsejo3zDcqw" type="5038"/>
+      <element xmi:type="uml:Comment" href="HelloWorld.uml#_2OyuALcpEeWaTqnU44XdvA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yB3BIbi2EeWDsejo3zDcqw" x="398" y="124" width="637"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_kIfpMbfoEeWaTqnU44XdvA" name="diagram_compatibility_version" stringValue="1.1.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_kIfpMrfoEeWaTqnU44XdvA"/>
+    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_kIfpM7foEeWaTqnU44XdvA">
+      <owner xmi:type="uml:Package" href="HelloWorld.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    </styles>
+    <element xmi:type="uml:Package" href="HelloWorld.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_p1IQQbi2EeWDsejo3zDcqw" type="StereotypeCommentLink" source="_p03KgLi2EeWDsejo3zDcqw" target="_p1HpMLi2EeWDsejo3zDcqw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_p1IQQri2EeWDsejo3zDcqw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_p1I3Ubi2EeWDsejo3zDcqw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="HelloWorld.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_p1IQQ7i2EeWDsejo3zDcqw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1IQRLi2EeWDsejo3zDcqw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1I3ULi2EeWDsejo3zDcqw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_2DiG0Li2EeWDsejo3zDcqw" type="4013" source="_yB3BILi2EeWDsejo3zDcqw" target="_p03KgLi2EeWDsejo3zDcqw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_2DiG0bi2EeWDsejo3zDcqw"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2DiG0ri2EeWDsejo3zDcqw" points="[398, 154, -643984, -643984]$[297, 170, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2DuUELi2EeWDsejo3zDcqw" id="(0.0,0.8166666666666667)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2DuUEbi2EeWDsejo3zDcqw" id="(1.0,0.6826923076923077)"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorld.uml b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorld.uml
new file mode 100644
index 0000000..2302967
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorld.uml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc">
+  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="HelloWorld">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_C_CORE/componentlib.uml#_O6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="components">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_-Hd2MDecEeGPyrZ5I3hMlA" annotatedElement="_tyiqsc__Ed-TP80eVS-2Rg">
+        <body>Simple HelloWorld component that prints a message in its &quot;run&quot; operation that is provided via the &quot;start&quot; port
+</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_0D64MDedEeGPyrZ5I3hMlA">
+        <annotatedElement xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+        <body>Part of the Qompass core model library. Provides the specific port &quot;start&quot;. The &quot;run&quot; operation (defined within interface IStart) of this port is called by generated boot-code after instantiation and configuration of a component. </body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Class" xmi:id="_tyiqsc__Ed-TP80eVS-2Rg" name="HelloWorld">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_SxvpUFT0EeKvFeqt5Q_lqw" annotatedElement="_8pupUFTzEeKvFeqt5Q_lqw">
+          <body>Configuration attribute within the Hello World component. Its value is configured on the instance level.</body>
+        </ownedComment>
+        <ownedComment xmi:type="uml:Comment" xmi:id="_2OyuALcpEeWaTqnU44XdvA" annotatedElement="_UtCt0FTzEeKvFeqt5Q_lqw">
+          <body>The operation &quot;run&quot; is defined in interface IRunnnable that is provided by the IStart port. The synchronisation mechanism in Qompass (&quot;Sync. derived element&quot;, needs to be triggered by user) adds a corresponding &quot;derived&quot; operation to the class </body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="_tyiqss__Ed-TP80eVS-2Rg">
+          <general xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+        </generalization>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_8pupUFTzEeKvFeqt5Q_lqw" name="message" visibility="public" aggregation="composite">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__HwK8FTzEeKvFeqt5Q_lqw" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__HwyAFTzEeKvFeqt5Q_lqw" value="1"/>
+        </ownedAttribute>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_Us15gFTzEeKvFeqt5Q_lqw" name="derived realization of IStart" client="_tyiqsc__Ed-TP80eVS-2Rg">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+          <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+        </interfaceRealization>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_tyjRwc__Ed-TP80eVS-2Rg" name="run" specification="_UtCt0FTzEeKvFeqt5Q_lqw">
+          <language>C/C++</language>
+          <body>cout &lt;&lt; &quot;Hello world: &quot; &lt;&lt; message &lt;&lt; endl;</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_UtCt0FTzEeKvFeqt5Q_lqw" name="run" method="_tyjRwc__Ed-TP80eVS-2Rg"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="System">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_gV1cgDLiEd2RVeNawwNNzg" name="hello" visibility="public" type="_tyiqsc__Ed-TP80eVS-2Rg" isUnique="false" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dCT24G6JEeGqWMX2LwdLDw" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dCUd8G6JEeGqWMX2LwdLDw" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_dCWTIG6JEeGqWMX2LwdLDw">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_v3fMgDLiEd2RVeNawwNNzg" name="platform">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_jhF3sDegEeGPyrZ5I3hMlA" annotatedElement="_zY9vMDLiEd2RVeNawwNNzg">
+        <body>Simple single node configuration. TargetOS is set to Linux, but will work on any OS, since this simple example does not use the OS abstraction layer</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="MonoNode"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_tZvNQDefEeGPyrZ5I3hMlA" name="Platform">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_4HAoQDefEeGPyrZ5I3hMlA" name="monoNode" visibility="public" type="_zY9vMDLiEd2RVeNawwNNzg" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6WEg0DefEeGPyrZ5I3hMlA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6WFu8DefEeGPyrZ5I3hMlA" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_6WHkIDefEeGPyrZ5I3hMlA">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_YxI8IDegEeGPyrZ5I3hMlA" name="HWArchitecturePlatform">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_GQ1ekKwHEeCQX8uv_p0Q4A" name="monoNode" classifier="_zY9vMDLiEd2RVeNawwNNzg"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_VMRFgDOJEeC7y-fR3OSnFw">
+        <body>This configuration requires the installation of the OTF trace library.&lt;br /></body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_gdeyMDefEeGPyrZ5I3hMlA">
+        <body>Cross references to composite diagram</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_oZw8kFWiEeKOivupHOJ8Ew" annotatedElement="_yl9-AFT2EeKvFeqt5Q_lqw">
+        <body>Deployment plan for system, i.e. set of instance specification along with configuration and allocation</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Package" xmi:id="_yl9-AFT2EeKvFeqt5Q_lqw" name="SystemDepPlan">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_wAbboFZVEeKKZs15rvNNjA" annotatedElement="_ymErsFT2EeKvFeqt5Q_lqw _ymQR4FT2EeKvFeqt5Q_lqw">
+          <body>Value mainInstance.hello is a UML instance-value, i.e. a reference to the instance specification on the left.
+&quot;Test message&quot; is a StringValue initializing the message attribute</body>
+        </ownedComment>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ymErsFT2EeKvFeqt5Q_lqw" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg">
+          <slot xmi:type="uml:Slot" xmi:id="_ymQ48FT2EeKvFeqt5Q_lqw" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_ymRgAFT2EeKvFeqt5Q_lqw" instance="_ymQR4FT2EeKvFeqt5Q_lqw"/>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ymQR4FT2EeKvFeqt5Q_lqw" name="mainInstance.hello" classifier="_tyiqsc__Ed-TP80eVS-2Rg">
+          <slot xmi:type="uml:Slot" xmi:id="_tfj4gFUwEeKdxoQIVxFNNg" definingFeature="_8pupUFTzEeKvFeqt5Q_lqw">
+            <value xmi:type="uml:LiteralString" xmi:id="_tfni4FUwEeKdxoQIVxFNNg" name="value for message" value="&quot;Test message&quot;">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            </value>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_UPx34FWUEeKdxoQIVxFNNg" name="allocate mainInstance to monoNode" client="_ymErsFT2EeKvFeqt5Q_lqw" supplier="_GQ1ekKwHEeCQX8uv_p0Q4A"/>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_GcC0cAHtEd6HSdiss9GQ0A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Gd1kMAHtEd6HSdiss9GQ0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_z1TwgFW3Ed63BrxiKsw-0Q">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z2GasFW3Ed63BrxiKsw-0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_sfyAwEbjEd-l4NeVOJZDkA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_siunEEbjEd-l4NeVOJZDkA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//GCM"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_YgAioAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_popJkKmqEeCxII-g1_Lmeg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_p1PbIKmqEeCxII-g1_Lmeg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_yNSZIAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_tZuBwE0tEeG4IqgA7gSE6w">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tisXkE0tEeG4IqgA7gSE6w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+  </uml:Model>
+  <C_Cpp:Include xmi:id="_11OtwPcaEd-KM6l7lmIPkw" body="#include &lt;iostream>&#xA;using namespace std;" base_class="_tyiqsc__Ed-TP80eVS-2Rg"/>
+  <FCM:Target xmi:id="_LD_uICr7EeCfcI_SvPT4lw" base_Node="_zY9vMDLiEd2RVeNawwNNzg">
+    <targetArch xmi:type="FCM:TargetArchitecture" href="pathmap://DML_C_CORE/componentlib.uml#_FYOqwF0OEd-12d_h0i1xhQ"/>
+    <usedOS xmi:type="FCM:OperatingSystem" href="pathmap://DML_C_CORE/componentlib.uml#_1eULwF0NEd-12d_h0i1xhQ"/>
+  </FCM:Target>
+  <Transformation:DerivedElement xmi:id="_UtTMgFTzEeKvFeqt5Q_lqw" base_Element="_UtCt0FTzEeKvFeqt5Q_lqw">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+  </Transformation:DerivedElement>
+  <FCM:ConfigurationProperty xmi:id="_KTwJUFT0EeKvFeqt5Q_lqw" base_Property="_8pupUFTzEeKvFeqt5Q_lqw"/>
+  <Deployment:DeploymentPlan xmi:id="_ymC2gFT2EeKvFeqt5Q_lqw" mainInstance="_ymErsFT2EeKvFeqt5Q_lqw" base_Package="_yl9-AFT2EeKvFeqt5Q_lqw"/>
+  <Alloc:Allocate xmi:id="_UP7B0FWUEeKdxoQIVxFNNg" base_Abstraction="_UPx34FWUEeKdxoQIVxFNNg"/>
+  <FCM:CodeGenOptions xmi:id="_1uf4ENykEeKPWMO32vUmzw" base_Package="_LOqIEDLaEd2qeKRLMdIx_A">
+    <progLanguage xmi:type="FCM:ProgLanguage" href="pathmap://DML_C_CORE/componentlib.uml#_5WrSINzEEeKPWMO32vUmzw"/>
+  </FCM:CodeGenOptions>
+</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorldC.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di
copy to transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorldC.di
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorldC.notation b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorldC.notation
new file mode 100644
index 0000000..01c2801
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorldC.notation
@@ -0,0 +1,662 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_7kc7YM__Ed-TP80eVS-2Rg" type="CompositeStructure" name="HelloWorldComponent" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_8LSR4M__Ed-TP80eVS-2Rg" type="Class_Shape" fontName="" fontHeight="10" fillColor="8905185" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LSR4s__Ed-TP80eVS-2Rg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LSR48__Ed-TP80eVS-2Rg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LS48M__Ed-TP80eVS-2Rg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LS48c__Ed-TP80eVS-2Rg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LS48s__Ed-TP80eVS-2Rg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LS488__Ed-TP80eVS-2Rg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8LS49M__Ed-TP80eVS-2Rg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8LS49c__Ed-TP80eVS-2Rg" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_8rDfAFTzEeKvFeqt5Q_lqw" type="Property_Shape" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8rGiUFTzEeKvFeqt5Q_lqw" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8rGiUVTzEeKvFeqt5Q_lqw" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8rGiUlTzEeKvFeqt5Q_lqw" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8rGiU1TzEeKvFeqt5Q_lqw" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8rGiVFTzEeKvFeqt5Q_lqw" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8rGiVVTzEeKvFeqt5Q_lqw" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_8rHJYFTzEeKvFeqt5Q_lqw" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CBQusFT0EeKvFeqt5Q_lqw" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CGsoUFT0EeKvFeqt5Q_lqw" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_8rHJYVTzEeKvFeqt5Q_lqw" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_8rHJYlTzEeKvFeqt5Q_lqw" showTitle="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8rHJY1TzEeKvFeqt5Q_lqw"/>
+          </children>
+          <element xmi:type="uml:Property" href="HelloWorldC.uml#_8pupUFTzEeKvFeqt5Q_lqw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8rDfAVTzEeKvFeqt5Q_lqw" x="40" y="30" width="163"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_e93c8C1QEea25uwDpRQuxg" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_e93c8S1QEea25uwDpRQuxg"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_e93c8y1QEea25uwDpRQuxg" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Property" href="HelloWorldC.uml#_8pupUFTzEeKvFeqt5Q_lqw"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e93c8i1QEea25uwDpRQuxg" x="200" y="100"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8LS49s__Ed-TP80eVS-2Rg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7kMQFWUEeKdxoQIVxFNNg" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7kMQVWUEeKdxoQIVxFNNg" showTitle="true"/>
+        <element xmi:type="C_Cpp:Include" href="HelloWorldC.uml#_11OtwPcaEd-KM6l7lmIPkw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7kMQlWUEeKdxoQIVxFNNg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_6UeXAFWUEeKdxoQIVxFNNg" type="Port_Shape" fontName="Sans Serif" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ue-EFWUEeKdxoQIVxFNNg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Ue-EVWUEeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ue-ElWUEeKdxoQIVxFNNg" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Ue-E1WUEeKdxoQIVxFNNg" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ue-FFWUEeKdxoQIVxFNNg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6UflIFWUEeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_6UflIVWUEeKdxoQIVxFNNg" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_6UflIlWUEeKdxoQIVxFNNg" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_6UflI1WUEeKdxoQIVxFNNg" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_6UflJFWUEeKdxoQIVxFNNg" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UeXAVWUEeKdxoQIVxFNNg" x="-10" y="55"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_e_OH1i1QEea25uwDpRQuxg" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_e_OH1y1QEea25uwDpRQuxg"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_e_OH2S1QEea25uwDpRQuxg" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_OH2C1QEea25uwDpRQuxg" x="200" y="100"/>
+      </children>
+      <element xmi:type="uml:Class" href="HelloWorldC.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8LSR4c__Ed-TP80eVS-2Rg" x="90" y="135" width="254" height="126"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_-HlK8DecEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyADecEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyATecEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyAjecEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyAzecEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyBDecEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyBTecEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-HlyBjecEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorldC.uml#_-Hd2MDecEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-HlK8TecEeGPyrZ5I3hMlA" x="423" y="135" width="338" height="55"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_0EFQQDedEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3UDedEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3UTedEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3UjedEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3UzedEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3VDedEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3VTedEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0EF3VjedEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorldC.uml#_0D64MDedEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0EFQQTedEeGPyrZ5I3hMlA" x="423" y="18" width="338"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_SypoQFT0EeKvFeqt5Q_lqw" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SyqPUFT0EeKvFeqt5Q_lqw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SyqPUVT0EeKvFeqt5Q_lqw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SyqPUlT0EeKvFeqt5Q_lqw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SyqPU1T0EeKvFeqt5Q_lqw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SyqPVFT0EeKvFeqt5Q_lqw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SyqPVVT0EeKvFeqt5Q_lqw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_SyqPVlT0EeKvFeqt5Q_lqw" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorldC.uml#_SxvpUFT0EeKvFeqt5Q_lqw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SypoQVT0EeKvFeqt5Q_lqw" x="420" y="220" width="341" height="45"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_rjTBsFWUEeKdxoQIVxFNNg" type="Class_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rjTowFWUEeKdxoQIVxFNNg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rjTowVWUEeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rjTowlWUEeKdxoQIVxFNNg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rjTow1WUEeKdxoQIVxFNNg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rjToxFWUEeKdxoQIVxFNNg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rjUP0FWUEeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rjUP0VWUEeKdxoQIVxFNNg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_rjUP0lWUEeKdxoQIVxFNNg" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_rjUP01WUEeKdxoQIVxFNNg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rjUP1FWUEeKdxoQIVxFNNg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_wd8WwFWUEeKdxoQIVxFNNg" type="Port_Shape" fontName="Sans Serif" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wd890FWUEeKdxoQIVxFNNg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wd890VWUEeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wd890lWUEeKdxoQIVxFNNg" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wd8901WUEeKdxoQIVxFNNg" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wd891FWUEeKdxoQIVxFNNg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wd891VWUEeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_wd891lWUEeKdxoQIVxFNNg" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_wd9k4FWUEeKdxoQIVxFNNg" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_wd9k4VWUEeKdxoQIVxFNNg" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_wd9k4lWUEeKdxoQIVxFNNg" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wd8WwVWUEeKdxoQIVxFNNg" x="-10" y="27"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_e_Ou8y1QEea25uwDpRQuxg" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_e_Ou9C1QEea25uwDpRQuxg"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_e_Ou9i1QEea25uwDpRQuxg" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_Ou9S1QEea25uwDpRQuxg" x="200" y="100"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rjTBsVWUEeKdxoQIVxFNNg" x="90" y="18" width="253" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_fEfpYC1QEea25uwDpRQuxg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_fEfpYS1QEea25uwDpRQuxg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fEfpYy1QEea25uwDpRQuxg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="HelloWorldC.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fEfpYi1QEea25uwDpRQuxg" x="290" y="135"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_7kc7Yc__Ed-TP80eVS-2Rg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_e_sB4C1QEea25uwDpRQuxg" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="HelloWorldC.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_uHz6kP8nEd-hWJO6cv3VJA" type="Generalization_Edge" source="_8LSR4M__Ed-TP80eVS-2Rg" target="_rjTBsFWUEeKdxoQIVxFNNg" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_uH0hoP8nEd-hWJO6cv3VJA" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uH0hof8nEd-hWJO6cv3VJA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_uHz6kf8nEd-hWJO6cv3VJA" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="HelloWorldC.uml#_tyiqss__Ed-TP80eVS-2Rg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uHz6kv8nEd-hWJO6cv3VJA" points="[-103, -45, 204, 90]$[-307, -135, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_k9HpoC1QEea25uwDpRQuxg" id="(0.5118110236220472,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zpY_EFWUEeKdxoQIVxFNNg" id="(0.4782608695652174,0.8571428571428571)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_FOfGwDeeEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_0EFQQDedEeGPyrZ5I3hMlA" target="_rjTBsFWUEeKdxoQIVxFNNg" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_FOfGwTeeEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FOfGwjeeEeGPyrZ5I3hMlA" points="[423, 60, -643984, -643984]$[343, 60, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FOwMgDeeEeGPyrZ5I3hMlA" id="(0.0,0.4329896907216495)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FOwMgTeeEeGPyrZ5I3hMlA" id="(1.0,0.5753424657534246)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_F4Ju0DeeEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_-HlK8DecEeGPyrZ5I3hMlA" target="_8LSR4M__Ed-TP80eVS-2Rg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_F4Ju0TeeEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_F4Ju0jeeEeGPyrZ5I3hMlA" points="[-25, 3, 78, 0]$[-80, -2, 23, -5]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F4a0kDeeEeGPyrZ5I3hMlA" id="(0.006779661016949152,0.509090909090909)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F4a0kTeeEeGPyrZ5I3hMlA" id="(0.9921259842519685,0.26605504587155965)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_YapykFT0EeKvFeqt5Q_lqw" type="Comment_AnnotatedElementEdge" source="_SypoQFT0EeKvFeqt5Q_lqw" target="_8rDfAFTzEeKvFeqt5Q_lqw" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_YapykVT0EeKvFeqt5Q_lqw" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YapyklT0EeKvFeqt5Q_lqw" points="[422, 220, -643984, -643984]$[360, 220, -643984, -643984]$[360, 240, -643984, -643984]$[299, 240, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ya7fYFT0EeKvFeqt5Q_lqw" id="(0.0,0.3508771929824561)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ya7fYVT0EeKvFeqt5Q_lqw" id="(1.0,0.75)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_e94EAC1QEea25uwDpRQuxg" type="StereotypeCommentLink" source="_8rDfAFTzEeKvFeqt5Q_lqw" target="_e93c8C1QEea25uwDpRQuxg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_e94EAS1QEea25uwDpRQuxg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_e94EBS1QEea25uwDpRQuxg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Property" href="HelloWorldC.uml#_8pupUFTzEeKvFeqt5Q_lqw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e94EAi1QEea25uwDpRQuxg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e94EAy1QEea25uwDpRQuxg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e94EBC1QEea25uwDpRQuxg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_e_OH2i1QEea25uwDpRQuxg" type="StereotypeCommentLink" source="_6UeXAFWUEeKdxoQIVxFNNg" target="_e_OH1i1QEea25uwDpRQuxg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_e_OH2y1QEea25uwDpRQuxg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_e_OH3y1QEea25uwDpRQuxg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e_OH3C1QEea25uwDpRQuxg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e_OH3S1QEea25uwDpRQuxg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e_OH3i1QEea25uwDpRQuxg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_e_Ou9y1QEea25uwDpRQuxg" type="StereotypeCommentLink" source="_wd8WwFWUEeKdxoQIVxFNNg" target="_e_Ou8y1QEea25uwDpRQuxg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_e_Ou-C1QEea25uwDpRQuxg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_e_PV8i1QEea25uwDpRQuxg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e_Ou-S1QEea25uwDpRQuxg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e_PV8C1QEea25uwDpRQuxg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e_PV8S1QEea25uwDpRQuxg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_fEfpZC1QEea25uwDpRQuxg" type="StereotypeCommentLink" source="_8LSR4M__Ed-TP80eVS-2Rg" target="_fEfpYC1QEea25uwDpRQuxg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_fEfpZS1QEea25uwDpRQuxg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fEfpaS1QEea25uwDpRQuxg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="HelloWorldC.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fEfpZi1QEea25uwDpRQuxg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fEfpZy1QEea25uwDpRQuxg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fEfpaC1QEea25uwDpRQuxg"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_o6ZisNCREd-hqYHBJe17_Q" type="CompositeStructure" name="System" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_VSa6YNHtEd-A1oPfP47IaQ" type="Class_Shape" fontName="" fontHeight="10" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScIgNHtEd-A1oPfP47IaQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvkNHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScvkdHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvktHtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScvk9HtEd-A1oPfP47IaQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvlNHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_VScvldHtEd-A1oPfP47IaQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_VScvltHtEd-A1oPfP47IaQ" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_XsS70NHtEd-A1oPfP47IaQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi4NHtEd-A1oPfP47IaQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi4dHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi4tHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi49HtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi5NHtEd-A1oPfP47IaQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi5dHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_XsTi5tHtEd-A1oPfP47IaQ" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yonwwFTzEeKvFeqt5Q_lqw" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yzIXoFTzEeKvFeqt5Q_lqw" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_XsTi59HtEd-A1oPfP47IaQ" type="Property_StructureCompartment">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XsUJ8NHtEd-A1oPfP47IaQ"/>
+          </children>
+          <element xmi:type="uml:Property" href="HelloWorldC.uml#_gV1cgDLiEd2RVeNawwNNzg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XsS70dHtEd-A1oPfP47IaQ" x="40" y="20" width="193" height="85"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VScvl9HtEd-A1oPfP47IaQ"/>
+      </children>
+      <element xmi:type="uml:Class" href="HelloWorldC.uml#_bYJagDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VSa6YdHtEd-A1oPfP47IaQ" x="18" y="18" width="280" height="172"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_o6ZisdCREd-hqYHBJe17_Q"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_fE9jcC1QEea25uwDpRQuxg" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="HelloWorldC.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_U1UegPcXEd-KM6l7lmIPkw" type="PapyrusUMLClassDiagram" name="deployment" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_FGfloCghEeCw56aD7XrQhw" type="Diagram_ShortcutShape" element="_7kc7YM__Ed-TP80eVS-2Rg" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGgMsCghEeCw56aD7XrQhw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGgMsSghEeCw56aD7XrQhw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGgMsighEeCw56aD7XrQhw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGgMsyghEeCw56aD7XrQhw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGlsQCghEeCw56aD7XrQhw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGmTUCghEeCw56aD7XrQhw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_FGmTUSghEeCw56aD7XrQhw" type="Diagram_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_FGmTUighEeCw56aD7XrQhw" x="54" y="3"/>
+      </children>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FGfloSghEeCw56aD7XrQhw" x="54" y="24" width="34" height="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gdmuADefEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdmuAjefEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdmuAzefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdmuBDefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdmuBTefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdnVEDefEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdnVETefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_gdnVEjefEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorldC.uml#_gdeyMDefEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gdmuATefEeGPyrZ5I3hMlA" x="315" y="18" width="226" height="37"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_-4h4YFWREeKdxoQIVxFNNg" type="Package_Shape" fontName="Sans Serif" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-4k7sFWREeKdxoQIVxFNNg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-4k7sVWREeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-4k7slWREeKdxoQIVxFNNg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-4k7s1WREeKdxoQIVxFNNg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-4liwFWREeKdxoQIVxFNNg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-4liwVWREeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-4liwlWREeKdxoQIVxFNNg" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_fGso0C1QEea25uwDpRQuxg" type="Package_PackagedElementCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_ZQjFQFWjEeKOivupHOJ8Ew" type="InstanceSpecification_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZQjsUFWjEeKOivupHOJ8Ew" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZQjsUVWjEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZQjsUlWjEeKOivupHOJ8Ew" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZQkTYFWjEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZQkTYVWjEeKOivupHOJ8Ew" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZQkTYlWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_ZQkTY1WjEeKOivupHOJ8Ew" type="InstanceSpecification_NameLabel_CN"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_ZQkTZFWjEeKOivupHOJ8Ew" type="InstanceSpecification_SlotCompartment_CN">
+            <children xmi:type="notation:Shape" xmi:id="_ET2zcFWkEeKOivupHOJ8Ew" type="Slot_SlotLabel" fontName="Sans Serif" lineColor="0">
+              <element xmi:type="uml:Slot" href="HelloWorldC.uml#_ymQ48FT2EeKvFeqt5Q_lqw"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_ET2zcVWkEeKOivupHOJ8Ew" x="58" y="15"/>
+            </children>
+            <styles xmi:type="notation:TitleStyle" xmi:id="_ZQkTZVWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_ZQkTZlWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_ZQkTZ1WjEeKOivupHOJ8Ew"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZQkTaFWjEeKOivupHOJ8Ew"/>
+          </children>
+          <element xmi:type="uml:InstanceSpecification" href="HelloWorldC.uml#_ymErsFT2EeKvFeqt5Q_lqw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZQjFQVWjEeKOivupHOJ8Ew" x="10" y="12" width="235" height="46"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Z7T5gFWjEeKOivupHOJ8Ew" type="InstanceSpecification_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UgkFWjEeKOivupHOJ8Ew" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7UgkVWjEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UgklWjEeKOivupHOJ8Ew" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7Ugk1WjEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UglFWjEeKOivupHOJ8Ew" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7UglVWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Z7UgllWjEeKOivupHOJ8Ew" type="InstanceSpecification_NameLabel_CN"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_Z7Ugl1WjEeKOivupHOJ8Ew" type="InstanceSpecification_SlotCompartment_CN">
+            <children xmi:type="notation:Shape" xmi:id="_6VXKAFWjEeKOivupHOJ8Ew" type="Slot_SlotLabel" fontName="Sans Serif" lineColor="0">
+              <element xmi:type="uml:Slot" href="HelloWorldC.uml#_tfj4gFUwEeKdxoQIVxFNNg"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_6VXKAVWjEeKOivupHOJ8Ew" x="26" y="15"/>
+            </children>
+            <styles xmi:type="notation:TitleStyle" xmi:id="_Z7UgmFWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_Z7UgmVWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_Z7UgmlWjEeKOivupHOJ8Ew"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7Ugm1WjEeKOivupHOJ8Ew"/>
+          </children>
+          <element xmi:type="uml:InstanceSpecification" href="HelloWorldC.uml#_ymQR4FT2EeKvFeqt5Q_lqw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7T5gVWjEeKOivupHOJ8Ew" x="10" y="115" width="235" height="64"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_85kMIFWjEeKOivupHOJ8Ew" type="InstanceSpecification_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_85kzMFWjEeKOivupHOJ8Ew" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_85kzMVWjEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_85kzMlWjEeKOivupHOJ8Ew" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_85kzM1WjEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_85kzNFWjEeKOivupHOJ8Ew" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_85kzNVWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_85kzNlWjEeKOivupHOJ8Ew" type="InstanceSpecification_NameLabel_CN"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_85kzN1WjEeKOivupHOJ8Ew" visible="false" type="InstanceSpecification_SlotCompartment_CN">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_85laQFWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_85laQVWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_85laQlWjEeKOivupHOJ8Ew"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_85laQ1WjEeKOivupHOJ8Ew"/>
+          </children>
+          <element xmi:type="uml:InstanceSpecification" href="HelloWorldC.uml#_GQ1ekKwHEeCQX8uv_p0Q4A"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_85kMIVWjEeKOivupHOJ8Ew" x="352" y="12" width="163" height="46"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_wCUSAFZVEeKKZs15rvNNjA" type="Comment_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCX8YFZVEeKKZs15rvNNjA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCX8YVZVEeKKZs15rvNNjA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCX8YlZVEeKKZs15rvNNjA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCYjcFZVEeKKZs15rvNNjA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCYjcVZVEeKKZs15rvNNjA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCYjclZVEeKKZs15rvNNjA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_wCYjc1ZVEeKKZs15rvNNjA" type="Comment_BodyLabel_CN"/>
+          <element xmi:type="uml:Comment" href="HelloWorldC.uml#_wAbboFZVEeKKZs15rvNNjA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wCUSAVZVEeKKZs15rvNNjA" x="298" y="94" width="208" height="83"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_fJDZQC1QEea25uwDpRQuxg" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_fJDZQS1QEea25uwDpRQuxg"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fJDZQy1QEea25uwDpRQuxg" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Abstraction" href="HelloWorldC.uml#_UPx34FWUEeKdxoQIVxFNNg"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fJDZQi1QEea25uwDpRQuxg" x="100" y="100"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_-4lixFWREeKdxoQIVxFNNg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-4lixVWREeKdxoQIVxFNNg"/>
+      </children>
+      <element xmi:type="uml:Package" href="HelloWorldC.uml#_yl9-AFT2EeKvFeqt5Q_lqw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-4h4YVWREeKdxoQIVxFNNg" x="30" y="180" width="551" height="261"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_obNuEFWiEeKOivupHOJ8Ew" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obQxYFWiEeKOivupHOJ8Ew" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obQxYVWiEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obQxYlWiEeKOivupHOJ8Ew" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obQxY1WiEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obRYcFWiEeKOivupHOJ8Ew" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obRYcVWiEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_obRYclWiEeKOivupHOJ8Ew" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorldC.uml#_oZw8kFWiEeKOivupHOJ8Ew"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_obNuEVWiEeKOivupHOJ8Ew" x="315" y="90" width="226" height="51"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_fI3zEC1QEea25uwDpRQuxg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_fI3zES1QEea25uwDpRQuxg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fI3zEy1QEea25uwDpRQuxg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="HelloWorldC.uml#_yl9-AFT2EeKvFeqt5Q_lqw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fI3zEi1QEea25uwDpRQuxg" x="230" y="160"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_U1UegfcXEd-KM6l7lmIPkw"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_fGtP4C1QEea25uwDpRQuxg" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="HelloWorldC.uml#_234GEDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_86CtQFWjEeKOivupHOJ8Ew" type="Abstraction_Edge" source="_ZQjFQFWjEeKOivupHOJ8Ew" target="_85kMIFWjEeKOivupHOJ8Ew" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_86D7YFWjEeKOivupHOJ8Ew" type="Abstraction_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_86D7YVWjEeKOivupHOJ8Ew" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_86D7YlWjEeKOivupHOJ8Ew" type="Abstraction_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_86D7Y1WjEeKOivupHOJ8Ew" x="-34" y="-13"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_86CtQVWjEeKOivupHOJ8Ew" fontName="Sans Serif"/>
+      <element xmi:type="uml:Abstraction" href="HelloWorldC.uml#_UPx34FWUEeKdxoQIVxFNNg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_86CtQlWjEeKOivupHOJ8Ew" points="[82, 237, -643984, -643984]$[469, 260, -643984, -643984]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Sqs9MFWkEeKOivupHOJ8Ew" type="Comment_AnnotatedElementEdge" source="_obNuEFWiEeKOivupHOJ8Ew" target="_-4h4YFWREeKdxoQIVxFNNg" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Sqs9MVWkEeKOivupHOJ8Ew" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Sqs9MlWkEeKOivupHOJ8Ew" points="[460, 162, -643984, -643984]$[460, 219, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SrQW0FWkEeKOivupHOJ8Ew" id="(0.6415929203539823,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SrQW0VWkEeKOivupHOJ8Ew" id="(0.7992565055762082,0.1780821917808219)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_7O5fMFZVEeKKZs15rvNNjA" type="Comment_AnnotatedElementEdge" source="_wCUSAFZVEeKKZs15rvNNjA" target="_ZQjFQFWjEeKOivupHOJ8Ew" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_7O5fMVZVEeKKZs15rvNNjA" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7O5fMlZVEeKKZs15rvNNjA" points="[334, 320, -643984, -643984]$[163, 320, -643984, -643984]$[163, 283, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7PO2YFZVEeKKZs15rvNNjA" id="(0.0,0.008547008547008548)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_x9wOYC1QEea25uwDpRQuxg" id="(0.4851063829787234,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_71Q7oFZVEeKKZs15rvNNjA" type="Comment_AnnotatedElementEdge" source="_wCUSAFZVEeKKZs15rvNNjA" target="_Z7T5gFWjEeKOivupHOJ8Ew" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_71Q7oVZVEeKKZs15rvNNjA" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_71Q7olZVEeKKZs15rvNNjA" points="[334, 380, -643984, -643984]$[281, 380, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_71iBYFZVEeKKZs15rvNNjA" id="(0.0,0.5213675213675214)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_71iBYVZVEeKKZs15rvNNjA" id="(1.0,0.625)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_fI4aIC1QEea25uwDpRQuxg" type="StereotypeCommentLink" source="_-4h4YFWREeKdxoQIVxFNNg" target="_fI3zEC1QEea25uwDpRQuxg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_fI4aIS1QEea25uwDpRQuxg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fI4aJS1QEea25uwDpRQuxg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="HelloWorldC.uml#_yl9-AFT2EeKvFeqt5Q_lqw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fI4aIi1QEea25uwDpRQuxg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fI4aIy1QEea25uwDpRQuxg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fI4aJC1QEea25uwDpRQuxg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_fJDZRC1QEea25uwDpRQuxg" type="StereotypeCommentLink" source="_86CtQFWjEeKOivupHOJ8Ew" target="_fJDZQC1QEea25uwDpRQuxg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_fJDZRS1QEea25uwDpRQuxg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fJDZSS1QEea25uwDpRQuxg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Abstraction" href="HelloWorldC.uml#_UPx34FWUEeKdxoQIVxFNNg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fJDZRi1QEea25uwDpRQuxg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fJDZRy1QEea25uwDpRQuxg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fJDZSC1QEea25uwDpRQuxg"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_0rwpYDefEeGPyrZ5I3hMlA" type="CompositeStructure" name="HWArchitecture" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_1w2CIDefEeGPyrZ5I3hMlA" type="Class_Shape" fontName="" fontHeight="10" fillColor="10011046" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pMDefEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pMTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pMjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pMzefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pNDefEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pNTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_1w2pNjefEeGPyrZ5I3hMlA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1w2pNzefEeGPyrZ5I3hMlA" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_4HLnYDefEeGPyrZ5I3hMlA" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOcDefEeGPyrZ5I3hMlA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOcTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOcjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOczefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOdDefEeGPyrZ5I3hMlA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOdTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_4HMOdjefEeGPyrZ5I3hMlA" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ENwn8FWjEeKOivupHOJ8Ew" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EUBoAFWjEeKOivupHOJ8Ew" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_4HMOdzefEeGPyrZ5I3hMlA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_4HMOeDefEeGPyrZ5I3hMlA" showTitle="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4HMOeTefEeGPyrZ5I3hMlA"/>
+          </children>
+          <element xmi:type="uml:Property" href="HelloWorldC.uml#_4HAoQDefEeGPyrZ5I3hMlA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4HLnYTefEeGPyrZ5I3hMlA" x="34" y="27" width="208"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1w2pODefEeGPyrZ5I3hMlA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w2pOTefEeGPyrZ5I3hMlA"/>
+      </children>
+      <element xmi:type="uml:Class" href="HelloWorldC.uml#_tZvNQDefEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w2CITefEeGPyrZ5I3hMlA" x="81" y="63" width="300" height="154"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7qMbIDefEeGPyrZ5I3hMlA" type="Node_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCMDefEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCMTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCMjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCMzefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCNDefEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCNTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_7qNCNjefEeGPyrZ5I3hMlA" type="Node_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7qNCNzefEeGPyrZ5I3hMlA" visible="false" type="Node_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7qNCODefEeGPyrZ5I3hMlA" showTitle="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7qNCOTefEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_fJWUMy1QEea25uwDpRQuxg" type="StereotypeCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fJmL0C1QEea25uwDpRQuxg" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fJmL0S1QEea25uwDpRQuxg" key="visible" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_fJWUNy1QEea25uwDpRQuxg" type="StereotypeProperty">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fJmy4C1QEea25uwDpRQuxg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fJmy4S1QEea25uwDpRQuxg" key="visible" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#__5rAUGE_Ed-eArNXja7SuA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_fJWUOC1QEea25uwDpRQuxg"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_fJWUOS1QEea25uwDpRQuxg" visible="false" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_C5WBYGGLEd-yH9S4VNNbSQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_fJWUOi1QEea25uwDpRQuxg"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_fJWUOy1QEea25uwDpRQuxg" type="StereotypeProperty">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fJmy4i1QEea25uwDpRQuxg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fJmy4y1QEea25uwDpRQuxg" key="visible" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_BZCjMJOGEd-5qPBhYeIVtw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_fJWUPC1QEea25uwDpRQuxg"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_fJWUPS1QEea25uwDpRQuxg" visible="false" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_D-cckJPxEd-UMN59oR7XbA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_fJWUPi1QEea25uwDpRQuxg"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_fJWUPy1QEea25uwDpRQuxg" visible="false" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_HtMmQJPxEd-UMN59oR7XbA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_fJWUQC1QEea25uwDpRQuxg"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_fJW7QC1QEea25uwDpRQuxg" visible="false" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_8g_IsNTGEeKiLbHSN_MIRQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_fJW7QS1QEea25uwDpRQuxg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_fJWUNC1QEea25uwDpRQuxg"/>
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_fJWUNS1QEea25uwDpRQuxg" name="stereotype" stringValue="FCM::Target"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fJWUNi1QEea25uwDpRQuxg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_fJWUMC1QEea25uwDpRQuxg" visible="false" type="StereotypeLabel">
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_fJWUMS1QEea25uwDpRQuxg" name="stereotype" stringValue="FCM::Target"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fJWUMi1QEea25uwDpRQuxg"/>
+      </children>
+      <element xmi:type="uml:Node" href="HelloWorldC.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7qMbITefEeGPyrZ5I3hMlA" x="441" y="63" width="171" height="99"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_jhQ20DegEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ20jegEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ20zegEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ21DegEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ21TegEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ21jegEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ21zegEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_jhRd4DegEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorldC.uml#_jhF3sDegEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jhQ20TegEeGPyrZ5I3hMlA" x="438" y="199" width="277"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_fJkWoC1QEea25uwDpRQuxg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_fJkWoS1QEea25uwDpRQuxg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fJkWoy1QEea25uwDpRQuxg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Node" href="HelloWorldC.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fJkWoi1QEea25uwDpRQuxg" x="200" y="100"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_0rwpYTefEeGPyrZ5I3hMlA"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_fJnZ8C1QEea25uwDpRQuxg" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="HelloWorldC.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_ugb6IDegEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_jhQ20DegEeGPyrZ5I3hMlA" target="_7qMbIDefEeGPyrZ5I3hMlA" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ugb6ITegEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ugb6IjegEeGPyrZ5I3hMlA" points="[513, 183, -643984, -643984]$[513, 172, -643984, -643984]$[515, 172, -643984, -643984]$[515, 162, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ugs_4DegEeGPyrZ5I3hMlA" id="(0.2815884476534296,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ugs_4TegEeGPyrZ5I3hMlA" id="(0.43859649122807015,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_fJkWpC1QEea25uwDpRQuxg" type="StereotypeCommentLink" source="_7qMbIDefEeGPyrZ5I3hMlA" target="_fJkWoC1QEea25uwDpRQuxg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_fJkWpS1QEea25uwDpRQuxg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fJkWqS1QEea25uwDpRQuxg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Node" href="HelloWorldC.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fJkWpi1QEea25uwDpRQuxg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fJkWpy1QEea25uwDpRQuxg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fJkWqC1QEea25uwDpRQuxg"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_ovKvYFWjEeKOivupHOJ8Ew" type="PapyrusUMLDeploymentDiagram" name="NewDeploymentDiagram" measurementUnit="Pixel">
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_ovKvYVWjEeKOivupHOJ8Ew"/>
+    <element xmi:type="uml:Package" href="HelloWorldC.uml#_234GEDLiEd2RVeNawwNNzg"/>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorldC.uml b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorldC.uml
new file mode 100644
index 0000000..ec62051
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorldC.uml
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc">
+  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="HelloWorld">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_C_CORE/componentlib.uml#_O6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="components">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_-Hd2MDecEeGPyrZ5I3hMlA" annotatedElement="_tyiqsc__Ed-TP80eVS-2Rg">
+        <body>&lt;p>Simple HelloWorld component that prints a message in its &amp;quot;run&amp;quot; operation that is provided via the &amp;quot;start&amp;quot; port&lt;/p>
+</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_0D64MDedEeGPyrZ5I3hMlA">
+        <annotatedElement xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+        <body>&lt;p>Part of the Qompass core model library. Provides the specific port &amp;quot;start&amp;quot;. The &amp;quot;run&amp;quot; operation (defined within interface IStart) of this port is called by generated boot-code after instantiation and configuration of a component.&lt;/p>
+</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Class" xmi:id="_tyiqsc__Ed-TP80eVS-2Rg" name="HelloWorld">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_SxvpUFT0EeKvFeqt5Q_lqw" annotatedElement="_8pupUFTzEeKvFeqt5Q_lqw">
+          <body>&lt;p>Configuration attribute within the Hello World component. Its value is configured on the instance level.&lt;/p>
+</body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="_tyiqss__Ed-TP80eVS-2Rg">
+          <general xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+        </generalization>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_8pupUFTzEeKvFeqt5Q_lqw" name="message" visibility="public" aggregation="composite">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__HwK8FTzEeKvFeqt5Q_lqw" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__HwyAFTzEeKvFeqt5Q_lqw" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="__HynMFTzEeKvFeqt5Q_lqw">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_Us15gFTzEeKvFeqt5Q_lqw" name="derived realization of IStart" client="_tyiqsc__Ed-TP80eVS-2Rg">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+          <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+        </interfaceRealization>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_tyjRwc__Ed-TP80eVS-2Rg" name="run" specification="_UtCt0FTzEeKvFeqt5Q_lqw">
+          <language>C/C++</language>
+          <body>printf (&quot;Hello world: %s&quot;, message);</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_UtCt0FTzEeKvFeqt5Q_lqw" name="run" method="_tyjRwc__Ed-TP80eVS-2Rg"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="System">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_gV1cgDLiEd2RVeNawwNNzg" name="hello" visibility="public" type="_tyiqsc__Ed-TP80eVS-2Rg" isUnique="false" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dCT24G6JEeGqWMX2LwdLDw" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dCUd8G6JEeGqWMX2LwdLDw" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_dCWTIG6JEeGqWMX2LwdLDw">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_v3fMgDLiEd2RVeNawwNNzg" name="platform">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_jhF3sDegEeGPyrZ5I3hMlA" annotatedElement="_zY9vMDLiEd2RVeNawwNNzg">
+        <body>Simple single node configuration. TargetOS is set to Linux, but will work on any OS, since this simple example does not use the OS abstraction layer</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="MonoNode"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_tZvNQDefEeGPyrZ5I3hMlA" name="Platform">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_4HAoQDefEeGPyrZ5I3hMlA" name="monoNode" visibility="public" type="_zY9vMDLiEd2RVeNawwNNzg" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6WEg0DefEeGPyrZ5I3hMlA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6WFu8DefEeGPyrZ5I3hMlA" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_6WHkIDefEeGPyrZ5I3hMlA">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_YxI8IDegEeGPyrZ5I3hMlA" name="HWArchitecturePlatform">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_GQ1ekKwHEeCQX8uv_p0Q4A" name="monoNode" classifier="_zY9vMDLiEd2RVeNawwNNzg"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_VMRFgDOJEeC7y-fR3OSnFw">
+        <body>This configuration requires the installation of the OTF trace library.&lt;br /></body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_gdeyMDefEeGPyrZ5I3hMlA">
+        <body>&lt;p>Cross references to composite diagram&lt;/p>
+</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_oZw8kFWiEeKOivupHOJ8Ew" annotatedElement="_yl9-AFT2EeKvFeqt5Q_lqw">
+        <body>&lt;p>Deployment plan for system, i.e. set of instance specification along with configuration and allocation&lt;/p>
+</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Package" xmi:id="_yl9-AFT2EeKvFeqt5Q_lqw" name="SystemDepPlan">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_wAbboFZVEeKKZs15rvNNjA" annotatedElement="_ymErsFT2EeKvFeqt5Q_lqw _ymQR4FT2EeKvFeqt5Q_lqw">
+          <body>Value mainInstance.hello is a UML instance-value, i.e. a reference to the instance specification on the left.
+&quot;Test message&quot; is a StringValue initializing the message attribute</body>
+        </ownedComment>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ymErsFT2EeKvFeqt5Q_lqw" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg">
+          <slot xmi:type="uml:Slot" xmi:id="_ymQ48FT2EeKvFeqt5Q_lqw" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_ymRgAFT2EeKvFeqt5Q_lqw" instance="_ymQR4FT2EeKvFeqt5Q_lqw"/>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ymQR4FT2EeKvFeqt5Q_lqw" name="mainInstance.hello" classifier="_tyiqsc__Ed-TP80eVS-2Rg">
+          <slot xmi:type="uml:Slot" xmi:id="_tfj4gFUwEeKdxoQIVxFNNg" definingFeature="_8pupUFTzEeKvFeqt5Q_lqw">
+            <value xmi:type="uml:LiteralString" xmi:id="_tfni4FUwEeKdxoQIVxFNNg" name="value for message" value="&quot;Test message&quot;">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            </value>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_UPx34FWUEeKdxoQIVxFNNg" name="allocate mainInstance to monoNode" client="_ymErsFT2EeKvFeqt5Q_lqw" supplier="_GQ1ekKwHEeCQX8uv_p0Q4A"/>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_GcC0cAHtEd6HSdiss9GQ0A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Gd1kMAHtEd6HSdiss9GQ0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_z1TwgFW3Ed63BrxiKsw-0Q">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z2GasFW3Ed63BrxiKsw-0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_sfyAwEbjEd-l4NeVOJZDkA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_siunEEbjEd-l4NeVOJZDkA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//GCM"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_YgAioAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_popJkKmqEeCxII-g1_Lmeg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_p1PbIKmqEeCxII-g1_Lmeg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_yNSZIAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_tZuBwE0tEeG4IqgA7gSE6w">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tisXkE0tEeG4IqgA7gSE6w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+  </uml:Model>
+  <C_Cpp:Include xmi:id="_11OtwPcaEd-KM6l7lmIPkw" body="#include &lt;stdio.h>" base_class="_tyiqsc__Ed-TP80eVS-2Rg"/>
+  <FCM:Target xmi:id="_LD_uICr7EeCfcI_SvPT4lw" base_Node="_zY9vMDLiEd2RVeNawwNNzg">
+    <targetArch xmi:type="FCM:TargetArchitecture" href="pathmap://DML_C_CORE/componentlib.uml#_FYOqwF0OEd-12d_h0i1xhQ"/>
+    <usedOS xmi:type="FCM:OperatingSystem" href="pathmap://DML_C_CORE/componentlib.uml#_1eULwF0NEd-12d_h0i1xhQ"/>
+  </FCM:Target>
+  <Transformation:DerivedElement xmi:id="_UtTMgFTzEeKvFeqt5Q_lqw" base_Element="_UtCt0FTzEeKvFeqt5Q_lqw">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+  </Transformation:DerivedElement>
+  <FCM:ConfigurationProperty xmi:id="_KTwJUFT0EeKvFeqt5Q_lqw" base_Property="_8pupUFTzEeKvFeqt5Q_lqw"/>
+  <Deployment:DeploymentPlan xmi:id="_ymC2gFT2EeKvFeqt5Q_lqw" mainInstance="_ymErsFT2EeKvFeqt5Q_lqw" base_Package="_yl9-AFT2EeKvFeqt5Q_lqw"/>
+  <Alloc:Allocate xmi:id="_UP7B0FWUEeKdxoQIVxFNNg" base_Abstraction="_UPx34FWUEeKdxoQIVxFNNg"/>
+  <FCM:CodeGenOptions xmi:id="_1uf4ENykEeKPWMO32vUmzw" base_Package="_LOqIEDLaEd2qeKRLMdIx_A">
+    <progLanguage href="pathmap://DML_C_CORE/componentlib.uml#_74ZoANzEEeKPWMO32vUmzw"/>
+  </FCM:CodeGenOptions>
+</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorldJava.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di
copy to transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorldJava.di
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorldJava.notation b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorldJava.notation
new file mode 100644
index 0000000..d9fe526
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorldJava.notation
@@ -0,0 +1,680 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_7kc7YM__Ed-TP80eVS-2Rg" type="CompositeStructure" name="HelloWorldComponent" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_8LSR4M__Ed-TP80eVS-2Rg" type="Class_Shape" fontName="" fontHeight="10" fillColor="8905185" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LSR4s__Ed-TP80eVS-2Rg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LSR48__Ed-TP80eVS-2Rg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LS48M__Ed-TP80eVS-2Rg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LS48c__Ed-TP80eVS-2Rg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LS48s__Ed-TP80eVS-2Rg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LS488__Ed-TP80eVS-2Rg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8LS49M__Ed-TP80eVS-2Rg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_EQ80cPt2EeWCnMkQqeR-Qg" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_8rDfAFTzEeKvFeqt5Q_lqw" type="Property_Shape" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8rGiUFTzEeKvFeqt5Q_lqw" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8rGiUVTzEeKvFeqt5Q_lqw" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8rGiUlTzEeKvFeqt5Q_lqw" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8rGiU1TzEeKvFeqt5Q_lqw" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8rGiVFTzEeKvFeqt5Q_lqw" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8rGiVVTzEeKvFeqt5Q_lqw" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4k6AsHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4k7O0Hk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4urnwHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_8rHJYFTzEeKvFeqt5Q_lqw" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CBQusFT0EeKvFeqt5Q_lqw" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CGsoUFT0EeKvFeqt5Q_lqw" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_EQ9bgPt2EeWCnMkQqeR-Qg" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_8rHJYlTzEeKvFeqt5Q_lqw" showTitle="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8rHJY1TzEeKvFeqt5Q_lqw"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_pc5KUtp_EeWr5tIXyQonbg" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_pc5KU9p_EeWr5tIXyQonbg" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="HelloWorldJava.uml#_8pupUFTzEeKvFeqt5Q_lqw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8rDfAVTzEeKvFeqt5Q_lqw" x="40" y="30" width="163"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_pkoxENp_EeWr5tIXyQonbg" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_pkoxEdp_EeWr5tIXyQonbg" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pkoxE9p_EeWr5tIXyQonbg" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Property" href="HelloWorldJava.uml#_8pupUFTzEeKvFeqt5Q_lqw"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pkoxEtp_EeWr5tIXyQonbg" x="240" y="30"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8LS49s__Ed-TP80eVS-2Rg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7kMQFWUEeKdxoQIVxFNNg" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7kMQVWUEeKdxoQIVxFNNg" showTitle="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7kMQlWUEeKdxoQIVxFNNg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_6UeXAFWUEeKdxoQIVxFNNg" type="Port_Shape" fontName="Sans Serif" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ue-EFWUEeKdxoQIVxFNNg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Ue-EVWUEeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ue-ElWUEeKdxoQIVxFNNg" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Ue-E1WUEeKdxoQIVxFNNg" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ue-FFWUEeKdxoQIVxFNNg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6UflIFWUEeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_6UflIVWUEeKdxoQIVxFNNg" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_6UflIlWUEeKdxoQIVxFNNg" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_6UflI1WUEeKdxoQIVxFNNg" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_6UflJFWUEeKdxoQIVxFNNg" x="25" y="-10"/>
+        </children>
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_fV6D0LkXEeS7TYMQS2xzng" name="maskLabel">
+          <stringListValue>multiplicity</stringListValue>
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6UeXAVWUEeKdxoQIVxFNNg" y="50"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_pc5KUNp_EeWr5tIXyQonbg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_pc5KUdp_EeWr5tIXyQonbg" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="HelloWorldJava.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8LSR4c__Ed-TP80eVS-2Rg" x="80" y="160" width="254" height="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_-HlK8DecEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyADecEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyATecEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyAjecEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyAzecEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyBDecEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyBTecEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-HlyBjecEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorldJava.uml#_-Hd2MDecEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-HlK8TecEeGPyrZ5I3hMlA" x="420" y="135" width="301" height="55"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_0EFQQDedEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3UDedEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3UTedEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3UjedEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3UzedEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3VDedEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3VTedEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0EF3VjedEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorldJava.uml#_0D64MDedEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0EFQQTedEeGPyrZ5I3hMlA" x="420" y="18" width="301"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_SypoQFT0EeKvFeqt5Q_lqw" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SyqPUFT0EeKvFeqt5Q_lqw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SyqPUVT0EeKvFeqt5Q_lqw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SyqPUlT0EeKvFeqt5Q_lqw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SyqPU1T0EeKvFeqt5Q_lqw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SyqPVFT0EeKvFeqt5Q_lqw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SyqPVVT0EeKvFeqt5Q_lqw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_SyqPVlT0EeKvFeqt5Q_lqw" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorldJava.uml#_SxvpUFT0EeKvFeqt5Q_lqw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SypoQVT0EeKvFeqt5Q_lqw" x="420" y="220" width="301" height="45"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_rjTBsFWUEeKdxoQIVxFNNg" type="Class_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rjTowFWUEeKdxoQIVxFNNg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rjTowVWUEeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rjTowlWUEeKdxoQIVxFNNg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rjTow1WUEeKdxoQIVxFNNg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rjToxFWUEeKdxoQIVxFNNg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rjUP0FWUEeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rjUP0VWUEeKdxoQIVxFNNg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_EUQAEPt2EeWCnMkQqeR-Qg" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_rjUP01WUEeKdxoQIVxFNNg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rjUP1FWUEeKdxoQIVxFNNg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_wd8WwFWUEeKdxoQIVxFNNg" type="Port_Shape" fontName="Sans Serif" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wd890FWUEeKdxoQIVxFNNg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wd890VWUEeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wd890lWUEeKdxoQIVxFNNg" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wd8901WUEeKdxoQIVxFNNg" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wd891FWUEeKdxoQIVxFNNg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wd891VWUEeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_wd891lWUEeKdxoQIVxFNNg" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_wd9k4FWUEeKdxoQIVxFNNg" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_wd9k4VWUEeKdxoQIVxFNNg" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_wd9k4lWUEeKdxoQIVxFNNg" x="25" y="-10"/>
+        </children>
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_hG-_4LkXEeS7TYMQS2xzng" name="maskLabel">
+          <stringListValue>multiplicity</stringListValue>
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wd8WwVWUEeKdxoQIVxFNNg" x="-10" y="27"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_pc5KVNp_EeWr5tIXyQonbg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_pc5KVdp_EeWr5tIXyQonbg" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rjTBsVWUEeKdxoQIVxFNNg" x="90" y="18" width="253" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pkx7ANp_EeWr5tIXyQonbg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pkx7Adp_EeWr5tIXyQonbg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pkx7A9p_EeWr5tIXyQonbg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pkx7Atp_EeWr5tIXyQonbg" x="200" y="50"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pk-vVtp_EeWr5tIXyQonbg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pk_WYNp_EeWr5tIXyQonbg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pk_WYtp_EeWr5tIXyQonbg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pk_WYdp_EeWr5tIXyQonbg" x="190" y="27"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_7kc7Yc__Ed-TP80eVS-2Rg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_pc5KVtp_EeWr5tIXyQonbg" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="HelloWorldJava.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_uHz6kP8nEd-hWJO6cv3VJA" type="Generalization_Edge" source="_8LSR4M__Ed-TP80eVS-2Rg" target="_rjTBsFWUEeKdxoQIVxFNNg" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_uH0hoP8nEd-hWJO6cv3VJA" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uH0hof8nEd-hWJO6cv3VJA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_uHz6kf8nEd-hWJO6cv3VJA" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="HelloWorldJava.uml#_tyiqss__Ed-TP80eVS-2Rg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uHz6kv8nEd-hWJO6cv3VJA" points="[-103, -45, 204, 90]$[-307, -135, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YcZOULkXEeS7TYMQS2xzng" id="(0.515748031496063,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zpY_EFWUEeKdxoQIVxFNNg" id="(0.4782608695652174,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_FOfGwDeeEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_0EFQQDedEeGPyrZ5I3hMlA" target="_rjTBsFWUEeKdxoQIVxFNNg" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_FOfGwTeeEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FOfGwjeeEeGPyrZ5I3hMlA" points="[-6, -3, 83, 0]$[-62, -3, 27, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FOwMgDeeEeGPyrZ5I3hMlA" id="(0.020338983050847456,0.4027777777777778)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FOwMgTeeEeGPyrZ5I3hMlA" id="(0.9881422924901185,0.5753424657534246)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_F4Ju0DeeEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_-HlK8DecEeGPyrZ5I3hMlA" target="_8LSR4M__Ed-TP80eVS-2Rg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_F4Ju0TeeEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_F4Ju0jeeEeGPyrZ5I3hMlA" points="[-25, 3, 78, 0]$[-80, -2, 23, -5]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F4a0kDeeEeGPyrZ5I3hMlA" id="(0.0,0.5125)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F4a0kTeeEeGPyrZ5I3hMlA" id="(0.9448818897637795,0.1834862385321101)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_YapykFT0EeKvFeqt5Q_lqw" type="Comment_AnnotatedElementEdge" source="_SypoQFT0EeKvFeqt5Q_lqw" target="_8rDfAFTzEeKvFeqt5Q_lqw" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_YapykVT0EeKvFeqt5Q_lqw" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YapyklT0EeKvFeqt5Q_lqw" points="[420, 260, -643984, -643984]$[288, 260, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ya7fYFT0EeKvFeqt5Q_lqw" id="(0.0,0.7017543859649122)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ya7fYVT0EeKvFeqt5Q_lqw" id="(1.0,0.625)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pkoxFNp_EeWr5tIXyQonbg" type="StereotypeCommentLink" source="_8rDfAFTzEeKvFeqt5Q_lqw" target="_pkoxENp_EeWr5tIXyQonbg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pkoxFdp_EeWr5tIXyQonbg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pkoxGdp_EeWr5tIXyQonbg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Property" href="HelloWorldJava.uml#_8pupUFTzEeKvFeqt5Q_lqw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pkoxFtp_EeWr5tIXyQonbg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pkoxF9p_EeWr5tIXyQonbg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pkoxGNp_EeWr5tIXyQonbg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pkx7BNp_EeWr5tIXyQonbg" type="StereotypeCommentLink" source="_6UeXAFWUEeKdxoQIVxFNNg" target="_pkx7ANp_EeWr5tIXyQonbg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pkx7Bdp_EeWr5tIXyQonbg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pkx7Cdp_EeWr5tIXyQonbg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pkx7Btp_EeWr5tIXyQonbg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pkx7B9p_EeWr5tIXyQonbg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pkx7CNp_EeWr5tIXyQonbg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pk_WY9p_EeWr5tIXyQonbg" type="StereotypeCommentLink" source="_wd8WwFWUEeKdxoQIVxFNNg" target="_pk-vVtp_EeWr5tIXyQonbg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pk_WZNp_EeWr5tIXyQonbg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pk_WaNp_EeWr5tIXyQonbg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://DML_C_CORE/componentlib.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pk_WZdp_EeWr5tIXyQonbg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pk_WZtp_EeWr5tIXyQonbg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pk_WZ9p_EeWr5tIXyQonbg"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_o6ZisNCREd-hqYHBJe17_Q" type="CompositeStructure" name="System" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_VSa6YNHtEd-A1oPfP47IaQ" type="Class_Shape" fontName="" fontHeight="10" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScIgNHtEd-A1oPfP47IaQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvkNHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScvkdHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvktHtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScvk9HtEd-A1oPfP47IaQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvlNHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_VScvldHtEd-A1oPfP47IaQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_E2nGQPt2EeWCnMkQqeR-Qg" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_XsS70NHtEd-A1oPfP47IaQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi4NHtEd-A1oPfP47IaQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi4dHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi4tHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi49HtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi5NHtEd-A1oPfP47IaQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi5dHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6iThgHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6iUvoHk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6o-xQHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_XsTi5tHtEd-A1oPfP47IaQ" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yonwwFTzEeKvFeqt5Q_lqw" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yzIXoFTzEeKvFeqt5Q_lqw" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_E2ntUPt2EeWCnMkQqeR-Qg" type="Property_StructureCompartment">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XsUJ8NHtEd-A1oPfP47IaQ"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_plRqQtp_EeWr5tIXyQonbg" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_plRqQ9p_EeWr5tIXyQonbg" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="HelloWorldJava.uml#_gV1cgDLiEd2RVeNawwNNzg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XsS70dHtEd-A1oPfP47IaQ" x="40" y="20" width="193" height="85"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VScvl9HtEd-A1oPfP47IaQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_plRqQNp_EeWr5tIXyQonbg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_plRqQdp_EeWr5tIXyQonbg" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="HelloWorldJava.uml#_bYJagDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VSa6YdHtEd-A1oPfP47IaQ" x="18" y="18" width="280" height="172"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_o6ZisdCREd-hqYHBJe17_Q"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_plRqRNp_EeWr5tIXyQonbg" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="HelloWorldJava.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_U1UegPcXEd-KM6l7lmIPkw" type="PapyrusUMLClassDiagram" name="deployment" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_FGfloCghEeCw56aD7XrQhw" type="Diagram_ShortcutShape" element="_7kc7YM__Ed-TP80eVS-2Rg" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGgMsCghEeCw56aD7XrQhw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGgMsSghEeCw56aD7XrQhw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGgMsighEeCw56aD7XrQhw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGgMsyghEeCw56aD7XrQhw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGlsQCghEeCw56aD7XrQhw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGmTUCghEeCw56aD7XrQhw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_FGmTUSghEeCw56aD7XrQhw" type="Diagram_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_FGmTUighEeCw56aD7XrQhw" x="54" y="3"/>
+      </children>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FGfloSghEeCw56aD7XrQhw" x="54" y="24" width="34" height="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gdmuADefEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdmuAjefEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdmuAzefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdmuBDefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdmuBTefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdnVEDefEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdnVETefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_gdnVEjefEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorldJava.uml#_gdeyMDefEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gdmuATefEeGPyrZ5I3hMlA" x="315" y="18" width="226" height="37"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_-4h4YFWREeKdxoQIVxFNNg" type="Package_Shape" fontName="Sans Serif" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-4k7sFWREeKdxoQIVxFNNg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-4k7sVWREeKdxoQIVxFNNg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-4k7slWREeKdxoQIVxFNNg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-4k7s1WREeKdxoQIVxFNNg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-4liwFWREeKdxoQIVxFNNg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-4liwVWREeKdxoQIVxFNNg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-4liwlWREeKdxoQIVxFNNg" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_E5tdkPt2EeWCnMkQqeR-Qg" type="Package_PackagedElementCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_ZQjFQFWjEeKOivupHOJ8Ew" type="InstanceSpecification_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZQjsUFWjEeKOivupHOJ8Ew" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZQjsUVWjEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZQjsUlWjEeKOivupHOJ8Ew" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZQkTYFWjEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZQkTYVWjEeKOivupHOJ8Ew" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZQkTYlWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8slAsHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8slnwHk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8-kvoHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_ZQkTY1WjEeKOivupHOJ8Ew" type="InstanceSpecification_NameLabel_CN"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_E5ursPt2EeWCnMkQqeR-Qg" type="InstanceSpecification_SlotCompartment_CN">
+            <children xmi:type="notation:Shape" xmi:id="_ET2zcFWkEeKOivupHOJ8Ew" type="Slot_SlotLabel" fontName="Sans Serif" lineColor="0">
+              <element xmi:type="uml:Slot" href="HelloWorldJava.uml#_ymQ48FT2EeKvFeqt5Q_lqw"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_ET2zcVWkEeKOivupHOJ8Ew" x="58" y="15"/>
+            </children>
+            <styles xmi:type="notation:TitleStyle" xmi:id="_ZQkTZVWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_ZQkTZlWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_ZQkTZ1WjEeKOivupHOJ8Ew"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZQkTaFWjEeKOivupHOJ8Ew"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_pm6pANp_EeWr5tIXyQonbg" type="InstanceSpecification_FloatingNameLabel_CN">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_pm6pAdp_EeWr5tIXyQonbg" y="5"/>
+          </children>
+          <element xmi:type="uml:InstanceSpecification" href="HelloWorldJava.uml#_ymErsFT2EeKvFeqt5Q_lqw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZQjFQVWjEeKOivupHOJ8Ew" x="15" y="13" width="261" height="57"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Z7T5gFWjEeKOivupHOJ8Ew" type="InstanceSpecification_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UgkFWjEeKOivupHOJ8Ew" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7UgkVWjEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UgklWjEeKOivupHOJ8Ew" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7Ugk1WjEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UglFWjEeKOivupHOJ8Ew" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7UglVWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8smO0nk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8smO03k1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8-nL4Hk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Z7UgllWjEeKOivupHOJ8Ew" type="InstanceSpecification_NameLabel_CN"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_E5vSwPt2EeWCnMkQqeR-Qg" type="InstanceSpecification_SlotCompartment_CN">
+            <children xmi:type="notation:Shape" xmi:id="_6VXKAFWjEeKOivupHOJ8Ew" type="Slot_SlotLabel" fontName="Sans Serif" lineColor="0">
+              <element xmi:type="uml:Slot" href="HelloWorldJava.uml#_tfj4gFUwEeKdxoQIVxFNNg"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_6VXKAVWjEeKOivupHOJ8Ew" x="26" y="15"/>
+            </children>
+            <styles xmi:type="notation:TitleStyle" xmi:id="_Z7UgmFWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_Z7UgmVWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_Z7UgmlWjEeKOivupHOJ8Ew"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7Ugm1WjEeKOivupHOJ8Ew"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_pm6pAtp_EeWr5tIXyQonbg" type="InstanceSpecification_FloatingNameLabel_CN">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_pm6pA9p_EeWr5tIXyQonbg" y="5"/>
+          </children>
+          <element xmi:type="uml:InstanceSpecification" href="HelloWorldJava.uml#_ymQR4FT2EeKvFeqt5Q_lqw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7T5gVWjEeKOivupHOJ8Ew" x="15" y="133" width="261" height="64"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_85kMIFWjEeKOivupHOJ8Ew" type="InstanceSpecification_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_85kzMFWjEeKOivupHOJ8Ew" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_85kzMVWjEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_85kzMlWjEeKOivupHOJ8Ew" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_85kzM1WjEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_85kzNFWjEeKOivupHOJ8Ew" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_85kzNVWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8smO0Hk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8smO0Xk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8-l9wHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_85kzNlWjEeKOivupHOJ8Ew" type="InstanceSpecification_NameLabel_CN"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_E5vSwft2EeWCnMkQqeR-Qg" visible="false" type="InstanceSpecification_SlotCompartment_CN">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_85laQFWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_85laQVWjEeKOivupHOJ8Ew"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_85laQlWjEeKOivupHOJ8Ew"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_85laQ1WjEeKOivupHOJ8Ew"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_pm6pBNp_EeWr5tIXyQonbg" type="InstanceSpecification_FloatingNameLabel_CN">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_pm6pBdp_EeWr5tIXyQonbg" y="5"/>
+          </children>
+          <element xmi:type="uml:InstanceSpecification" href="HelloWorldJava.uml#_GQ1ekKwHEeCQX8uv_p0Q4A"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_85kMIVWjEeKOivupHOJ8Ew" x="375" y="13" width="163" height="46"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_wCUSAFZVEeKKZs15rvNNjA" type="Comment_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCX8YFZVEeKKZs15rvNNjA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCX8YVZVEeKKZs15rvNNjA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCX8YlZVEeKKZs15rvNNjA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCYjcFZVEeKKZs15rvNNjA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wCYjcVZVEeKKZs15rvNNjA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wCYjclZVEeKKZs15rvNNjA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_wCYjc1ZVEeKKZs15rvNNjA" type="Comment_BodyLabel_CN"/>
+          <element xmi:type="uml:Comment" href="HelloWorldJava.uml#_wAbboFZVEeKKZs15rvNNjA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wCUSAVZVEeKKZs15rvNNjA" x="325" y="97" width="208" height="83"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_-4lixFWREeKdxoQIVxFNNg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-4lixVWREeKdxoQIVxFNNg"/>
+      </children>
+      <styles xmi:type="notation:IntValueStyle" xmi:id="_u3oFQLkXEeS7TYMQS2xzng" name="shapeDirection" intValue="1"/>
+      <element xmi:type="uml:Package" href="HelloWorldJava.uml#_yl9-AFT2EeKvFeqt5Q_lqw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-4h4YVWREeKdxoQIVxFNNg" x="20" y="200" width="571" height="275"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_obNuEFWiEeKOivupHOJ8Ew" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obQxYFWiEeKOivupHOJ8Ew" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obQxYVWiEeKOivupHOJ8Ew" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obQxYlWiEeKOivupHOJ8Ew" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obQxY1WiEeKOivupHOJ8Ew" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obRYcFWiEeKOivupHOJ8Ew" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obRYcVWiEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_obRYclWiEeKOivupHOJ8Ew" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorldJava.uml#_oZw8kFWiEeKOivupHOJ8Ew"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_obNuEVWiEeKOivupHOJ8Ew" x="315" y="90" width="226" height="55"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pqN0oNp_EeWr5tIXyQonbg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pqN0odp_EeWr5tIXyQonbg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pqN0o9p_EeWr5tIXyQonbg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="HelloWorldJava.uml#_yl9-AFT2EeKvFeqt5Q_lqw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pqN0otp_EeWr5tIXyQonbg" x="220" y="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pqYMsNp_EeWr5tIXyQonbg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pqYMsdp_EeWr5tIXyQonbg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pqYMs9p_EeWr5tIXyQonbg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Abstraction" href="HelloWorldJava.uml#_UPx34FWUEeKdxoQIVxFNNg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pqYMstp_EeWr5tIXyQonbg" x="215" y="-87"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_U1UegfcXEd-KM6l7lmIPkw"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_pm6pBtp_EeWr5tIXyQonbg" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="HelloWorldJava.uml#_234GEDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_86CtQFWjEeKOivupHOJ8Ew" type="Abstraction_Edge" source="_ZQjFQFWjEeKOivupHOJ8Ew" target="_85kMIFWjEeKOivupHOJ8Ew" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_86D7YFWjEeKOivupHOJ8Ew" type="Abstraction_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_86D7YVWjEeKOivupHOJ8Ew" x="-14" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_86D7YlWjEeKOivupHOJ8Ew" type="Abstraction_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_86D7Y1WjEeKOivupHOJ8Ew" x="-4" y="-9"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_86CtQVWjEeKOivupHOJ8Ew" fontName="Sans Serif"/>
+      <element xmi:type="uml:Abstraction" href="HelloWorldJava.uml#_UPx34FWUEeKdxoQIVxFNNg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_86CtQlWjEeKOivupHOJ8Ew" points="[-81, -23, 28, 8]$[-109, -31, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zrOXILkXEeS7TYMQS2xzng" id="(1.0,0.40350877192982454)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zrOXIbkXEeS7TYMQS2xzng" id="(0.0,0.5)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Sqs9MFWkEeKOivupHOJ8Ew" type="Comment_AnnotatedElementEdge" source="_obNuEFWiEeKOivupHOJ8Ew" target="_-4h4YFWREeKdxoQIVxFNNg" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Sqs9MVWkEeKOivupHOJ8Ew" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Sqs9MlWkEeKOivupHOJ8Ew" points="[113, 34, 301, -38]$[113, 93, 301, 21]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SrQW0FWkEeKOivupHOJ8Ew" id="(0.0,0.5277777777777778)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SrQW0VWkEeKOivupHOJ8Ew" id="(0.18739054290718038,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_7O5fMFZVEeKKZs15rvNNjA" type="Comment_AnnotatedElementEdge" source="_wCUSAFZVEeKKZs15rvNNjA" target="_ZQjFQFWjEeKOivupHOJ8Ew" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_7O5fMVZVEeKKZs15rvNNjA" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7O5fMlZVEeKKZs15rvNNjA" points="[350, 356, -643984, -643984]$[232, 356, -643984, -643984]$[232, 315, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7PO2YFZVEeKKZs15rvNNjA" id="(0.0,0.11965811965811966)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yzWT8LkXEeS7TYMQS2xzng" id="(0.7318007662835249,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_71Q7oFZVEeKKZs15rvNNjA" type="Comment_AnnotatedElementEdge" source="_wCUSAFZVEeKKZs15rvNNjA" target="_Z7T5gFWjEeKOivupHOJ8Ew" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_71Q7oVZVEeKKZs15rvNNjA" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_71Q7olZVEeKKZs15rvNNjA" points="[-12, 8, 82, 0]$[-73, 9, 21, 1]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_71iBYFZVEeKKZs15rvNNjA" id="(0.0,0.6410256410256411)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_71iBYVZVEeKKZs15rvNNjA" id="(1.0,0.609375)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pqN0pNp_EeWr5tIXyQonbg" type="StereotypeCommentLink" source="_-4h4YFWREeKdxoQIVxFNNg" target="_pqN0oNp_EeWr5tIXyQonbg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pqN0pdp_EeWr5tIXyQonbg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pqN0qdp_EeWr5tIXyQonbg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="HelloWorldJava.uml#_yl9-AFT2EeKvFeqt5Q_lqw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pqN0ptp_EeWr5tIXyQonbg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pqN0p9p_EeWr5tIXyQonbg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pqN0qNp_EeWr5tIXyQonbg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pqYMtNp_EeWr5tIXyQonbg" type="StereotypeCommentLink" source="_86CtQFWjEeKOivupHOJ8Ew" target="_pqYMsNp_EeWr5tIXyQonbg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pqYMtdp_EeWr5tIXyQonbg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pqYMudp_EeWr5tIXyQonbg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Abstraction" href="HelloWorldJava.uml#_UPx34FWUEeKdxoQIVxFNNg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pqYMttp_EeWr5tIXyQonbg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pqYMt9p_EeWr5tIXyQonbg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pqYMuNp_EeWr5tIXyQonbg"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_0rwpYDefEeGPyrZ5I3hMlA" type="CompositeStructure" name="HWArchitecture" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_1w2CIDefEeGPyrZ5I3hMlA" type="Class_Shape" fontName="" fontHeight="10" fillColor="10011046" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pMDefEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pMTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pMjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pMzefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pNDefEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pNTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_1w2pNjefEeGPyrZ5I3hMlA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_FEr-gPt2EeWCnMkQqeR-Qg" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_4HLnYDefEeGPyrZ5I3hMlA" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOcDefEeGPyrZ5I3hMlA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOcTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOcjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOczefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOdDefEeGPyrZ5I3hMlA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOdTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__C2UgHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__C2UgXk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__Oj1QHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_4HMOdjefEeGPyrZ5I3hMlA" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ENwn8FWjEeKOivupHOJ8Ew" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EUBoAFWjEeKOivupHOJ8Ew" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_FEr-gft2EeWCnMkQqeR-Qg" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_4HMOeDefEeGPyrZ5I3hMlA" showTitle="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4HMOeTefEeGPyrZ5I3hMlA"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_pqvZEtp_EeWr5tIXyQonbg" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_pqvZE9p_EeWr5tIXyQonbg" y="5"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_DrFGELkYEeS7TYMQS2xzng" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="HelloWorldJava.uml#_4HAoQDefEeGPyrZ5I3hMlA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4HLnYTefEeGPyrZ5I3hMlA" x="49" y="22" width="190"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1w2pODefEeGPyrZ5I3hMlA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w2pOTefEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_pqvZENp_EeWr5tIXyQonbg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_pqvZEdp_EeWr5tIXyQonbg" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="HelloWorldJava.uml#_tZvNQDefEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w2CITefEeGPyrZ5I3hMlA" x="80" y="63" width="301" height="154"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7qMbIDefEeGPyrZ5I3hMlA" type="Node_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCMDefEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCMTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCMjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCMzefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCNDefEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCNTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_7qNCNjefEeGPyrZ5I3hMlA" type="Node_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_FEr-gvt2EeWCnMkQqeR-Qg" visible="false" type="Node_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7qNCODefEeGPyrZ5I3hMlA" showTitle="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7qNCOTefEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_pqvZFNp_EeWr5tIXyQonbg" type="Node_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_pqvZFdp_EeWr5tIXyQonbg" y="5"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ptJz4Np_EeWr5tIXyQonbg" visible="false" type="StereotypeLabel">
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_ptJz4dp_EeWr5tIXyQonbg" name="stereotype" stringValue="FCM::Target"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ptJz4tp_EeWr5tIXyQonbg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ptS90Np_EeWr5tIXyQonbg" type="StereotypeCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ptbgsNp_EeWr5tIXyQonbg" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ptbgsdp_EeWr5tIXyQonbg" key="visible" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ptUL8Np_EeWr5tIXyQonbg" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#__5rAUGE_Ed-eArNXja7SuA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ptUL8dp_EeWr5tIXyQonbg"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ptUL9Np_EeWr5tIXyQonbg" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_BZCjMJOGEd-5qPBhYeIVtw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ptUL9dp_EeWr5tIXyQonbg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ptS90dp_EeWr5tIXyQonbg" showTitle="true"/>
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_ptS90tp_EeWr5tIXyQonbg" name="stereotype" stringValue="FCM::Target"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ptS909p_EeWr5tIXyQonbg"/>
+      </children>
+      <element xmi:type="uml:Node" href="HelloWorldJava.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7qMbITefEeGPyrZ5I3hMlA" x="440" y="63" width="181" height="91"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_jhQ20DegEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ20jegEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ20zegEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ21DegEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ21TegEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ21jegEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ21zegEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_jhRd4DegEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="HelloWorldJava.uml#_jhF3sDegEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jhQ20TegEeGPyrZ5I3hMlA" x="435" y="183" width="277"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_0rwpYTefEeGPyrZ5I3hMlA"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_pqvZFtp_EeWr5tIXyQonbg" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="HelloWorldJava.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_ugb6IDegEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_jhQ20DegEeGPyrZ5I3hMlA" target="_7qMbIDefEeGPyrZ5I3hMlA" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ugb6ITegEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ugb6IjegEeGPyrZ5I3hMlA" points="[-3, -6, 22, 58]$[-30, -51, -5, 13]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ugs_4DegEeGPyrZ5I3hMlA" id="(0.2815884476534296,0.05)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ugs_4TegEeGPyrZ5I3hMlA" id="(0.4420289855072464,0.8266666666666667)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_ovKvYFWjEeKOivupHOJ8Ew" type="PapyrusUMLDeploymentDiagram" name="NewDeploymentDiagram" measurementUnit="Pixel">
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_ovKvYVWjEeKOivupHOJ8Ew"/>
+    <element xmi:type="uml:Package" href="HelloWorldJava.uml#_234GEDLiEd2RVeNawwNNzg"/>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorldJava.uml b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorldJava.uml
new file mode 100644
index 0000000..b0a8da3
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/HelloWorldJava.uml
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:Codegen="http://www.eclipse.org/papyrus/Codegen/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc">
+  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="HelloWorld">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_C_CORE/componentlib.uml#_O6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="components">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_-Hd2MDecEeGPyrZ5I3hMlA" annotatedElement="_tyiqsc__Ed-TP80eVS-2Rg">
+        <body>Simple HelloWorld component that prints a message in its &quot;run&quot; operation that is provided via the &quot;start&quot; port
+</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_0D64MDedEeGPyrZ5I3hMlA">
+        <annotatedElement xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+        <body>Part of the Qompass core model library. Provides the specific port &quot;start&quot;. The &quot;run&quot; operation (defined within interface IStart) of this port is called by generated boot-code after instantiation and configuration of a component. </body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Class" xmi:id="_tyiqsc__Ed-TP80eVS-2Rg" name="HelloWorld">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_SxvpUFT0EeKvFeqt5Q_lqw" annotatedElement="_8pupUFTzEeKvFeqt5Q_lqw">
+          <body>Configuration attribute within the Hello World component. Its value is configured on the instance level.</body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="_tyiqss__Ed-TP80eVS-2Rg">
+          <general xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+        </generalization>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_8pupUFTzEeKvFeqt5Q_lqw" name="message" visibility="public" aggregation="composite">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__HwK8FTzEeKvFeqt5Q_lqw" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__HwyAFTzEeKvFeqt5Q_lqw" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="__HynMFTzEeKvFeqt5Q_lqw">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_Us15gFTzEeKvFeqt5Q_lqw" name="derived realization of IStart" client="_tyiqsc__Ed-TP80eVS-2Rg">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+          <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+        </interfaceRealization>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_tyjRwc__Ed-TP80eVS-2Rg" name="run" specification="_UtCt0FTzEeKvFeqt5Q_lqw">
+          <language>C/C++</language>
+          <language>JAVA</language>
+          <body>cout &lt;&lt; &quot;Hello world: &quot; &lt;&lt; message &lt;&lt; endl;</body>
+          <body>System.out.println(&quot;Hello&quot;);</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_UtCt0FTzEeKvFeqt5Q_lqw" name="run" method="_tyjRwc__Ed-TP80eVS-2Rg"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="System">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_gV1cgDLiEd2RVeNawwNNzg" name="hello" visibility="public" type="_tyiqsc__Ed-TP80eVS-2Rg" isUnique="false" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dCT24G6JEeGqWMX2LwdLDw" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dCUd8G6JEeGqWMX2LwdLDw" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_dCWTIG6JEeGqWMX2LwdLDw">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_v3fMgDLiEd2RVeNawwNNzg" name="platform">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_jhF3sDegEeGPyrZ5I3hMlA" annotatedElement="_zY9vMDLiEd2RVeNawwNNzg">
+        <body>Simple single node configuration. TargetOS is set to Linux, but will work on any OS, since this simple example does not use the OS abstraction layer</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="MonoNode"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_tZvNQDefEeGPyrZ5I3hMlA" name="Platform">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_4HAoQDefEeGPyrZ5I3hMlA" name="javaNode" visibility="public" type="_zY9vMDLiEd2RVeNawwNNzg" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6WEg0DefEeGPyrZ5I3hMlA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6WFu8DefEeGPyrZ5I3hMlA" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_6WHkIDefEeGPyrZ5I3hMlA">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_YxI8IDegEeGPyrZ5I3hMlA" name="HWArchitecturePlatform">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_GQ1ekKwHEeCQX8uv_p0Q4A" name="javaNode" classifier="_zY9vMDLiEd2RVeNawwNNzg"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_VMRFgDOJEeC7y-fR3OSnFw">
+        <body>This configuration requires the installation of the OTF trace library.&lt;br /></body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_gdeyMDefEeGPyrZ5I3hMlA">
+        <body>Cross references to composite diagram</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_oZw8kFWiEeKOivupHOJ8Ew" annotatedElement="_yl9-AFT2EeKvFeqt5Q_lqw">
+        <body>Deployment plan for system, i.e. set of instance specification along with configuration and allocation</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Package" xmi:id="_yl9-AFT2EeKvFeqt5Q_lqw" name="SystemDepPlan">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_wAbboFZVEeKKZs15rvNNjA" annotatedElement="_ymErsFT2EeKvFeqt5Q_lqw _ymQR4FT2EeKvFeqt5Q_lqw">
+          <body>Value mainInstance.hello is a UML instance-value, i.e. a reference to the instance specification on the left.
+&quot;Test message&quot; is a StringValue initializing the message attribute</body>
+        </ownedComment>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ymErsFT2EeKvFeqt5Q_lqw" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg">
+          <slot xmi:type="uml:Slot" xmi:id="_ymQ48FT2EeKvFeqt5Q_lqw" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_ymRgAFT2EeKvFeqt5Q_lqw" instance="_ymQR4FT2EeKvFeqt5Q_lqw"/>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ymQR4FT2EeKvFeqt5Q_lqw" name="mainInstance.hello" classifier="_tyiqsc__Ed-TP80eVS-2Rg">
+          <slot xmi:type="uml:Slot" xmi:id="_tfj4gFUwEeKdxoQIVxFNNg" definingFeature="_8pupUFTzEeKvFeqt5Q_lqw">
+            <value xmi:type="uml:LiteralString" xmi:id="_tfni4FUwEeKdxoQIVxFNNg" name="value for message" value="&quot;Test message&quot;">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            </value>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_UPx34FWUEeKdxoQIVxFNNg" name="allocate mainInstance to javaNode" client="_ymErsFT2EeKvFeqt5Q_lqw" supplier="_GQ1ekKwHEeCQX8uv_p0Q4A"/>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_z1TwgFW3Ed63BrxiKsw-0Q">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z2GasFW3Ed63BrxiKsw-0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_sfyAwEbjEd-l4NeVOJZDkA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_siunEEbjEd-l4NeVOJZDkA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//GCM"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_YgAioAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_popJkKmqEeCxII-g1_Lmeg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_p1PbIKmqEeCxII-g1_Lmeg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_yNSZIAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_tZuBwE0tEeG4IqgA7gSE6w">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tisXkE0tEeG4IqgA7gSE6w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_skgX0Pt2EeWCnMkQqeR-Qg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_skiNAPt2EeWCnMkQqeR-Qg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/PapyrusJava/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusJava_PROFILES/PapyrusJava.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_U0R90C1QEea25uwDpRQuxg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0Sk4C1QEea25uwDpRQuxg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Codegen/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Codegen_PROFILES/Codegen.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/>
+    </profileApplication>
+  </uml:Model>
+  <FCM:Target xmi:id="_LD_uICr7EeCfcI_SvPT4lw" base_Node="_zY9vMDLiEd2RVeNawwNNzg">
+    <targetArch xmi:type="FCM:TargetArchitecture" href="pathmap://DML_C_CORE/componentlib.uml#_FYOqwF0OEd-12d_h0i1xhQ"/>
+    <usedOS xmi:type="FCM:OperatingSystem" href="pathmap://DML_C_CORE/componentlib.uml#_1eULwF0NEd-12d_h0i1xhQ"/>
+  </FCM:Target>
+  <Transformation:DerivedElement xmi:id="_UtTMgFTzEeKvFeqt5Q_lqw" base_Element="_UtCt0FTzEeKvFeqt5Q_lqw">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+  </Transformation:DerivedElement>
+  <FCM:ConfigurationProperty xmi:id="_KTwJUFT0EeKvFeqt5Q_lqw" base_Property="_8pupUFTzEeKvFeqt5Q_lqw"/>
+  <Deployment:DeploymentPlan xmi:id="_ymC2gFT2EeKvFeqt5Q_lqw" mainInstance="_ymErsFT2EeKvFeqt5Q_lqw" base_Package="_yl9-AFT2EeKvFeqt5Q_lqw"/>
+  <Alloc:Allocate xmi:id="_UP7B0FWUEeKdxoQIVxFNNg" base_Abstraction="_UPx34FWUEeKdxoQIVxFNNg"/>
+  <FCM:CodeGenOptions xmi:id="_1uf4ENykEeKPWMO32vUmzw" base_Package="_LOqIEDLaEd2qeKRLMdIx_A">
+    <compToOOmapping xmi:type="FCM:CompToOOmapping" href="pathmap://DML_C_CORE/componentlib.uml#_45ldwKLvEeSBiP8ZTcBQrQ"/>
+    <progLanguage xmi:type="FCM:ProgLanguage" href="pathmap://DML_C_CORE/componentlib.uml#_9OaYsNzEEeKPWMO32vUmzw"/>
+  </FCM:CodeGenOptions>
+  <Codegen:GeneratorHint xmi:id="_Xt7EcC1QEea25uwDpRQuxg" base_Element="_O6TiIDLUEd26WNosUASSSw">
+    <language xmi:type="Codegen:Language" href="pathmap://Codegen_PROFILES/languages.uml#_2Zt6YCjREeayco6FJ_OtTQ"/>
+  </Codegen:GeneratorHint>
+</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ProducerConsumer.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di
copy to transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ProducerConsumer.di
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ProducerConsumer.notation b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ProducerConsumer.notation
new file mode 100644
index 0000000..ac857a7
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ProducerConsumer.notation
@@ -0,0 +1,1504 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_UstOsM__Ed-TP80eVS-2Rg" type="CompositeStructure" name="PushConsumer" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_VT2HMM__Ed-TP80eVS-2Rg" type="2073" fontName="" fontHeight="10" fillColor="8905185" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VT2HMs__Ed-TP80eVS-2Rg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VT2uQM__Ed-TP80eVS-2Rg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VT2uQc__Ed-TP80eVS-2Rg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VT2uQs__Ed-TP80eVS-2Rg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VT2uQ8__Ed-TP80eVS-2Rg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VT2uRM__Ed-TP80eVS-2Rg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_VT2uRc__Ed-TP80eVS-2Rg" type="5156"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_VT2uRs__Ed-TP80eVS-2Rg" type="7073">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VT2uR8__Ed-TP80eVS-2Rg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_XgvckM__Ed-TP80eVS-2Rg" type="3069" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XgwDoM__Ed-TP80eVS-2Rg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XgwDoc__Ed-TP80eVS-2Rg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XgwDos__Ed-TP80eVS-2Rg" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XgwDo8__Ed-TP80eVS-2Rg" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XgwqsM__Ed-TP80eVS-2Rg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Xgwqsc__Ed-TP80eVS-2Rg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_Xgwqss__Ed-TP80eVS-2Rg" type="5125">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Xgwqs8__Ed-TP80eVS-2Rg" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_XgwqtM__Ed-TP80eVS-2Rg" visible="false" type="6029">
+          <children xmi:type="notation:DecorationNode" xmi:id="_X_6H4A3gEeWSq5WX_4UlHg" visible="false" type="StereotypeLabel">
+            <styles xmi:type="notation:StringValueStyle" xmi:id="_X_6H4Q3gEeWSq5WX_4UlHg" name="stereotype" stringValue="MARTE::MARTE_DesignModel::GCM::FlowPort"/>
+            <element xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_xKMLYBHYEdyWC5IKDhzksw"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X_6H4g3gEeWSq5WX_4UlHg"/>
+          </children>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Xgwqtc__Ed-TP80eVS-2Rg" x="-62" y="-65"/>
+        </children>
+        <element xmi:type="uml:Port" href="ProducerConsumer.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xgvckc__Ed-TP80eVS-2Rg" y="59"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_X6kU4A3gEeWSq5WX_4UlHg" type="6089">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6kU4Q3gEeWSq5WX_4UlHg" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="ProducerConsumer.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VT2HMc__Ed-TP80eVS-2Rg" x="144" y="36" width="190" height="87"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_XfxXsDecEeGPyrZ5I3hMlA" type="2109" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Xgz5gDecEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Xgz5gTecEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Xgz5gjecEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Xgz5gzecEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Xgz5hDecEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Xgz5hTecEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Xgz5hjecEeGPyrZ5I3hMlA" type="5192"/>
+      <element xmi:type="uml:Comment" href="ProducerConsumer.uml#_XfnmsDecEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XfxXsTecEeGPyrZ5I3hMlA" x="376" y="9" width="217" height="55"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gpzeUDecEeGPyrZ5I3hMlA" type="2109" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gp0FYDecEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gp0FYTecEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gp0FYjecEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gp0FYzecEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gp0FZDecEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gp0FZTecEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_gp0FZjecEeGPyrZ5I3hMlA" type="5192"/>
+      <element xmi:type="uml:Comment" href="ProducerConsumer.uml#_gpptUDecEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gpzeUTecEeGPyrZ5I3hMlA" x="61" y="168" width="253"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_KGUHgBo3EeONpa5JgejICQ" type="2068" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KGZAABo3EeONpa5JgejICQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KGZAARo3EeONpa5JgejICQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KGZnEBo3EeONpa5JgejICQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KGZnERo3EeONpa5JgejICQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KGZnEho3EeONpa5JgejICQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KGZnExo3EeONpa5JgejICQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_KGZnFBo3EeONpa5JgejICQ" type="5120"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_KGaOIBo3EeONpa5JgejICQ" visible="false" type="7033">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_KGaOIRo3EeONpa5JgejICQ" showTitle="true"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_KGaOIho3EeONpa5JgejICQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_KGaOIxo3EeONpa5JgejICQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KGaOJBo3EeONpa5JgejICQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_KGaOJRo3EeONpa5JgejICQ" visible="false" type="7034">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_KGaOJho3EeONpa5JgejICQ" showTitle="true"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_KGaOJxo3EeONpa5JgejICQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_KGaOKBo3EeONpa5JgejICQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KGaOKRo3EeONpa5JgejICQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_X6k78A3gEeWSq5WX_4UlHg" type="6094">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_X6k78Q3gEeWSq5WX_4UlHg" y="5"/>
+      </children>
+      <element xmi:type="uml:DataType" href="ProducerConsumer.uml#_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KGUHgRo3EeONpa5JgejICQ" x="384" y="105" width="118"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_du3bcBo3EeONpa5JgejICQ" type="2109" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_du5QoBo3EeONpa5JgejICQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_du53sBo3EeONpa5JgejICQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_du53sRo3EeONpa5JgejICQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_du53sho3EeONpa5JgejICQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_du53sxo3EeONpa5JgejICQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_du53tBo3EeONpa5JgejICQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_du53tRo3EeONpa5JgejICQ" type="5192"/>
+      <element xmi:type="uml:Comment" href="ProducerConsumer.uml#_dufoABo3EeONpa5JgejICQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_du3bcRo3EeONpa5JgejICQ" x="337" y="181" width="172" height="64"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_X-vDMA3gEeWSq5WX_4UlHg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_X-vDMQ3gEeWSq5WX_4UlHg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X-vqQA3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="ProducerConsumer.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X-vDMg3gEeWSq5WX_4UlHg" x="344" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_X_c04g3gEeWSq5WX_4UlHg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_X_c04w3gEeWSq5WX_4UlHg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X_c05Q3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerConsumer.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X_c05A3gEeWSq5WX_4UlHg" x="190" y="38"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_UstOsc__Ed-TP80eVS-2Rg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_X6ljAA3gEeWSq5WX_4UlHg" name="diagram_compatibility_version" stringValue="1.1.0"/>
+    <element xmi:type="uml:Package" href="ProducerConsumer.uml#_OGM88DLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_fsWXkDecEeGPyrZ5I3hMlA" type="4002" source="_XfxXsDecEeGPyrZ5I3hMlA" target="_VT2HMM__Ed-TP80eVS-2Rg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_fsWXkTecEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fsWXkjecEeGPyrZ5I3hMlA" points="[-1, -3, 19, 74]$[4, -33, 24, 44]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fsndUDecEeGPyrZ5I3hMlA" id="(0.0,0.6805555555555556)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gO3VwKY3EeSQZvr8taS8TA" id="(1.0,0.3218390804597701)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_l-KT4DecEeGPyrZ5I3hMlA" type="4002" source="_gpzeUDecEeGPyrZ5I3hMlA" target="_XgvckM__Ed-TP80eVS-2Rg" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_l-KT4TecEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l-KT4jecEeGPyrZ5I3hMlA" points="[-4, 0, -44, 75]$[-4, -75, -44, 0]$[40, -75, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l-cAsDecEeGPyrZ5I3hMlA" id="(0.13043478260869565,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l-cAsTecEeGPyrZ5I3hMlA" id="(0.0,0.4)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_LksxEBo3EeONpa5JgejICQ" type="4010" source="_VT2HMM__Ed-TP80eVS-2Rg" target="_KGUHgBo3EeONpa5JgejICQ" routing="Rectilinear" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Lkt_MBo3EeONpa5JgejICQ" visible="false" type="6009">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_10DDsHanEeWZ8bIp2zKzdw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Lkt_MRo3EeONpa5JgejICQ" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Lkt_Mho3EeONpa5JgejICQ" type="6023">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_10NbwHanEeWZ8bIp2zKzdw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Lkt_Mxo3EeONpa5JgejICQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_LksxERo3EeONpa5JgejICQ" fontName="Sans Serif"/>
+      <element xmi:type="uml:Dependency" href="ProducerConsumer.uml#_LjkIoBo3EeONpa5JgejICQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LksxEho3EeONpa5JgejICQ" points="[334, 118, -643984, -643984]$[359, 118, -643984, -643984]$[384, 118, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lk5lYBo3EeONpa5JgejICQ" id="(1.0,0.9425287356321839)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lk5lYRo3EeONpa5JgejICQ" id="(0.0,0.325)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mz7igBo3EeONpa5JgejICQ" type="4002" source="_du3bcBo3EeONpa5JgejICQ" target="_LksxEBo3EeONpa5JgejICQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_mz7igRo3EeONpa5JgejICQ" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mz7igho3EeONpa5JgejICQ" points="[-11, -20, 25, 48]$[-39, -68, -3, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mz-l0Bo3EeONpa5JgejICQ" id="(0.09883720930232558,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mz-l0Ro3EeONpa5JgejICQ" id="(0.45535714285714285,0.15306122448979592)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_X-vqQQ3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_VT2HMM__Ed-TP80eVS-2Rg" target="_X-vDMA3gEeWSq5WX_4UlHg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_X-vqQg3gEeWSq5WX_4UlHg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X-vqRg3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="ProducerConsumer.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X-vqQw3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X-vqRA3gEeWSq5WX_4UlHg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X-vqRQ3gEeWSq5WX_4UlHg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_X_db8A3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_XgvckM__Ed-TP80eVS-2Rg" target="_X_c04g3gEeWSq5WX_4UlHg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_X_db8Q3gEeWSq5WX_4UlHg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X_db9Q3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerConsumer.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X_db8g3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X_db8w3gEeWSq5WX_4UlHg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X_db9A3gEeWSq5WX_4UlHg"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_7kc7YM__Ed-TP80eVS-2Rg" type="CompositeStructure" name="PullConsumer" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_8LSR4M__Ed-TP80eVS-2Rg" type="Class_Shape" fontName="" fontHeight="10" fillColor="8905185" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LSR4s__Ed-TP80eVS-2Rg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LSR48__Ed-TP80eVS-2Rg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LS48M__Ed-TP80eVS-2Rg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LS48c__Ed-TP80eVS-2Rg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LS48s__Ed-TP80eVS-2Rg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LS488__Ed-TP80eVS-2Rg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8LS49M__Ed-TP80eVS-2Rg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8LS49c__Ed-TP80eVS-2Rg" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8LS49s__Ed-TP80eVS-2Rg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_t6X3UJaMEeCbgbUO5qahhA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6ZFcJaMEeCbgbUO5qahhA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6ZFcZaMEeCbgbUO5qahhA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6ZsgJaMEeCbgbUO5qahhA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6ZsgZaMEeCbgbUO5qahhA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6ZsgpaMEeCbgbUO5qahhA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6Zsg5aMEeCbgbUO5qahhA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_t6ZshJaMEeCbgbUO5qahhA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__Cf7kFZ0EeK5f41mmHszag" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__K9UAFZ0EeK5f41mmHszag" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_t6ZshZaMEeCbgbUO5qahhA" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_t6aTkJaMEeCbgbUO5qahhA" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_t6aTkZaMEeCbgbUO5qahhA" x="-110"/>
+        </children>
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_zsNfQKY3EeSQZvr8taS8TA" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>derived</stringListValue>
+          <stringListValue>type</stringListValue>
+        </styles>
+        <element xmi:type="uml:Port" href="ProducerConsumer.uml#_tyiqs8__Ed-TP80eVS-2Rg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t6X3UZaMEeCbgbUO5qahhA" x="-10" y="72"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YAbFQA3gEeWSq5WX_4UlHg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YAbFQQ3gEeWSq5WX_4UlHg" y="5"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YF-ToA3gEeWSq5WX_4UlHg" visible="false" type="StereotypeLabel">
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_YF-ToQ3gEeWSq5WX_4UlHg" name="stereotype" stringValue="C_Cpp::Include"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_RwTdQByJEduN1bTiWJ0lyw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YF-Tog3gEeWSq5WX_4UlHg"/>
+      </children>
+      <element xmi:type="uml:Class" href="ProducerConsumer.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8LSR4c__Ed-TP80eVS-2Rg" x="160" y="180" width="254" height="109"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_-HlK8DecEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyADecEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyATecEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyAjecEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyAzecEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyBDecEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyBTecEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-HlyBjecEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="ProducerConsumer.uml#_-Hd2MDecEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-HlK8TecEeGPyrZ5I3hMlA" x="480" y="160" width="339" height="157"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_0EFQQDedEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3UDedEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3UTedEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3UjedEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3UzedEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3VDedEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3VTedEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0EF3VjedEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="ProducerConsumer.uml#_0D64MDedEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0EFQQTedEeGPyrZ5I3hMlA" x="480" y="40" width="338"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_YGM9IA3gEeWSq5WX_4UlHg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_YGM9IQ3gEeWSq5WX_4UlHg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YGM9Iw3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="ProducerConsumer.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YGM9Ig3gEeWSq5WX_4UlHg" x="360" y="180"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_YIifcg3gEeWSq5WX_4UlHg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_YIifcw3gEeWSq5WX_4UlHg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YIifdQ3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerConsumer.uml#_tyiqs8__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YIifdA3gEeWSq5WX_4UlHg" x="190" y="72"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_YJDc1A3gEeWSq5WX_4UlHg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_YJDc1Q3gEeWSq5WX_4UlHg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YJDc1w3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YJDc1g3gEeWSq5WX_4UlHg" x="200" y="48"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_4yNCUBbWEeasT4HdO7q9gg" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_4yPekBbWEeasT4HdO7q9gg" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_4yPekRbWEeasT4HdO7q9gg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_4yPekhbWEeasT4HdO7q9gg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_4yPekxbWEeasT4HdO7q9gg" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_4yPelBbWEeasT4HdO7q9gg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4yPelRbWEeasT4HdO7q9gg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_4zxIkBbWEeasT4HdO7q9gg" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_4zxIkRbWEeasT4HdO7q9gg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4zxIkhbWEeasT4HdO7q9gg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="__4-QsBbWEeasT4HdO7q9gg" type="Port_Shape">
+        <children xmi:type="notation:DecorationNode" xmi:id="__4-QshbWEeasT4HdO7q9gg" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__4-QsxbWEeasT4HdO7q9gg" x="20" y="10"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="__4-QtBbWEeasT4HdO7q9gg" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__4-QtRbWEeasT4HdO7q9gg" x="25" y="-10"/>
+        </children>
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_D0o1ABbXEeasT4HdO7q9gg" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_2elREMRcEeWq5unKf5DK_A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__4-QsRbWEeasT4HdO7q9gg" x="-10" y="30"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_zDDlYMRcEeWq5unKf5DK_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4yNCURbWEeasT4HdO7q9gg" x="160" y="40" width="261" height="81"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8i8TkBbXEeasT4HdO7q9gg" type="DataType_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8i9hsBbXEeasT4HdO7q9gg" type="DataType_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8i9hsRbXEeasT4HdO7q9gg" type="DataType_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8i9hshbXEeasT4HdO7q9gg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8i9hsxbXEeasT4HdO7q9gg" type="DataType_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8i9htBbXEeasT4HdO7q9gg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8i9htRbXEeasT4HdO7q9gg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8i9hthbXEeasT4HdO7q9gg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8i9htxbXEeasT4HdO7q9gg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8i-IwBbXEeasT4HdO7q9gg" visible="false" type="DataType_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8i-IwRbXEeasT4HdO7q9gg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8i-IwhbXEeasT4HdO7q9gg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8i-IwxbXEeasT4HdO7q9gg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8i-IxBbXEeasT4HdO7q9gg"/>
+      </children>
+      <element xmi:type="uml:DataType" href="ProducerConsumer.uml#_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8i8TkRbXEeasT4HdO7q9gg" x="32" y="40" width="89" height="81"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_7kc7Yc__Ed-TP80eVS-2Rg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_YAbsUA3gEeWSq5WX_4UlHg" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="ProducerConsumer.uml#_tyiqsM__Ed-TP80eVS-2Rg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_uHz6kP8nEd-hWJO6cv3VJA" type="Generalization_Edge" source="_8LSR4M__Ed-TP80eVS-2Rg" target="_4yNCUBbWEeasT4HdO7q9gg" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_uH0hoP8nEd-hWJO6cv3VJA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_77E3wBbWEeasT4HdO7q9gg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uH0hof8nEd-hWJO6cv3VJA" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_uHz6kf8nEd-hWJO6cv3VJA" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="ProducerConsumer.uml#_tyiqss__Ed-TP80eVS-2Rg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uHz6kv8nEd-hWJO6cv3VJA" points="[-103, -45, 204, 90]$[-307, -135, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_k2oLEKY3EeSQZvr8taS8TA" id="(0.47244094488188976,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_k2oLEaY3EeSQZvr8taS8TA" id="(0.45977011494252873,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_FOfGwDeeEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_0EFQQDedEeGPyrZ5I3hMlA" target="_4yNCUBbWEeasT4HdO7q9gg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_FOfGwTeeEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FOfGwjeeEeGPyrZ5I3hMlA" points="[-6, -3, 83, 0]$[-62, -3, 27, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FOwMgDeeEeGPyrZ5I3hMlA" id="(0.0,0.3333333333333333)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FOwMgTeeEeGPyrZ5I3hMlA" id="(1.0,0.43478260869565216)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_F4Ju0DeeEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_-HlK8DecEeGPyrZ5I3hMlA" target="_8LSR4M__Ed-TP80eVS-2Rg" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_F4Ju0TeeEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_F4Ju0jeeEeGPyrZ5I3hMlA" points="[480, 240, -643984, -643984]$[440, 240, -643984, -643984]$[414, 240, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F4a0kDeeEeGPyrZ5I3hMlA" id="(0.0,0.5095541401273885)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F4a0kTeeEeGPyrZ5I3hMlA" id="(1.0,0.5504587155963303)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_YGM9JA3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_8LSR4M__Ed-TP80eVS-2Rg" target="_YGM9IA3gEeWSq5WX_4UlHg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_YGM9JQ3gEeWSq5WX_4UlHg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YGM9KQ3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="ProducerConsumer.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YGM9Jg3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YGM9Jw3gEeWSq5WX_4UlHg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YGM9KA3gEeWSq5WX_4UlHg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_YIifdg3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_t6X3UJaMEeCbgbUO5qahhA" target="_YIifcg3gEeWSq5WX_4UlHg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_YIifdw3gEeWSq5WX_4UlHg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YIifew3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerConsumer.uml#_tyiqs8__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YIifeA3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YIifeQ3gEeWSq5WX_4UlHg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YIifeg3gEeWSq5WX_4UlHg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_DaxuEBbYEeasT4HdO7q9gg" type="Usage_Edge" source="_8LSR4M__Ed-TP80eVS-2Rg" target="_8i8TkBbXEeasT4HdO7q9gg" routing="Rectilinear">
+      <children xmi:type="notation:DecorationNode" xmi:id="_DayVIBbYEeasT4HdO7q9gg" type="Usage_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_DayVIRbYEeasT4HdO7q9gg" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_DayVIhbYEeasT4HdO7q9gg" type="Usage_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_DayVIxbYEeasT4HdO7q9gg" x="6" y="30"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_DaxuERbYEeasT4HdO7q9gg"/>
+      <element xmi:type="uml:Usage" href="ProducerConsumer.uml#_DarAYBbYEeasT4HdO7q9gg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DaxuEhbYEeasT4HdO7q9gg" points="[160, 220, -643984, -643984]$[80, 121, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Dbe4sBbYEeasT4HdO7q9gg" id="(0.0,0.3669724770642202)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Dbe4sRbYEeasT4HdO7q9gg" id="(0.5393258426966292,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_o6ZisNCREd-hqYHBJe17_Q" type="CompositeStructure" name="System Pull" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_VSa6YNHtEd-A1oPfP47IaQ" type="Class_Shape" fontName="" fontHeight="10" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScIgNHtEd-A1oPfP47IaQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvkNHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScvkdHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvktHtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScvk9HtEd-A1oPfP47IaQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvlNHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_VScvldHtEd-A1oPfP47IaQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_VScvltHtEd-A1oPfP47IaQ" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_XsS70NHtEd-A1oPfP47IaQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi4NHtEd-A1oPfP47IaQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi4dHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi4tHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi49HtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi5NHtEd-A1oPfP47IaQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi5dHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_XsTi5tHtEd-A1oPfP47IaQ" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5r3JsFZWEeKKZs15rvNNjA" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6tdJkFZWEeKKZs15rvNNjA" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_XsTi59HtEd-A1oPfP47IaQ" type="Property_StructureCompartment">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XsUJ8NHtEd-A1oPfP47IaQ"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_0XlXwDF1EeCpQdhNuFCtew" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0XnM8DF1EeCpQdhNuFCtew" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0XnM8TF1EeCpQdhNuFCtew" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0XnM8jF1EeCpQdhNuFCtew" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0XnM8zF1EeCpQdhNuFCtew" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0XnM9DF1EeCpQdhNuFCtew" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0XnM9TF1EeCpQdhNuFCtew" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_0Xn0ADF1EeCpQdhNuFCtew" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4jWCcFZWEeKKZs15rvNNjA" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4qOGgFZWEeKKZs15rvNNjA" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_0Xn0ATF1EeCpQdhNuFCtew" x="31" y="-1"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_0Xn0AjF1EeCpQdhNuFCtew" visible="false" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_0Xn0AzF1EeCpQdhNuFCtew" x="25" y="-10"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_ZPs70A3gEeWSq5WX_4UlHg" visible="false" type="StereotypeLabel">
+              <styles xmi:type="notation:StringValueStyle" xmi:id="_ZPs70Q3gEeWSq5WX_4UlHg" name="stereotype" stringValue="FCM::Port"/>
+              <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZPs70g3gEeWSq5WX_4UlHg"/>
+            </children>
+            <styles xmi:type="notation:StringListValueStyle" xmi:id="_UWeWAKY4EeSQZvr8taS8TA" name="maskLabel">
+              <stringListValue>name</stringListValue>
+              <stringListValue>derived</stringListValue>
+              <stringListValue>type</stringListValue>
+            </styles>
+            <element xmi:type="uml:Port" href="ProducerConsumer.uml#_tyiqs8__Ed-TP80eVS-2Rg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0XlXwTF1EeCpQdhNuFCtew" x="-10" y="50"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_YYeY4g3gEeWSq5WX_4UlHg" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_YYeY4w3gEeWSq5WX_4UlHg" y="5"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_SRdKQKY4EeSQZvr8taS8TA" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>derived</stringListValue>
+            <stringListValue>type</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="ProducerConsumer.uml#_gV1cgDLiEd2RVeNawwNNzg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XsS70dHtEd-A1oPfP47IaQ" x="435" y="15" width="201" height="85"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_YNar4NHtEd-A1oPfP47IaQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YNbS8NHtEd-A1oPfP47IaQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YNbS8dHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YNbS8tHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YNbS89HtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YNbS9NHtEd-A1oPfP47IaQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YNbS9dHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_YNbS9tHtEd-A1oPfP47IaQ" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7rNyUFZWEeKKZs15rvNNjA" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7ztnAFZWEeKKZs15rvNNjA" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_YNbS99HtEd-A1oPfP47IaQ" type="Property_StructureCompartment">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YNbS-NHtEd-A1oPfP47IaQ"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_zmq8ANHtEd-A1oPfP47IaQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zmsKINHtEd-A1oPfP47IaQ" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zmsKIdHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zmsKItHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zmsKI9HtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zmsKJNHtEd-A1oPfP47IaQ" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zmsKJdHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_zmsKJtHtEd-A1oPfP47IaQ" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_34a2IFZWEeKKZs15rvNNjA" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4ARKkFZWEeKKZs15rvNNjA" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_zmsxMNHtEd-A1oPfP47IaQ" x="-84" y="1"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_zmsxMdHtEd-A1oPfP47IaQ" visible="false" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_zmsxMtHtEd-A1oPfP47IaQ" x="25" y="-10"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_ZQZfYA3gEeWSq5WX_4UlHg" visible="false" type="StereotypeLabel">
+              <styles xmi:type="notation:StringValueStyle" xmi:id="_ZQZfYQ3gEeWSq5WX_4UlHg" name="stereotype" stringValue="FCM::Port"/>
+              <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZQZfYg3gEeWSq5WX_4UlHg"/>
+            </children>
+            <styles xmi:type="notation:StringListValueStyle" xmi:id="_WObWIKY4EeSQZvr8taS8TA" name="maskLabel">
+              <stringListValue>name</stringListValue>
+              <stringListValue>derived</stringListValue>
+              <stringListValue>type</stringListValue>
+            </styles>
+            <element xmi:type="uml:Port" href="ProducerConsumer.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zmq8AdHtEd-A1oPfP47IaQ" x="159" y="48"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_YYeY5A3gEeWSq5WX_4UlHg" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_YYeY5Q3gEeWSq5WX_4UlHg" y="5"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_S5Ys8KY4EeSQZvr8taS8TA" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>derived</stringListValue>
+            <stringListValue>type</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="ProducerConsumer.uml#_i-I7gDLiEd2RVeNawwNNzg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YNar4dHtEd-A1oPfP47IaQ" x="34" y="17" width="169" height="85"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_JusbQDbdEeGdqp2YT1LwWw" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JutCUDbdEeGdqp2YT1LwWw" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JutCUTbdEeGdqp2YT1LwWw" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JutCUjbdEeGdqp2YT1LwWw" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JutCUzbdEeGdqp2YT1LwWw" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JutCVDbdEeGdqp2YT1LwWw" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JutCVTbdEeGdqp2YT1LwWw" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_JutCVjbdEeGdqp2YT1LwWw" type="Comment_BodyLabel"/>
+          <element xmi:type="uml:Comment" href="ProducerConsumer.uml#_JuaHYDbdEeGdqp2YT1LwWw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JusbQTbdEeGdqp2YT1LwWw" x="435" y="115" width="161" height="81"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_lM7ZUDeeEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lM7ZUjeeEeGPyrZ5I3hMlA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lM7ZUzeeEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lM8AYDeeEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lM8AYTeeEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lM8AYjeeEeGPyrZ5I3hMlA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lM8AYzeeEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_lM8AZDeeEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+          <element xmi:type="uml:Comment" href="ProducerConsumer.uml#_lMxBQDeeEeGPyrZ5I3hMlA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lM7ZUTeeEeGPyrZ5I3hMlA" x="95" y="115" width="323"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_d2a9kBSoEeOUifYpcO0mcw" type="Property_Shape" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d2a9khSoEeOUifYpcO0mcw" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_d2a9kxSoEeOUifYpcO0mcw" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d2a9lBSoEeOUifYpcO0mcw" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_d2a9lRSoEeOUifYpcO0mcw" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d2a9lhSoEeOUifYpcO0mcw" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_d2bkoBSoEeOUifYpcO0mcw" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_d2bkoRSoEeOUifYpcO0mcw" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tR2w0BSoEeOUifYpcO0mcw" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tb5doBSoEeOUifYpcO0mcw" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_d2bkohSoEeOUifYpcO0mcw" type="Property_StructureCompartment" collapsed="true">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_d2bkoxSoEeOUifYpcO0mcw"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_d2bkpBSoEeOUifYpcO0mcw"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_YYeY5g3gEeWSq5WX_4UlHg" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_YYeY5w3gEeWSq5WX_4UlHg" y="5"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_cMJ40KY4EeSQZvr8taS8TA" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>derived</stringListValue>
+            <stringListValue>type</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="ProducerConsumer.uml#_d2B8ABSoEeOUifYpcO0mcw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_d2a9kRSoEeOUifYpcO0mcw" x="34" y="275" width="172"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ejQ1cBSoEeOUifYpcO0mcw" type="Property_Shape" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ejRcgBSoEeOUifYpcO0mcw" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ejRcgRSoEeOUifYpcO0mcw" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ejRcghSoEeOUifYpcO0mcw" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ejRcgxSoEeOUifYpcO0mcw" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ejRchBSoEeOUifYpcO0mcw" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ejRchRSoEeOUifYpcO0mcw" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_ejSDkBSoEeOUifYpcO0mcw" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_riH4kBSoEeOUifYpcO0mcw" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r4zTMBSoEeOUifYpcO0mcw" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_ejSDkRSoEeOUifYpcO0mcw" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_ejSDkhSoEeOUifYpcO0mcw"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ejSDkxSoEeOUifYpcO0mcw"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_YYeY6A3gEeWSq5WX_4UlHg" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_YYeY6Q3gEeWSq5WX_4UlHg" y="5"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_bcQF4KY4EeSQZvr8taS8TA" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>derived</stringListValue>
+            <stringListValue>type</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="ProducerConsumer.uml#_ei8sYBSoEeOUifYpcO0mcw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ejQ1cRSoEeOUifYpcO0mcw" x="435" y="275" width="201"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ZP36-A3gEeWSq5WX_4UlHg" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_ZP36-Q3gEeWSq5WX_4UlHg" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZP36-w3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="ProducerConsumer.uml#_tyiqs8__Ed-TP80eVS-2Rg"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZP36-g3gEeWSq5WX_4UlHg" x="190" y="50"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ZQPuYA3gEeWSq5WX_4UlHg" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_ZQPuYQ3gEeWSq5WX_4UlHg" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZQPuYw3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Abstraction" href="ProducerConsumer.uml#_9dY5YBSqEeOUifYpcO0mcw"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZQPuYg3gEeWSq5WX_4UlHg" x="100" y="100"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ZQp-FA3gEeWSq5WX_4UlHg" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_ZQp-FQ3gEeWSq5WX_4UlHg" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZQp-Fw3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="ProducerConsumer.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZQp-Fg3gEeWSq5WX_4UlHg" x="359" y="48"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ZQ85AA3gEeWSq5WX_4UlHg" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_ZQ85AQ3gEeWSq5WX_4UlHg" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZQ85Aw3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Connector" href="ProducerConsumer.uml#_efVI0E2rEeGl8qrc8BM7vA"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZQ85Ag3gEeWSq5WX_4UlHg" x="100" y="100"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ZRPM4A3gEeWSq5WX_4UlHg" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_ZRPM4Q3gEeWSq5WX_4UlHg" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZRPM4w3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Abstraction" href="ProducerConsumer.uml#_--_2EBSqEeOUifYpcO0mcw"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZRPM4g3gEeWSq5WX_4UlHg" x="100" y="100"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VScvl9HtEd-A1oPfP47IaQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YYeY4A3gEeWSq5WX_4UlHg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YYeY4Q3gEeWSq5WX_4UlHg" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="ProducerConsumer.uml#_bYJagDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VSa6YdHtEd-A1oPfP47IaQ" x="20" y="18" width="681" height="363"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_o6ZisdCREd-hqYHBJe17_Q"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_YYeY6g3gEeWSq5WX_4UlHg" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="ProducerConsumer.uml#_XLQjUDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_fPo0MDbdEeGdqp2YT1LwWw" type="Comment_AnnotatedElementEdge" source="_JusbQDbdEeGdqp2YT1LwWw" target="_XsS70NHtEd-A1oPfP47IaQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_fPo0MTbdEeGdqp2YT1LwWw" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fPo0MjbdEeGdqp2YT1LwWw" points="[583, 164, -643984, -643984]$[573, 145, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fQJKgDbdEeGdqp2YT1LwWw" id="(0.5121951219512195,0.125)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fQJKgTbdEeGdqp2YT1LwWw" id="(0.39800995024875624,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_efaBUE2rEeGl8qrc8BM7vA" type="Connector_Edge" source="_zmq8ANHtEd-A1oPfP47IaQ" target="_0XlXwDF1EeCpQdhNuFCtew" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_efaoYE2rEeGl8qrc8BM7vA" type="Connector_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_efaoYU2rEeGl8qrc8BM7vA" x="-4" y="-27"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_efaoYk2rEeGl8qrc8BM7vA" visible="false" type="Connector_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_efaoY02rEeGl8qrc8BM7vA" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_efbPcE2rEeGl8qrc8BM7vA" visible="false" type="Connector_SourceMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_efbPcU2rEeGl8qrc8BM7vA" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_efbPck2rEeGl8qrc8BM7vA" visible="false" type="Connector_TargetMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_efbPc02rEeGl8qrc8BM7vA" y="20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_efaBUU2rEeGl8qrc8BM7vA" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Connector" href="ProducerConsumer.uml#_efVI0E2rEeGl8qrc8BM7vA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_efaBUk2rEeGl8qrc8BM7vA" points="[258, 110, -643984, -643984]$[477, 99, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_efmOkE2rEeGl8qrc8BM7vA" id="(0.85,0.45)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_g2IoIE2rEeGl8qrc8BM7vA" type="Comment_AnnotatedElementEdge" source="_lM7ZUDeeEeGPyrZ5I3hMlA" target="_efaBUE2rEeGl8qrc8BM7vA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_g2JPME2rEeGl8qrc8BM7vA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_g2JPMU2rEeGl8qrc8BM7vA" points="[1, -5, 0, 43]$[1, -48, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g2TAME2rEeGl8qrc8BM7vA" id="(0.6811145510835913,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g2TAMU2rEeGl8qrc8BM7vA" id="(0.4689265536723164,0.48148148148148145)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9enBYBSqEeOUifYpcO0mcw" type="Abstraction_Edge" source="_XsS70NHtEd-A1oPfP47IaQ" target="_ejQ1cBSoEeOUifYpcO0mcw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9epdoBSqEeOUifYpcO0mcw" visible="false" type="Abstraction_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1iOnEH1OEeWG49zncsL-0g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9epdoRSqEeOUifYpcO0mcw" x="44" y="38"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9epdohSqEeOUifYpcO0mcw" type="Abstraction_StereotypeLabel">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzvGsH1PEeWG49zncsL-0g" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FzvGsX1PEeWG49zncsL-0g" key="visible" value="true"/>
+        </eAnnotations>
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1idQkH1OEeWG49zncsL-0g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9epdoxSqEeOUifYpcO0mcw" x="54" y="48"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_9enBYRSqEeOUifYpcO0mcw" fontName="Sans Serif"/>
+      <element xmi:type="uml:Abstraction" href="ProducerConsumer.uml#_9dY5YBSqEeOUifYpcO0mcw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9enBYhSqEeOUifYpcO0mcw" points="[652, 156, -643984, -643984]$[634, 289, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9fKbABSqEeOUifYpcO0mcw" id="(0.8955223880597015,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9fKbARSqEeOUifYpcO0mcw" id="(0.8955223880597015,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_-_lr8BSqEeOUifYpcO0mcw" type="Abstraction_Edge" source="_YNar4NHtEd-A1oPfP47IaQ" target="_d2a9kBSoEeOUifYpcO0mcw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_-_m6EBSqEeOUifYpcO0mcw" visible="false" type="Abstraction_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_39vAMH1OEeWG49zncsL-0g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_-_m6ERSqEeOUifYpcO0mcw" x="46" y="-47"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-_m6EhSqEeOUifYpcO0mcw" type="Abstraction_StereotypeLabel">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EExDcH1PEeWG49zncsL-0g" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EExDcX1PEeWG49zncsL-0g" key="visible" value="true"/>
+        </eAnnotations>
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_398bkH1OEeWG49zncsL-0g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_-_nhIBSqEeOUifYpcO0mcw" x="-7" y="48"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_-_lr8RSqEeOUifYpcO0mcw" fontName="Sans Serif"/>
+      <element xmi:type="uml:Abstraction" href="ProducerConsumer.uml#_--_2EBSqEeOUifYpcO0mcw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-_lr8hSqEeOUifYpcO0mcw" points="[112, 161, -643984, -643984]$[104, 291, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-_3YwBSqEeOUifYpcO0mcw" id="(0.24260355029585798,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-_3YwRSqEeOUifYpcO0mcw" id="(0.23837209302325582,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ZP36_A3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_0XlXwDF1EeCpQdhNuFCtew" target="_ZP36-A3gEeWSq5WX_4UlHg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ZP4iAA3gEeWSq5WX_4UlHg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZP4iBA3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerConsumer.uml#_tyiqs8__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZP4iAQ3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZP4iAg3gEeWSq5WX_4UlHg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZP4iAw3gEeWSq5WX_4UlHg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ZQPuZA3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_9enBYBSqEeOUifYpcO0mcw" target="_ZQPuYA3gEeWSq5WX_4UlHg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ZQPuZQ3gEeWSq5WX_4UlHg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZQPuaQ3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Abstraction" href="ProducerConsumer.uml#_9dY5YBSqEeOUifYpcO0mcw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZQPuZg3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZQPuZw3gEeWSq5WX_4UlHg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZQPuaA3gEeWSq5WX_4UlHg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ZQp-GA3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_zmq8ANHtEd-A1oPfP47IaQ" target="_ZQp-FA3gEeWSq5WX_4UlHg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ZQp-GQ3gEeWSq5WX_4UlHg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZQp-HQ3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerConsumer.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZQp-Gg3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZQp-Gw3gEeWSq5WX_4UlHg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZQp-HA3gEeWSq5WX_4UlHg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ZQ85BA3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_efaBUE2rEeGl8qrc8BM7vA" target="_ZQ85AA3gEeWSq5WX_4UlHg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ZQ85BQ3gEeWSq5WX_4UlHg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZQ9gEA3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Connector" href="ProducerConsumer.uml#_efVI0E2rEeGl8qrc8BM7vA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZQ85Bg3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZQ85Bw3gEeWSq5WX_4UlHg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZQ85CA3gEeWSq5WX_4UlHg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ZRPM5A3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_-_lr8BSqEeOUifYpcO0mcw" target="_ZRPM4A3gEeWSq5WX_4UlHg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ZRPM5Q3gEeWSq5WX_4UlHg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZRPM6Q3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Abstraction" href="ProducerConsumer.uml#_--_2EBSqEeOUifYpcO0mcw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZRPM5g3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZRPM5w3gEeWSq5WX_4UlHg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZRPM6A3gEeWSq5WX_4UlHg"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_U1UegPcXEd-KM6l7lmIPkw" type="PapyrusUMLClassDiagram" name="deployment" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_FGfloCghEeCw56aD7XrQhw" type="Diagram_ShortcutShape" element="_7kc7YM__Ed-TP80eVS-2Rg" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGgMsCghEeCw56aD7XrQhw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGgMsSghEeCw56aD7XrQhw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGgMsighEeCw56aD7XrQhw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGgMsyghEeCw56aD7XrQhw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGlsQCghEeCw56aD7XrQhw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGmTUCghEeCw56aD7XrQhw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_FGmTUSghEeCw56aD7XrQhw" type="Diagram_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_FGmTUighEeCw56aD7XrQhw" x="-20" y="40"/>
+      </children>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FGfloSghEeCw56aD7XrQhw" x="48" y="27" width="34" height="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GQM_sCghEeCw56aD7XrQhw" type="Diagram_ShortcutShape" element="_UstOsM__Ed-TP80eVS-2Rg" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GQNmwSghEeCw56aD7XrQhw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GQNmwighEeCw56aD7XrQhw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GQNmwyghEeCw56aD7XrQhw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GQNmxCghEeCw56aD7XrQhw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GQNmxSghEeCw56aD7XrQhw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GQNmxighEeCw56aD7XrQhw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_GQON0CghEeCw56aD7XrQhw" type="Diagram_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_GQON0SghEeCw56aD7XrQhw" x="-20" y="40"/>
+      </children>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GQNmwCghEeCw56aD7XrQhw" x="153" y="27" width="34" height="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JhfKQCghEeCw56aD7XrQhw" type="Diagram_ShortcutShape" element="_V5euUP8nEd-hWJO6cv3VJA" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JhfKQighEeCw56aD7XrQhw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JhfxUCghEeCw56aD7XrQhw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JhfxUSghEeCw56aD7XrQhw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JhfxUighEeCw56aD7XrQhw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JhfxUyghEeCw56aD7XrQhw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JhfxVCghEeCw56aD7XrQhw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JhfxVSghEeCw56aD7XrQhw" type="Diagram_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JhfxVighEeCw56aD7XrQhw" y="40"/>
+      </children>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JhfKQSghEeCw56aD7XrQhw" x="333" y="27" width="34" height="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LGTzACghEeCw56aD7XrQhw" type="Diagram_ShortcutShape" element="_o6ZisNCREd-hqYHBJe17_Q" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LGUaECghEeCw56aD7XrQhw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LGUaESghEeCw56aD7XrQhw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LGUaEighEeCw56aD7XrQhw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LGUaEyghEeCw56aD7XrQhw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LGUaFCghEeCw56aD7XrQhw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LGVBICghEeCw56aD7XrQhw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_LGVBISghEeCw56aD7XrQhw" type="Diagram_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_LGVBIighEeCw56aD7XrQhw" x="9" y="40"/>
+      </children>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LGTzASghEeCw56aD7XrQhw" x="441" y="27" width="34" height="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_91n2kDOFEeCldqx_51Yicg" type="Package_Shape" fontName="Sans Serif" fontHeight="10" fillColor="8905185" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_91prwDOFEeCldqx_51Yicg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_91prwTOFEeCldqx_51Yicg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_91prwjOFEeCldqx_51Yicg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_91prwzOFEeCldqx_51Yicg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_91qS0DOFEeCldqx_51Yicg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_91qS0TOFEeCldqx_51Yicg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_91qS0jOFEeCldqx_51Yicg" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1JYMYBbUEeasT4HdO7q9gg" type="Package_PackagedElementCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_91qS1DOFEeCldqx_51Yicg"/>
+      </children>
+      <element xmi:type="uml:Package" href="ProducerConsumer.uml#_xBxwoDOFEeCldqx_51Yicg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_91n2kTOFEeCldqx_51Yicg" x="40" y="140" width="221" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_1GDBwLGREeCfWNndpgPDWA" type="Package_Shape" fontName="Sans Serif" fillColor="8047085" transparency="0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1GOA4LGREeCfWNndpgPDWA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1GOA4bGREeCfWNndpgPDWA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1GOA4rGREeCfWNndpgPDWA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1GOA47GREeCfWNndpgPDWA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1GOn8LGREeCfWNndpgPDWA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1GOn8bGREeCfWNndpgPDWA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4DXjcLkUEeSU_ruUtH4m8A" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4DYKgLkUEeSU_ruUtH4m8A" key="lineWidth" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_1GOn8rGREeCfWNndpgPDWA" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1JYMYRbUEeasT4HdO7q9gg" type="Package_PackagedElementCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1GOn9LGREeCfWNndpgPDWA"/>
+      </children>
+      <element xmi:type="uml:Package" href="ProducerConsumer.uml#_zwMLcLF4EeC9yscvWqW-eg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1GDBwbGREeCfWNndpgPDWA" x="340" y="140" width="221" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gdmuADefEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdmuAjefEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdmuAzefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdmuBDefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdmuBTefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdnVEDefEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdnVETefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_gdnVEjefEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="ProducerConsumer.uml#_gdeyMDefEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gdmuATefEeGPyrZ5I3hMlA" x="531" y="27" width="115" height="46"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_YMKbMA3gEeWSq5WX_4UlHg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_YMKbMQ3gEeWSq5WX_4UlHg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YMKbMw3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="ProducerConsumer.uml#_xBxwoDOFEeCldqx_51Yicg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YMKbMg3gEeWSq5WX_4UlHg" x="236" y="144"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_YMekQA3gEeWSq5WX_4UlHg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_YMekQQ3gEeWSq5WX_4UlHg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YMekQw3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="ProducerConsumer.uml#_zwMLcLF4EeC9yscvWqW-eg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YMekQg3gEeWSq5WX_4UlHg" x="542" y="144"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_U1UegfcXEd-KM6l7lmIPkw"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_YJe6oA3gEeWSq5WX_4UlHg" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="ProducerConsumer.uml#_234GEDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_YMKbNA3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_91n2kDOFEeCldqx_51Yicg" target="_YMKbMA3gEeWSq5WX_4UlHg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_YMKbNQ3gEeWSq5WX_4UlHg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YMLCQg3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="ProducerConsumer.uml#_xBxwoDOFEeCldqx_51Yicg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YMKbNg3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YMLCQA3gEeWSq5WX_4UlHg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YMLCQQ3gEeWSq5WX_4UlHg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_YMekRA3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_1GDBwLGREeCfWNndpgPDWA" target="_YMekQA3gEeWSq5WX_4UlHg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_YMekRQ3gEeWSq5WX_4UlHg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YMfLUA3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="ProducerConsumer.uml#_zwMLcLF4EeC9yscvWqW-eg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YMekRg3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YMekRw3gEeWSq5WX_4UlHg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YMekSA3gEeWSq5WX_4UlHg"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_V5euUP8nEd-hWJO6cv3VJA" type="CompositeStructure" name="Publisher" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_Wky8MP8nEd-hWJO6cv3VJA" type="2073" fontName="" fontHeight="10" fillColor="8905185" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wk0KUP8nEd-hWJO6cv3VJA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wk0KUf8nEd-hWJO6cv3VJA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wk0KUv8nEd-hWJO6cv3VJA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wk0KU_8nEd-hWJO6cv3VJA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wk0KVP8nEd-hWJO6cv3VJA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wk0KVf8nEd-hWJO6cv3VJA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Wk0xYP8nEd-hWJO6cv3VJA" type="5156"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Wk0xYf8nEd-hWJO6cv3VJA" type="7073">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wk0xYv8nEd-hWJO6cv3VJA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_eCjHMP8nEd-hWJO6cv3VJA" type="3069" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eCjuQP8nEd-hWJO6cv3VJA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eCjuQf8nEd-hWJO6cv3VJA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eCkVUP8nEd-hWJO6cv3VJA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eCkVUf8nEd-hWJO6cv3VJA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eCkVUv8nEd-hWJO6cv3VJA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eCkVU_8nEd-hWJO6cv3VJA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_eCkVVP8nEd-hWJO6cv3VJA" type="5125">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Dz37gFZXEeKKZs15rvNNjA" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D7CTcFZXEeKKZs15rvNNjA" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_eCkVVf8nEd-hWJO6cv3VJA" x="-89"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_eCkVVv8nEd-hWJO6cv3VJA" visible="false" type="6029">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_eCkVV_8nEd-hWJO6cv3VJA" x="25" y="-10"/>
+        </children>
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_3sUesKY3EeSQZvr8taS8TA" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>derived</stringListValue>
+          <stringListValue>type</stringListValue>
+        </styles>
+        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eCjHMf8nEd-hWJO6cv3VJA" x="-10" y="36"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_fwpAsP8nEd-hWJO6cv3VJA" type="3069" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fwpAsv8nEd-hWJO6cv3VJA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fwpAs_8nEd-hWJO6cv3VJA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fwpnwP8nEd-hWJO6cv3VJA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fwpnwf8nEd-hWJO6cv3VJA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fwpnwv8nEd-hWJO6cv3VJA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fwpnw_8nEd-hWJO6cv3VJA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_fwpnxP8nEd-hWJO6cv3VJA" type="5125">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVFyMFZXEeKKZs15rvNNjA" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EhugAFZXEeKKZs15rvNNjA" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_fwpnxf8nEd-hWJO6cv3VJA" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_fwpnxv8nEd-hWJO6cv3VJA" visible="false" type="6029">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_fwpnx_8nEd-hWJO6cv3VJA" x="27" y="-18"/>
+        </children>
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_5gZEYKY3EeSQZvr8taS8TA" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>derived</stringListValue>
+          <stringListValue>type</stringListValue>
+        </styles>
+        <element xmi:type="uml:Port" href="ProducerConsumer.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fwpAsf8nEd-hWJO6cv3VJA" x="117" y="36"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YMzUYA3gEeWSq5WX_4UlHg" type="6089">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YMzUYQ3gEeWSq5WX_4UlHg" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="ProducerConsumer.uml#_IfjoETLbEd2qeKRLMdIx_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wky8Mf8nEd-hWJO6cv3VJA" x="144" y="108" width="136" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_XKXHYP8nEd-hWJO6cv3VJA" type="2073" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XKXHYv8nEd-hWJO6cv3VJA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XKXucP8nEd-hWJO6cv3VJA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XKXucf8nEd-hWJO6cv3VJA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XKXucv8nEd-hWJO6cv3VJA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XKXuc_8nEd-hWJO6cv3VJA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XKXudP8nEd-hWJO6cv3VJA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_XKXudf8nEd-hWJO6cv3VJA" type="5156"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_XKXudv8nEd-hWJO6cv3VJA" type="7073">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XKXud_8nEd-hWJO6cv3VJA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_euJo8P8nEd-hWJO6cv3VJA" type="3069" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_euKQAP8nEd-hWJO6cv3VJA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_euKQAf8nEd-hWJO6cv3VJA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_euKQAv8nEd-hWJO6cv3VJA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_euK3EP8nEd-hWJO6cv3VJA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_euK3Ef8nEd-hWJO6cv3VJA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_euK3Ev8nEd-hWJO6cv3VJA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_euK3E_8nEd-hWJO6cv3VJA" type="5125">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DRgOQFZXEeKKZs15rvNNjA" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYoxAFZXEeKKZs15rvNNjA" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_euK3FP8nEd-hWJO6cv3VJA" x="-89" y="-2"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_euK3Ff8nEd-hWJO6cv3VJA" visible="false" type="6029">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_euK3Fv8nEd-hWJO6cv3VJA" x="25" y="-10"/>
+        </children>
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_4rHpQKY3EeSQZvr8taS8TA" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>derived</stringListValue>
+          <stringListValue>type</stringListValue>
+        </styles>
+        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_euJo8f8nEd-hWJO6cv3VJA" x="-10" y="27"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YMz7cA3gEeWSq5WX_4UlHg" type="6089">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YMz7cQ3gEeWSq5WX_4UlHg" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XKXHYf8nEd-hWJO6cv3VJA" x="144" y="18" width="136" height="55"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Gz7TMDehEeGPyrZ5I3hMlA" type="2109" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G0CA4DehEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G0CA4TehEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G0CA4jehEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G0CA4zehEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G0CA5DehEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G0Cn8DehEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_G0Cn8TehEeGPyrZ5I3hMlA" type="5192"/>
+      <element xmi:type="uml:Comment" href="ProducerConsumer.uml#_GzyJQDehEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Gz7TMTehEeGPyrZ5I3hMlA" x="342" y="18" width="344" height="79"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_YQYz4A3gEeWSq5WX_4UlHg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_YQYz4Q3gEeWSq5WX_4UlHg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YQYz4w3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="ProducerConsumer.uml#_IfjoETLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YQYz4g3gEeWSq5WX_4UlHg" x="344" y="108"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_YQ04wA3gEeWSq5WX_4UlHg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_YQ04wQ3gEeWSq5WX_4UlHg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YQ04ww3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YQ04wg3gEeWSq5WX_4UlHg" x="190" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_YRfnIA3gEeWSq5WX_4UlHg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_YRfnIQ3gEeWSq5WX_4UlHg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YRfnIw3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerConsumer.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YRfnIg3gEeWSq5WX_4UlHg" x="317" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_YR86IA3gEeWSq5WX_4UlHg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_YR86IQ3gEeWSq5WX_4UlHg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YR86Iw3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YR86Ig3gEeWSq5WX_4UlHg" x="190" y="27"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_V5euUf8nEd-hWJO6cv3VJA"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_YMz7cg3gEeWSq5WX_4UlHg" name="diagram_compatibility_version" stringValue="1.1.0"/>
+    <element xmi:type="uml:Package" href="ProducerConsumer.uml#_etOZkDLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_XKqpYP8nEd-hWJO6cv3VJA" type="4015" source="_Wky8MP8nEd-hWJO6cv3VJA" target="_XKXHYP8nEd-hWJO6cv3VJA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_XKrQcP8nEd-hWJO6cv3VJA" type="6024">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XKrQcf8nEd-hWJO6cv3VJA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_XKqpYf8nEd-hWJO6cv3VJA" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="ProducerConsumer.uml#_34FjAPx3Ed6O2oOTPfeAMA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XKqpYv8nEd-hWJO6cv3VJA" points="[-19, -23, 140, 174]$[-159, -197, 0, 0]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_aJG_MDehEeGPyrZ5I3hMlA" type="4002" source="_Gz7TMDehEeGPyrZ5I3hMlA" target="_XKXHYP8nEd-hWJO6cv3VJA" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_aJG_MTehEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aJG_MjehEeGPyrZ5I3hMlA" points="[342, 58, -643984, -643984]$[280, 58, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aJdkgDehEeGPyrZ5I3hMlA" id="(0.02823529411764706,0.4166666666666667)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aJeLkDehEeGPyrZ5I3hMlA" id="(1.0,0.7272727272727273)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_YQYz5A3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_Wky8MP8nEd-hWJO6cv3VJA" target="_YQYz4A3gEeWSq5WX_4UlHg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_YQYz5Q3gEeWSq5WX_4UlHg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YQYz6Q3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="ProducerConsumer.uml#_IfjoETLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YQYz5g3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YQYz5w3gEeWSq5WX_4UlHg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YQYz6A3gEeWSq5WX_4UlHg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_YQ04xA3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_eCjHMP8nEd-hWJO6cv3VJA" target="_YQ04wA3gEeWSq5WX_4UlHg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_YQ04xQ3gEeWSq5WX_4UlHg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YQ04yQ3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YQ04xg3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YQ04xw3gEeWSq5WX_4UlHg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YQ04yA3gEeWSq5WX_4UlHg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_YRfnJA3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_fwpAsP8nEd-hWJO6cv3VJA" target="_YRfnIA3gEeWSq5WX_4UlHg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_YRfnJQ3gEeWSq5WX_4UlHg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YRfnKQ3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerConsumer.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YRfnJg3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YRfnJw3gEeWSq5WX_4UlHg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YRfnKA3gEeWSq5WX_4UlHg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_YR86JA3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_euJo8P8nEd-hWJO6cv3VJA" target="_YR86IA3gEeWSq5WX_4UlHg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_YR86JQ3gEeWSq5WX_4UlHg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YR86KQ3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YR86Jg3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YR86Jw3gEeWSq5WX_4UlHg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YR86KA3gEeWSq5WX_4UlHg"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_0rwpYDefEeGPyrZ5I3hMlA" type="CompositeStructure" name="HWArchitecture" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_1w2CIDefEeGPyrZ5I3hMlA" type="2073" fontName="" fontHeight="10" fillColor="10011046" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pMDefEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pMTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pMjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pMzefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pNDefEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pNTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_1w2pNjefEeGPyrZ5I3hMlA" type="5156"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1w2pNzefEeGPyrZ5I3hMlA" type="7073">
+        <children xmi:type="notation:Shape" xmi:id="_4HLnYDefEeGPyrZ5I3hMlA" type="3070" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOcDefEeGPyrZ5I3hMlA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOcTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOcjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOczefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOdDefEeGPyrZ5I3hMlA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOdTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_4HMOdjefEeGPyrZ5I3hMlA" type="5126">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UodTAFZXEeKKZs15rvNNjA" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UsmzMFZXEeKKZs15rvNNjA" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_4HMOdzefEeGPyrZ5I3hMlA" type="7077">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_4HMOeDefEeGPyrZ5I3hMlA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4HMOeTefEeGPyrZ5I3hMlA"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_YSTfcA3gEeWSq5WX_4UlHg" type="6054">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_YSTfcQ3gEeWSq5WX_4UlHg" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="ProducerConsumer.uml#_4HAoQDefEeGPyrZ5I3hMlA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4HLnYTefEeGPyrZ5I3hMlA" x="61" y="22" width="162"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1w2pODefEeGPyrZ5I3hMlA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w2pOTefEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YSS4YA3gEeWSq5WX_4UlHg" type="6089">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YSS4YQ3gEeWSq5WX_4UlHg" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="ProducerConsumer.uml#_tZvNQDefEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w2CITefEeGPyrZ5I3hMlA" x="81" y="63" width="300" height="154"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7qMbIDefEeGPyrZ5I3hMlA" type="2072" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCMDefEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCMTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCMjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCMzefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCNDefEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCNTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_7qNCNjefEeGPyrZ5I3hMlA" type="5124"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7qNCNzefEeGPyrZ5I3hMlA" visible="false" type="7072">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7qNCODefEeGPyrZ5I3hMlA" showTitle="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7qNCOTefEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YSTfcg3gEeWSq5WX_4UlHg" type="6088">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YSTfcw3gEeWSq5WX_4UlHg" y="5"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YUssIA3gEeWSq5WX_4UlHg" visible="false" type="StereotypeLabel">
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_YUssIQ3gEeWSq5WX_4UlHg" name="stereotype" stringValue="FCM::Target"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YUssIg3gEeWSq5WX_4UlHg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_YU5gcA3gEeWSq5WX_4UlHg" type="StereotypeCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YU_nEA3gEeWSq5WX_4UlHg" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YU_nEQ3gEeWSq5WX_4UlHg" key="visible" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_YU6HgA3gEeWSq5WX_4UlHg" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#__5rAUGE_Ed-eArNXja7SuA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_YU6HgQ3gEeWSq5WX_4UlHg"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_YU6ukg3gEeWSq5WX_4UlHg" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_BZCjMJOGEd-5qPBhYeIVtw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_YU6ukw3gEeWSq5WX_4UlHg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_YU5gcQ3gEeWSq5WX_4UlHg" showTitle="true"/>
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_YU5gcg3gEeWSq5WX_4UlHg" name="stereotype" stringValue="FCM::Target"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YU5gcw3gEeWSq5WX_4UlHg"/>
+      </children>
+      <element xmi:type="uml:Node" href="ProducerConsumer.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7qMbITefEeGPyrZ5I3hMlA" x="441" y="63" width="163" height="100"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_jhQ20DegEeGPyrZ5I3hMlA" type="2109" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ20jegEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ20zegEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ21DegEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ21TegEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ21jegEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ21zegEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_jhRd4DegEeGPyrZ5I3hMlA" type="5192"/>
+      <element xmi:type="uml:Comment" href="ProducerConsumer.uml#_jhF3sDegEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jhQ20TegEeGPyrZ5I3hMlA" x="435" y="183" width="277"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_0rwpYTefEeGPyrZ5I3hMlA"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_YSTfdA3gEeWSq5WX_4UlHg" name="diagram_compatibility_version" stringValue="1.1.0"/>
+    <element xmi:type="uml:Package" href="ProducerConsumer.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_ugb6IDegEeGPyrZ5I3hMlA" type="4002" source="_jhQ20DegEeGPyrZ5I3hMlA" target="_7qMbIDefEeGPyrZ5I3hMlA" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ugb6ITegEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ugb6IjegEeGPyrZ5I3hMlA" points="[-11, -6, 7, 38]$[-11, -26, 7, 18]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ugs_4DegEeGPyrZ5I3hMlA" id="(0.33212996389891697,0.1)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ugs_4TegEeGPyrZ5I3hMlA" id="(0.5460122699386503,0.98)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_HvdK0FZYEeKKZs15rvNNjA" type="CompositeStructure" name="System Push" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_U0B0YFZYEeKKZs15rvNNjA" type="Class_Shape" fontName="Sans Serif" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0CbcFZYEeKKZs15rvNNjA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U0CbcVZYEeKKZs15rvNNjA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0DCgFZYEeKKZs15rvNNjA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U0DCgVZYEeKKZs15rvNNjA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U0DCglZYEeKKZs15rvNNjA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U0DCg1ZYEeKKZs15rvNNjA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_U0DChFZYEeKKZs15rvNNjA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_U0DChVZYEeKKZs15rvNNjA" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Zgd44FZZEeKb1bjLi8P_oQ" type="Property_Shape" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Zgg8MFZZEeKb1bjLi8P_oQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Zgg8MVZZEeKb1bjLi8P_oQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Zgg8MlZZEeKb1bjLi8P_oQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZghjQFZZEeKb1bjLi8P_oQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZghjQVZZEeKb1bjLi8P_oQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZghjQlZZEeKb1bjLi8P_oQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_ZghjQ1ZZEeKb1bjLi8P_oQ" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dtKi0FZZEeKb1bjLi8P_oQ" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_d00qAFZZEeKb1bjLi8P_oQ" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_ZghjRFZZEeKb1bjLi8P_oQ" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_ZghjRVZZEeKb1bjLi8P_oQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZghjRlZZEeKb1bjLi8P_oQ"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_kzTfEFZZEeKb1bjLi8P_oQ" type="Port_Shape" fontName="Sans Serif" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kzUGIFZZEeKb1bjLi8P_oQ" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kzUGIVZZEeKb1bjLi8P_oQ" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kzUGIlZZEeKb1bjLi8P_oQ" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kzUGI1ZZEeKb1bjLi8P_oQ" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kzUGJFZZEeKb1bjLi8P_oQ" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kzUGJVZZEeKb1bjLi8P_oQ" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_kzUGJlZZEeKb1bjLi8P_oQ" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qpl9AFZZEeKb1bjLi8P_oQ" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qw77IVZZEeKb1bjLi8P_oQ" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_kzUGJ1ZZEeKb1bjLi8P_oQ" x="25" y="3"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_kzUGKFZZEeKb1bjLi8P_oQ" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_kzUGKVZZEeKb1bjLi8P_oQ" x="25" y="-10"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_ZTzYsA3gEeWSq5WX_4UlHg" visible="false" type="StereotypeLabel">
+              <styles xmi:type="notation:StringValueStyle" xmi:id="_ZTzYsQ3gEeWSq5WX_4UlHg" name="stereotype" stringValue="FCM::Port"/>
+              <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZTzYsg3gEeWSq5WX_4UlHg"/>
+            </children>
+            <element xmi:type="uml:Port" href="ProducerConsumer.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kzTfEVZZEeKb1bjLi8P_oQ" x="-10" y="36"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_ZRlLIg3gEeWSq5WX_4UlHg" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_ZRlLIw3gEeWSq5WX_4UlHg" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="ProducerConsumer.uml#_iP8c4dCREd-hqYHBJe17_Q"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Zgef8FZZEeKb1bjLi8P_oQ" x="370" y="21" width="177" height="78"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_aKa00FZZEeKb1bjLi8P_oQ" type="Property_Shape" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aKbb4FZZEeKb1bjLi8P_oQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aKbb4VZZEeKb1bjLi8P_oQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aKbb4lZZEeKb1bjLi8P_oQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aKbb41ZZEeKb1bjLi8P_oQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aKbb5FZZEeKb1bjLi8P_oQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aKbb5VZZEeKb1bjLi8P_oQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_aKbb5lZZEeKb1bjLi8P_oQ" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cojEIFZZEeKb1bjLi8P_oQ" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cu9OIFZZEeKb1bjLi8P_oQ" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_aKcC8FZZEeKb1bjLi8P_oQ" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_aKcC8VZZEeKb1bjLi8P_oQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aKcC8lZZEeKb1bjLi8P_oQ"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_iJQToFZZEeKb1bjLi8P_oQ" type="Port_Shape" fontName="Sans Serif" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iJQ6sFZZEeKb1bjLi8P_oQ" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iJQ6sVZZEeKb1bjLi8P_oQ" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iJQ6slZZEeKb1bjLi8P_oQ" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iJQ6s1ZZEeKb1bjLi8P_oQ" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iJQ6tFZZEeKb1bjLi8P_oQ" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iJQ6tVZZEeKb1bjLi8P_oQ" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_iJQ6tlZZEeKb1bjLi8P_oQ" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qplV8FZZEeKb1bjLi8P_oQ" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qw77IFZZEeKb1bjLi8P_oQ" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_iJQ6t1ZZEeKb1bjLi8P_oQ" x="-71" y="4"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_iJRhwFZZEeKb1bjLi8P_oQ" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_iJRhwVZZEeKb1bjLi8P_oQ" x="25" y="-10"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_ZUbDwA3gEeWSq5WX_4UlHg" visible="false" type="StereotypeLabel">
+              <styles xmi:type="notation:StringValueStyle" xmi:id="_ZUbDwQ3gEeWSq5WX_4UlHg" name="stereotype" stringValue="FCM::Port"/>
+              <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZUbDwg3gEeWSq5WX_4UlHg"/>
+            </children>
+            <element xmi:type="uml:Port" href="ProducerConsumer.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iJQToVZZEeKb1bjLi8P_oQ" x="134" y="36"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_ZRlyMA3gEeWSq5WX_4UlHg" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_ZRlyMQ3gEeWSq5WX_4UlHg" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="ProducerConsumer.uml#_iP8c4tCREd-hqYHBJe17_Q"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aKa00VZZEeKb1bjLi8P_oQ" x="37" y="21" width="144" height="78"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_a6zv8FZZEeKb1bjLi8P_oQ" type="Comment_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a60XAFZZEeKb1bjLi8P_oQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a60XAVZZEeKb1bjLi8P_oQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a60-EFZZEeKb1bjLi8P_oQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a60-EVZZEeKb1bjLi8P_oQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a60-ElZZEeKb1bjLi8P_oQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a60-E1ZZEeKb1bjLi8P_oQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_a60-FFZZEeKb1bjLi8P_oQ" type="Comment_BodyLabel_CN"/>
+          <element xmi:type="uml:Comment" href="ProducerConsumer.uml#_KOEwwDefEeGPyrZ5I3hMlA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a6zv8VZZEeKb1bjLi8P_oQ" x="244" y="129" width="290" height="55"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ZULzMA3gEeWSq5WX_4UlHg" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_ZULzMQ3gEeWSq5WX_4UlHg" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZULzMw3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="ProducerConsumer.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZULzMg3gEeWSq5WX_4UlHg" x="190" y="36"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ZUy3MA3gEeWSq5WX_4UlHg" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_ZUy3MQ3gEeWSq5WX_4UlHg" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZUy3Mw3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="ProducerConsumer.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZUy3Mg3gEeWSq5WX_4UlHg" x="334" y="36"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_U0DChlZYEeKKZs15rvNNjA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U0DCh1ZYEeKKZs15rvNNjA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ZRlLIA3gEeWSq5WX_4UlHg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ZRlLIQ3gEeWSq5WX_4UlHg" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="ProducerConsumer.uml#_iP8c4NCREd-hqYHBJe17_Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U0B0YVZYEeKKZs15rvNNjA" x="36" y="27" width="604" height="226"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_HvdK0VZYEeKKZs15rvNNjA"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_ZRlyMg3gEeWSq5WX_4UlHg" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="ProducerConsumer.uml#_XLQjUDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_wxMNYFZZEeKb1bjLi8P_oQ" type="Connector_Edge" source="_iJQToFZZEeKb1bjLi8P_oQ" target="_kzTfEFZZEeKb1bjLi8P_oQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_wxNbgFZZEeKb1bjLi8P_oQ" type="Connector_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wxNbgVZZEeKb1bjLi8P_oQ" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wxNbglZZEeKb1bjLi8P_oQ" visible="false" type="Connector_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wxNbg1ZZEeKb1bjLi8P_oQ" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wxNbhFZZEeKb1bjLi8P_oQ" visible="false" type="Connector_SourceMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wxNbhVZZEeKb1bjLi8P_oQ" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wxNbhlZZEeKb1bjLi8P_oQ" visible="false" type="Connector_TargetMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wxNbh1ZZEeKb1bjLi8P_oQ" y="20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_wxMNYVZZEeKb1bjLi8P_oQ" fontName="Sans Serif"/>
+      <element xmi:type="uml:Connector" href="ProducerConsumer.uml#_iP8c49CREd-hqYHBJe17_Q"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wxMNYlZZEeKb1bjLi8P_oQ" points="[10, 5, -179, 0]$[179, 0, -10, -5]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Nr2l4FZaEeKb1bjLi8P_oQ" type="Comment_AnnotatedElementEdge" source="_a6zv8FZZEeKb1bjLi8P_oQ" target="_wxMNYFZZEeKb1bjLi8P_oQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Nr2l4VZaEeKb1bjLi8P_oQ" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Nr2l4lZaEeKb1bjLi8P_oQ" points="[-7, -6, 3, 62]$[-7, -68, 3, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NsRcoFZaEeKb1bjLi8P_oQ" id="(0.20689655172413793,0.10909090909090909)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NsRcoVZaEeKb1bjLi8P_oQ" id="(0.6071428571428571,0.7407407407407407)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ZULzNA3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_kzTfEFZZEeKb1bjLi8P_oQ" target="_ZULzMA3gEeWSq5WX_4UlHg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ZULzNQ3gEeWSq5WX_4UlHg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZULzOQ3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerConsumer.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZULzNg3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZULzNw3gEeWSq5WX_4UlHg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZULzOA3gEeWSq5WX_4UlHg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ZUy3NA3gEeWSq5WX_4UlHg" type="StereotypeCommentLink" source="_iJQToFZZEeKb1bjLi8P_oQ" target="_ZUy3MA3gEeWSq5WX_4UlHg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ZUy3NQ3gEeWSq5WX_4UlHg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZUy3OQ3gEeWSq5WX_4UlHg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerConsumer.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZUy3Ng3gEeWSq5WX_4UlHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZUy3Nw3gEeWSq5WX_4UlHg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZUy3OA3gEeWSq5WX_4UlHg"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ProducerConsumer.uml b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ProducerConsumer.uml
new file mode 100644
index 0000000..93ecc2f
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ProducerConsumer.uml
@@ -0,0 +1,419 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:GCM="http://www.eclipse.org/papyrus/GCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc http://www.eclipse.org/papyrus/GCM/1 http://www.eclipse.org/papyrus/MARTE/1#//GCM">
+  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="ProducerConsumer">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
+      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/core.uml#_O6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_R8d6YP93Ed6628OhKk_dpg">
+      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/fifo.uml#_ePwqkHLmEd6R5tffIPrlPg"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="components">
+      <packagedElement xmi:type="uml:Package" xmi:id="_tyiqsM__Ed-TP80eVS-2Rg" name="PullConsumer">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_-Hd2MDecEeGPyrZ5I3hMlA" annotatedElement="_tyiqsc__Ed-TP80eVS-2Rg">
+          <body>Variant of the consumper component that uses a &quot;pull style&quot;, i.e. actively demands whether new data is available. Since the component is active, it needs to have its own thread. This is realized by the combination of the lifecycle port with a container rule that intercepts the lifecycle operations and executes the activation operation in its own thread.
+Use the context menu to find out that the PullConsumer supports the &quot;runStartThread&quot; interceptor which intercepts the lifecycle port.</body>
+        </ownedComment>
+        <ownedComment xmi:type="uml:Comment" xmi:id="_0D64MDedEeGPyrZ5I3hMlA">
+          <annotatedElement xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_zDDlYMRcEeWq5unKf5DK_A"/>
+          <body>Part of the Qompass model library. Provides the specific port &quot;lc&quot; (short for lifecycle). The &quot;activate&quot; operation of this port is called by generated boot-code after instantiation and configuration of a component. The deactivation is called before disposing a component</body>
+        </ownedComment>
+        <packagedElement xmi:type="uml:Class" xmi:id="_tyiqsc__Ed-TP80eVS-2Rg" name="PullConsumer_impl">
+          <generalization xmi:type="uml:Generalization" xmi:id="_tyiqss__Ed-TP80eVS-2Rg">
+            <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_zDDlYMRcEeWq5unKf5DK_A"/>
+          </generalization>
+          <ownedAttribute xmi:type="uml:Port" xmi:id="_tyiqs8__Ed-TP80eVS-2Rg" name="p" type="_Oue04GzMEeWdOZKmOtT48A" aggregation="composite"/>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_NUk6MBbXEeasT4HdO7q9gg" name="derived realization of IRunnable" client="_tyiqsc__Ed-TP80eVS-2Rg">
+            <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
+            <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
+          </interfaceRealization>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_tyjRwc__Ed-TP80eVS-2Rg" name="run" specification="_NVBmIBbXEeasT4HdO7q9gg">
+            <language>C/C++</language>
+            <body>cout &lt;&lt; &quot;wait for data on port p&quot; &lt;&lt; endl;
+for (int i = 0; i&lt;25; i++) {
+	if (p->hasData ()) {
+		components::interfaces::PubData data = p->pull ();
+		cout &lt;&lt; &quot;received data: x = &quot; &lt;&lt; data.x &lt;&lt; &quot; y = &quot; &lt;&lt; data.y &lt;&lt; endl;
+	}
+	usleep (100*1000);
+}
+cout &lt;&lt; &quot;finished waiting&quot; &lt;&lt; endl;
+</body>
+          </ownedBehavior>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_sYPjwH1OEeWG49zncsL-0g" name="configuration_complete">
+            <language>C/C++</language>
+            <body></body>
+          </ownedBehavior>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_NVBmIBbXEeasT4HdO7q9gg" name="run" method="_tyjRwc__Ed-TP80eVS-2Rg"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Usage" xmi:id="_DarAYBbYEeasT4HdO7q9gg" client="_tyiqsc__Ed-TP80eVS-2Rg" supplier="_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_OGM88DLaEd2qeKRLMdIx_A" name="PushConsumer">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_XfnmsDecEeGPyrZ5I3hMlA" annotatedElement="_oqZNUDLaEd2qeKRLMdIx_A">
+          <body>Push variant of a consumer, i.e. the consumer is called whenever new data is availble. It is not itself active.</body>
+        </ownedComment>
+        <ownedComment xmi:type="uml:Comment" xmi:id="_gpptUDecEeGPyrZ5I3hMlA" annotatedElement="_4KiE8DLbEd2qeKRLMdIx_A">
+          <body>A MARTE flow port. The synchronisation between MARTE and FCM stereotype is automatic, yet it is possible to refine on FCM level, whether the port uses a push or pull style. In this case, the port uses a push style by setting the port kind to &quot;PushConsumer&quot;.</body>
+        </ownedComment>
+        <ownedComment xmi:type="uml:Comment" xmi:id="_dufoABo3EeONpa5JgejICQ" annotatedElement="_LjkIoBo3EeONpa5JgejICQ">
+          <body>The dependency assures that the type PubData is known within the generated code for PushConsumer_impl</body>
+        </ownedComment>
+        <packagedElement xmi:type="uml:Class" xmi:id="_oqZNUDLaEd2qeKRLMdIx_A" name="PushConsumer_impl">
+          <generalization xmi:type="uml:Generalization" xmi:id="_NItbAP94Ed6628OhKk_dpg">
+            <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
+          </generalization>
+          <ownedAttribute xmi:type="uml:Port" xmi:id="_4KiE8DLbEd2qeKRLMdIx_A" name="p" type="_QxsSAGkXEeWAzPO1wYNudw" aggregation="composite"/>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_Z16ywDF8EeCpQdhNuFCtew" name="derived realization of ILifeCycle" client="_oqZNUDLaEd2qeKRLMdIx_A">
+            <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+            <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+          </interfaceRealization>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_FMwOsGzGEeWdOZKmOtT48A" name="derived realization of Push_PubData" client="_oqZNUDLaEd2qeKRLMdIx_A" supplier="_QxsSAGkXEeWAzPO1wYNudw" contract="_QxsSAGkXEeWAzPO1wYNudw"/>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_RoXdMP94Ed6628OhKk_dpg" name="activate" specification="_uOmgID15Ed-qiK1VZWszhA">
+            <language>C/C++</language>
+            <body>cout &lt;&lt; &quot;initialization of push consumer&quot; &lt;&lt; endl;
+</body>
+          </ownedBehavior>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_qUSHYPdMEd-KM6l7lmIPkw" name="push" specification="_FMzSAGzGEeWdOZKmOtT48A">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_QyZcoGkXEeWAzPO1wYNudw" name="data" type="_wFJ3IP91Ed6Jt8e-UqrRdQ">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Qycf8GkXEeWAzPO1wYNudw" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QydHAGkXEeWAzPO1wYNudw" value="1"/>
+            </ownedParameter>
+            <language>C/C++</language>
+            <body>cout &lt;&lt; &quot;received data: x = &quot; &lt;&lt; data.x &lt;&lt; &quot; y = &quot; &lt;&lt; data.y &lt;&lt; endl;</body>
+          </ownedBehavior>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_nS4zgH1OEeWG49zncsL-0g" name="deactivate" specification="_uOtN0D15Ed-qiK1VZWszhA">
+            <language>C/C++</language>
+            <body></body>
+          </ownedBehavior>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_qws-MH1OEeWG49zncsL-0g" name="configuration_complete" specification="_FemwUCxxEeOMQpc6Y-MAJw">
+            <language>C/C++</language>
+            <body></body>
+          </ownedBehavior>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_uOmgID15Ed-qiK1VZWszhA" name="activate" method="_RoXdMP94Ed6628OhKk_dpg"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_uOtN0D15Ed-qiK1VZWszhA" name="deactivate" method="_nS4zgH1OEeWG49zncsL-0g"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_FemwUCxxEeOMQpc6Y-MAJw" name="configuration_complete" method="_qws-MH1OEeWG49zncsL-0g"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_FMzSAGzGEeWdOZKmOtT48A" name="push" method="_qUSHYPdMEd-KM6l7lmIPkw">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_FM4KgGzGEeWdOZKmOtT48A" name="data" type="_wFJ3IP91Ed6Jt8e-UqrRdQ">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FM4xkGzGEeWdOZKmOtT48A" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FM4xkWzGEeWdOZKmOtT48A" value="1"/>
+            </ownedParameter>
+          </ownedOperation>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Dependency" xmi:id="_LjkIoBo3EeONpa5JgejICQ" name="Dependency1" client="_oqZNUDLaEd2qeKRLMdIx_A" supplier="_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_Tp4n8DLaEd2qeKRLMdIx_A" name="interfaces">
+        <packagedElement xmi:type="uml:DataType" xmi:id="_wFJ3IP91Ed6Jt8e-UqrRdQ" name="PubData">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_yywF0P91Ed6Jt8e-UqrRdQ" name="y" isUnique="false" aggregation="composite">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_zUgvEP91Ed6Jt8e-UqrRdQ" name="x" isUnique="false" aggregation="composite">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+          </ownedAttribute>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_etOZkDLaEd2qeKRLMdIx_A" name="Producer">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_GzyJQDehEeGPyrZ5I3hMlA">
+          <annotatedElement xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+          <body>Let the producer instance execute by the main thread by realising the specific port &quot;start&quot;, inherited from CStart (part of the Qompass &quot;core&quot; model library).
+</body>
+        </ownedComment>
+        <packagedElement xmi:type="uml:Class" xmi:id="_IfjoETLbEd2qeKRLMdIx_A" name="Producer_impl">
+          <generalization xmi:type="uml:Generalization" xmi:id="_34FjAPx3Ed6O2oOTPfeAMA">
+            <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+          </generalization>
+          <ownedAttribute xmi:type="uml:Port" xmi:id="_DtWn4DLcEd2qeKRLMdIx_A" name="q" type="_gz0CkGzMEeWdOZKmOtT48A" aggregation="composite"/>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_jkNdADF8EeCpQdhNuFCtew" name="derived realization of IStart" client="_IfjoETLbEd2qeKRLMdIx_A">
+            <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+            <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+          </interfaceRealization>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_yXNVoKF4Ed6FqJCjEUrkqQ" name="run" specification="_dH4RIKF4Ed6FqJCjEUrkqQ">
+            <language>C/C++</language>
+            <body>cout &lt;&lt; &quot;publish a value via port q;&quot; &lt;&lt; endl;
+components::interfaces::PubData data;
+data.x = 2;
+data.y = 3;
+for (int i = 0; i&lt;20; i++) {
+	q->push (data);
+	cout &lt;&lt; &quot;.&quot; &lt;&lt; flush;
+	// wait 200ms
+	usleep (200*1000);
+}
+</body>
+          </ownedBehavior>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_dH4RIKF4Ed6FqJCjEUrkqQ" name="run" method="_yXNVoKF4Ed6FqJCjEUrkqQ"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Dependency" xmi:id="_dNpvUBo4EeONpa5JgejICQ" name="Dependency1" client="_IfjoETLbEd2qeKRLMdIx_A" supplier="_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_XLQjUDLiEd2RVeNawwNNzg" name="System">
+        <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="SystemPull_impl">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_JuaHYDbdEeGdqp2YT1LwWw" annotatedElement="_gV1cgDLiEd2RVeNawwNNzg">
+            <body>Pull consumer is executed by its own thread. This is specified via a container service (runStartThread)</body>
+          </ownedComment>
+          <ownedComment xmi:type="uml:Comment" xmi:id="_lMxBQDeeEeGPyrZ5I3hMlA" annotatedElement="_efVI0E2rEeGl8qrc8BM7vA">
+            <body>Since producer and consumer call operations (the latter to actively retrieve data), the two ports would be incompatible without using a specific interaction component, in this case. a FIFO.
+Use the context menu on a selected connector to specify the interaction component.</body>
+          </ownedComment>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_gV1cgDLiEd2RVeNawwNNzg" name="con" visibility="public" type="_tyiqsc__Ed-TP80eVS-2Rg" isUnique="false" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dCT24G6JEeGqWMX2LwdLDw" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dCUd8G6JEeGqWMX2LwdLDw" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_dCWTIG6JEeGqWMX2LwdLDw">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_i-I7gDLiEd2RVeNawwNNzg" name="prod" visibility="public" type="_IfjoETLbEd2qeKRLMdIx_A" isUnique="false" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_esReUG6JEeGqWMX2LwdLDw" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_esSscG6JEeGqWMX2LwdLDw" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_esUhoG6JEeGqWMX2LwdLDw">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_d2B8ABSoEeOUifYpcO0mcw" name="main" visibility="public" aggregation="composite">
+            <type xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jrf6kBSoEeOUifYpcO0mcw" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jrtV8BSoEeOUifYpcO0mcw" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_jsc80BSoEeOUifYpcO0mcw">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_ei8sYBSoEeOUifYpcO0mcw" name="pullConThread" visibility="public" aggregation="composite">
+            <type xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mx3OkBSoEeOUifYpcO0mcw" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_myNz4BSoEeOUifYpcO0mcw" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_mzF9oBSoEeOUifYpcO0mcw">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedConnector xmi:type="uml:Connector" xmi:id="_efVI0E2rEeGl8qrc8BM7vA" name="fifoconnector">
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_efVv4E2rEeGl8qrc8BM7vA" partWithPort="_i-I7gDLiEd2RVeNawwNNzg" role="_DtWn4DLcEd2qeKRLMdIx_A">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_efVv4k2rEeGl8qrc8BM7vA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_efVv4U2rEeGl8qrc8BM7vA" value="1"/>
+            </end>
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_efWW8E2rEeGl8qrc8BM7vA" partWithPort="_gV1cgDLiEd2RVeNawwNNzg" role="_tyiqs8__Ed-TP80eVS-2Rg">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_efWW8k2rEeGl8qrc8BM7vA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_efWW8U2rEeGl8qrc8BM7vA" value="1"/>
+            </end>
+          </ownedConnector>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_iP8c4NCREd-hqYHBJe17_Q" name="SystemPush_impl">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_KOEwwDefEeGPyrZ5I3hMlA" annotatedElement="_iP8c49CREd-hqYHBJe17_Q">
+            <body>The push consumer provides the interface that the producer uses (requires), no specific connector is required</body>
+          </ownedComment>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_iP8c4dCREd-hqYHBJe17_Q" name="con" visibility="public" type="_oqZNUDLaEd2qeKRLMdIx_A" isUnique="false" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_d0HHQG6JEeGqWMX2LwdLDw" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_d0HuUG6JEeGqWMX2LwdLDw" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_d0I8cG6JEeGqWMX2LwdLDw">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_iP8c4tCREd-hqYHBJe17_Q" name="prod" visibility="public" type="_IfjoETLbEd2qeKRLMdIx_A" isUnique="false" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fbEeAG6JEeGqWMX2LwdLDw" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fbFFEG6JEeGqWMX2LwdLDw" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_fbGTMG6JEeGqWMX2LwdLDw">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedConnector xmi:type="uml:Connector" xmi:id="_iP8c49CREd-hqYHBJe17_Q" name="qpconnector">
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_iP8c5NCREd-hqYHBJe17_Q" partWithPort="_iP8c4tCREd-hqYHBJe17_Q" role="_DtWn4DLcEd2qeKRLMdIx_A"/>
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_iP8c5dCREd-hqYHBJe17_Q" partWithPort="_iP8c4dCREd-hqYHBJe17_Q" role="_4KiE8DLbEd2qeKRLMdIx_A"/>
+          </ownedConnector>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_9dY5YBSqEeOUifYpcO0mcw" name="Allocate1" client="_gV1cgDLiEd2RVeNawwNNzg" supplier="_ei8sYBSoEeOUifYpcO0mcw"/>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_--_2EBSqEeOUifYpcO0mcw" name="Allocate2" client="_i-I7gDLiEd2RVeNawwNNzg" supplier="_d2B8ABSoEeOUifYpcO0mcw"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_v3fMgDLiEd2RVeNawwNNzg" name="platform">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_jhF3sDegEeGPyrZ5I3hMlA" annotatedElement="_zY9vMDLiEd2RVeNawwNNzg">
+        <body>Simple single node configuration. TargetOS is set to Linux, but will work on other OS (supporting POSIX threads)</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="MonoNode"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_tZvNQDefEeGPyrZ5I3hMlA" name="Platform">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_4HAoQDefEeGPyrZ5I3hMlA" name="monoNode" visibility="public" type="_zY9vMDLiEd2RVeNawwNNzg" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6WEg0DefEeGPyrZ5I3hMlA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6WFu8DefEeGPyrZ5I3hMlA" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_6WHkIDefEeGPyrZ5I3hMlA">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_YxI8IDegEeGPyrZ5I3hMlA" name="HWArchitecturePlatform">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_GQ1ekKwHEeCQX8uv_p0Q4A" name="monoNode" classifier="_zY9vMDLiEd2RVeNawwNNzg"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_VMRFgDOJEeC7y-fR3OSnFw">
+        <body>This configuration requires the installation of the OTF trace library.&lt;br /></body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_gdeyMDefEeGPyrZ5I3hMlA">
+        <body>Cross references to diagrams</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Package" xmi:id="_xBxwoDOFEeCldqx_51Yicg" name="monoPush">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_xB3QMDOFEeCldqx_51Yicg" name="mainInstance" classifier="_iP8c4NCREd-hqYHBJe17_Q">
+          <slot xmi:type="uml:Slot" xmi:id="_xB6TgDOFEeCldqx_51Yicg" definingFeature="_iP8c4dCREd-hqYHBJe17_Q">
+            <value xmi:type="uml:InstanceValue" xmi:id="_xB66kDOFEeCldqx_51Yicg" instance="_xB5scDOFEeCldqx_51Yicg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_xB8IsDOFEeCldqx_51Yicg" definingFeature="_iP8c4tCREd-hqYHBJe17_Q">
+            <value xmi:type="uml:InstanceValue" xmi:id="_xB8IsTOFEeCldqx_51Yicg" instance="_xB7hoDOFEeCldqx_51Yicg"/>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_xB5scDOFEeCldqx_51Yicg" name="mainInstance.con" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_xB7hoDOFEeCldqx_51Yicg" name="mainInstance.prod" classifier="_IfjoETLbEd2qeKRLMdIx_A"/>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_wqyJ4E0tEeG4IqgA7gSE6w" name="allocate to monoNode" client="_xB3QMDOFEeCldqx_51Yicg" supplier="_GQ1ekKwHEeCQX8uv_p0Q4A"/>
+        <packagedElement xmi:type="uml:Enumeration" xmi:id="_LfjDsCz7Eea25uwDpRQuxg" name="Enumeration1"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_zwMLcLF4EeC9yscvWqW-eg" name="monoPull">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_zwQc4bF4EeC9yscvWqW-eg" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg">
+          <slot xmi:type="uml:Slot" xmi:id="_zwY_wLF4EeC9yscvWqW-eg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_zwZm0LF4EeC9yscvWqW-eg" instance="_zwUuUbF4EeC9yscvWqW-eg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_zwaN4LF4EeC9yscvWqW-eg" definingFeature="_i-I7gDLiEd2RVeNawwNNzg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_zwaN4bF4EeC9yscvWqW-eg" instance="_zwZm0bF4EeC9yscvWqW-eg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_RgZwMBmXEeOKbZGMG408tQ" definingFeature="_d2B8ABSoEeOUifYpcO0mcw">
+            <value xmi:type="uml:InstanceValue" xmi:id="_Rgl9cBmXEeOKbZGMG408tQ" instance="_RgG1QBmXEeOKbZGMG408tQ"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_RhD3gBmXEeOKbZGMG408tQ" definingFeature="_ei8sYBSoEeOUifYpcO0mcw">
+            <value xmi:type="uml:InstanceValue" xmi:id="_RhPdsBmXEeOKbZGMG408tQ" instance="_RgyKsBmXEeOKbZGMG408tQ"/>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_zwUHQLF4EeC9yscvWqW-eg" name="mainInstance.fifoconnector">
+          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/fifo.uml#_Y1jF8HPpEd6R5tffIPrlPg"/>
+          <slot xmi:type="uml:Slot" xmi:id="_zwUHQbF4EeC9yscvWqW-eg">
+            <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE/fifo.uml#_XDRnoHUIEd6R5tffIPrlPg"/>
+            <value xmi:type="uml:LiteralInteger" xmi:id="_zwUuULF4EeC9yscvWqW-eg" name="value for m_size" value="30">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+            </value>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_zwUuUbF4EeC9yscvWqW-eg" name="mainInstance.con" classifier="_tyiqsc__Ed-TP80eVS-2Rg"/>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_zwZm0bF4EeC9yscvWqW-eg" name="mainInstance.prod" classifier="_IfjoETLbEd2qeKRLMdIx_A"/>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_vcX2AE0tEeG4IqgA7gSE6w" name="allocate to monoNode" client="_zwQc4bF4EeC9yscvWqW-eg" supplier="_GQ1ekKwHEeCQX8uv_p0Q4A"/>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_RgG1QBmXEeOKbZGMG408tQ" name="mainInstance.main">
+          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_RgyKsBmXEeOKbZGMG408tQ" name="mainInstance.pullConThread">
+          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+          <slot xmi:type="uml:Slot" xmi:id="_XHDoQBqrEeOeNvEu6098mA">
+            <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE/core.uml#_rVfYoMGJEd-Mveea1W_olA"/>
+            <value xmi:type="uml:LiteralInteger" xmi:id="_XHWjMBqrEeOeNvEu6098mA" name="value for priority" value="5">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+            </value>
+          </slot>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_OF72YGkXEeWAzPO1wYNudw" name="derivedTypes">
+      <packagedElement xmi:type="uml:Package" xmi:id="_OF8dcGkXEeWAzPO1wYNudw" name="ProducerConsumer">
+        <packagedElement xmi:type="uml:Package" xmi:id="_OF9EgGkXEeWAzPO1wYNudw" name="components">
+          <packagedElement xmi:type="uml:Package" xmi:id="_OF9EgWkXEeWAzPO1wYNudw" name="interfaces">
+            <packagedElement xmi:type="uml:Interface" xmi:id="_QxsSAGkXEeWAzPO1wYNudw" name="Push_PubData">
+              <ownedOperation xmi:type="uml:Operation" xmi:id="_Qxv8YGkXEeWAzPO1wYNudw" name="push">
+                <ownedParameter xmi:type="uml:Parameter" xmi:id="_Qxv8YWkXEeWAzPO1wYNudw" name="data" type="_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
+              </ownedOperation>
+            </packagedElement>
+            <packagedElement xmi:type="uml:Class" xmi:id="_Oue04GzMEeWdOZKmOtT48A" name="CPullConsumer_PubData"/>
+            <packagedElement xmi:type="uml:Class" xmi:id="_gz0CkGzMEeWdOZKmOtT48A" name="CPush_PubData"/>
+            <packagedElement xmi:type="uml:Usage" xmi:id="_gz3F4GzMEeWdOZKmOtT48A" client="_gz0CkGzMEeWdOZKmOtT48A" supplier="_QxsSAGkXEeWAzPO1wYNudw"/>
+            <packagedElement xmi:type="uml:Interface" xmi:id="_vJkTUCz_Eea25uwDpRQuxg" name="PullConsumer_PubData">
+              <ownedOperation xmi:type="uml:Operation" xmi:id="_vJrBACz_Eea25uwDpRQuxg" name="pull">
+                <ownedParameter xmi:type="uml:Parameter" xmi:id="_vJroECz_Eea25uwDpRQuxg" name="ret" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" direction="return"/>
+              </ownedOperation>
+              <ownedOperation xmi:type="uml:Operation" xmi:id="_vJs2MCz_Eea25uwDpRQuxg" name="hasData">
+                <ownedParameter xmi:type="uml:Parameter" xmi:id="_vJtdQCz_Eea25uwDpRQuxg" name="ret" direction="return">
+                  <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+                </ownedParameter>
+              </ownedOperation>
+            </packagedElement>
+            <packagedElement xmi:type="uml:Usage" xmi:id="_vJokwCz_Eea25uwDpRQuxg" client="_Oue04GzMEeWdOZKmOtT48A" supplier="_vJkTUCz_Eea25uwDpRQuxg"/>
+          </packagedElement>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_GcC0cAHtEd6HSdiss9GQ0A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Gd1kMAHtEd6HSdiss9GQ0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_z1TwgFW3Ed63BrxiKsw-0Q">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z2GasFW3Ed63BrxiKsw-0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_sfyAwEbjEd-l4NeVOJZDkA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_siunEEbjEd-l4NeVOJZDkA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//GCM"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_YgAioAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_popJkKmqEeCxII-g1_Lmeg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_p1PbIKmqEeCxII-g1_Lmeg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_yNSZIAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_tZuBwE0tEeG4IqgA7gSE6w">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tisXkE0tEeG4IqgA7gSE6w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+  </uml:Model>
+  <FCM:DerivedElement xmi:id="_B9o7sP6yEd6Ie_kieu_3CQ" base_Element="_dH4RIKF4Ed6FqJCjEUrkqQ">
+    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+  </FCM:DerivedElement>
+  <FCM:Port xmi:id="_GofhQP6yEd6Ie_kieu_3CQ" base_Port="_4KiE8DLbEd2qeKRLMdIx_A" type="_wFJ3IP91Ed6Jt8e-UqrRdQ">
+    <kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_pE6GUFR1Ed6GqrP6fkWBoQ"/>
+  </FCM:Port>
+  <FCM:Port xmi:id="_IWQqoP6yEd6Ie_kieu_3CQ" base_Port="_DtWn4DLcEd2qeKRLMdIx_A" type="_wFJ3IP91Ed6Jt8e-UqrRdQ">
+    <kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_qOK0cFR1Ed6GqrP6fkWBoQ"/>
+  </FCM:Port>
+  <C_Cpp:Include xmi:id="_7SAnAP76Ed6Zw96O-tCw7A" body="#include &lt;unistd.h>&#xA;#include &lt;iostream>&#xA;using namespace std;" base_class="_IfjoETLbEd2qeKRLMdIx_A"/>
+  <C_Cpp:Include xmi:id="_Sa4nEP77Ed6Zw96O-tCw7A" body="#include &lt;iostream>&#xA;using namespace std;" base_class="_oqZNUDLaEd2qeKRLMdIx_A"/>
+  <FCM:DerivedElement xmi:id="_uOqKgD15Ed-qiK1VZWszhA" base_Element="_uOmgID15Ed-qiK1VZWszhA">
+    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_uOz7gD15Ed-qiK1VZWszhA" base_Element="_uOtN0D15Ed-qiK1VZWszhA">
+    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <C_Cpp:Visibility xmi:id="_0VnhsD15Ed-qiK1VZWszhA" value="public" base_generalization="_NItbAP94Ed6628OhKk_dpg"/>
+  <C_Cpp:Include xmi:id="_11OtwPcaEd-KM6l7lmIPkw" body="#include &lt;unistd.h>&#xA;#include &lt;iostream>&#xA;using namespace std;" base_class="_tyiqsc__Ed-TP80eVS-2Rg"/>
+  <FCM:Target xmi:id="_LD_uICr7EeCfcI_SvPT4lw" base_Node="_zY9vMDLiEd2RVeNawwNNzg">
+    <targetArch xmi:type="FCM:TargetArchitecture" href="pathmap://QML_CORE/core.uml#_FYOqwF0OEd-12d_h0i1xhQ"/>
+    <usedOS xmi:type="FCM:OperatingSystem" href="pathmap://QML_CORE/core.uml#_1eULwF0NEd-12d_h0i1xhQ"/>
+  </FCM:Target>
+  <FCM:DeploymentPlan xmi:id="_xB2CEDOFEeCldqx_51Yicg" mainInstance="_xB3QMDOFEeCldqx_51Yicg" base_Package="_xBxwoDOFEeCldqx_51Yicg"/>
+  <GCM:FlowPort xmi:id="_DwpFMJZ7EeCiU5xXzp1cKQ" direction="in" base_Port="_4KiE8DLbEd2qeKRLMdIx_A"/>
+  <GCM:FlowPort xmi:id="_NWXCQJZ7EeCiU5xXzp1cKQ" direction="in" base_Port="_tyiqs8__Ed-TP80eVS-2Rg"/>
+  <FCM:Port xmi:id="_tyjRzc__Ed-TP80eVS-2Rg" base_Port="_tyiqs8__Ed-TP80eVS-2Rg" type="_wFJ3IP91Ed6Jt8e-UqrRdQ">
+    <kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_x5mL4FRxEd6GqrP6fkWBoQ"/>
+  </FCM:Port>
+  <GCM:FlowPort xmi:id="_ow3PkJZ7EeCiU5xXzp1cKQ" direction="out" base_Port="_DtWn4DLcEd2qeKRLMdIx_A"/>
+  <FCM:DeploymentPlan xmi:id="_zwQc4LF4EeC9yscvWqW-eg" mainInstance="_zwQc4bF4EeC9yscvWqW-eg" base_Package="_zwMLcLF4EeC9yscvWqW-eg"/>
+  <Alloc:Allocate xmi:id="_vccHcE0tEeG4IqgA7gSE6w" base_Abstraction="_vcX2AE0tEeG4IqgA7gSE6w"/>
+  <Alloc:Allocate xmi:id="_wq1NME0tEeG4IqgA7gSE6w" base_Abstraction="_wqyJ4E0tEeG4IqgA7gSE6w"/>
+  <FCM:Connector xmi:id="_iADdkE2rEeGl8qrc8BM7vA" base_Connector="_efVI0E2rEeGl8qrc8BM7vA">
+    <ic xmi:type="FCM:InteractionComponent" href="pathmap://QML_CORE/fifo.uml#_xQ_ccHUuEd6R5tffIPrlPg"/>
+  </FCM:Connector>
+  <Alloc:Allocate xmi:id="_9fYdcBSqEeOUifYpcO0mcw" base_Abstraction="_9dY5YBSqEeOUifYpcO0mcw"/>
+  <Alloc:Allocate xmi:id="__ACX4BSqEeOUifYpcO0mcw" base_Abstraction="_--_2EBSqEeOUifYpcO0mcw"/>
+  <FCM:DerivedElement xmi:id="_Ffh9YCxxEeOMQpc6Y-MAJw" base_Element="_FemwUCxxEeOMQpc6Y-MAJw">
+    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_ns4qsClUEeO4bs_nkcnKOg"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_QxvVUGkXEeWAzPO1wYNudw" base_Element="_QxsSAGkXEeWAzPO1wYNudw" source="_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
+  <FCM:DerivedElement xmi:id="_FM704GzGEeWdOZKmOtT48A" base_Element="_FMzSAGzGEeWdOZKmOtT48A" source="_Qxv8YGkXEeWAzPO1wYNudw"/>
+  <FCM:DerivedElement xmi:id="_OugqEGzMEeWdOZKmOtT48A" base_Element="_Oue04GzMEeWdOZKmOtT48A" source="_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
+  <FCM:DerivedElement xmi:id="_gz2e0GzMEeWdOZKmOtT48A" base_Element="_gz0CkGzMEeWdOZKmOtT48A" source="_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
+  <FCM:DerivedElement xmi:id="_NVHFsBbXEeasT4HdO7q9gg" base_Element="_NVBmIBbXEeasT4HdO7q9gg">
+    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_vJn9sCz_Eea25uwDpRQuxg" base_Element="_vJkTUCz_Eea25uwDpRQuxg" source="_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
+</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/sysinterfaces.di b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ProducerTwoConsumers.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/sysinterfaces.di
copy to transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ProducerTwoConsumers.di
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ProducerTwoConsumers.notation b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ProducerTwoConsumers.notation
new file mode 100644
index 0000000..ecf073b
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ProducerTwoConsumers.notation
@@ -0,0 +1,1629 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_UstOsM__Ed-TP80eVS-2Rg" type="CompositeStructure" name="PushConsumer" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_VT2HMM__Ed-TP80eVS-2Rg" type="Class_Shape" fontName="" fontHeight="10" fillColor="8905185" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VT2HMs__Ed-TP80eVS-2Rg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VT2uQM__Ed-TP80eVS-2Rg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VT2uQc__Ed-TP80eVS-2Rg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VT2uQs__Ed-TP80eVS-2Rg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VT2uQ8__Ed-TP80eVS-2Rg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VT2uRM__Ed-TP80eVS-2Rg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_VT2uRc__Ed-TP80eVS-2Rg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_VT2uRs__Ed-TP80eVS-2Rg" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VT2uR8__Ed-TP80eVS-2Rg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_XgvckM__Ed-TP80eVS-2Rg" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XgwDoM__Ed-TP80eVS-2Rg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XgwDoc__Ed-TP80eVS-2Rg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XgwDos__Ed-TP80eVS-2Rg" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XgwDo8__Ed-TP80eVS-2Rg" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XgwqsM__Ed-TP80eVS-2Rg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Xgwqsc__Ed-TP80eVS-2Rg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_Xgwqss__Ed-TP80eVS-2Rg" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Xgwqs8__Ed-TP80eVS-2Rg" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_XgwqtM__Ed-TP80eVS-2Rg" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Xgwqtc__Ed-TP80eVS-2Rg" x="-116" y="-20"/>
+        </children>
+        <element xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xgvckc__Ed-TP80eVS-2Rg" x="-10" y="38"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_V24qMGkXEeWAzPO1wYNudw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_V24qMWkXEeWAzPO1wYNudw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="ProducerTwoConsumers.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VT2HMc__Ed-TP80eVS-2Rg" x="144" y="36" width="190" height="87"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_XfxXsDecEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Xgz5gDecEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Xgz5gTecEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Xgz5gjecEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Xgz5gzecEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Xgz5hDecEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Xgz5hTecEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Xgz5hjecEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="ProducerTwoConsumers.uml#_XfnmsDecEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XfxXsTecEeGPyrZ5I3hMlA" x="144" y="153" width="226"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gpzeUDecEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gp0FYDecEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gp0FYTecEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gp0FYjecEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gp0FYzecEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gp0FZDecEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gp0FZTecEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_gp0FZjecEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="ProducerTwoConsumers.uml#_gpptUDecEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gpzeUTecEeGPyrZ5I3hMlA" x="69" y="235" width="418"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_V4ho8GkXEeWAzPO1wYNudw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_V4ho8WkXEeWAzPO1wYNudw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V4ho82kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="ProducerTwoConsumers.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V4ho8mkXEeWAzPO1wYNudw" x="344" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_V42ZEmkXEeWAzPO1wYNudw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_V42ZE2kXEeWAzPO1wYNudw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V42ZFWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V42ZFGkXEeWAzPO1wYNudw" x="190" y="38"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_UstOsc__Ed-TP80eVS-2Rg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_V24qMmkXEeWAzPO1wYNudw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="ProducerTwoConsumers.uml#_OGM88DLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_fsWXkDecEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_XfxXsDecEeGPyrZ5I3hMlA" target="_VT2HMM__Ed-TP80eVS-2Rg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_fsWXkTecEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fsWXkjecEeGPyrZ5I3hMlA" points="[-1, -3, 19, 74]$[4, -33, 24, 44]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fsndUDecEeGPyrZ5I3hMlA" id="(0.3893805309734513,0.05)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_l-KT4DecEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_gpzeUDecEeGPyrZ5I3hMlA" target="_XgvckM__Ed-TP80eVS-2Rg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_l-KT4TecEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l-KT4jecEeGPyrZ5I3hMlA" points="[0, -4, -19, 154]$[16, -160, -3, -2]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l-cAsDecEeGPyrZ5I3hMlA" id="(0.14832535885167464,0.03333333333333333)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l-cAsTecEeGPyrZ5I3hMlA" id="(0.15,0.35)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_V4ho9GkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_VT2HMM__Ed-TP80eVS-2Rg" target="_V4ho8GkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_V4ho9WkXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V4ho-WkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="ProducerTwoConsumers.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_V4ho9mkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V4ho92kXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V4ho-GkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_V42ZFmkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_XgvckM__Ed-TP80eVS-2Rg" target="_V42ZEmkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_V42ZF2kXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V42ZG2kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_V42ZGGkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V42ZGWkXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V42ZGmkXEeWAzPO1wYNudw"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_7kc7YM__Ed-TP80eVS-2Rg" type="CompositeStructure" name="PullConsumer" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_8LSR4M__Ed-TP80eVS-2Rg" type="Class_Shape" fontName="" fontHeight="10" fillColor="8905185" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LSR4s__Ed-TP80eVS-2Rg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LSR48__Ed-TP80eVS-2Rg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LS48M__Ed-TP80eVS-2Rg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LS48c__Ed-TP80eVS-2Rg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8LS48s__Ed-TP80eVS-2Rg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8LS488__Ed-TP80eVS-2Rg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8LS49M__Ed-TP80eVS-2Rg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8LS49c__Ed-TP80eVS-2Rg" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8LS49s__Ed-TP80eVS-2Rg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_ytK8IP8nEd-hWJO6cv3VJA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ytLjMP8nEd-hWJO6cv3VJA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ytLjMf8nEd-hWJO6cv3VJA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ytLjMv8nEd-hWJO6cv3VJA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ytLjM_8nEd-hWJO6cv3VJA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ytMKQP8nEd-hWJO6cv3VJA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ytMKQf8nEd-hWJO6cv3VJA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ytMKQv8nEd-hWJO6cv3VJA" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ytMKQ_8nEd-hWJO6cv3VJA" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ytMKRP8nEd-hWJO6cv3VJA" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ytMKRf8nEd-hWJO6cv3VJA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ytK8If8nEd-hWJO6cv3VJA" x="-10" y="72"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_t6X3UJaMEeCbgbUO5qahhA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6ZFcJaMEeCbgbUO5qahhA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6ZFcZaMEeCbgbUO5qahhA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6ZsgJaMEeCbgbUO5qahhA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6ZsgZaMEeCbgbUO5qahhA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6ZsgpaMEeCbgbUO5qahhA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6Zsg5aMEeCbgbUO5qahhA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_t6ZshJaMEeCbgbUO5qahhA" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_t6ZshZaMEeCbgbUO5qahhA" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_t6aTkJaMEeCbgbUO5qahhA" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_t6aTkZaMEeCbgbUO5qahhA" x="-116"/>
+        </children>
+        <element xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_tyiqs8__Ed-TP80eVS-2Rg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t6X3UZaMEeCbgbUO5qahhA" x="-10" y="36"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_V5JUAGkXEeWAzPO1wYNudw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_V5JUAWkXEeWAzPO1wYNudw" y="5"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_V7-lkGkXEeWAzPO1wYNudw" visible="false" type="StereotypeLabel">
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_V7-lkWkXEeWAzPO1wYNudw" name="stereotype" stringValue="C_Cpp::Include"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_RwTdQByJEduN1bTiWJ0lyw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V7-lkmkXEeWAzPO1wYNudw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_V8HvhGkXEeWAzPO1wYNudw" visible="false" type="StereotypeLabel">
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_V8HvhWkXEeWAzPO1wYNudw" name="stereotype" stringValue="FCM::RuleApplication"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_te7YAMtkEd2H_o0jIC6qDQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V8HvhmkXEeWAzPO1wYNudw"/>
+      </children>
+      <element xmi:type="uml:Class" href="ProducerTwoConsumers.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8LSR4c__Ed-TP80eVS-2Rg" x="180" y="90" width="254" height="109"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_uHcuMP8nEd-hWJO6cv3VJA" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uHdVQP8nEd-hWJO6cv3VJA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uHdVQf8nEd-hWJO6cv3VJA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uHdVQv8nEd-hWJO6cv3VJA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uHdVQ_8nEd-hWJO6cv3VJA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uHdVRP8nEd-hWJO6cv3VJA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uHdVRf8nEd-hWJO6cv3VJA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_uHdVRv8nEd-hWJO6cv3VJA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_uHdVR_8nEd-hWJO6cv3VJA" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uHd8UP8nEd-hWJO6cv3VJA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_xVmsQP8nEd-hWJO6cv3VJA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xVnTUP8nEd-hWJO6cv3VJA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xVnTUf8nEd-hWJO6cv3VJA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xVnTUv8nEd-hWJO6cv3VJA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xVnTU_8nEd-hWJO6cv3VJA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xVnTVP8nEd-hWJO6cv3VJA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xVn6YP8nEd-hWJO6cv3VJA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_xVn6Yf8nEd-hWJO6cv3VJA" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_xVn6Yv8nEd-hWJO6cv3VJA" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_xVn6Y_8nEd-hWJO6cv3VJA" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_xVn6ZP8nEd-hWJO6cv3VJA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xVmsQf8nEd-hWJO6cv3VJA" x="-10" y="29"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_V5JUAmkXEeWAzPO1wYNudw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_V5JUA2kXEeWAzPO1wYNudw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uHcuMf8nEd-hWJO6cv3VJA" x="180" y="-36" width="253" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_-HlK8DecEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyADecEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyATecEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyAjecEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyAzecEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-HlyBDecEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-HlyBTecEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-HlyBjecEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="ProducerTwoConsumers.uml#_-Hd2MDecEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-HlK8TecEeGPyrZ5I3hMlA" x="489" y="90" width="295"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_0EFQQDedEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3UDedEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3UTedEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3UjedEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3UzedEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0EF3VDedEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0EF3VTedEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0EF3VjedEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="ProducerTwoConsumers.uml#_0D64MDedEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0EFQQTedEeGPyrZ5I3hMlA" x="489" y="-24" width="295"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_V8SHkGkXEeWAzPO1wYNudw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_V8SHkWkXEeWAzPO1wYNudw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V8SHk2kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="ProducerTwoConsumers.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V8SHkmkXEeWAzPO1wYNudw" x="380" y="90"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_V9oycGkXEeWAzPO1wYNudw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_V9oycWkXEeWAzPO1wYNudw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V9oyc2kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V9oycmkXEeWAzPO1wYNudw" x="190" y="72"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_V-H6oGkXEeWAzPO1wYNudw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_V-H6oWkXEeWAzPO1wYNudw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V-H6o2kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_tyiqs8__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V-H6omkXEeWAzPO1wYNudw" x="190" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_V-gVIGkXEeWAzPO1wYNudw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_V-gVIWkXEeWAzPO1wYNudw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V-gVI2kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V-gVImkXEeWAzPO1wYNudw" x="190" y="29"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_7kc7Yc__Ed-TP80eVS-2Rg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_V5JUBGkXEeWAzPO1wYNudw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="ProducerTwoConsumers.uml#_tyiqsM__Ed-TP80eVS-2Rg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_uHz6kP8nEd-hWJO6cv3VJA" type="Generalization_Edge" source="_8LSR4M__Ed-TP80eVS-2Rg" target="_uHcuMP8nEd-hWJO6cv3VJA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_uH0hoP8nEd-hWJO6cv3VJA" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uH0hof8nEd-hWJO6cv3VJA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_uHz6kf8nEd-hWJO6cv3VJA" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="ProducerTwoConsumers.uml#_tyiqss__Ed-TP80eVS-2Rg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uHz6kv8nEd-hWJO6cv3VJA" points="[-103, -45, 204, 90]$[-307, -135, 0, 0]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_FOfGwDeeEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_0EFQQDedEeGPyrZ5I3hMlA" target="_uHcuMP8nEd-hWJO6cv3VJA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_FOfGwTeeEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FOfGwjeeEeGPyrZ5I3hMlA" points="[-6, -3, 83, 0]$[-62, -3, 27, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FOwMgDeeEeGPyrZ5I3hMlA" id="(0.020338983050847456,0.4027777777777778)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FOwMgTeeEeGPyrZ5I3hMlA" id="(0.8932806324110671,0.5205479452054794)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_F4Ju0DeeEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_-HlK8DecEeGPyrZ5I3hMlA" target="_8LSR4M__Ed-TP80eVS-2Rg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_F4Ju0TeeEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_F4Ju0jeeEeGPyrZ5I3hMlA" points="[-25, 3, 78, 0]$[-80, -2, 23, -5]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F4a0kDeeEeGPyrZ5I3hMlA" id="(0.0847457627118644,0.25)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F4a0kTeeEeGPyrZ5I3hMlA" id="(0.9094488188976378,0.3302752293577982)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_V8SHlGkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_8LSR4M__Ed-TP80eVS-2Rg" target="_V8SHkGkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_V8SHlWkXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V8SHmWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="ProducerTwoConsumers.uml#_tyiqsc__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_V8SHlmkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V8SHl2kXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V8SHmGkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_V9oydGkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_ytK8IP8nEd-hWJO6cv3VJA" target="_V9oycGkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_V9oydWkXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V9pZgWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_V9oydmkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V9oyd2kXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V9pZgGkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_V-H6pGkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_t6X3UJaMEeCbgbUO5qahhA" target="_V-H6oGkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_V-H6pWkXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V-H6qWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_tyiqs8__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_V-H6pmkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V-H6p2kXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V-H6qGkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_V-gVJGkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_xVmsQP8nEd-hWJO6cv3VJA" target="_V-gVIGkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_V-gVJWkXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V-gVKWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_V-gVJmkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V-gVJ2kXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V-gVKGkXEeWAzPO1wYNudw"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_o6ZisNCREd-hqYHBJe17_Q" type="CompositeStructure" name="System" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_VSa6YNHtEd-A1oPfP47IaQ" type="Class_Shape" fontName="" fontHeight="10" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScIgNHtEd-A1oPfP47IaQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvkNHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScvkdHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvktHtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VScvk9HtEd-A1oPfP47IaQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VScvlNHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_VScvldHtEd-A1oPfP47IaQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_VScvltHtEd-A1oPfP47IaQ" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_XsS70NHtEd-A1oPfP47IaQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi4NHtEd-A1oPfP47IaQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi4dHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi4tHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi49HtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi5NHtEd-A1oPfP47IaQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi5dHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_XsTi5tHtEd-A1oPfP47IaQ" type="Property_NameLabel"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_XsTi59HtEd-A1oPfP47IaQ" type="Property_StructureCompartment">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XsUJ8NHtEd-A1oPfP47IaQ"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_0XlXwDF1EeCpQdhNuFCtew" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0XnM8DF1EeCpQdhNuFCtew" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0XnM8TF1EeCpQdhNuFCtew" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0XnM8jF1EeCpQdhNuFCtew" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0XnM8zF1EeCpQdhNuFCtew" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0XnM9DF1EeCpQdhNuFCtew" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0XnM9TF1EeCpQdhNuFCtew" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_0Xn0ADF1EeCpQdhNuFCtew" type="Port_NameLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_0Xn0ATF1EeCpQdhNuFCtew" x="31" y="-1"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_0Xn0AjF1EeCpQdhNuFCtew" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_0Xn0AzF1EeCpQdhNuFCtew" x="25" y="-10"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_WDwokGkXEeWAzPO1wYNudw" visible="false" type="StereotypeLabel">
+              <styles xmi:type="notation:StringValueStyle" xmi:id="_WDwokWkXEeWAzPO1wYNudw" name="stereotype" stringValue="FCM::Port"/>
+              <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WDwokmkXEeWAzPO1wYNudw"/>
+            </children>
+            <element xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_tyiqs8__Ed-TP80eVS-2Rg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0XlXwTF1EeCpQdhNuFCtew" x="-10" y="50"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_V-xa4mkXEeWAzPO1wYNudw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_V-xa42kXEeWAzPO1wYNudw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="ProducerTwoConsumers.uml#_gV1cgDLiEd2RVeNawwNNzg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XsS70dHtEd-A1oPfP47IaQ" x="388" y="18" width="202" height="75"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_YNar4NHtEd-A1oPfP47IaQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YNbS8NHtEd-A1oPfP47IaQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YNbS8dHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YNbS8tHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YNbS89HtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YNbS9NHtEd-A1oPfP47IaQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YNbS9dHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_YNbS9tHtEd-A1oPfP47IaQ" type="Property_NameLabel"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_YNbS99HtEd-A1oPfP47IaQ" type="Property_StructureCompartment">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YNbS-NHtEd-A1oPfP47IaQ"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_zmq8ANHtEd-A1oPfP47IaQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zmsKINHtEd-A1oPfP47IaQ" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zmsKIdHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zmsKItHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zmsKI9HtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zmsKJNHtEd-A1oPfP47IaQ" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zmsKJdHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_zmsKJtHtEd-A1oPfP47IaQ" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jHcyYF7hEeGEmrrwB1vhPg" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jHiR8F7hEeGEmrrwB1vhPg" key="CustomAppearance_MaskValue" value="60"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_zmsxMNHtEd-A1oPfP47IaQ" x="-81" y="16"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_zmsxMdHtEd-A1oPfP47IaQ" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_zmsxMtHtEd-A1oPfP47IaQ" x="25" y="-10"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_WELfUGkXEeWAzPO1wYNudw" visible="false" type="StereotypeLabel">
+              <styles xmi:type="notation:StringValueStyle" xmi:id="_WELfUWkXEeWAzPO1wYNudw" name="stereotype" stringValue="FCM::Port"/>
+              <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WELfUmkXEeWAzPO1wYNudw"/>
+            </children>
+            <element xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zmq8AdHtEd-A1oPfP47IaQ" x="90" y="66"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_V-xa5GkXEeWAzPO1wYNudw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_V-xa5WkXEeWAzPO1wYNudw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="ProducerTwoConsumers.uml#_i-I7gDLiEd2RVeNawwNNzg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YNar4dHtEd-A1oPfP47IaQ" x="22" y="11" width="163" height="76"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_JusbQDbdEeGdqp2YT1LwWw" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JutCUDbdEeGdqp2YT1LwWw" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JutCUTbdEeGdqp2YT1LwWw" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JutCUjbdEeGdqp2YT1LwWw" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JutCUzbdEeGdqp2YT1LwWw" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JutCVDbdEeGdqp2YT1LwWw" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JutCVTbdEeGdqp2YT1LwWw" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_JutCVjbdEeGdqp2YT1LwWw" type="Comment_BodyLabel"/>
+          <element xmi:type="uml:Comment" href="ProducerTwoConsumers.uml#_JuaHYDbdEeGdqp2YT1LwWw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JusbQTbdEeGdqp2YT1LwWw" x="364" y="236" width="199" height="44"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_-uXn8FuoEeGjjMeADLT5-g" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-uYPAFuoEeGjjMeADLT5-g" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-uYPAVuoEeGjjMeADLT5-g" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-uYPAluoEeGjjMeADLT5-g" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-uYPA1uoEeGjjMeADLT5-g" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-uYPBFuoEeGjjMeADLT5-g" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-uYPBVuoEeGjjMeADLT5-g" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_-uYPBluoEeGjjMeADLT5-g" type="Property_NameLabel"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_-uYPB1uoEeGjjMeADLT5-g" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_-uYPCFuoEeGjjMeADLT5-g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-uYPCVuoEeGjjMeADLT5-g"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="__e67IFuoEeGjjMeADLT5-g" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__e7iMFuoEeGjjMeADLT5-g" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__e7iMVuoEeGjjMeADLT5-g" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__e7iMluoEeGjjMeADLT5-g" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__e7iM1uoEeGjjMeADLT5-g" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__e7iNFuoEeGjjMeADLT5-g" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__e7iNVuoEeGjjMeADLT5-g" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="__e8JQFuoEeGjjMeADLT5-g" type="Port_NameLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="__e8JQVuoEeGjjMeADLT5-g" x="25" y="3"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="__e8JQluoEeGjjMeADLT5-g" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="__e8JQ1uoEeGjjMeADLT5-g" x="25" y="-10"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_WE20xGkXEeWAzPO1wYNudw" visible="false" type="StereotypeLabel">
+              <styles xmi:type="notation:StringValueStyle" xmi:id="_WE20xWkXEeWAzPO1wYNudw" name="stereotype" stringValue="FCM::Port"/>
+              <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WE20xmkXEeWAzPO1wYNudw"/>
+            </children>
+            <element xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_tyiqs8__Ed-TP80eVS-2Rg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="__e67IVuoEeGjjMeADLT5-g" x="-10" y="29"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_V-xa5mkXEeWAzPO1wYNudw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_V-xa52kXEeWAzPO1wYNudw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="ProducerTwoConsumers.uml#_-uMo0FuoEeGjjMeADLT5-g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-uXn8VuoEeGjjMeADLT5-g" x="391" y="137" width="199" height="82"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ENAa4FupEeGjjMeADLT5-g" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ENBB8FupEeGjjMeADLT5-g" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ENBB8VupEeGjjMeADLT5-g" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ENBB8lupEeGjjMeADLT5-g" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ENBB81upEeGjjMeADLT5-g" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ENBB9FupEeGjjMeADLT5-g" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ENBB9VupEeGjjMeADLT5-g" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_ENBB9lupEeGjjMeADLT5-g" type="Property_NameLabel"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_ENBpAFupEeGjjMeADLT5-g" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_ENBpAVupEeGjjMeADLT5-g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ENBpAlupEeGjjMeADLT5-g"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_N1-gQFupEeGjjMeADLT5-g" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N1_HUFupEeGjjMeADLT5-g" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N1_HUVupEeGjjMeADLT5-g" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N1_HUlupEeGjjMeADLT5-g" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N1_HU1upEeGjjMeADLT5-g" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N1_HVFupEeGjjMeADLT5-g" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N1_uYFupEeGjjMeADLT5-g" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_N1_uYVupEeGjjMeADLT5-g" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_493zgFupEeGjjMeADLT5-g" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5PrVMFupEeGjjMeADLT5-g" key="CustomAppearance_MaskValue" value="44"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_N1_uYlupEeGjjMeADLT5-g" x="25" y="1"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_N1_uY1upEeGjjMeADLT5-g" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_N1_uZFupEeGjjMeADLT5-g" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="pathmap://QML_CORE/fifo.uml#_xHb7MHLmEd6R5tffIPrlPg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_N1-gQVupEeGjjMeADLT5-g" x="-10" y="45"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_N2AVcFupEeGjjMeADLT5-g" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N2AVclupEeGjjMeADLT5-g" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N2AVc1upEeGjjMeADLT5-g" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N2AVdFupEeGjjMeADLT5-g" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N2AVdVupEeGjjMeADLT5-g" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N2A8gFupEeGjjMeADLT5-g" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N2A8gVupEeGjjMeADLT5-g" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_N2A8glupEeGjjMeADLT5-g" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5y6lIFupEeGjjMeADLT5-g" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_57RP4FupEeGjjMeADLT5-g" key="CustomAppearance_MaskValue" value="44"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_N2A8g1upEeGjjMeADLT5-g" x="25" y="3"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_N2A8hFupEeGjjMeADLT5-g" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_N2A8hVupEeGjjMeADLT5-g" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="pathmap://QML_CORE/fifo.uml#_xcu1wHLmEd6R5tffIPrlPg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_N2AVcVupEeGjjMeADLT5-g" x="127" y="45"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_V-xa6GkXEeWAzPO1wYNudw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_V-xa6WkXEeWAzPO1wYNudw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="ProducerTwoConsumers.uml#_EM2p4FupEeGjjMeADLT5-g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ENAa4VupEeGjjMeADLT5-g" x="211" y="74" width="137" height="72"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_s7WAUFuqEeGjjMeADLT5-g" type="Comment_Shape_CN" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_s7a40FuqEeGjjMeADLT5-g" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_s7a40VuqEeGjjMeADLT5-g" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_s7bf4FuqEeGjjMeADLT5-g" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_s7bf4VuqEeGjjMeADLT5-g" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_s7bf4luqEeGjjMeADLT5-g" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_s7bf41uqEeGjjMeADLT5-g" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_s7bf5FuqEeGjjMeADLT5-g" type="Comment_BodyLabel_CN"/>
+          <element xmi:type="uml:Comment" href="ProducerTwoConsumers.uml#_s6SQYFuqEeGjjMeADLT5-g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s7WAUVuqEeGjjMeADLT5-g" x="94" y="193" width="199"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_WD8OwGkXEeWAzPO1wYNudw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_WD8OwWkXEeWAzPO1wYNudw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WD8Ow2kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_tyiqs8__Ed-TP80eVS-2Rg"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WD8OwmkXEeWAzPO1wYNudw" x="190" y="50"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_WEfBVGkXEeWAzPO1wYNudw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_WEfBVWkXEeWAzPO1wYNudw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WEfBV2kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WEfBVmkXEeWAzPO1wYNudw" x="290" y="66"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_WE_XomkXEeWAzPO1wYNudw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_WE_Xo2kXEeWAzPO1wYNudw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WE_XpWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_tyiqs8__Ed-TP80eVS-2Rg"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WE_XpGkXEeWAzPO1wYNudw" x="190" y="29"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_WFUu0GkXEeWAzPO1wYNudw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_WFUu0WkXEeWAzPO1wYNudw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WFUu02kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Property" href="ProducerTwoConsumers.uml#_EM2p4FupEeGjjMeADLT5-g"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WFUu0mkXEeWAzPO1wYNudw" x="411" y="74"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_WFmboGkXEeWAzPO1wYNudw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_WFmboWkXEeWAzPO1wYNudw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WFmbo2kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/fifo.uml#_xHb7MHLmEd6R5tffIPrlPg"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WFmbomkXEeWAzPO1wYNudw" x="190" y="45"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_WF4IdGkXEeWAzPO1wYNudw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_WF4IdWkXEeWAzPO1wYNudw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WF4Id2kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/fifo.uml#_xcu1wHLmEd6R5tffIPrlPg"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WF4IdmkXEeWAzPO1wYNudw" x="327" y="45"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VScvl9HtEd-A1oPfP47IaQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_V-xa4GkXEeWAzPO1wYNudw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_V-xa4WkXEeWAzPO1wYNudw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="ProducerTwoConsumers.uml#_bYJagDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VSa6YdHtEd-A1oPfP47IaQ" x="63" y="26" width="631" height="325"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_WGvTQNHtEd-A1oPfP47IaQ" type="Class_Shape" fontName="" fontHeight="10" fillColor="8047085" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WGv6UNHtEd-A1oPfP47IaQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WGv6UdHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WGv6UtHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WGv6U9HtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WGwhYNHtEd-A1oPfP47IaQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WGwhYdHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_WGwhYtHtEd-A1oPfP47IaQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_WGwhY9HtEd-A1oPfP47IaQ" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_ZT6Z4NHtEd-A1oPfP47IaQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZT7A8NHtEd-A1oPfP47IaQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZT7A8dHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZT7A8tHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZT7A89HtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZT7A9NHtEd-A1oPfP47IaQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZT7oANHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_ZT7oAdHtEd-A1oPfP47IaQ" type="Property_NameLabel"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_ZT7oAtHtEd-A1oPfP47IaQ" type="Property_StructureCompartment">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZT7oA9HtEd-A1oPfP47IaQ"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_v8PRoNHtEd-A1oPfP47IaQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v8P4sNHtEd-A1oPfP47IaQ" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v8P4sdHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v8P4stHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v8P4s9HtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v8P4tNHtEd-A1oPfP47IaQ" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v8P4tdHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_v8QfwNHtEd-A1oPfP47IaQ" type="Port_NameLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_v8QfwdHtEd-A1oPfP47IaQ" x="25" y="3"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_v8QfwtHtEd-A1oPfP47IaQ" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_v8Qfw9HtEd-A1oPfP47IaQ" x="25" y="-10"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_WGHZAGkXEeWAzPO1wYNudw" visible="false" type="StereotypeLabel">
+              <styles xmi:type="notation:StringValueStyle" xmi:id="_WGHZAWkXEeWAzPO1wYNudw" name="stereotype" stringValue="FCM::Port"/>
+              <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WGHZAmkXEeWAzPO1wYNudw"/>
+            </children>
+            <element xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v8PRodHtEd-A1oPfP47IaQ" x="-10" y="33"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_V-xa7GkXEeWAzPO1wYNudw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_V-xa7WkXEeWAzPO1wYNudw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="ProducerTwoConsumers.uml#_iP8c4dCREd-hqYHBJe17_Q"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZT6Z4dHtEd-A1oPfP47IaQ" x="387" y="20" width="203" height="72"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ZtFu4NHtEd-A1oPfP47IaQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZtGV8NHtEd-A1oPfP47IaQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZtGV8dHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZtGV8tHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZtG9ANHtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZtG9AdHtEd-A1oPfP47IaQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZtG9AtHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_ZtG9A9HtEd-A1oPfP47IaQ" type="Property_NameLabel"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_ZtG9BNHtEd-A1oPfP47IaQ" type="Property_StructureCompartment">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZtG9BdHtEd-A1oPfP47IaQ"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_xUgsINHtEd-A1oPfP47IaQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xUhTMNHtEd-A1oPfP47IaQ" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xUhTMdHtEd-A1oPfP47IaQ" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xUhTMtHtEd-A1oPfP47IaQ" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xUhTM9HtEd-A1oPfP47IaQ" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xUhTNNHtEd-A1oPfP47IaQ" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xUhTNdHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_xUhTNtHtEd-A1oPfP47IaQ" type="Port_NameLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_xUhTN9HtEd-A1oPfP47IaQ" x="13" y="-18"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_xUhTONHtEd-A1oPfP47IaQ" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_xUhTOdHtEd-A1oPfP47IaQ" x="25" y="-10"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_WGsAwGkXEeWAzPO1wYNudw" visible="false" type="StereotypeLabel">
+              <styles xmi:type="notation:StringValueStyle" xmi:id="_WGsAwWkXEeWAzPO1wYNudw" name="stereotype" stringValue="FCM::Port"/>
+              <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WGsAwmkXEeWAzPO1wYNudw"/>
+            </children>
+            <element xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xUgsIdHtEd-A1oPfP47IaQ" x="9" y="63"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_V-xa7mkXEeWAzPO1wYNudw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_V-xa72kXEeWAzPO1wYNudw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="ProducerTwoConsumers.uml#_iP8c4tCREd-hqYHBJe17_Q"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZtFu4dHtEd-A1oPfP47IaQ" x="31" y="12" width="181" height="73"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_KPj-gDefEeGPyrZ5I3hMlA" type="Comment_Shape_CN" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KPklkDefEeGPyrZ5I3hMlA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KPklkTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KPklkjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KPklkzefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KPkllDefEeGPyrZ5I3hMlA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KPlMoDefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_KPlMoTefEeGPyrZ5I3hMlA" type="Comment_BodyLabel_CN"/>
+          <element xmi:type="uml:Comment" href="ProducerTwoConsumers.uml#_KOEwwDefEeGPyrZ5I3hMlA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KPj-gTefEeGPyrZ5I3hMlA" x="301" y="102" width="280" height="46"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_cNnmIFunEeGjjMeADLT5-g" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cNpbUFunEeGjjMeADLT5-g" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cNpbUVunEeGjjMeADLT5-g" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cNpbUlunEeGjjMeADLT5-g" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cNpbU1unEeGjjMeADLT5-g" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cNqCYFunEeGjjMeADLT5-g" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cNqCYVunEeGjjMeADLT5-g" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_cNqCYlunEeGjjMeADLT5-g" type="Property_NameLabel"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_cNqpcFunEeGjjMeADLT5-g" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_cNqpcVunEeGjjMeADLT5-g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cNqpclunEeGjjMeADLT5-g"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_jrBL0FunEeGjjMeADLT5-g" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jrBy4FunEeGjjMeADLT5-g" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jrBy4VunEeGjjMeADLT5-g" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jrBy4lunEeGjjMeADLT5-g" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jrBy41unEeGjjMeADLT5-g" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jrBy5FunEeGjjMeADLT5-g" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jrBy5VunEeGjjMeADLT5-g" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_jrBy5lunEeGjjMeADLT5-g" type="Port_NameLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_jrCZ8FunEeGjjMeADLT5-g" x="25" y="3"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_jrCZ8VunEeGjjMeADLT5-g" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_jrCZ8lunEeGjjMeADLT5-g" x="25" y="-10"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_WHIFoGkXEeWAzPO1wYNudw" visible="false" type="StereotypeLabel">
+              <styles xmi:type="notation:StringValueStyle" xmi:id="_WHIFoWkXEeWAzPO1wYNudw" name="stereotype" stringValue="FCM::Port"/>
+              <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_pP-ckMtqEd2H_o0jIC6qDQ"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WHIFomkXEeWAzPO1wYNudw"/>
+            </children>
+            <element xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jrBL0VunEeGjjMeADLT5-g" x="-10" y="40"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_V-xa8GkXEeWAzPO1wYNudw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_V-xa8WkXEeWAzPO1wYNudw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="ProducerTwoConsumers.uml#_cLW8UFunEeGjjMeADLT5-g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cNnmIVunEeGjjMeADLT5-g" x="391" y="161" width="199" height="77"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_wJrmsF7uEeGA7qTe7UD05A" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wJtb4F7uEeGA7qTe7UD05A" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wJtb4V7uEeGA7qTe7UD05A" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wJuC8F7uEeGA7qTe7UD05A" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wJuC8V7uEeGA7qTe7UD05A" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wJuC8l7uEeGA7qTe7UD05A" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wJuC817uEeGA7qTe7UD05A" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_wJuC9F7uEeGA7qTe7UD05A" type="Property_NameLabel"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_wJuqAF7uEeGA7qTe7UD05A" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_wJuqAV7uEeGA7qTe7UD05A"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wJuqAl7uEeGA7qTe7UD05A"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_11IGkF7uEeGA7qTe7UD05A" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_11MYAF7uEeGA7qTe7UD05A" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_11M_EF7uEeGA7qTe7UD05A" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_11M_EV7uEeGA7qTe7UD05A" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_11M_El7uEeGA7qTe7UD05A" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_11M_E17uEeGA7qTe7UD05A" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_11M_FF7uEeGA7qTe7UD05A" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_11M_FV7uEeGA7qTe7UD05A" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1A0YUGkAEeGgxNn3NWRjCQ" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4Ug9sGkAEeGgxNn3NWRjCQ" key="CustomAppearance_MaskValue" value="44"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_11M_Fl7uEeGA7qTe7UD05A" x="-90"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_11NmIF7uEeGA7qTe7UD05A" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_11NmIV7uEeGA7qTe7UD05A" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_11LJ4F7uEeGA7qTe7UD05A" x="162" y="36"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_11ONMF7uEeGA7qTe7UD05A" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_11O0QF7uEeGA7qTe7UD05A" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_11O0QV7uEeGA7qTe7UD05A" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_11O0Ql7uEeGA7qTe7UD05A" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_11O0Q17uEeGA7qTe7UD05A" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_11O0RF7uEeGA7qTe7UD05A" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_11O0RV7uEeGA7qTe7UD05A" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_11O0Rl7uEeGA7qTe7UD05A" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_11_FwGkAEeGgxNn3NWRjCQ" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_34V_EGkAEeGgxNn3NWRjCQ" key="CustomAppearance_MaskValue" value="44"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_11O0R17uEeGA7qTe7UD05A" x="19"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_11O0SF7uEeGA7qTe7UD05A" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_11O0SV7uEeGA7qTe7UD05A" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_11ONMV7uEeGA7qTe7UD05A" x="-10" y="36"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_V-xa8mkXEeWAzPO1wYNudw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_V-xa82kXEeWAzPO1wYNudw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="ProducerTwoConsumers.uml#_wG5YcF7uEeGA7qTe7UD05A"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wJrmsV7uEeGA7qTe7UD05A" x="67" y="102" width="172" height="64"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_WGa7AmkXEeWAzPO1wYNudw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_WGa7A2kXEeWAzPO1wYNudw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WGa7BWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WGa7BGkXEeWAzPO1wYNudw" x="190" y="33"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_WG8fcGkXEeWAzPO1wYNudw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_WG8fcWkXEeWAzPO1wYNudw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WG8fc2kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WG8fcmkXEeWAzPO1wYNudw" x="209" y="63"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_WHggImkXEeWAzPO1wYNudw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_WHggI2kXEeWAzPO1wYNudw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WHggJWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WHggJGkXEeWAzPO1wYNudw" x="190" y="40"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_WH8lAGkXEeWAzPO1wYNudw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_WH8lAWkXEeWAzPO1wYNudw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WH8lA2kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Property" href="ProducerTwoConsumers.uml#_wG5YcF7uEeGA7qTe7UD05A"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WH8lAmkXEeWAzPO1wYNudw" x="267" y="102"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_WIKncmkXEeWAzPO1wYNudw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_WIKnc2kXEeWAzPO1wYNudw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WIKndWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WIKndGkXEeWAzPO1wYNudw" x="362" y="36"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_WIbtNmkXEeWAzPO1wYNudw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_WIbtN2kXEeWAzPO1wYNudw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WIbtOWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WIbtOGkXEeWAzPO1wYNudw" x="190" y="36"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GpFzAF7vEeGA7qTe7UD05A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WGwhZNHtEd-A1oPfP47IaQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_V-xa6mkXEeWAzPO1wYNudw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_V-xa62kXEeWAzPO1wYNudw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="ProducerTwoConsumers.uml#_iP8c4NCREd-hqYHBJe17_Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WGvTQdHtEd-A1oPfP47IaQ" x="63" y="359" width="631" height="289"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_o6ZisdCREd-hqYHBJe17_Q"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_V-yB8GkXEeWAzPO1wYNudw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="ProducerTwoConsumers.uml#_XLQjUDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_1OcyINHtEd-A1oPfP47IaQ" type="Connector_Edge" source="_11IGkF7uEeGA7qTe7UD05A" target="_v8PRoNHtEd-A1oPfP47IaQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1OdZMNHtEd-A1oPfP47IaQ" type="Connector_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1OdZMdHtEd-A1oPfP47IaQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_1OcyIdHtEd-A1oPfP47IaQ" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Connector" href="ProducerTwoConsumers.uml#_iP8c49CREd-hqYHBJe17_Q"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1OcyItHtEd-A1oPfP47IaQ" points="[3, -10, -163, 65]$[26, -75, -140, 0]$[156, -75, -10, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4VULYF7uEeGA7qTe7UD05A" id="(0.65,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_fPo0MDbdEeGdqp2YT1LwWw" type="Comment_AnnotatedElementEdge" source="_JusbQDbdEeGdqp2YT1LwWw" target="_-uXn8FuoEeGjjMeADLT5-g" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_fPo0MTbdEeGdqp2YT1LwWw" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fPo0MjbdEeGdqp2YT1LwWw" points="[2, -6, -18, 35]$[17, -24, -3, 17]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fQJKgDbdEeGdqp2YT1LwWw" id="(0.5121951219512195,0.125)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fQJKgTbdEeGdqp2YT1LwWw" id="(0.5204081632653061,0.8813559322033898)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_YzjzcDefEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_KPj-gDefEeGPyrZ5I3hMlA" target="_1OcyINHtEd-A1oPfP47IaQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_YzjzcTefEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YzjzcjefEeGPyrZ5I3hMlA" points="[0, -4, 5, 39]$[0, -43, 5, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Yz5KoDefEeGPyrZ5I3hMlA" id="(0.017857142857142856,0.4583333333333333)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Yz5xsDefEeGPyrZ5I3hMlA" id="(0.6763005780346821,0.4444444444444444)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_efaBUE2rEeGl8qrc8BM7vA" type="Connector_Edge" source="_zmq8ANHtEd-A1oPfP47IaQ" target="_N1-gQFupEeGjjMeADLT5-g" routing="Rectilinear" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_efaoYE2rEeGl8qrc8BM7vA" type="Connector_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_efaoYU2rEeGl8qrc8BM7vA" x="34" y="76"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_efaoYk2rEeGl8qrc8BM7vA" visible="false" type="Connector_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_efaoY02rEeGl8qrc8BM7vA" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_efbPcE2rEeGl8qrc8BM7vA" visible="false" type="Connector_SourceMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_efbPcU2rEeGl8qrc8BM7vA" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_efbPck2rEeGl8qrc8BM7vA" visible="false" type="Connector_TargetMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_efbPc02rEeGl8qrc8BM7vA" y="20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_efaBUU2rEeGl8qrc8BM7vA" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Connector" href="ProducerTwoConsumers.uml#_efVI0E2rEeGl8qrc8BM7vA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_efaBUk2rEeGl8qrc8BM7vA" points="[-1, 10, -82, -36]$[-1, 41, -82, -5]$[79, 41, -2, -5]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V-2E0FupEeGjjMeADLT5-g" id="(0.05,0.45)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Jjfz4FuoEeGjjMeADLT5-g" type="Connector_Edge" source="_11IGkF7uEeGA7qTe7UD05A" target="_jrBL0FunEeGjjMeADLT5-g" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_JjhCAFuoEeGjjMeADLT5-g" type="Connector_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JjhCAVuoEeGjjMeADLT5-g" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JjhCAluoEeGjjMeADLT5-g" visible="false" type="Connector_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JjhCA1uoEeGjjMeADLT5-g" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JjhCBFuoEeGjjMeADLT5-g" visible="false" type="Connector_SourceMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JjhCBVuoEeGjjMeADLT5-g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JjhCBluoEeGjjMeADLT5-g" visible="false" type="Connector_TargetMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JjhCB1uoEeGjjMeADLT5-g" y="20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Jjfz4VuoEeGjjMeADLT5-g" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Connector" href="ProducerTwoConsumers.uml#_JhN78FuoEeGjjMeADLT5-g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Jjfz4luoEeGjjMeADLT5-g" points="[4, 10, -166, -53]$[26, 63, -144, 0]$[160, 63, -10, 0]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XmNEMFupEeGjjMeADLT5-g" type="Connector_Edge" source="_N2AVcFupEeGjjMeADLT5-g" target="_0XlXwDF1EeCpQdhNuFCtew" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_XmNrQFupEeGjjMeADLT5-g" type="Connector_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XmNrQVupEeGjjMeADLT5-g" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_XmNrQlupEeGjjMeADLT5-g" visible="false" type="Connector_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XmNrQ1upEeGjjMeADLT5-g" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_XmNrRFupEeGjjMeADLT5-g" visible="false" type="Connector_SourceMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XmNrRVupEeGjjMeADLT5-g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_XmNrRlupEeGjjMeADLT5-g" visible="false" type="Connector_TargetMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XmNrR1upEeGjjMeADLT5-g" y="20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_XmNEMVupEeGjjMeADLT5-g" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Connector" href="ProducerTwoConsumers.uml#_XmCsIFupEeGjjMeADLT5-g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XmNEMlupEeGjjMeADLT5-g" points="[0, -2, -21, 89]$[17, -93, -4, -2]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XmkQkVupEeGjjMeADLT5-g" id="(0.2,0.35)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_YTxU0FupEeGjjMeADLT5-g" type="Connector_Edge" source="_N2AVcFupEeGjjMeADLT5-g" target="__e67IFuoEeGjjMeADLT5-g" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_YTx74FupEeGjjMeADLT5-g" type="Connector_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YTx74VupEeGjjMeADLT5-g" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YTyi8FupEeGjjMeADLT5-g" visible="false" type="Connector_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YTyi8VupEeGjjMeADLT5-g" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YTyi8lupEeGjjMeADLT5-g" visible="false" type="Connector_SourceMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YTyi81upEeGjjMeADLT5-g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YTyi9FupEeGjjMeADLT5-g" visible="false" type="Connector_TargetMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YTyi9VupEeGjjMeADLT5-g" y="20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_YTxU0VupEeGjjMeADLT5-g" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Connector" href="ProducerTwoConsumers.uml#_YTirUFupEeGjjMeADLT5-g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YTxU0lupEeGjjMeADLT5-g" points="[6, 10, -28, -37]$[31, 37, -3, -10]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E-eMoF7hEeGEmrrwB1vhPg" id="(0.9,0.75)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_4RsNgFuqEeGjjMeADLT5-g" type="Comment_AnnotatedElementEdge" source="_s7WAUFuqEeGjjMeADLT5-g" target="_ENAa4FupEeGjjMeADLT5-g" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_4RsNgVuqEeGjjMeADLT5-g" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4RsNgluqEeGjjMeADLT5-g" points="[-2, -10, 9, 51]$[-15, -57, -4, 4]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4SFPEFuqEeGjjMeADLT5-g" id="(0.8542713567839196,0.16666666666666666)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4SFPEVuqEeGjjMeADLT5-g" id="(0.30656934306569344,0.9444444444444444)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_KMQXwF7vEeGA7qTe7UD05A" type="Connector_Edge" source="_11ONMF7uEeGA7qTe7UD05A" target="_xUgsINHtEd-A1oPfP47IaQ" routing="Rectilinear" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_KMRl4F7vEeGA7qTe7UD05A" type="Connector_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KMRl4V7vEeGA7qTe7UD05A" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_KMRl4l7vEeGA7qTe7UD05A" visible="false" type="Connector_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KMRl417vEeGA7qTe7UD05A" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_KMRl5F7vEeGA7qTe7UD05A" visible="false" type="Connector_SourceMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KMRl5V7vEeGA7qTe7UD05A" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_KMRl5l7vEeGA7qTe7UD05A" visible="false" type="Connector_TargetMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KMRl517vEeGA7qTe7UD05A" y="20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_KMQXwV7vEeGA7qTe7UD05A" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Connector" href="ProducerTwoConsumers.uml#_KJ3yIF7vEeGA7qTe7UD05A"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KMQXwl7vEeGA7qTe7UD05A" points="[-10, 0, 7, 63]$[-18, 0, -1, 63]$[-18, -53, -1, 10]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_WD8OxGkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_0XlXwDF1EeCpQdhNuFCtew" target="_WD8OwGkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_WD8OxWkXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WD8OyWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_tyiqs8__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WD8OxmkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WD8Ox2kXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WD8OyGkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_WEfoYGkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_zmq8ANHtEd-A1oPfP47IaQ" target="_WEfBVGkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_WEfoYWkXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WEfoZWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WEfoYmkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WEfoY2kXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WEfoZGkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_WE_XpmkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="__e67IFuoEeGjjMeADLT5-g" target="_WE_XomkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_WE_Xp2kXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WE_Xq2kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_tyiqs8__Ed-TP80eVS-2Rg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WE_XqGkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WE_XqWkXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WE_XqmkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_WFUu1GkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_ENAa4FupEeGjjMeADLT5-g" target="_WFUu0GkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_WFUu1WkXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WFUu2WkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Property" href="ProducerTwoConsumers.uml#_EM2p4FupEeGjjMeADLT5-g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WFUu1mkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WFUu12kXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WFUu2GkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_WFmbpGkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_N1-gQFupEeGjjMeADLT5-g" target="_WFmboGkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_WFmbpWkXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WFmbqWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/fifo.uml#_xHb7MHLmEd6R5tffIPrlPg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WFmbpmkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WFmbp2kXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WFmbqGkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_WF4IeGkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_N2AVcFupEeGjjMeADLT5-g" target="_WF4IdGkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_WF4IeWkXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WF4IfWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/fifo.uml#_xcu1wHLmEd6R5tffIPrlPg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WF4IemkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WF4Ie2kXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WF4IfGkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_WGa7BmkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_v8PRoNHtEd-A1oPfP47IaQ" target="_WGa7AmkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_WGa7B2kXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WGbiEGkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WGa7CGkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WGa7CWkXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WGa7CmkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_WG8fdGkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_xUgsINHtEd-A1oPfP47IaQ" target="_WG8fcGkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_WG8fdWkXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WG8feWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WG8fdmkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WG8fd2kXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WG8feGkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_WHggJmkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_jrBL0FunEeGjjMeADLT5-g" target="_WHggImkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_WHggJ2kXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WHhHMmkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WHggKGkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WHhHMGkXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WHhHMWkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_WH8lBGkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_wJrmsF7uEeGA7qTe7UD05A" target="_WH8lAGkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_WH8lBWkXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WH9MEmkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Property" href="ProducerTwoConsumers.uml#_wG5YcF7uEeGA7qTe7UD05A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WH8lBmkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WH9MEGkXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WH9MEWkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_WIKndmkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_11IGkF7uEeGA7qTe7UD05A" target="_WIKncmkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_WIKnd2kXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WIKne2kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WIKneGkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WIKneWkXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WIKnemkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_WIbtOmkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_11ONMF7uEeGA7qTe7UD05A" target="_WIbtNmkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_WIbtO2kXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WIcUQmkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WIbtPGkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WIcUQGkXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WIcUQWkXEeWAzPO1wYNudw"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_U1UegPcXEd-KM6l7lmIPkw" type="PapyrusUMLClassDiagram" name="deployment" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_FGfloCghEeCw56aD7XrQhw" type="Diagram_ShortcutShape" element="_7kc7YM__Ed-TP80eVS-2Rg" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGgMsCghEeCw56aD7XrQhw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGgMsSghEeCw56aD7XrQhw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGgMsighEeCw56aD7XrQhw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGgMsyghEeCw56aD7XrQhw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGlsQCghEeCw56aD7XrQhw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FGmTUCghEeCw56aD7XrQhw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_FGmTUSghEeCw56aD7XrQhw" type="Diagram_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_FGmTUighEeCw56aD7XrQhw" y="5"/>
+      </children>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FGfloSghEeCw56aD7XrQhw" x="48" y="24" width="34" height="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GQM_sCghEeCw56aD7XrQhw" type="Diagram_ShortcutShape" element="_UstOsM__Ed-TP80eVS-2Rg" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GQNmwSghEeCw56aD7XrQhw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GQNmwighEeCw56aD7XrQhw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GQNmwyghEeCw56aD7XrQhw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GQNmxCghEeCw56aD7XrQhw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GQNmxSghEeCw56aD7XrQhw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GQNmxighEeCw56aD7XrQhw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_GQON0CghEeCw56aD7XrQhw" type="Diagram_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_GQON0SghEeCw56aD7XrQhw" x="-20" y="40"/>
+      </children>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GQNmwCghEeCw56aD7XrQhw" x="145" y="24" width="34" height="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JhfKQCghEeCw56aD7XrQhw" type="Diagram_ShortcutShape" element="_V5euUP8nEd-hWJO6cv3VJA" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JhfKQighEeCw56aD7XrQhw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JhfxUCghEeCw56aD7XrQhw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JhfxUSghEeCw56aD7XrQhw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JhfxUighEeCw56aD7XrQhw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JhfxUyghEeCw56aD7XrQhw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JhfxVCghEeCw56aD7XrQhw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JhfxVSghEeCw56aD7XrQhw" type="Diagram_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JhfxVighEeCw56aD7XrQhw" y="40"/>
+      </children>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JhfKQSghEeCw56aD7XrQhw" x="266" y="22"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LGTzACghEeCw56aD7XrQhw" type="Diagram_ShortcutShape" element="_o6ZisNCREd-hqYHBJe17_Q" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LGUaECghEeCw56aD7XrQhw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LGUaESghEeCw56aD7XrQhw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LGUaEighEeCw56aD7XrQhw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LGUaEyghEeCw56aD7XrQhw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LGUaFCghEeCw56aD7XrQhw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LGVBICghEeCw56aD7XrQhw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_LGVBISghEeCw56aD7XrQhw" type="Diagram_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_LGVBIighEeCw56aD7XrQhw" x="9" y="40"/>
+      </children>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LGTzASghEeCw56aD7XrQhw" x="371" y="22"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_91n2kDOFEeCldqx_51Yicg" type="Package_Shape" fontName="Sans Serif" fontHeight="10" fillColor="8905185" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_91prwDOFEeCldqx_51Yicg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_91prwTOFEeCldqx_51Yicg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_91prwjOFEeCldqx_51Yicg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_91prwzOFEeCldqx_51Yicg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_91qS0DOFEeCldqx_51Yicg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_91qS0TOFEeCldqx_51Yicg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_91qS0jOFEeCldqx_51Yicg" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_tHdY0CzXEea77cD6dZ298w" type="Package_PackagedElementCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_91qS1DOFEeCldqx_51Yicg"/>
+      </children>
+      <element xmi:type="uml:Package" href="ProducerTwoConsumers.uml#_xBxwoDOFEeCldqx_51Yicg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_91n2kTOFEeCldqx_51Yicg" x="40" y="140" width="201" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gdmuADefEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdmuAjefEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdmuAzefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdmuBDefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdmuBTefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gdnVEDefEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gdnVETefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_gdnVEjefEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="ProducerTwoConsumers.uml#_gdeyMDefEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gdmuATefEeGPyrZ5I3hMlA" x="498" y="18" width="115" height="46"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_WKjNEGkXEeWAzPO1wYNudw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_WKjNEWkXEeWAzPO1wYNudw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WKjNE2kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="ProducerTwoConsumers.uml#_xBxwoDOFEeCldqx_51Yicg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WKjNEmkXEeWAzPO1wYNudw" x="236" y="144"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dcNLcCzYEea25uwDpRQuxg" type="Package_Shape" fillColor="8905185" gradient="16777215, -1, 0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dcPAoCzYEea25uwDpRQuxg" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dcPnsCzYEea25uwDpRQuxg" type="Package_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dcPnsSzYEea25uwDpRQuxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dcPnsizYEea25uwDpRQuxg"/>
+      </children>
+      <element xmi:type="uml:Package" href="ProducerTwoConsumers.uml#_zwMLcLF4EeC9yscvWqW-eg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dcNLcSzYEea25uwDpRQuxg" x="300" y="140" width="221" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dcZYsyzYEea25uwDpRQuxg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_dcZYtCzYEea25uwDpRQuxg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_dcZ_wCzYEea25uwDpRQuxg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="ProducerTwoConsumers.uml#_zwMLcLF4EeC9yscvWqW-eg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dcZYtSzYEea25uwDpRQuxg" x="200"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_U1UegfcXEd-KM6l7lmIPkw"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_WI_t4GkXEeWAzPO1wYNudw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="ProducerTwoConsumers.uml#_234GEDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_WKjNFGkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_91n2kDOFEeCldqx_51Yicg" target="_WKjNEGkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_WKjNFWkXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_WKjNGWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="ProducerTwoConsumers.uml#_xBxwoDOFEeCldqx_51Yicg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WKjNFmkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WKjNF2kXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WKjNGGkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dcZ_wSzYEea25uwDpRQuxg" type="StereotypeCommentLink" source="_dcNLcCzYEea25uwDpRQuxg" target="_dcZYsyzYEea25uwDpRQuxg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_dcZ_wizYEea25uwDpRQuxg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_dcam0izYEea25uwDpRQuxg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="ProducerTwoConsumers.uml#_zwMLcLF4EeC9yscvWqW-eg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dcZ_wyzYEea25uwDpRQuxg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dcam0CzYEea25uwDpRQuxg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dcam0SzYEea25uwDpRQuxg"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_V5euUP8nEd-hWJO6cv3VJA" type="CompositeStructure" name="Producer" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_Wky8MP8nEd-hWJO6cv3VJA" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wk0KUP8nEd-hWJO6cv3VJA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wk0KUf8nEd-hWJO6cv3VJA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wk0KUv8nEd-hWJO6cv3VJA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wk0KU_8nEd-hWJO6cv3VJA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wk0KVP8nEd-hWJO6cv3VJA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wk0KVf8nEd-hWJO6cv3VJA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Wk0xYP8nEd-hWJO6cv3VJA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Wk0xYf8nEd-hWJO6cv3VJA" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wk0xYv8nEd-hWJO6cv3VJA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_eCjHMP8nEd-hWJO6cv3VJA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eCjuQP8nEd-hWJO6cv3VJA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eCjuQf8nEd-hWJO6cv3VJA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eCkVUP8nEd-hWJO6cv3VJA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eCkVUf8nEd-hWJO6cv3VJA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eCkVUv8nEd-hWJO6cv3VJA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eCkVU_8nEd-hWJO6cv3VJA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_eCkVVP8nEd-hWJO6cv3VJA" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_eCkVVf8nEd-hWJO6cv3VJA" x="-116" y="5"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_eCkVVv8nEd-hWJO6cv3VJA" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_eCkVV_8nEd-hWJO6cv3VJA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eCjHMf8nEd-hWJO6cv3VJA" x="-10" y="36"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_fwpAsP8nEd-hWJO6cv3VJA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fwpAsv8nEd-hWJO6cv3VJA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fwpAs_8nEd-hWJO6cv3VJA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fwpnwP8nEd-hWJO6cv3VJA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fwpnwf8nEd-hWJO6cv3VJA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fwpnwv8nEd-hWJO6cv3VJA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fwpnw_8nEd-hWJO6cv3VJA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_fwpnxP8nEd-hWJO6cv3VJA" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_fwpnxf8nEd-hWJO6cv3VJA" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_fwpnxv8nEd-hWJO6cv3VJA" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_fwpnx_8nEd-hWJO6cv3VJA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fwpAsf8nEd-hWJO6cv3VJA" x="117" y="36"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_VxhpEGkXEeWAzPO1wYNudw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_VxhpEWkXEeWAzPO1wYNudw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="ProducerTwoConsumers.uml#_IfjoETLbEd2qeKRLMdIx_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wky8Mf8nEd-hWJO6cv3VJA" x="144" y="108" width="127" height="82"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_XKXHYP8nEd-hWJO6cv3VJA" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XKXHYv8nEd-hWJO6cv3VJA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XKXucP8nEd-hWJO6cv3VJA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XKXucf8nEd-hWJO6cv3VJA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XKXucv8nEd-hWJO6cv3VJA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XKXuc_8nEd-hWJO6cv3VJA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XKXudP8nEd-hWJO6cv3VJA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_XKXudf8nEd-hWJO6cv3VJA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_XKXudv8nEd-hWJO6cv3VJA" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XKXud_8nEd-hWJO6cv3VJA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_euJo8P8nEd-hWJO6cv3VJA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_euKQAP8nEd-hWJO6cv3VJA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_euKQAf8nEd-hWJO6cv3VJA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_euKQAv8nEd-hWJO6cv3VJA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_euK3EP8nEd-hWJO6cv3VJA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_euK3Ef8nEd-hWJO6cv3VJA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_euK3Ev8nEd-hWJO6cv3VJA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_euK3E_8nEd-hWJO6cv3VJA" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_euK3FP8nEd-hWJO6cv3VJA" x="-116" y="-11"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_euK3Ff8nEd-hWJO6cv3VJA" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_euK3Fv8nEd-hWJO6cv3VJA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_euJo8f8nEd-hWJO6cv3VJA" x="-10" y="29"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_VxhpEmkXEeWAzPO1wYNudw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_VxhpE2kXEeWAzPO1wYNudw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XKXHYf8nEd-hWJO6cv3VJA" x="144" y="18" width="127" height="55"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Gz7TMDehEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G0CA4DehEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G0CA4TehEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G0CA4jehEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G0CA4zehEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G0CA5DehEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G0Cn8DehEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_G0Cn8TehEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="ProducerTwoConsumers.uml#_GzyJQDehEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Gz7TMTehEeGPyrZ5I3hMlA" x="341" y="55" width="425"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_V13WgGkXEeWAzPO1wYNudw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_V13WgWkXEeWAzPO1wYNudw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V13Wg2kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="ProducerTwoConsumers.uml#_IfjoETLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V13WgmkXEeWAzPO1wYNudw" x="344" y="108"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_V2IcQGkXEeWAzPO1wYNudw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_V2IcQWkXEeWAzPO1wYNudw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V2IcQ2kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V2IcQmkXEeWAzPO1wYNudw" x="190" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_V2dzdGkXEeWAzPO1wYNudw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_V2dzdWkXEeWAzPO1wYNudw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V2dzd2kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V2dzdmkXEeWAzPO1wYNudw" x="317" y="36"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_V2tEAGkXEeWAzPO1wYNudw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_V2tEAWkXEeWAzPO1wYNudw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V2tEA2kXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V2tEAmkXEeWAzPO1wYNudw" x="190" y="29"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_V5euUf8nEd-hWJO6cv3VJA"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_VxhpFGkXEeWAzPO1wYNudw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="ProducerTwoConsumers.uml#_etOZkDLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_XKqpYP8nEd-hWJO6cv3VJA" type="Generalization_Edge" source="_Wky8MP8nEd-hWJO6cv3VJA" target="_XKXHYP8nEd-hWJO6cv3VJA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_XKrQcP8nEd-hWJO6cv3VJA" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XKrQcf8nEd-hWJO6cv3VJA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_XKqpYf8nEd-hWJO6cv3VJA" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="ProducerTwoConsumers.uml#_34FjAPx3Ed6O2oOTPfeAMA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XKqpYv8nEd-hWJO6cv3VJA" points="[-19, -23, 140, 174]$[-159, -197, 0, 0]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_aJG_MDehEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_Gz7TMDehEeGPyrZ5I3hMlA" target="_XKXHYP8nEd-hWJO6cv3VJA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_aJG_MTehEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aJG_MjehEeGPyrZ5I3hMlA" points="[-12, -5, 80, 30]$[-82, -36, 10, -1]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aJdkgDehEeGPyrZ5I3hMlA" id="(0.02823529411764706,0.4166666666666667)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aJeLkDehEeGPyrZ5I3hMlA" id="(0.9212598425196851,0.4909090909090909)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_V13WhGkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_Wky8MP8nEd-hWJO6cv3VJA" target="_V13WgGkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_V13WhWkXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V13WiWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="ProducerTwoConsumers.uml#_IfjoETLbEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_V13WhmkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V13Wh2kXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V13WiGkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_V2IcRGkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_eCjHMP8nEd-hWJO6cv3VJA" target="_V2IcQGkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_V2IcRWkXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V2JDUWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_V2IcRmkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V2IcR2kXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V2JDUGkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_V2dzeGkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_fwpAsP8nEd-hWJO6cv3VJA" target="_V2dzdGkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_V2dzeWkXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V2dzfWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="ProducerTwoConsumers.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_V2dzemkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V2dze2kXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V2dzfGkXEeWAzPO1wYNudw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_V2tEBGkXEeWAzPO1wYNudw" type="StereotypeCommentLink" source="_euJo8P8nEd-hWJO6cv3VJA" target="_V2tEAGkXEeWAzPO1wYNudw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_V2tEBWkXEeWAzPO1wYNudw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_V2tECWkXEeWAzPO1wYNudw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_V2tEBmkXEeWAzPO1wYNudw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V2tEB2kXEeWAzPO1wYNudw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V2tECGkXEeWAzPO1wYNudw"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_0rwpYDefEeGPyrZ5I3hMlA" type="CompositeStructure" name="HWArchitecture" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_1w2CIDefEeGPyrZ5I3hMlA" type="Class_Shape" fontName="" fontHeight="10" fillColor="10011046" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pMDefEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pMTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pMjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pMzefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1w2pNDefEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1w2pNTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_1w2pNjefEeGPyrZ5I3hMlA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1w2pNzefEeGPyrZ5I3hMlA" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_4HLnYDefEeGPyrZ5I3hMlA" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOcDefEeGPyrZ5I3hMlA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOcTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOcjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOczefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOdDefEeGPyrZ5I3hMlA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOdTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_4HMOdjefEeGPyrZ5I3hMlA" type="Property_NameLabel"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_4HMOdzefEeGPyrZ5I3hMlA" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_4HMOeDefEeGPyrZ5I3hMlA" showTitle="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4HMOeTefEeGPyrZ5I3hMlA"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_WK5yYmkXEeWAzPO1wYNudw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_WK5yY2kXEeWAzPO1wYNudw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="ProducerTwoConsumers.uml#_4HAoQDefEeGPyrZ5I3hMlA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4HLnYTefEeGPyrZ5I3hMlA" x="61" y="22" width="162"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1w2pODefEeGPyrZ5I3hMlA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w2pOTefEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_WK5yYGkXEeWAzPO1wYNudw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_WK5yYWkXEeWAzPO1wYNudw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="ProducerTwoConsumers.uml#_tZvNQDefEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w2CITefEeGPyrZ5I3hMlA" x="81" y="63" width="300" height="154"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7qMbIDefEeGPyrZ5I3hMlA" type="Node_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCMDefEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCMTefEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCMjefEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCMzefEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qNCNDefEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qNCNTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_7qNCNjefEeGPyrZ5I3hMlA" type="Node_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7qNCNzefEeGPyrZ5I3hMlA" visible="false" type="Node_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7qNCODefEeGPyrZ5I3hMlA" showTitle="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7qNCOTefEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_WK5yZGkXEeWAzPO1wYNudw" type="Node_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_WK5yZWkXEeWAzPO1wYNudw" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_WMSSfGkXEeWAzPO1wYNudw" type="StereotypeCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WMUusGkXEeWAzPO1wYNudw" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WMUusWkXEeWAzPO1wYNudw" key="visible" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_WMTgkGkXEeWAzPO1wYNudw" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#__5rAUGE_Ed-eArNXja7SuA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_WMTgkWkXEeWAzPO1wYNudw"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_WMTglGkXEeWAzPO1wYNudw" type="StereotypeProperty">
+          <element xmi:type="uml:Property" href="pathmap://FCM_PROFILES/FCM.profile.uml#_BZCjMJOGEd-5qPBhYeIVtw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_WMTglWkXEeWAzPO1wYNudw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_WMSSfWkXEeWAzPO1wYNudw" showTitle="true"/>
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_WMSSfmkXEeWAzPO1wYNudw" name="stereotype" stringValue="FCM::Target"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_0KEH0JOCEd-5qPBhYeIVtw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WMSSf2kXEeWAzPO1wYNudw"/>
+      </children>
+      <element xmi:type="uml:Node" href="ProducerTwoConsumers.uml#_zY9vMDLiEd2RVeNawwNNzg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7qMbITefEeGPyrZ5I3hMlA" x="441" y="63" width="154" height="100"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_jhQ20DegEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ20jegEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ20zegEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ21DegEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ21TegEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ21jegEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ21zegEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_jhRd4DegEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="ProducerTwoConsumers.uml#_jhF3sDegEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jhQ20TegEeGPyrZ5I3hMlA" x="435" y="183" width="277"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_0rwpYTefEeGPyrZ5I3hMlA"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_WK5yZmkXEeWAzPO1wYNudw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="ProducerTwoConsumers.uml#_v3fMgDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_ugb6IDegEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_jhQ20DegEeGPyrZ5I3hMlA" target="_7qMbIDefEeGPyrZ5I3hMlA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ugb6ITegEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ugb6IjegEeGPyrZ5I3hMlA" points="[-3, -6, 22, 58]$[-30, -51, -5, 13]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ugs_4DegEeGPyrZ5I3hMlA" id="(0.33212996389891697,0.1)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ugs_4TegEeGPyrZ5I3hMlA" id="(0.4420289855072464,0.8266666666666667)"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ProducerTwoConsumers.uml b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ProducerTwoConsumers.uml
new file mode 100644
index 0000000..0fbe83e
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/ProducerTwoConsumers.uml
@@ -0,0 +1,529 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:GCM="http://www.eclipse.org/papyrus/GCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc http://www.eclipse.org/papyrus/GCM/1 http://www.eclipse.org/papyrus/MARTE/1#//GCM">
+  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="ProducerTwoConsumers">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
+      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/core.uml#_O6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_R8d6YP93Ed6628OhKk_dpg">
+      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/fifo.uml#_ePwqkHLmEd6R5tffIPrlPg"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_8KelgCgjEeC5Ga5kAgjl0g">
+      <importedPackage xmi:type="uml:Model" href="pathmap://QML_TRACE/tracing.uml#_H-ZqYDKeEd-WprEKTCaiMA"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="components">
+      <packagedElement xmi:type="uml:Package" xmi:id="_tyiqsM__Ed-TP80eVS-2Rg" name="PullConsumer">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_-Hd2MDecEeGPyrZ5I3hMlA" annotatedElement="_tyiqsc__Ed-TP80eVS-2Rg">
+          <body>Variant of the consumper component that uses a &quot;pull style&quot;, i.e. actively demands whether new data is available. Since the component is active, it needs to have its own thread. This is realized by the combination of the lifecycle port with a container rule that intercepts the lifecycle operations and executes the activation operation in its own thread.
+Use the context menu to find out that the PullConsumer supports the &quot;runStartThread&quot; interceptor which intercepts the lifecycle port.</body>
+        </ownedComment>
+        <ownedComment xmi:type="uml:Comment" xmi:id="_0D64MDedEeGPyrZ5I3hMlA">
+          <annotatedElement xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
+          <body>Part of the Qompass model library. Provides the specific port &quot;lc&quot; (short for lifecycle). The &quot;activate&quot; operation of this port is called by generated boot-code after instantiation and configuration of a component. The deactivation is called before disposing a component</body>
+        </ownedComment>
+        <packagedElement xmi:type="uml:Class" xmi:id="_tyiqsc__Ed-TP80eVS-2Rg" name="PullConsumer_impl">
+          <generalization xmi:type="uml:Generalization" xmi:id="_tyiqss__Ed-TP80eVS-2Rg">
+            <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
+          </generalization>
+          <ownedAttribute xmi:type="uml:Port" xmi:id="_tyiqs8__Ed-TP80eVS-2Rg" name="p" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" aggregation="composite"/>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_kLNdAF8DEeGerN33d-RdRg" name="name">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kLSVgF8DEeGerN33d-RdRg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kLS8kF8DEeGerN33d-RdRg" value="1"/>
+          </ownedAttribute>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_DHTiQDF7EeCpQdhNuFCtew" name="derived realization of ILifeCycle" client="_tyiqsc__Ed-TP80eVS-2Rg">
+            <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+            <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+          </interfaceRealization>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_tyjRwc__Ed-TP80eVS-2Rg" name="activate" specification="_tyjRy8__Ed-TP80eVS-2Rg">
+            <language>C/C++</language>
+            <body>cout &lt;&lt; &quot;wait for data on port p&quot; &lt;&lt; endl;
+for (int i = 0; i&lt;25; i++) {
+	if (p->hasData ()) {
+		components::interfaces::PubData data = p->pull ();
+		cout &lt;&lt; &quot;Componenent &quot; &lt;&lt; name &lt;&lt; &quot; received data: x = &quot; &lt;&lt; data.x &lt;&lt; &quot; y = &quot; &lt;&lt; data.y &lt;&lt; endl;
+	}
+	usleep (100*1000);
+}
+cout &lt;&lt; &quot;finished waiting&quot; &lt;&lt; endl;
+</body>
+          </ownedBehavior>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_tyjRy8__Ed-TP80eVS-2Rg" name="activate" method="_tyjRwc__Ed-TP80eVS-2Rg"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_tyjRzM__Ed-TP80eVS-2Rg" name="deactivate"/>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_OGM88DLaEd2qeKRLMdIx_A" name="PushConsumer">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_XfnmsDecEeGPyrZ5I3hMlA" annotatedElement="_oqZNUDLaEd2qeKRLMdIx_A">
+          <body>Push variant of a consumer, i.e. the consumer is called whenever new data is availble. It is not itself active.</body>
+        </ownedComment>
+        <ownedComment xmi:type="uml:Comment" xmi:id="_gpptUDecEeGPyrZ5I3hMlA" annotatedElement="_4KiE8DLbEd2qeKRLMdIx_A">
+          <body>A MARTE flow port. The synchronisation between MARTE and FCM stereotype is automatic, yet it is possible to refine on FCM level, whether the port uses a push or pull style. In this case, the port uses a push style by setting the port kind to &quot;PushConsumer&quot;.</body>
+        </ownedComment>
+        <packagedElement xmi:type="uml:Class" xmi:id="_oqZNUDLaEd2qeKRLMdIx_A" name="PushConsumer_impl">
+          <generalization xmi:type="uml:Generalization" xmi:id="_NItbAP94Ed6628OhKk_dpg">
+            <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
+          </generalization>
+          <ownedAttribute xmi:type="uml:Port" xmi:id="_4KiE8DLbEd2qeKRLMdIx_A" name="p" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" aggregation="composite"/>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_Z16ywDF8EeCpQdhNuFCtew" name="derived realization of ILifeCycle" client="_oqZNUDLaEd2qeKRLMdIx_A">
+            <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+            <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+          </interfaceRealization>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_c9T7oF7yEeGA7qTe7UD05A" name="derived realization of D_Push_PubData" client="_oqZNUDLaEd2qeKRLMdIx_A" supplier="_rkTC4F7hEeGEmrrwB1vhPg" contract="_rkTC4F7hEeGEmrrwB1vhPg"/>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_RoXdMP94Ed6628OhKk_dpg" name="activate" specification="_uOmgID15Ed-qiK1VZWszhA">
+            <language>C/C++</language>
+            <body>cout &lt;&lt; &quot;initialization of push consumer&quot; &lt;&lt; endl;
+</body>
+          </ownedBehavior>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_qUSHYPdMEd-KM6l7lmIPkw" name="push" specification="_T7D8YAcsEeGYWLReZHFIwA">
+            <language>C/C++</language>
+            <body>cout &lt;&lt; &quot;received data: x = &quot; &lt;&lt; data.x &lt;&lt; &quot; y = &quot; &lt;&lt; data.y &lt;&lt; endl;</body>
+          </ownedBehavior>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_uOmgID15Ed-qiK1VZWszhA" name="activate" method="_RoXdMP94Ed6628OhKk_dpg"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_uOtN0D15Ed-qiK1VZWszhA" name="deactivate"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_T7D8YAcsEeGYWLReZHFIwA" name="push" method="_qUSHYPdMEd-KM6l7lmIPkw">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_T7G_sAcsEeGYWLReZHFIwA" name="data" type="_wFJ3IP91Ed6Jt8e-UqrRdQ">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_T7KDAAcsEeGYWLReZHFIwA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_T7KqEAcsEeGYWLReZHFIwA" value="1"/>
+            </ownedParameter>
+          </ownedOperation>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_Tp4n8DLaEd2qeKRLMdIx_A" name="interfaces">
+        <packagedElement xmi:type="uml:DataType" xmi:id="_wFJ3IP91Ed6Jt8e-UqrRdQ" name="PubData">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_yywF0P91Ed6Jt8e-UqrRdQ" name="y" isUnique="false" aggregation="composite">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_zUgvEP91Ed6Jt8e-UqrRdQ" name="x" isUnique="false" aggregation="composite">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+          </ownedAttribute>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_etOZkDLaEd2qeKRLMdIx_A" name="Producer">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_GzyJQDehEeGPyrZ5I3hMlA">
+          <annotatedElement xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+          <body>Let the producer instance execute by the main thread by realising the specific port &quot;start&quot;, inherited from CStart (part of the Qompass &quot;BasicCalls&quot; model library).
+</body>
+        </ownedComment>
+        <packagedElement xmi:type="uml:Class" xmi:id="_IfjoETLbEd2qeKRLMdIx_A" name="Producer_impl">
+          <generalization xmi:type="uml:Generalization" xmi:id="_34FjAPx3Ed6O2oOTPfeAMA">
+            <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+          </generalization>
+          <ownedAttribute xmi:type="uml:Port" xmi:id="_DtWn4DLcEd2qeKRLMdIx_A" name="q" type="_dtSlwGkXEeWAzPO1wYNudw" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zDR50FuoEeGjjMeADLT5-g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zDTH8FuoEeGjjMeADLT5-g" value="1"/>
+          </ownedAttribute>
+          <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_jkNdADF8EeCpQdhNuFCtew" name="derived realization of IStart" client="_IfjoETLbEd2qeKRLMdIx_A">
+            <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+            <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+          </interfaceRealization>
+          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_yXNVoKF4Ed6FqJCjEUrkqQ" name="run" specification="_dH4RIKF4Ed6FqJCjEUrkqQ">
+            <language>C/C++</language>
+            <body>cout &lt;&lt; &quot;publish a value via port q;&quot; &lt;&lt; endl;
+components::interfaces::PubData data;
+data.x = 2;
+data.y = 3;
+for (int i = 0; i&lt;20; i++) {
+	q->push (data);
+	cout &lt;&lt; &quot;.&quot; &lt;&lt; flush;
+	// wait 200ms
+	usleep (200*1000);
+}
+</body>
+          </ownedBehavior>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_dH4RIKF4Ed6FqJCjEUrkqQ" name="run" method="_yXNVoKF4Ed6FqJCjEUrkqQ"/>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_XLQjUDLiEd2RVeNawwNNzg" name="System">
+        <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="SystemPull_impl">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_JuaHYDbdEeGdqp2YT1LwWw" annotatedElement="_-uMo0FuoEeGjjMeADLT5-g">
+            <body>Two consumers use the same queue. In this case, it is arbitrary which one gets which data</body>
+          </ownedComment>
+          <ownedComment xmi:type="uml:Comment" xmi:id="_s6SQYFuqEeGjjMeADLT5-g" annotatedElement="_EM2p4FupEeGjjMeADLT5-g">
+            <body>in this case, the connector is modeled explicitly in order to specify that a single connector instance is used</body>
+          </ownedComment>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_gV1cgDLiEd2RVeNawwNNzg" name="cons1" visibility="public" type="_tyiqsc__Ed-TP80eVS-2Rg" isUnique="false" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Wn23gFunEeGjjMeADLT5-g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WoGIEFunEeGjjMeADLT5-g" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_WoP5EFunEeGjjMeADLT5-g">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_i-I7gDLiEd2RVeNawwNNzg" name="pub" type="_IfjoETLbEd2qeKRLMdIx_A" isUnique="false" aggregation="composite"/>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_-uMo0FuoEeGjjMeADLT5-g" name="cons2" visibility="public" type="_tyiqsc__Ed-TP80eVS-2Rg" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kWRdYFupEeGjjMeADLT5-g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kWT5oFupEeGjjMeADLT5-g" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_kXMDYFupEeGjjMeADLT5-g">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_EM2p4FupEeGjjMeADLT5-g" name="fifo" visibility="public" aggregation="composite">
+            <type xmi:type="uml:Class" href="pathmap://QML_CORE/fifo.uml#_Y1jF8HPpEd6R5tffIPrlPg"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IzF1MFupEeGjjMeADLT5-g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IzHDUFupEeGjjMeADLT5-g" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_IzI4gFupEeGjjMeADLT5-g">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedConnector xmi:type="uml:Connector" xmi:id="_efVI0E2rEeGl8qrc8BM7vA" name="push">
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_efVv4E2rEeGl8qrc8BM7vA" partWithPort="_i-I7gDLiEd2RVeNawwNNzg" role="_DtWn4DLcEd2qeKRLMdIx_A">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_efVv4k2rEeGl8qrc8BM7vA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_efVv4U2rEeGl8qrc8BM7vA" value="1"/>
+            </end>
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_efWW8E2rEeGl8qrc8BM7vA" partWithPort="_EM2p4FupEeGjjMeADLT5-g">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_efWW8k2rEeGl8qrc8BM7vA" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_efWW8U2rEeGl8qrc8BM7vA" value="1"/>
+              <role xmi:type="uml:Port" href="pathmap://QML_CORE/fifo.uml#_xHb7MHLmEd6R5tffIPrlPg"/>
+            </end>
+          </ownedConnector>
+          <ownedConnector xmi:type="uml:Connector" xmi:id="_XmCsIFupEeGjjMeADLT5-g" name="pull1">
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_XmDTMFupEeGjjMeADLT5-g" partWithPort="_EM2p4FupEeGjjMeADLT5-g">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XmDTMlupEeGjjMeADLT5-g" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XmDTMVupEeGjjMeADLT5-g" value="1"/>
+              <role xmi:type="uml:Port" href="pathmap://QML_CORE/fifo.uml#_xcu1wHLmEd6R5tffIPrlPg"/>
+            </end>
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_XmD6QFupEeGjjMeADLT5-g" partWithPort="_gV1cgDLiEd2RVeNawwNNzg" role="_tyiqs8__Ed-TP80eVS-2Rg">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XmD6QlupEeGjjMeADLT5-g" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XmD6QVupEeGjjMeADLT5-g" value="1"/>
+            </end>
+          </ownedConnector>
+          <ownedConnector xmi:type="uml:Connector" xmi:id="_YTirUFupEeGjjMeADLT5-g" name="pull2">
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_YTjSYFupEeGjjMeADLT5-g" partWithPort="_EM2p4FupEeGjjMeADLT5-g">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YTjSYlupEeGjjMeADLT5-g" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YTjSYVupEeGjjMeADLT5-g" value="1"/>
+              <role xmi:type="uml:Port" href="pathmap://QML_CORE/fifo.uml#_xcu1wHLmEd6R5tffIPrlPg"/>
+            </end>
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_YTjSY1upEeGjjMeADLT5-g" partWithPort="_-uMo0FuoEeGjjMeADLT5-g" role="_tyiqs8__Ed-TP80eVS-2Rg">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YTjSZVupEeGjjMeADLT5-g" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YTjSZFupEeGjjMeADLT5-g" value="1"/>
+            </end>
+          </ownedConnector>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Class" xmi:id="_iP8c4NCREd-hqYHBJe17_Q" name="SystemPush_impl">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_KOEwwDefEeGPyrZ5I3hMlA" annotatedElement="_iP8c49CREd-hqYHBJe17_Q">
+            <body>The push consumer provides the interface that the producer uses (requires), no specific connector is required, but we need to multiply data</body>
+          </ownedComment>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_iP8c4dCREd-hqYHBJe17_Q" name="cons1" visibility="public" type="_oqZNUDLaEd2qeKRLMdIx_A" isUnique="false" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YdjN0FunEeGjjMeADLT5-g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YdvbEFunEeGjjMeADLT5-g" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_Yd2IwFunEeGjjMeADLT5-g">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_iP8c4tCREd-hqYHBJe17_Q" name="pub" type="_IfjoETLbEd2qeKRLMdIx_A" isUnique="false" aggregation="composite"/>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_cLW8UFunEeGjjMeADLT5-g" name="cons2" visibility="public" type="_oqZNUDLaEd2qeKRLMdIx_A" aggregation="composite">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dr4T4FunEeGjjMeADLT5-g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dsA2wFunEeGjjMeADLT5-g" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_dsFIMFunEeGjjMeADLT5-g">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_wG5YcF7uEeGA7qTe7UD05A" name="mult" visibility="public" aggregation="composite">
+            <type xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_Mo2kwF7pEeGEmrrwB1vhPg"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_znRH4F7uEeGA7qTe7UD05A" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zrij4F7uEeGA7qTe7UD05A" value="1"/>
+            <defaultValue xmi:type="uml:LiteralString" xmi:id="_zruxIF7uEeGA7qTe7UD05A">
+              <value xsi:nil="true"/>
+            </defaultValue>
+          </ownedAttribute>
+          <ownedConnector xmi:type="uml:Connector" xmi:id="_iP8c49CREd-hqYHBJe17_Q" name="qpconnector1">
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_iP8c5NCREd-hqYHBJe17_Q" partWithPort="_wG5YcF7uEeGA7qTe7UD05A">
+              <role xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
+            </end>
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_iP8c5dCREd-hqYHBJe17_Q" partWithPort="_iP8c4dCREd-hqYHBJe17_Q" role="_4KiE8DLbEd2qeKRLMdIx_A"/>
+          </ownedConnector>
+          <ownedConnector xmi:type="uml:Connector" xmi:id="_JhN78FuoEeGjjMeADLT5-g" name="qpconnector2">
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_JhN78VuoEeGjjMeADLT5-g" partWithPort="_wG5YcF7uEeGA7qTe7UD05A">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JhOjAVuoEeGjjMeADLT5-g" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JhOjAFuoEeGjjMeADLT5-g" value="1"/>
+              <role xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_0KY1UF7pEeGEmrrwB1vhPg"/>
+            </end>
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_JhOjAluoEeGjjMeADLT5-g" partWithPort="_cLW8UFunEeGjjMeADLT5-g" role="_4KiE8DLbEd2qeKRLMdIx_A">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JhOjBFuoEeGjjMeADLT5-g" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JhOjA1uoEeGjjMeADLT5-g" value="1"/>
+            </end>
+          </ownedConnector>
+          <ownedConnector xmi:type="uml:Connector" xmi:id="_KJ3yIF7vEeGA7qTe7UD05A" name="Connector1">
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_KJ4ZMF7vEeGA7qTe7UD05A" partWithPort="_wG5YcF7uEeGA7qTe7UD05A">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KJ4ZMl7vEeGA7qTe7UD05A" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KJ4ZMV7vEeGA7qTe7UD05A" value="1"/>
+              <role xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+            </end>
+            <end xmi:type="uml:ConnectorEnd" xmi:id="_KJ6OYF7vEeGA7qTe7UD05A" partWithPort="_iP8c4tCREd-hqYHBJe17_Q" role="_DtWn4DLcEd2qeKRLMdIx_A">
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KJ6OYl7vEeGA7qTe7UD05A" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KJ6OYV7vEeGA7qTe7UD05A" value="1"/>
+            </end>
+          </ownedConnector>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_v3fMgDLiEd2RVeNawwNNzg" name="platform">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_jhF3sDegEeGPyrZ5I3hMlA" annotatedElement="_zY9vMDLiEd2RVeNawwNNzg">
+        <body>Simple single node configuration. TargetOS is set to Linux, but will work on other OS (supporting POSIX threads)</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="MonoNode"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_tZvNQDefEeGPyrZ5I3hMlA" name="Platform">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_4HAoQDefEeGPyrZ5I3hMlA" name="monoNode" visibility="public" type="_zY9vMDLiEd2RVeNawwNNzg" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6WEg0DefEeGPyrZ5I3hMlA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6WFu8DefEeGPyrZ5I3hMlA" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_6WHkIDefEeGPyrZ5I3hMlA">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_YxI8IDegEeGPyrZ5I3hMlA" name="HWArchitecturePlatform">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_GQ1ekKwHEeCQX8uv_p0Q4A" name="monoNode" classifier="_zY9vMDLiEd2RVeNawwNNzg"/>
+      </packagedElement>
+      <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_aOAnkKmqEeCxII-g1_Lmeg">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aen2cKmqEeCxII-g1_Lmeg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+          <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//SW_Concurrency"/>
+        </eAnnotations>
+        <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_A_vtYBJeEdy3Td9UhuLFPg"/>
+      </profileApplication>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_VMRFgDOJEeC7y-fR3OSnFw">
+        <body>This configuration requires the installation of the OTF trace library.&lt;br /></body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_gdeyMDefEeGPyrZ5I3hMlA">
+        <body>Cross references to diagrams</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Package" xmi:id="_xBxwoDOFEeCldqx_51Yicg" name="monoPush">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_xB3QMDOFEeCldqx_51Yicg" name="mainInstance" classifier="_iP8c4NCREd-hqYHBJe17_Q">
+          <slot xmi:type="uml:Slot" xmi:id="_xB6TgDOFEeCldqx_51Yicg" definingFeature="_iP8c4dCREd-hqYHBJe17_Q">
+            <value xmi:type="uml:InstanceValue" xmi:id="_xB66kDOFEeCldqx_51Yicg" instance="_xB5scDOFEeCldqx_51Yicg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_xB8IsDOFEeCldqx_51Yicg" definingFeature="_iP8c4tCREd-hqYHBJe17_Q">
+            <value xmi:type="uml:InstanceValue" xmi:id="_xB8IsTOFEeCldqx_51Yicg" instance="_xB7hoDOFEeCldqx_51Yicg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_gSgQgFuqEeGjjMeADLT5-g" definingFeature="_cLW8UFunEeGjjMeADLT5-g">
+            <value xmi:type="uml:InstanceValue" xmi:id="_gSg3kFuqEeGjjMeADLT5-g" instance="_gSfpcFuqEeGjjMeADLT5-g"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_qefY8F8DEeGerN33d-RdRg" definingFeature="_wG5YcF7uEeGA7qTe7UD05A">
+            <value xmi:type="uml:InstanceValue" xmi:id="_qegAAF8DEeGerN33d-RdRg" instance="_qeex4F8DEeGerN33d-RdRg"/>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_xB5scDOFEeCldqx_51Yicg" name="mainInstance.cons1" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_xB7hoDOFEeCldqx_51Yicg" name="mainInstance.pub" classifier="_IfjoETLbEd2qeKRLMdIx_A"/>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_cmk8EKwIEeCza-cLDL1uzQ" name="allocate to monoNode" client="_xB3QMDOFEeCldqx_51Yicg" supplier="_GQ1ekKwHEeCQX8uv_p0Q4A"/>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_oZjTgE0tEeG4IqgA7gSE6w" name="allocate to monoNode" client="_xB3QMDOFEeCldqx_51Yicg" supplier="_GQ1ekKwHEeCQX8uv_p0Q4A"/>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_wqyJ4E0tEeG4IqgA7gSE6w" name="allocate to monoNode" client="_xB3QMDOFEeCldqx_51Yicg" supplier="_GQ1ekKwHEeCQX8uv_p0Q4A"/>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_gSfpcFuqEeGjjMeADLT5-g" name="mainInstance.cons2" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_qeex4F8DEeGerN33d-RdRg" name="mainInstance.mult">
+          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_Mo2kwF7pEeGEmrrwB1vhPg"/>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_zwMLcLF4EeC9yscvWqW-eg" name="monoPull">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_zwQc4bF4EeC9yscvWqW-eg" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg">
+          <slot xmi:type="uml:Slot" xmi:id="_zwY_wLF4EeC9yscvWqW-eg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_zwZm0LF4EeC9yscvWqW-eg" instance="_zwUuUbF4EeC9yscvWqW-eg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_zwaN4LF4EeC9yscvWqW-eg" definingFeature="_i-I7gDLiEd2RVeNawwNNzg">
+            <value xmi:type="uml:InstanceValue" xmi:id="_zwaN4bF4EeC9yscvWqW-eg" instance="_zwZm0bF4EeC9yscvWqW-eg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_z4wKYF73EeGerN33d-RdRg" definingFeature="_-uMo0FuoEeGjjMeADLT5-g">
+            <value xmi:type="uml:InstanceValue" xmi:id="_z4wxcF73EeGerN33d-RdRg" instance="_z4nngF73EeGerN33d-RdRg"/>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_z4ymoF73EeGerN33d-RdRg" definingFeature="_EM2p4FupEeGjjMeADLT5-g">
+            <value xmi:type="uml:InstanceValue" xmi:id="_z4zNsF73EeGerN33d-RdRg" instance="_z4xYgF73EeGerN33d-RdRg"/>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_zwUuUbF4EeC9yscvWqW-eg" name="mainInstance.cons1">
+          <classifier xmi:type="uml:Class" href="#_tyiqsc__Ed-TP80eVS-2Rg"/>
+          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE//core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+          <slot xmi:type="uml:Slot" xmi:id="_zwVVYLF4EeC9yscvWqW-eg">
+            <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE//core.uml#_rVfYoMGJEd-Mveea1W_olA"/>
+            <value xmi:type="uml:LiteralInteger" xmi:id="_zwV8cLF4EeC9yscvWqW-eg" name="value for priority">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+            </value>
+          </slot>
+          <slot xmi:type="uml:Slot" xmi:id="_uctiAF8DEeGerN33d-RdRg" definingFeature="_kLNdAF8DEeGerN33d-RdRg">
+            <value xmi:type="uml:LiteralString" xmi:id="_ucuwIF8DEeGerN33d-RdRg" name="value for name" value="&quot;cons1&quot;">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            </value>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_zwZm0bF4EeC9yscvWqW-eg" name="mainInstance.pub" classifier="_IfjoETLbEd2qeKRLMdIx_A"/>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_DQUvILGSEeCfWNndpgPDWA" name="allocate to monoNode" client="_zwQc4bF4EeC9yscvWqW-eg" supplier="_GQ1ekKwHEeCQX8uv_p0Q4A"/>
+        <packagedElement xmi:type="uml:Abstraction" xmi:id="_vcX2AE0tEeG4IqgA7gSE6w" name="allocate to monoNode" client="_zwQc4bF4EeC9yscvWqW-eg" supplier="_GQ1ekKwHEeCQX8uv_p0Q4A"/>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_z4nngF73EeGerN33d-RdRg" name="mainInstance.cons2" classifier="_tyiqsc__Ed-TP80eVS-2Rg">
+          <slot xmi:type="uml:Slot" xmi:id="_vzFfEF8DEeGerN33d-RdRg" definingFeature="_kLNdAF8DEeGerN33d-RdRg">
+            <value xmi:type="uml:LiteralString" xmi:id="_vzGGIF8DEeGerN33d-RdRg" name="value for name" value="&quot;cons2&quot;">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            </value>
+          </slot>
+        </packagedElement>
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_z4xYgF73EeGerN33d-RdRg" name="mainInstance.fifo">
+          <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/fifo.uml#_Y1jF8HPpEd6R5tffIPrlPg"/>
+          <slot xmi:type="uml:Slot" xmi:id="_z4x_kF73EeGerN33d-RdRg">
+            <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE/fifo.uml#_XDRnoHUIEd6R5tffIPrlPg"/>
+            <value xmi:type="uml:LiteralInteger" xmi:id="_z4x_kV73EeGerN33d-RdRg" name="value for m_size" value="30">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+            </value>
+          </slot>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_lr9WwKwJEeCgusK7cm6qjQ" name="derivedInterfaces">
+      <packagedElement xmi:type="uml:Package" xmi:id="_rkP_kF7hEeGEmrrwB1vhPg" name="ProducerTwoConsumers">
+        <packagedElement xmi:type="uml:Package" xmi:id="_rkRNsF7hEeGEmrrwB1vhPg" name="components">
+          <packagedElement xmi:type="uml:Package" xmi:id="_rkR0wF7hEeGEmrrwB1vhPg" name="interfaces">
+            <packagedElement xmi:type="uml:Interface" xmi:id="_rkTC4F7hEeGEmrrwB1vhPg" name="D_Push_PubData">
+              <ownedOperation xmi:type="uml:Operation" xmi:id="_rkw88F7hEeGEmrrwB1vhPg" name="push">
+                <ownedParameter xmi:type="uml:Parameter" xmi:id="_rk-YUF7hEeGEmrrwB1vhPg" name="data" type="_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
+              </ownedOperation>
+            </packagedElement>
+            <packagedElement xmi:type="uml:Interface" xmi:id="_C2ev8F7iEeGEmrrwB1vhPg" name="D_PullConsumer_PubData">
+              <ownedOperation xmi:type="uml:Operation" xmi:id="_C2-fMF7iEeGEmrrwB1vhPg" name="pull">
+                <ownedParameter xmi:type="uml:Parameter" xmi:id="_C2_GQF7iEeGEmrrwB1vhPg" name="ret" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" direction="return"/>
+              </ownedOperation>
+              <ownedOperation xmi:type="uml:Operation" xmi:id="_C3AUYF7iEeGEmrrwB1vhPg" name="hasData">
+                <ownedParameter xmi:type="uml:Parameter" xmi:id="_C3A7cF7iEeGEmrrwB1vhPg" name="ret" direction="return">
+                  <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_Bv7l0B-VEd6nGq8wpI2tjg"/>
+                </ownedParameter>
+              </ownedOperation>
+            </packagedElement>
+          </packagedElement>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_dtI0wGkXEeWAzPO1wYNudw" name="derivedTypes">
+      <packagedElement xmi:type="uml:Package" xmi:id="_dtKC4GkXEeWAzPO1wYNudw" name="ProducerTwoConsumers">
+        <packagedElement xmi:type="uml:Package" xmi:id="_dtKC4WkXEeWAzPO1wYNudw" name="components">
+          <packagedElement xmi:type="uml:Package" xmi:id="_dtKC4mkXEeWAzPO1wYNudw" name="interfaces">
+            <packagedElement xmi:type="uml:Interface" xmi:id="_dtKp8GkXEeWAzPO1wYNudw" name="Push_PubData">
+              <ownedOperation xmi:type="uml:Operation" xmi:id="_dtahkGkXEeWAzPO1wYNudw" name="push">
+                <ownedParameter xmi:type="uml:Parameter" xmi:id="_dtahkWkXEeWAzPO1wYNudw" name="data" type="_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
+              </ownedOperation>
+            </packagedElement>
+            <packagedElement xmi:type="uml:Class" xmi:id="_dtSlwGkXEeWAzPO1wYNudw" name="CPush_PubData"/>
+          </packagedElement>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_GcC0cAHtEd6HSdiss9GQ0A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Gd1kMAHtEd6HSdiss9GQ0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_z1TwgFW3Ed63BrxiKsw-0Q">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z2GasFW3Ed63BrxiKsw-0Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_sfyAwEbjEd-l4NeVOJZDkA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_siunEEbjEd-l4NeVOJZDkA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//GCM"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_YgAioAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_SPVg0KmqEeCxII-g1_Lmeg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Se6N4KmqEeCxII-g1_Lmeg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_b9oZ5rG3Ed-tmN4hwNCxXQ"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_3VS0wAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_SfbyUKmqEeCxII-g1_Lmeg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SuJjwKmqEeCxII-g1_Lmeg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//SW_ResourceCore"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_-1fcUBJdEdy3Td9UhuLFPg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_f2hIMKmqEeCxII-g1_Lmeg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gEtVMKmqEeCxII-g1_Lmeg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//SW_Concurrency"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_A_vtYBJeEdy3Td9UhuLFPg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_popJkKmqEeCxII-g1_Lmeg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_p1PbIKmqEeCxII-g1_Lmeg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_yNSZIAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_yzqusKmqEeCxII-g1_Lmeg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zCWq8KmqEeCxII-g1_Lmeg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//SW_Brokering"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_Cf874BJeEdy3Td9UhuLFPg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_6xYMIKmqEeCxII-g1_Lmeg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6_6-cKmqEeCxII-g1_Lmeg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//SW_Interaction"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_EIfnABJeEdy3Td9UhuLFPg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_tZuBwE0tEeG4IqgA7gSE6w">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tisXkE0tEeG4IqgA7gSE6w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+  </uml:Model>
+  <FCM:DerivedElement xmi:id="_B9o7sP6yEd6Ie_kieu_3CQ" base_Element="_dH4RIKF4Ed6FqJCjEUrkqQ">
+    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+  </FCM:DerivedElement>
+  <FCM:Port xmi:id="_GofhQP6yEd6Ie_kieu_3CQ" base_Port="_4KiE8DLbEd2qeKRLMdIx_A" type="_wFJ3IP91Ed6Jt8e-UqrRdQ">
+    <kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_pE6GUFR1Ed6GqrP6fkWBoQ"/>
+  </FCM:Port>
+  <FCM:Port xmi:id="_IWQqoP6yEd6Ie_kieu_3CQ" base_Port="_DtWn4DLcEd2qeKRLMdIx_A" type="_wFJ3IP91Ed6Jt8e-UqrRdQ">
+    <kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_qOK0cFR1Ed6GqrP6fkWBoQ"/>
+  </FCM:Port>
+  <C_Cpp:Include xmi:id="_7SAnAP76Ed6Zw96O-tCw7A" body="#include &lt;iostream>&#xA;#include &lt;unistd.h>&#xA;using namespace std;" base_class="_IfjoETLbEd2qeKRLMdIx_A"/>
+  <C_Cpp:Include xmi:id="_Sa4nEP77Ed6Zw96O-tCw7A" body="#include &lt;iostream>&#xA;using namespace std;" base_class="_oqZNUDLaEd2qeKRLMdIx_A"/>
+  <FCM:DerivedElement xmi:id="_uOqKgD15Ed-qiK1VZWszhA" base_Element="_uOmgID15Ed-qiK1VZWszhA">
+    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_uOz7gD15Ed-qiK1VZWszhA" base_Element="_uOtN0D15Ed-qiK1VZWszhA">
+    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <C_Cpp:Visibility xmi:id="_0VnhsD15Ed-qiK1VZWszhA" value="public" base_generalization="_NItbAP94Ed6628OhKk_dpg"/>
+  <FCM:DerivedElement xmi:id="_a4RvMD16Ed-qiK1VZWszhA" base_Element="_uOmgID15Ed-qiK1VZWszhA"/>
+  <FCM:DerivedElement xmi:id="_a4VZkD16Ed-qiK1VZWszhA" base_Element="_uOtN0D15Ed-qiK1VZWszhA"/>
+  <FCM:DerivedElement xmi:id="_cdXBMD17Ed-qiK1VZWszhA" base_Element="_uOmgID15Ed-qiK1VZWszhA"/>
+  <FCM:DerivedElement xmi:id="_cdaEgD17Ed-qiK1VZWszhA" base_Element="_uOtN0D15Ed-qiK1VZWszhA"/>
+  <FCM:DerivedElement xmi:id="_C3YKUEbjEd-l4NeVOJZDkA" base_Element="_uOmgID15Ed-qiK1VZWszhA"/>
+  <FCM:DerivedElement xmi:id="_C3pQEEbjEd-l4NeVOJZDkA" base_Element="_uOtN0D15Ed-qiK1VZWszhA"/>
+  <FCM:DerivedElement xmi:id="_igKiENAAEd-TP80eVS-2Rg" base_Element="_tyjRy8__Ed-TP80eVS-2Rg">
+    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_igVhMNAAEd-TP80eVS-2Rg" base_Element="_tyjRzM__Ed-TP80eVS-2Rg">
+    <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <C_Cpp:Include xmi:id="_11OtwPcaEd-KM6l7lmIPkw" body="#include &lt;iostream>&#xA;#include &lt;unistd.h>&#xA;using namespace std;" base_class="_tyiqsc__Ed-TP80eVS-2Rg"/>
+  <FCM:Target xmi:id="_LD_uICr7EeCfcI_SvPT4lw" base_Node="_zY9vMDLiEd2RVeNawwNNzg">
+    <targetArch xmi:type="FCM:TargetArchitecture" href="pathmap://QML_CORE/core.uml#_FYOqwF0OEd-12d_h0i1xhQ"/>
+    <usedOS xmi:type="FCM:OperatingSystem" href="pathmap://QML_CORE/core.uml#_1eULwF0NEd-12d_h0i1xhQ"/>
+  </FCM:Target>
+  <FCM:DeploymentPlan xmi:id="_xB2CEDOFEeCldqx_51Yicg" mainInstance="_xB3QMDOFEeCldqx_51Yicg" base_Package="_xBxwoDOFEeCldqx_51Yicg"/>
+  <GCM:FlowPort xmi:id="_DwpFMJZ7EeCiU5xXzp1cKQ" direction="in" base_Port="_4KiE8DLbEd2qeKRLMdIx_A"/>
+  <GCM:FlowPort xmi:id="_NWXCQJZ7EeCiU5xXzp1cKQ" direction="in" base_Port="_tyiqs8__Ed-TP80eVS-2Rg"/>
+  <FCM:Port xmi:id="_tyjRzc__Ed-TP80eVS-2Rg" base_Port="_tyiqs8__Ed-TP80eVS-2Rg" type="_wFJ3IP91Ed6Jt8e-UqrRdQ">
+    <kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_x5mL4FRxEd6GqrP6fkWBoQ"/>
+  </FCM:Port>
+  <GCM:FlowPort xmi:id="_ow3PkJZ7EeCiU5xXzp1cKQ" direction="out" base_Port="_DtWn4DLcEd2qeKRLMdIx_A"/>
+  <FCM:DeploymentPlan xmi:id="_zwQc4LF4EeC9yscvWqW-eg" mainInstance="_zwQc4bF4EeC9yscvWqW-eg" base_Package="_zwMLcLF4EeC9yscvWqW-eg"/>
+  <FCM:DerivedElement xmi:id="_T7RXwAcsEeGYWLReZHFIwA" base_Element="_T7D8YAcsEeGYWLReZHFIwA" source="_rkw88F7hEeGEmrrwB1vhPg"/>
+  <Alloc:Allocate xmi:id="_vccHcE0tEeG4IqgA7gSE6w" base_Abstraction="_vcX2AE0tEeG4IqgA7gSE6w"/>
+  <Alloc:Allocate xmi:id="_wq1NME0tEeG4IqgA7gSE6w" base_Abstraction="_wqyJ4E0tEeG4IqgA7gSE6w"/>
+  <FCM:Connector xmi:id="_Kgl40FupEeGjjMeADLT5-g" base_Property="_EM2p4FupEeGjjMeADLT5-g"/>
+  <FCM:DerivedElement xmi:id="_rkgeQF7hEeGEmrrwB1vhPg" base_Element="_rkTC4F7hEeGEmrrwB1vhPg" source="_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
+  <FCM:DerivedElement xmi:id="_C2kPgF7iEeGEmrrwB1vhPg" base_Element="_C2ev8F7iEeGEmrrwB1vhPg" source="_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
+  <FCM:RuleApplication xmi:id="_Jyda4F7zEeGA7qTe7UD05A" base_Class="_tyiqsc__Ed-TP80eVS-2Rg">
+    <containerRule xmi:type="FCM:ContainerRule" href="pathmap://QML_CORE/core.uml#_3Jq5MARLEd-OidZzGKCpzg"/>
+    <propagateRule>false</propagateRule>
+  </FCM:RuleApplication>
+  <FCM:ConfigurationProperty xmi:id="_o8LRoF8DEeGerN33d-RdRg" base_Property="_kLNdAF8DEeGerN33d-RdRg"/>
+  <FCM:Connector xmi:id="_COvyMGkBEeGgxNn3NWRjCQ" base_Property="_wG5YcF7uEeGA7qTe7UD05A"/>
+  <FCM:DerivedElement xmi:id="_dtR-sGkXEeWAzPO1wYNudw" base_Element="_dtKp8GkXEeWAzPO1wYNudw" source="_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
+  <FCM:DerivedElement xmi:id="_dtZ6gGkXEeWAzPO1wYNudw" base_Element="_dtSlwGkXEeWAzPO1wYNudw" source="_wFJ3IP91Ed6Jt8e-UqrRdQ"/>
+</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSM.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di
copy to transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSM.di
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSM.notation b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSM.notation
new file mode 100644
index 0000000..8a4baba
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSM.notation
@@ -0,0 +1,567 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_aeSh0F37Ed-UvNEDwY5GNg" type="CompositeStructure" name="CompositeDiagram SimpleSM" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_c2tKsF37Ed-UvNEDwY5GNg" type="Class_Shape" fontName="Monospace" fontHeight="10" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MXrr0H8eEd-5xfPoaTlRww" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MXsS4H8eEd-5xfPoaTlRww" key="QualifiedNameDepth" value="1"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NqCEgH8eEd-5xfPoaTlRww" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NqCEgX8eEd-5xfPoaTlRww" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_c2tKsl37Ed-UvNEDwY5GNg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_I-1YwPX4EeWa_pjn9guopQ" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2tKtF37Ed-UvNEDwY5GNg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hw-_8FbmEeObiJAlOlmjpQ" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hw-_8VbmEeObiJAlOlmjpQ" showTitle="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hw-_8lbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hxIJ4FbmEeObiJAlOlmjpQ" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hxIJ4VbmEeObiJAlOlmjpQ" showTitle="true"/>
+        <element xmi:type="C_Cpp:Include" href="SimpleSM.uml#_EaeJMNp0EeKd1ax3yaXM9w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxIJ4lbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hxIJ41bmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hxIJ5FbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxIJ5VbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Xth5MGkLEeWakucY9QdE0g" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Xth5MWkLEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="SimpleSM.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2tKsV37Ed-UvNEDwY5GNg" x="60" y="140" width="321" height="161"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ccPtMDemEeGPyrZ5I3hMlA" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQUQDemEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQUQTemEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQUQjemEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQUQzemEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ccQURDemEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ccQURTemEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ccQURjemEeGPyrZ5I3hMlA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="SimpleSM.uml#_cb-ncDemEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccPtMTemEeGPyrZ5I3hMlA" x="460" y="160" width="184"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Xvj5gGkLEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Xvj5gWkLEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xvj5g2kLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="SimpleSM.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xvj5gmkLEeWakucY9QdE0g" x="308" y="72"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_PJhvACgBEeapjr3l63b85A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_PJhvASgBEeapjr3l63b85A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_PJhvAygBEeapjr3l63b85A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PJhvAigBEeapjr3l63b85A" x="190" y="-9"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_tb2mUG-EEea89JTVlr8RHA" type="Interface_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_tb2mUm-EEea89JTVlr8RHA" type="Interface_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_tb2mU2-EEea89JTVlr8RHA" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_tb3NYG-EEea89JTVlr8RHA" y="5"/>
+      </children>
+      <element xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tb2mUW-EEea89JTVlr8RHA" x="62" y="31" width="319"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_aeSh0V37Ed-UvNEDwY5GNg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_Xth5MmkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_0yX_oCgBEeapjr3l63b85A">
+      <owner xmi:type="uml:Package" href="SimpleSM.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    </styles>
+    <element xmi:type="uml:Package" href="SimpleSM.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_gMg50DemEeGPyrZ5I3hMlA" type="Comment_AnnotatedElementEdge" source="_ccPtMDemEeGPyrZ5I3hMlA" target="_c2tKsF37Ed-UvNEDwY5GNg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_gMg50TemEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gMg50jemEeGPyrZ5I3hMlA" points="[-10, -7, 55, 0]$[-42, -9, 23, -2]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gM_a8DemEeGPyrZ5I3hMlA" id="(0.0,0.6349206349206349)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gNACADemEeGPyrZ5I3hMlA" id="(1.0,0.4968944099378882)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Xvj5hGkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_c2tKsF37Ed-UvNEDwY5GNg" target="_Xvj5gGkLEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Xvj5hWkLEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xvj5iWkLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="SimpleSM.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xvj5hmkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xvj5h2kLEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xvj5iGkLEeWakucY9QdE0g"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_yHaWgG-EEea89JTVlr8RHA" type="Realization_Edge" source="_c2tKsF37Ed-UvNEDwY5GNg" target="_tb2mUG-EEea89JTVlr8RHA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_yHa9kG-EEea89JTVlr8RHA" type="Realization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_yHa9kW-EEea89JTVlr8RHA" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_yHa9km-EEea89JTVlr8RHA" type="Realization_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_yHa9k2-EEea89JTVlr8RHA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_yHaWgW-EEea89JTVlr8RHA"/>
+      <element xmi:type="uml:Realization" href="SimpleSM.uml#_yHXTMG-EEea89JTVlr8RHA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yHaWgm-EEea89JTVlr8RHA" points="[240, 140, -643984, -643984]$[220, 71, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yH10UG-EEea89JTVlr8RHA" id="(0.4984423676012461,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yH10UW-EEea89JTVlr8RHA" id="(0.4952978056426332,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_6FvnwGONEd-seu3qyZgHfg" type="PapyrusUMLClassDiagram" name="deployment plans" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_RzEEkG-0Eea89JTVlr8RHA" type="Package_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_RzFSsG-0Eea89JTVlr8RHA" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_RzFSsW-0Eea89JTVlr8RHA" type="Package_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_RzFSsm-0Eea89JTVlr8RHA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RzFSs2-0Eea89JTVlr8RHA"/>
+      </children>
+      <element xmi:type="uml:Package" href="SimpleSM.uml#_GYFZYG-QEea89JTVlr8RHA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RzEEkW-0Eea89JTVlr8RHA" x="59" y="62" width="242" height="110"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dWakQG-6Eea89JTVlr8RHA" type="Package_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dWbLUG-6Eea89JTVlr8RHA" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dWbLUW-6Eea89JTVlr8RHA" type="Package_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dWbLUm-6Eea89JTVlr8RHA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dWbLU2-6Eea89JTVlr8RHA"/>
+      </children>
+      <element xmi:type="uml:Package" href="SimpleSM.uml#_MfLhYG-6Eea89JTVlr8RHA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dWakQW-6Eea89JTVlr8RHA" x="368" y="62" width="233" height="109"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dWjuM2-6Eea89JTVlr8RHA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_dWjuNG-6Eea89JTVlr8RHA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_dWjuNm-6Eea89JTVlr8RHA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="SimpleSM.uml#_MfLhYG-6Eea89JTVlr8RHA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dWjuNW-6Eea89JTVlr8RHA" x="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_fDkCkG-6Eea89JTVlr8RHA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_fDkCkW-6Eea89JTVlr8RHA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fDkCk2-6Eea89JTVlr8RHA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="SimpleSM.uml#_GYFZYG-QEea89JTVlr8RHA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fDkCkm-6Eea89JTVlr8RHA" x="259" y="62"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_6FvnwWONEd-seu3qyZgHfg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_X3OnwGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="SimpleSM.uml#_234GEDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_dWkVQG-6Eea89JTVlr8RHA" type="StereotypeCommentLink" source="_dWakQG-6Eea89JTVlr8RHA" target="_dWjuM2-6Eea89JTVlr8RHA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_dWkVQW-6Eea89JTVlr8RHA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_dWkVRW-6Eea89JTVlr8RHA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="SimpleSM.uml#_MfLhYG-6Eea89JTVlr8RHA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dWkVQm-6Eea89JTVlr8RHA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dWkVQ2-6Eea89JTVlr8RHA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dWkVRG-6Eea89JTVlr8RHA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_fDkClG-6Eea89JTVlr8RHA" type="StereotypeCommentLink" source="_RzEEkG-0Eea89JTVlr8RHA" target="_fDkCkG-6Eea89JTVlr8RHA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_fDkClW-6Eea89JTVlr8RHA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fDkCmW-6Eea89JTVlr8RHA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="SimpleSM.uml#_GYFZYG-QEea89JTVlr8RHA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fDkClm-6Eea89JTVlr8RHA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fDkCl2-6Eea89JTVlr8RHA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fDkCmG-6Eea89JTVlr8RHA"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_0MCIsOYXEeCBL_IbXY9ofw" type="PapyrusUMLStateMachineDiagram" name="SmDiagramServer" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_0MCIseYXEeCBL_IbXY9ofw" type="StateMachine_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIsuYXEeCBL_IbXY9ofw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIs-YXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItOYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIteYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItuYXEeCBL_IbXY9ofw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIt-YXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JlR4wHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JlR4wXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LKHvoHn3EeOfttgBwSq-Ig" key="gradient" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0MCIuOYXEeCBL_IbXY9ofw" type="StateMachine_NameLabel">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIueYXEeCBL_IbXY9ofw" width="940" height="20"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JVovMPX4EeWa_pjn9guopQ" type="StateMachine_RegionCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_0MCIu-YXEeCBL_IbXY9ofw" type="Region_Shape" fontName="Sans Serif" lineColor="0" lineWidth="1">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvOYXEeCBL_IbXY9ofw" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIveYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvuYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIv-YXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwOYXEeCBL_IbXY9ofw" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIweYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwuYXEeCBL_IbXY9ofw" source="RegionAnnotationKey">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIw-YXEeCBL_IbXY9ofw" key="RegionZoneKey" value=""/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TbH8gHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TbH8gXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uP7skPZMEeWa_pjn9guopQ" key="lineWidth" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JVpWQPX4EeWa_pjn9guopQ" type="Region_SubvertexCompartment">
+            <children xmi:type="notation:Shape" xmi:id="_1U-twOYXEeCBL_IbXY9ofw" type="Pseudostate_InitialShape" fontName="Sans Serif" fillColor="0" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_U0OYXEeCBL_IbXY9ofw" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74OYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74eYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74uYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74-YXEeCBL_IbXY9ofw" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_75OYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LqN7kMcpEeSsAI2TZshUyg" source="PapyrusCSSForceValue">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LqPJsMcpEeSsAI2TZshUyg" key="gradient" value="true"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75eYXEeCBL_IbXY9ofw" type="Pseudostate_InitialFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_75uYXEeCBL_IbXY9ofw" x="36" y="-9"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75-YXEeCBL_IbXY9ofw" type="Pseudostate_InitialStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_76OYXEeCBL_IbXY9ofw" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="SimpleSM.uml#_1UVNgOYXEeCBL_IbXY9ofw"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1U-tweYXEeCBL_IbXY9ofw" x="114" y="19"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_53eokOYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPoOYXEeCBL_IbXY9ofw" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53fPoeYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPouYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2sOYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53f2seYXEeCBL_IbXY9ofw" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2suYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_53f2s-YXEeCBL_IbXY9ofw" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7PRh8OYXEeCBL_IbXY9ofw" width="99" height="20"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_JVp9UPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PvBTIPX4EeWa_pjn9guopQ" source="PapyrusCSSForceValue">
+                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PvB6MPX4EeWa_pjn9guopQ" key="visible" value="true"/>
+                </eAnnotations>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53f2teYXEeCBL_IbXY9ofw" y="20" width="99" height="48"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_h9cHkFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_h9cHkVbmEeObiJAlOlmjpQ"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9cHklbmEeObiJAlOlmjpQ"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSM.uml#_53E_8OYXEeCBL_IbXY9ofw"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53eokeYXEeCBL_IbXY9ofw" x="259" y="37" width="99" height="68"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_8AQS8OYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8AQ6AOYXEeCBL_IbXY9ofw" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEOYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhEeYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEuYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhE-YXEeCBL_IbXY9ofw" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhFOYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_8ARhFeYXEeCBL_IbXY9ofw" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8A06sOYXEeCBL_IbXY9ofw" width="100" height="20"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_JVrLcPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8ARhF-YXEeCBL_IbXY9ofw" y="20" width="100" height="42"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_h9ej0FbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_h9ej0VbmEeObiJAlOlmjpQ"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ej0lbmEeObiJAlOlmjpQ"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSM.uml#_7_1cMOYXEeCBL_IbXY9ofw"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8AQS8eYXEeCBL_IbXY9ofw" x="259" y="181" width="100" height="62"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_oxRiMCjmEeaJJusTB1aIbg" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_oxSwUCjmEeaJJusTB1aIbg" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p6M5ICjmEeaJJusTB1aIbg" width="79"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_oxTXYCjmEeaJJusTB1aIbg" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_oxTXYSjmEeaJJusTB1aIbg" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_oxTXYijmEeaJJusTB1aIbg" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxTXYyjmEeaJJusTB1aIbg" y="-1" width="79"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSM.uml#_owZYcCjmEeaJJusTB1aIbg"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxRiMSjmEeaJJusTB1aIbg" x="510" y="36" width="79" height="59"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="__-OxACjmEeaJJusTB1aIbg" type="Pseudostate_JunctionShape">
+              <children xmi:type="notation:DecorationNode" xmi:id="__-PYECjmEeaJJusTB1aIbg" type="Pseudostate_JunctionFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYESjmEeaJJusTB1aIbg" x="34" y="22"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="__-PYEijmEeaJJusTB1aIbg" type="Pseudostate_JunctionStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYEyjmEeaJJusTB1aIbg" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="SimpleSM.uml#__9lQwCjmEeaJJusTB1aIbg"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="__-OxASjmEeaJJusTB1aIbg" x="539" y="162"/>
+            </children>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxeYXEeCBL_IbXY9ofw"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_h9XPEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_h9XPEVbmEeObiJAlOlmjpQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9XPElbmEeObiJAlOlmjpQ"/>
+          </children>
+          <element xmi:type="uml:Region" href="SimpleSM.uml#_0Lv00OYXEeCBL_IbXY9ofw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxuYXEeCBL_IbXY9ofw" width="940" height="419"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIx-YXEeCBL_IbXY9ofw" y="20" width="940" height="419"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_h9ULwFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_h9ULwVbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ULwlbmEeObiJAlOlmjpQ"/>
+      </children>
+      <styles xmi:type="notation:StringListValueStyle" xmi:id="_v51OQHn2EeOfttgBwSq-Ig" name="cssClass"/>
+      <element xmi:type="uml:StateMachine" href="SimpleSM.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIyOYXEeCBL_IbXY9ofw" x="40" y="40" width="940" height="439"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_0MCIyeYXEeCBL_IbXY9ofw"/>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_B2g2QHn3EeOfttgBwSq-Ig" name="css_stylesheets" eObjectListValue="_B2g2QXn3EeOfttgBwSq-Ig"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_YAq3oGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:StateMachine" href="SimpleSM.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_CLUHAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_1U-twOYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8MeYYEeCBL_IbXY9ofw" x="-6"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MuYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8M-YYEeCBL_IbXY9ofw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8NOYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8NeYYEeCBL_IbXY9ofw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_CLUHAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
+      <element xmi:type="uml:Transition" href="SimpleSM.uml#_CLBzIOYYEeCBL_IbXY9ofw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CLUHAuYYEeCBL_IbXY9ofw" points="[10, -4, -180, 0]$[175, -7, -15, -3]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CMH_UOYYEeCBL_IbXY9ofw" id="(0.16483516483516483,0.4142857142857143)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Doz_wOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0OYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0eYYEeCBL_IbXY9ofw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0uYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0-YYEeCBL_IbXY9ofw" x="-1" y="86"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m1OYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m1eYYEeCBL_IbXY9ofw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Doz_weYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
+      <element xmi:type="uml:Transition" href="SimpleSM.uml#_Doi6AOYYEeCBL_IbXY9ofw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Doz_wuYYEeCBL_IbXY9ofw" points="[4, 9, 0, -45]$[1, 47, -3, -7]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacsOYYEeCBL_IbXY9ofw" id="(0.2,0.9846153846153847)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacseYYEeCBL_IbXY9ofw" id="(0.2,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_OIPMAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OIPzEOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIOYYEeCBL_IbXY9ofw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaIeYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIuYYEeCBL_IbXY9ofw" x="-16" y="-10"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaI-YYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaJOYYEeCBL_IbXY9ofw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_OIPMAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
+      <element xmi:type="uml:Transition" href="SimpleSM.uml#_OH_UYOYYEeCBL_IbXY9ofw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OIPMAuYYEeCBL_IbXY9ofw" points="[-4, -31, 8, 88]$[4, -128, 16, -9]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgOYYEeCBL_IbXY9ofw" id="(0.8,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgeYYEeCBL_IbXY9ofw" id="(0.8,0.9846153846153847)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mPjVYOtqEeCzSsOGmQH2aA" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" roundedBendpointsRadius="10" routing="Rectilinear" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wFmGcHoDEeOA64V_YLapaA" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wFmtgHoDEeOA64V_YLapaA" key="smoothness" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoOtqEeCzSsOGmQH2aA" visible="false" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XwnVkPX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxoetqEeCzSsOGmQH2aA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoutqEeCzSsOGmQH2aA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XxIS8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxo-tqEeCzSsOGmQH2aA" x="-15" y="28"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxpOtqEeCzSsOGmQH2aA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Xxll8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxpetqEeCzSsOGmQH2aA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_mPjVYetqEeCzSsOGmQH2aA" fontName=""/>
+      <element xmi:type="uml:Transition" href="SimpleSM.uml#_mJvoUOtqEeCzSsOGmQH2aA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mPjVYutqEeCzSsOGmQH2aA" points="[299, 171, -643984, -643984]$[147, 171, -643984, -643984]$[147, 272, -643984, -643984]$[299, 272, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wOtqEeCzSsOGmQH2aA" id="(0.0,0.6915887850467289)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wetqEeCzSsOGmQH2aA" id="(0.0,0.5)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_rgm2QCjmEeaJJusTB1aIbg" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_oxRiMCjmEeaJJusTB1aIbg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUCjmEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUSjmEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUijmEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUyjmEeaJJusTB1aIbg" x="-86" y="-52"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rgndVCjmEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndVSjmEeaJJusTB1aIbg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_rgm2QSjmEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="SimpleSM.uml#_rdKgsCjmEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rgm2QijmEeaJJusTB1aIbg" points="[399, 131, -643984, -643984]$[551, 131, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhuQkCjmEeaJJusTB1aIbg" id="(1.0,0.5)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhu3oCjmEeaJJusTB1aIbg" id="(0.0,0.5932203389830508)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_BPTXUCjnEeaJJusTB1aIbg" type="Transition_Edge" source="_oxRiMCjmEeaJJusTB1aIbg" target="__-OxACjmEeaJJusTB1aIbg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXUyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVCjnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVijnEeaJJusTB1aIbg" x="-10" y="-25"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXWCjnEeaJJusTB1aIbg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_BPTXUSjnEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="SimpleSM.uml#_BO7j4CjnEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BPTXUijnEeaJJusTB1aIbg" points="[590, 155, -643984, -643984]$[590, 222, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUCjnEeaJJusTB1aIbg" id="(0.4936708860759494,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUSjnEeaJJusTB1aIbg" id="(0.5,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_G11iACjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_53eokOYXEeCBL_IbXY9ofw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_G11iAyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBCjnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_G11iBSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBijnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_G11iByjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iCCjnEeaJJusTB1aIbg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_G11iASjnEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="SimpleSM.uml#_G1QTMCjnEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G11iAijnEeaJJusTB1aIbg" points="[583, 227, -643984, -643984]$[397, 159, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2gQYCjnEeaJJusTB1aIbg" id="(0.15,0.3863945578231304)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2g3cCjnEeaJJusTB1aIbg" id="(0.9797979797979798,0.9117647058823529)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_HndzQCjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_8AQS8OYXEeCBL_IbXY9ofw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_HndzQyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRCjnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRijnEeaJJusTB1aIbg" x="-18" y="-14"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzSCjnEeaJJusTB1aIbg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_HndzQSjnEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="SimpleSM.uml#_HnKRQCjnEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HndzQijnEeaJJusTB1aIbg" points="[585, 234, -643984, -643984]$[400, 277, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoK94CjnEeaJJusTB1aIbg" id="(0.27479674796748554,0.8330623306233065)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoLk8CjnEeaJJusTB1aIbg" id="(1.0,0.5806451612903226)"/>
+    </edges>
+  </notation:Diagram>
+  <css:EmbeddedStyleSheet xmi:id="_B2g2QXn3EeOfttgBwSq-Ig" label="Animation" content=":animated{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 3px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #c00000;&#xA;&#x9;bold: true;&#xA;} &#xA;&#xA;:suspended{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #fab953;&#xA;&#x9;bold: true;&#xA;}&#xA;&#xA;:visited{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #92d050;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #92d050;&#xA;}&#xA;Transition > Label {&#xA;&#x9;bodyCutLength: 1;&#xA;&#x9;indicateParameters: true;&#xA;&#x9;lineBreakBeforeEffect : true;&#xA;}"/>
+  <css:ModelStyleSheets xmi:id="_Rz4BcMcpEeSsAI2TZshUyg"/>
+  <notation:Diagram xmi:id="_Zv3ucG-FEea89JTVlr8RHA" type="PapyrusUMLClassDiagram" name="SimpleSM" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_a2TLAG-FEea89JTVlr8RHA" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_a2TyEG-FEea89JTVlr8RHA" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_a2TyEW-FEea89JTVlr8RHA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_a2TyEm-FEea89JTVlr8RHA" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_a2TyE2-FEea89JTVlr8RHA" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_a2TyFG-FEea89JTVlr8RHA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_a2TyFW-FEea89JTVlr8RHA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_a2TyFm-FEea89JTVlr8RHA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2TyF2-FEea89JTVlr8RHA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_a2TyGG-FEea89JTVlr8RHA" type="Class_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_lOZnQG-FEea89JTVlr8RHA" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SimpleSM.uml#_4ZEZwHecEd6r18stFZxmFQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_lOZnQW-FEea89JTVlr8RHA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_lOaOUG-FEea89JTVlr8RHA" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SimpleSM.uml#_TbIjUJYlEd6G9q9hwr11bw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_lOaOUW-FEea89JTVlr8RHA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_lOa1YG-FEea89JTVlr8RHA" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SimpleSM.uml#_VGsRACgBEeapjr3l63b85A"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_lOa1YW-FEea89JTVlr8RHA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_a2TyGW-FEea89JTVlr8RHA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_a2TyGm-FEea89JTVlr8RHA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_a2TyG2-FEea89JTVlr8RHA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2TyHG-FEea89JTVlr8RHA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_a2TyHW-FEea89JTVlr8RHA" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_a2TyHm-FEea89JTVlr8RHA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_a2TyH2-FEea89JTVlr8RHA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_a2TyIG-FEea89JTVlr8RHA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2TyIW-FEea89JTVlr8RHA"/>
+      </children>
+      <element xmi:type="uml:Class" href="SimpleSM.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2TLAW-FEea89JTVlr8RHA" x="60" y="180" width="361"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_a2gmY2-FEea89JTVlr8RHA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_a2gmZG-FEea89JTVlr8RHA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_a2hNcG-FEea89JTVlr8RHA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="SimpleSM.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2gmZW-FEea89JTVlr8RHA" x="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_bnxrQG-FEea89JTVlr8RHA" type="Interface_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_bnySUG-FEea89JTVlr8RHA" type="Interface_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_bnySUW-FEea89JTVlr8RHA" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bnySUm-FEea89JTVlr8RHA" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_bnySU2-FEea89JTVlr8RHA" visible="false" type="Interface_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_bnySVG-FEea89JTVlr8RHA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_bnySVW-FEea89JTVlr8RHA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_bnySVm-FEea89JTVlr8RHA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bnySV2-FEea89JTVlr8RHA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_bnySWG-FEea89JTVlr8RHA" type="Interface_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_c9VwAG-FEea89JTVlr8RHA" type="Operation_InterfaceOperationLabel">
+          <element xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_c9VwAW-FEea89JTVlr8RHA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_bnySWW-FEea89JTVlr8RHA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_bnySWm-FEea89JTVlr8RHA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_bnySW2-FEea89JTVlr8RHA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bnySXG-FEea89JTVlr8RHA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_bnySXW-FEea89JTVlr8RHA" visible="false" type="Interface_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_bnySXm-FEea89JTVlr8RHA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_bnySX2-FEea89JTVlr8RHA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_bnySYG-FEea89JTVlr8RHA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bnySYW-FEea89JTVlr8RHA"/>
+      </children>
+      <element xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bnxrQW-FEea89JTVlr8RHA" x="60" y="44" width="361" height="77"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_Zv3ucW-FEea89JTVlr8RHA" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_Zv3ucm-FEea89JTVlr8RHA"/>
+    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_Zv3uc2-FEea89JTVlr8RHA">
+      <owner xmi:type="uml:Package" href="SimpleSM.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    </styles>
+    <element xmi:type="uml:Package" href="SimpleSM.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_a2hNcW-FEea89JTVlr8RHA" type="StereotypeCommentLink" source="_a2TLAG-FEea89JTVlr8RHA" target="_a2gmY2-FEea89JTVlr8RHA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_a2hNcm-FEea89JTVlr8RHA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_a2hNdm-FEea89JTVlr8RHA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="SimpleSM.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2hNc2-FEea89JTVlr8RHA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2hNdG-FEea89JTVlr8RHA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2hNdW-FEea89JTVlr8RHA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_bon_0G-FEea89JTVlr8RHA" type="Dependency_Edge" source="_a2TLAG-FEea89JTVlr8RHA" target="_bnxrQG-FEea89JTVlr8RHA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_bon_02-FEea89JTVlr8RHA" type="Dependency_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cCQn0G-FEea89JTVlr8RHA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bon_1G-FEea89JTVlr8RHA" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_boom4G-FEea89JTVlr8RHA" type="Dependency_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cCWHYG-FEea89JTVlr8RHA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_boom4W-FEea89JTVlr8RHA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_bon_0W-FEea89JTVlr8RHA"/>
+      <element xmi:type="uml:Realization" href="SimpleSM.uml#_yHXTMG-EEea89JTVlr8RHA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bon_0m-FEea89JTVlr8RHA" points="[107, 215, -643984, -643984]$[0, 0, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cCdcIG-FEea89JTVlr8RHA" id="(0.4986149584487535,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cCdcIW-FEea89JTVlr8RHA" id="(0.4986149584487535,1.0)"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSM.uml b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSM.uml
new file mode 100644
index 0000000..d2ac6a5
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSM.uml
@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:Deployment="http://www.eclipse.org/papyrus/Deployment/1" xmlns:Transformation="http://www.eclipse.org/papyrus/Transformation/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="SimpleSM">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_TRAFO/trafos.uml#_Q6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_YvEs8OusEeCTfOY57pgE3w">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_TRAFO/statemachine.uml#_ago_QOUTEd-P08Bciq_LqQ"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="classes">
+      <packagedElement xmi:type="uml:Class" xmi:id="_oqZNUDLaEd2qeKRLMdIx_A" name="SimpleSM" classifierBehavior="_y7KWsOYXEeCBL_IbXY9ofw">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_cb-ncDemEeGPyrZ5I3hMlA" annotatedElement="_oqZNUDLaEd2qeKRLMdIx_A">
+          <body>State-machine support is enabled with a container rule</body>
+        </ownedComment>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_qxjWINnmEd2_cstbO2Uzgg" name="mult" specification="_4ZEZwHecEd6r18stFZxmFQ">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_YURmYGkzEearUflqhq5Pgw" name="res" direction="return">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YUTbkGkzEearUflqhq5Pgw" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YUUCoGkzEearUflqhq5Pgw" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a*b=&quot; &lt;&lt; a*b &lt;&lt; endl;
+return a*b;</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ML-4AKI5Ed6FqJCjEUrkqQ" name="add" specification="_TbIjUJYlEd6G9q9hwr11bw">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_YUV30GkzEearUflqhq5Pgw" name="res" direction="return">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YUXF8GkzEearUflqhq5Pgw" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YUYUEGkzEearUflqhq5Pgw" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a+b=&quot; &lt;&lt; a+b &lt;&lt; endl;
+return a+b;</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_y7KWsOYXEeCBL_IbXY9ofw" name="SMSimple">
+          <region xmi:type="uml:Region" xmi:id="_0Lv00OYXEeCBL_IbXY9ofw" name="Region0">
+            <transition xmi:type="uml:Transition" xmi:id="_CLBzIOYYEeCBL_IbXY9ofw" name="Transition0" source="_1UVNgOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw"/>
+            <transition xmi:type="uml:Transition" xmi:id="_Doi6AOYYEeCBL_IbXY9ofw" name="Transition1" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
+              <trigger xmi:type="uml:Trigger" xmi:id="_rHpXoOtoEeCjb9i0gG4phA" event="_rHoJgOtoEeCjb9i0gG4phA"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_OH_UYOYYEeCBL_IbXY9ofw" name="Transition2" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw">
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_CAWpgSSoEeG6GJ4vU06VYQ" name="add">
+                <language>C/C++</language>
+                <body>add(2,3);&#xD;
+mult(3,5);&#xD;
+std::cout &lt;&lt;&quot;From State1 to State0 \n&quot;;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_-aQtACaeEeG4fZdVXNtoOQ" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_mJvoUOtqEeCzSsOGmQH2aA" name="Transition3" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
+              <trigger xmi:type="uml:Trigger" xmi:id="_8WepQHoDEeOA64V_YLapaA" event="_8WeCMHoDEeOA64V_YLapaA"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_rdKgsCjmEeaJJusTB1aIbg" source="_53E_8OYXEeCBL_IbXY9ofw" target="_owZYcCjmEeaJJusTB1aIbg">
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_-EnkACjmEeaJJusTB1aIbg">
+                <language>C++</language>
+                <body>std::cout &lt;&lt; &quot;From State 0 to State 2\n&quot;;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_4eMuECjmEeaJJusTB1aIbg" event="_4WSIMCjmEeaJJusTB1aIbg"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_BO7j4CjnEeaJJusTB1aIbg" source="_owZYcCjmEeaJJusTB1aIbg" target="__9lQwCjmEeaJJusTB1aIbg">
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_F9mScCjnEeaJJusTB1aIbg">
+                <language>C++</language>
+                <body>std::cout &lt;&lt;&quot;From State 2 to Junction1\n&quot;;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_GlK94CjpEeaJJusTB1aIbg" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_G1QTMCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_53E_8OYXEeCBL_IbXY9ofw"/>
+            <transition xmi:type="uml:Transition" xmi:id="_HnKRQCjnEeaJJusTB1aIbg" guard="_KB4nQCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_7_1cMOYXEeCBL_IbXY9ofw">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="_KB4nQCjnEeaJJusTB1aIbg">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_KB4nQSjnEeaJJusTB1aIbg">
+                  <language>C++</language>
+                  <body>true</body>
+                </specification>
+              </ownedRule>
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_QlLVICjnEeaJJusTB1aIbg">
+                <language>C++</language>
+                <body>std::cout &lt;&lt; &quot;From Junction1 to State 1 \n&quot;;</body>
+              </effect>
+            </transition>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="_1UVNgOYXEeCBL_IbXY9ofw" name="Initial0"/>
+            <subvertex xmi:type="uml:State" xmi:id="_53E_8OYXEeCBL_IbXY9ofw" name="State0"/>
+            <subvertex xmi:type="uml:State" xmi:id="_7_1cMOYXEeCBL_IbXY9ofw" name="State1"/>
+            <subvertex xmi:type="uml:State" xmi:id="_owZYcCjmEeaJJusTB1aIbg" name="State2"/>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="__9lQwCjmEeaJJusTB1aIbg" name="Junction1" kind="junction"/>
+          </region>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_YNCW4CgBEeapjr3l63b85A" name="run" specification="_VGsRACgBEeapjr3l63b85A">
+          <language>C/C++</language>
+          <body>cout &lt;&lt; &quot;call add (2, 3);&quot; &lt;&lt; endl;
+cout &lt;&lt; &quot;result: &quot; &lt;&lt; add (2, 3) &lt;&lt; endl;
+cout &lt;&lt; &quot;sleeping for 15 seconds (statemachine remains active);&quot; &lt;&lt; endl;
+sleep(15);
+</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_4ZEZwHecEd6r18stFZxmFQ" name="mult" method="_qxjWINnmEd2_cstbO2Uzgg">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_fHa4sGk0EearUflqhq5Pgw" name="a">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_gA9v0Gk0EearUflqhq5Pgw" name="b">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_YUC84GkzEearUflqhq5Pgw" name="res" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YUELAGkzEearUflqhq5Pgw" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YUEyEGkzEearUflqhq5Pgw" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_TbIjUJYlEd6G9q9hwr11bw" name="add" method="_ML-4AKI5Ed6FqJCjEUrkqQ">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_guLbIGk0EearUflqhq5Pgw" name="a">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_hTr78Gk0EearUflqhq5Pgw" name="b">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_YN7GwGkzEearUflqhq5Pgw" name="res" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YOFe0GkzEearUflqhq5Pgw" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YOGs8GkzEearUflqhq5Pgw" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_VGsRACgBEeapjr3l63b85A" name="run" method="_YNCW4CgBEeapjr3l63b85A"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_rGzqIOtoEeCjb9i0gG4phA" name="events">
+        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_rHoJgOtoEeCjb9i0gG4phA" name="TE - {value=50, unit=ms}" isRelative="true">
+          <when xmi:type="uml:TimeExpression" xmi:id="_rHoJgetoEeCjb9i0gG4phA">
+            <expr xmi:type="uml:OpaqueExpression" xmi:id="_rHoJgutoEeCjb9i0gG4phA">
+              <language>Natural language</language>
+              <body>{value=50, unit=ms}</body>
+            </expr>
+          </when>
+        </packagedElement>
+        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_-PMFcCaeEeG4fZdVXNtoOQ" name="TE - {value=500, unit=ms}" isRelative="true">
+          <when xmi:type="uml:TimeExpression" xmi:id="_-PMFcSaeEeG4fZdVXNtoOQ">
+            <expr xmi:type="uml:OpaqueExpression" xmi:id="_-PMFciaeEeG4fZdVXNtoOQ">
+              <language>Natural language</language>
+              <body>{value=500, unit=ms}</body>
+            </expr>
+          </when>
+        </packagedElement>
+        <packagedElement xmi:type="uml:CallEvent" xmi:id="_8WeCMHoDEeOA64V_YLapaA" name="CE - CServer_impl - add" operation="_TbIjUJYlEd6G9q9hwr11bw"/>
+        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_4WSIMCjmEeaJJusTB1aIbg" name="TE - {value=25, unit=ms}" isRelative="true">
+          <when xmi:type="uml:TimeExpression" xmi:id="_4WSIMSjmEeaJJusTB1aIbg">
+            <expr xmi:type="uml:OpaqueExpression" xmi:id="_4WSIMijmEeaJJusTB1aIbg">
+              <language>Natural language</language>
+              <body>{value=25, unit=ms}</body>
+            </expr>
+          </when>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Realization" xmi:id="_yHXTMG-EEea89JTVlr8RHA" client="_oqZNUDLaEd2qeKRLMdIx_A">
+        <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
+      <packagedElement xmi:type="uml:Package" xmi:id="_GYFZYG-QEea89JTVlr8RHA" name="SimpleSMDepPlan">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_GYJDwG-QEea89JTVlr8RHA" name="mainInstance" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_MfLhYG-6Eea89JTVlr8RHA" name="SimpleSMDepPlanNoBL">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_MfMIcG-6Eea89JTVlr8RHA" name="mainInstance" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_GcC0cAHtEd6HSdiss9GQ0A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Gd1kMAHtEd6HSdiss9GQ0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_zi-sUE2sEeGl8qrc8BM7vA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0QJUUE2sEeGl8qrc8BM7vA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_YPbKAFl5EeagP584YGQRWg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YPc_MFl5EeagP584YGQRWg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Transformation/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://TRAFO_PROFILE/Transformation.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_1qZk0Fl6EeaMOsb_YMu4Rg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1qhgoFl6EeaMOsb_YMu4Rg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Deployment/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://DEP_PROFILE/Deployment.profile.uml#_gPDsIBa-EearhdjjJ6cVzQ"/>
+    </profileApplication>
+  </uml:Model>
+  <C_Cpp:Include xmi:id="_EaeJMNp0EeKd1ax3yaXM9w" body="#include &lt;iostream>&#xA;using namespace std;&#xA;&#xA;#include &lt;unistd.h>&#xA;" base_class="_oqZNUDLaEd2qeKRLMdIx_A"/>
+  <Deployment:DeploymentPlan xmi:id="_SqAE4G-6Eea89JTVlr8RHA" base_Package="_MfLhYG-6Eea89JTVlr8RHA">
+    <chain xmi:type="Transformation:M2MTrafoChain" href="pathmap://DML_TRAFO/trafos.uml#_A7oqsG-DEea89JTVlr8RHA"/>
+  </Deployment:DeploymentPlan>
+  <Deployment:DeploymentPlan xmi:id="_fDaRkG-6Eea89JTVlr8RHA" base_Package="_GYFZYG-QEea89JTVlr8RHA"/>
+</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSMChangeEvent.di b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSMChangeEvent.di
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSMChangeEvent.di
rename to transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSMChangeEvent.di
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSMChangeEvent.notation b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSMChangeEvent.notation
new file mode 100644
index 0000000..0155b3f
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSMChangeEvent.notation
@@ -0,0 +1,1114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_XSHWMF36Ed-UvNEDwY5GNg" type="PapyrusUMLClassDiagram" name="Interfaces" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_MTW5IDcZEeGPyrZ5I3hMlA" type="Interface_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTYuUDcZEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTYuUTcZEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTZVYDcZEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTZVYTcZEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTZVYjcZEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTZVYzcZEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_MTZVZDcZEeGPyrZ5I3hMlA" type="Interface_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IDa5YPX4EeWa_pjn9guopQ" visible="false" type="Interface_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZVZjcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZVZzcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZVaDcZEeGPyrZ5I3hMlA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZVaTcZEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IHycAPX4EeWa_pjn9guopQ" type="Interface_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_QIpIoDcZEeGPyrZ5I3hMlA" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-jHsIFmOEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-ovzAFmOEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="6408"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="SimpleSMChangeEvent.uml#_DGs6wDLgEd28fJKJJnUaeQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QIpIoTcZEeGPyrZ5I3hMlA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_QIqWwDcZEeGPyrZ5I3hMlA" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__X1GkFmOEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__X6mIFmOEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="6408"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="SimpleSMChangeEvent.uml#_L8EY8DLgEd28fJKJJnUaeQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QIqWwTcZEeGPyrZ5I3hMlA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_1U9e4McqEeSsAI2TZshUyg" type="Reception_InterfaceReceptionLabel">
+          <element xmi:type="uml:Reception" href="SimpleSMChangeEvent.uml#_1U0U8McqEeSsAI2TZshUyg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_1U9e4ccqEeSsAI2TZshUyg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_M-0sIMcrEeSsAI2TZshUyg" type="Reception_InterfaceReceptionLabel">
+          <element xmi:type="uml:Reception" href="SimpleSMChangeEvent.uml#_M-tXYMcrEeSsAI2TZshUyg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_M-0sIccrEeSsAI2TZshUyg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZ8cDcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZ8cTcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZ8cjcZEeGPyrZ5I3hMlA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZ8czcZEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IHycAfX4EeWa_pjn9guopQ" visible="false" type="Interface_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZ8dTcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZ8djcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZ8dzcZEeGPyrZ5I3hMlA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZ8eDcZEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hsloIFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hsloIVbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hsloIlbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_XYUeMGkLEeWakucY9QdE0g" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XYUeMWkLEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Interface" href="SimpleSMChangeEvent.uml#_cn-H0DLbEd2qeKRLMdIx_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTW5ITcZEeGPyrZ5I3hMlA" x="150" y="111" width="337" height="110"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ywpIAMcqEeSsAI2TZshUyg" type="Signal_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ywpvEMcqEeSsAI2TZshUyg" type="Signal_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ywpvEccqEeSsAI2TZshUyg" type="Signal_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ywpvEscqEeSsAI2TZshUyg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IH2tcPX4EeWa_pjn9guopQ" type="Signal_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ywqWIccqEeSsAI2TZshUyg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ywqWIscqEeSsAI2TZshUyg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ywqWI8cqEeSsAI2TZshUyg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ywqWJMcqEeSsAI2TZshUyg"/>
+      </children>
+      <element xmi:type="uml:Signal" href="SimpleSMChangeEvent.uml#_ywk2kMcqEeSsAI2TZshUyg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ywpIAccqEeSsAI2TZshUyg" x="640" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_z0oUkMcqEeSsAI2TZshUyg" type="Signal_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_z0o7oMcqEeSsAI2TZshUyg" type="Signal_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_z0o7occqEeSsAI2TZshUyg" type="Signal_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_z0o7oscqEeSsAI2TZshUyg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IH4ioPX4EeWa_pjn9guopQ" type="Signal_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_z0o7pMcqEeSsAI2TZshUyg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_z0o7pccqEeSsAI2TZshUyg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_z0o7pscqEeSsAI2TZshUyg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0o7p8cqEeSsAI2TZshUyg"/>
+      </children>
+      <element xmi:type="uml:Signal" href="SimpleSMChangeEvent.uml#_z0nGcMcqEeSsAI2TZshUyg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0oUkccqEeSsAI2TZshUyg" x="840" y="120"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_XSHWMV36Ed-UvNEDwY5GNg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_XYVFQGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="SimpleSMChangeEvent.uml#_Tp4n8DLaEd2qeKRLMdIx_A"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_6FvnwGONEd-seu3qyZgHfg" type="PapyrusUMLClassDiagram" name="deployment plans" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_TOVRYHltEeOh_8tymvdOOg" type="Package_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_TOVRYnltEeOh_8tymvdOOg" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JLvMUPX4EeWa_pjn9guopQ" type="Package_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_TOVRZHltEeOh_8tymvdOOg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TOVRZXltEeOh_8tymvdOOg"/>
+      </children>
+      <element xmi:type="uml:Package" href="SimpleSMChangeEvent.uml#_QQiDgHltEeOh_8tymvdOOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TOVRYXltEeOh_8tymvdOOg" x="123" y="109" width="221" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_X47Q4GkLEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_X47Q4WkLEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X47Q42kLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="SimpleSMChangeEvent.uml#_QQiDgHltEeOh_8tymvdOOg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X47Q4mkLEeWakucY9QdE0g" x="240" y="40"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_6FvnwWONEd-seu3qyZgHfg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_X3OnwGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="SimpleSMChangeEvent.uml#_234GEDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_X4738GkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_TOVRYHltEeOh_8tymvdOOg" target="_X47Q4GkLEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_X4738WkLEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X4739WkLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="SimpleSMChangeEvent.uml#_QQiDgHltEeOh_8tymvdOOg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X4738mkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X47382kLEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X4739GkLEeWakucY9QdE0g"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_0MCIsOYXEeCBL_IbXY9ofw" type="PapyrusUMLStateMachineDiagram" name="SmDiagramServer" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_0MCIseYXEeCBL_IbXY9ofw" type="StateMachine_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIsuYXEeCBL_IbXY9ofw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIs-YXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItOYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIteYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItuYXEeCBL_IbXY9ofw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIt-YXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JlR4wHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JlR4wXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LKHvoHn3EeOfttgBwSq-Ig" key="gradient" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0MCIuOYXEeCBL_IbXY9ofw" type="StateMachine_NameLabel">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIueYXEeCBL_IbXY9ofw" width="940" height="20"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JVovMPX4EeWa_pjn9guopQ" type="StateMachine_RegionCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_0MCIu-YXEeCBL_IbXY9ofw" type="Region_Shape" fontName="Sans Serif" lineColor="0" lineWidth="1">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvOYXEeCBL_IbXY9ofw" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIveYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvuYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIv-YXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwOYXEeCBL_IbXY9ofw" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIweYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwuYXEeCBL_IbXY9ofw" source="RegionAnnotationKey">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIw-YXEeCBL_IbXY9ofw" key="RegionZoneKey" value=""/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TbH8gHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TbH8gXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uP7skPZMEeWa_pjn9guopQ" key="lineWidth" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JVpWQPX4EeWa_pjn9guopQ" type="Region_SubvertexCompartment">
+            <children xmi:type="notation:Shape" xmi:id="_1U-twOYXEeCBL_IbXY9ofw" type="Pseudostate_InitialShape" fontName="Sans Serif" fillColor="0" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_U0OYXEeCBL_IbXY9ofw" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74OYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74eYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74uYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74-YXEeCBL_IbXY9ofw" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_75OYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LqN7kMcpEeSsAI2TZshUyg" source="PapyrusCSSForceValue">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LqPJsMcpEeSsAI2TZshUyg" key="gradient" value="true"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75eYXEeCBL_IbXY9ofw" type="Pseudostate_InitialFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_75uYXEeCBL_IbXY9ofw" x="36" y="-9"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75-YXEeCBL_IbXY9ofw" type="Pseudostate_InitialStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_76OYXEeCBL_IbXY9ofw" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="SimpleSMChangeEvent.uml#_1UVNgOYXEeCBL_IbXY9ofw"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1U-tweYXEeCBL_IbXY9ofw" x="114" y="19"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_53eokOYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPoOYXEeCBL_IbXY9ofw" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53fPoeYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPouYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2sOYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53f2seYXEeCBL_IbXY9ofw" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2suYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_53f2s-YXEeCBL_IbXY9ofw" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7PRh8OYXEeCBL_IbXY9ofw" width="99" height="20"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_JVp9UPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PvBTIPX4EeWa_pjn9guopQ" source="PapyrusCSSForceValue">
+                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PvB6MPX4EeWa_pjn9guopQ" key="visible" value="true"/>
+                </eAnnotations>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53f2teYXEeCBL_IbXY9ofw" y="20" width="99" height="48"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_h9cHkFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_h9cHkVbmEeObiJAlOlmjpQ"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9cHklbmEeObiJAlOlmjpQ"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_53E_8OYXEeCBL_IbXY9ofw"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53eokeYXEeCBL_IbXY9ofw" x="259" y="37" width="99" height="68"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_8AQS8OYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8AQ6AOYXEeCBL_IbXY9ofw" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEOYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhEeYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEuYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhE-YXEeCBL_IbXY9ofw" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhFOYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_8ARhFeYXEeCBL_IbXY9ofw" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8A06sOYXEeCBL_IbXY9ofw" width="100" height="66"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_JVrLcPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8ARhF-YXEeCBL_IbXY9ofw" y="66" width="100" height="42"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_h9ej0FbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_h9ej0VbmEeObiJAlOlmjpQ"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ej0lbmEeObiJAlOlmjpQ"/>
+              </children>
+              <children xmi:type="notation:Shape" xmi:id="_sXiY8EVbEeaxaO4Kn-ck8A" type="Behavior_EntryBehaviorLabel">
+                <element xmi:type="uml:OpaqueBehavior" href="SimpleSMChangeEvent.uml#_sU8_AEVbEeaxaO4Kn-ck8A"/>
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_sXiY8UVbEeaxaO4Kn-ck8A" x="-10" y="-10"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_7_1cMOYXEeCBL_IbXY9ofw"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8AQS8eYXEeCBL_IbXY9ofw" x="259" y="181" width="100" height="108"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_oxRiMCjmEeaJJusTB1aIbg" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_oxSwUCjmEeaJJusTB1aIbg" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p6M5ICjmEeaJJusTB1aIbg" width="79"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_oxTXYCjmEeaJJusTB1aIbg" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_oxTXYSjmEeaJJusTB1aIbg" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_oxTXYijmEeaJJusTB1aIbg" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxTXYyjmEeaJJusTB1aIbg" y="-1" width="79"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_owZYcCjmEeaJJusTB1aIbg"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxRiMSjmEeaJJusTB1aIbg" x="510" y="36" width="79" height="59"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="__-OxACjmEeaJJusTB1aIbg" type="Pseudostate_JunctionShape">
+              <children xmi:type="notation:DecorationNode" xmi:id="__-PYECjmEeaJJusTB1aIbg" type="Pseudostate_JunctionFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYESjmEeaJJusTB1aIbg" x="34" y="22"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="__-PYEijmEeaJJusTB1aIbg" type="Pseudostate_JunctionStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYEyjmEeaJJusTB1aIbg" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="SimpleSMChangeEvent.uml#__9lQwCjmEeaJJusTB1aIbg"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="__-OxASjmEeaJJusTB1aIbg" x="539" y="162"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_cyo2gEOAEeadCvQ7UGhFAA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_cyo2gkOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
+              <children xmi:type="notation:DecorationNode" xmi:id="_cyo2g0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_cyo2hEOAEeadCvQ7UGhFAA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_cyo2hUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cyo2hkOAEeadCvQ7UGhFAA"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_cyKVYEOAEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cyo2gUOAEeadCvQ7UGhFAA" x="104" y="300"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_juToIEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceShape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_juToIkOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_juToI0OAEeadCvQ7UGhFAA" x="50" y="3"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_juToJEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_juToJUOAEeadCvQ7UGhFAA" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="SimpleSMChangeEvent.uml#_jt7NoEOAEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_juToIUOAEeadCvQ7UGhFAA" x="276" y="371"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_nhnhsEOAEeadCvQ7UGhFAA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_nhnhskOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
+              <children xmi:type="notation:DecorationNode" xmi:id="_nhnhs0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_nhnhtEOAEeadCvQ7UGhFAA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_nhnhtUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nhnhtkOAEeadCvQ7UGhFAA"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_nhVN0EOAEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nhnhsUOAEeadCvQ7UGhFAA" x="102" y="457"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_xK-BkEOAEeadCvQ7UGhFAA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_xK-BkkOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
+              <children xmi:type="notation:DecorationNode" xmi:id="_xK-Bk0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_xK-BlEOAEeadCvQ7UGhFAA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_xK-BlUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xK-BlkOAEeadCvQ7UGhFAA"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_xKx0UEOAEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xK-BkUOAEeadCvQ7UGhFAA" x="266" y="456"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_11fP8EOAEeadCvQ7UGhFAA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_11fP8kOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
+              <children xmi:type="notation:DecorationNode" xmi:id="_11fP80OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_11fP9EOAEeadCvQ7UGhFAA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_11fP9UOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_11fP9kOAEeadCvQ7UGhFAA"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_11G1cEOAEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_11fP8UOAEeadCvQ7UGhFAA" x="266" y="532"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_3OV5QEOAEeadCvQ7UGhFAA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_3OV5QkOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
+              <children xmi:type="notation:DecorationNode" xmi:id="_3OV5Q0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_3OV5REOAEeadCvQ7UGhFAA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_3OV5RUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3OV5RkOAEeadCvQ7UGhFAA"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_3OJsAEOAEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3OV5QUOAEeadCvQ7UGhFAA" x="271" y="612"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_8OR-AEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceShape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_8OR-AkOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_8OR-A0OAEeadCvQ7UGhFAA" x="77" y="2"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_8OR-BEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_8OR-BUOAEeadCvQ7UGhFAA" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="SimpleSMChangeEvent.uml#_8N5jgEOAEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8OR-AUOAEeadCvQ7UGhFAA" x="273" y="687"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_Czf-gEOBEeadCvQ7UGhFAA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_Czf-gkOBEeadCvQ7UGhFAA" type="State_NameLabel"/>
+              <children xmi:type="notation:DecorationNode" xmi:id="_Czf-g0OBEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_Czf-hEOBEeadCvQ7UGhFAA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_Czf-hUOBEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Czf-hkOBEeadCvQ7UGhFAA"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_CzHkAEOBEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Czf-gUOBEeadCvQ7UGhFAA" x="177" y="739"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_EtlsoEOBEeadCvQ7UGhFAA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_EtlsokOBEeadCvQ7UGhFAA" type="State_NameLabel"/>
+              <children xmi:type="notation:DecorationNode" xmi:id="_Etlso0OBEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_EtlspEOBEeadCvQ7UGhFAA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_EtlspUOBEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EtlspkOBEeadCvQ7UGhFAA"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_EtK14EOBEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EtlsoUOBEeadCvQ7UGhFAA" x="376" y="747"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_LPfTYEOBEeadCvQ7UGhFAA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_LPfTYkOBEeadCvQ7UGhFAA" type="State_NameLabel"/>
+              <children xmi:type="notation:DecorationNode" xmi:id="_LPfTY0OBEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_LPfTZEOBEeadCvQ7UGhFAA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_LPfTZUOBEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LPfTZkOBEeadCvQ7UGhFAA"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_LPM_gEOBEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LPfTYUOBEeadCvQ7UGhFAA" x="271" y="801"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_PjSq4EOBEeadCvQ7UGhFAA" type="FinalState_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_PjSq4kOBEeadCvQ7UGhFAA" type="FinalState_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_PjSq40OBEeadCvQ7UGhFAA" x="25" y="3"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_PjSq5EOBEeadCvQ7UGhFAA" type="FinalState_StereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_PjSq5UOBEeadCvQ7UGhFAA" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:FinalState" href="SimpleSMChangeEvent.uml#_PiyUkEOBEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PjSq4UOBEeadCvQ7UGhFAA" x="297" y="874"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_OZwagEOCEeadCvQ7UGhFAA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_OZwagkOCEeadCvQ7UGhFAA" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O8AzAEOCEeadCvQ7UGhFAA" width="240" height="20"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_OZwag0OCEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_OZwahEOCEeadCvQ7UGhFAA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_OZwahUOCEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PWnrYEOCEeadCvQ7UGhFAA" source="PapyrusCSSForceValue">
+                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PWnrYUOCEeadCvQ7UGhFAA" key="visible" value="true"/>
+                </eAnnotations>
+                <children xmi:type="notation:Shape" xmi:id="_PWtyAEOCEeadCvQ7UGhFAA" type="Region_Shape">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PWtyBEOCEeadCvQ7UGhFAA" source="RegionAnnotationKey">
+                    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PWtyBUOCEeadCvQ7UGhFAA" key="RegionZoneKey" value="T"/>
+                  </eAnnotations>
+                  <children xmi:type="notation:BasicCompartment" xmi:id="_PWtyAkOCEeadCvQ7UGhFAA" type="Region_SubvertexCompartment">
+                    <children xmi:type="notation:Shape" xmi:id="_QUoy0EOCEeadCvQ7UGhFAA" type="State_Shape">
+                      <children xmi:type="notation:DecorationNode" xmi:id="_QUoy0kOCEeadCvQ7UGhFAA" type="State_NameLabel"/>
+                      <children xmi:type="notation:DecorationNode" xmi:id="_QUoy00OCEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_QUoy1EOCEeadCvQ7UGhFAA" x="40"/>
+                      </children>
+                      <children xmi:type="notation:BasicCompartment" xmi:id="_QUoy1UOCEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QUoy1kOCEeadCvQ7UGhFAA"/>
+                      </children>
+                      <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_QUQYUEOCEeadCvQ7UGhFAA"/>
+                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QUoy0UOCEeadCvQ7UGhFAA" x="45" y="19"/>
+                    </children>
+                    <children xmi:type="notation:Shape" xmi:id="_5yiooFTJEeaUqofUUR_LDQ" type="FinalState_Shape">
+                      <children xmi:type="notation:DecorationNode" xmi:id="_5ykd0FTJEeaUqofUUR_LDQ" type="FinalState_FloatingNameLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_5ykd0VTJEeaUqofUUR_LDQ" x="25" y="3"/>
+                      </children>
+                      <children xmi:type="notation:DecorationNode" xmi:id="_5ykd0lTJEeaUqofUUR_LDQ" type="FinalState_StereotypeLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_5ykd01TJEeaUqofUUR_LDQ" x="25" y="-10"/>
+                      </children>
+                      <element xmi:type="uml:FinalState" href="SimpleSMChangeEvent.uml#_5xA-oFTJEeaUqofUUR_LDQ"/>
+                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5yiooVTJEeaUqofUUR_LDQ" x="149" y="16"/>
+                    </children>
+                    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PWtyA0OCEeadCvQ7UGhFAA"/>
+                  </children>
+                  <element xmi:type="uml:Region" href="SimpleSMChangeEvent.uml#_PWnrYkOCEeadCvQ7UGhFAA"/>
+                  <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PWtyAUOCEeadCvQ7UGhFAA" width="240" height="81"/>
+                </children>
+                <children xmi:type="notation:Shape" xmi:id="_P1Z5IUOCEeadCvQ7UGhFAA" type="Region_Shape">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P1Z5JUOCEeadCvQ7UGhFAA" source="RegionAnnotationKey">
+                    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P1Z5JkOCEeadCvQ7UGhFAA" key="RegionZoneKey" value="B"/>
+                  </eAnnotations>
+                  <children xmi:type="notation:BasicCompartment" xmi:id="_P1Z5I0OCEeadCvQ7UGhFAA" type="Region_SubvertexCompartment">
+                    <children xmi:type="notation:Shape" xmi:id="_RozwcEOCEeadCvQ7UGhFAA" type="State_Shape">
+                      <children xmi:type="notation:DecorationNode" xmi:id="_RozwckOCEeadCvQ7UGhFAA" type="State_NameLabel"/>
+                      <children xmi:type="notation:DecorationNode" xmi:id="_Rozwc0OCEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_RozwdEOCEeadCvQ7UGhFAA" x="40"/>
+                      </children>
+                      <children xmi:type="notation:BasicCompartment" xmi:id="_RozwdUOCEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RozwdkOCEeadCvQ7UGhFAA"/>
+                      </children>
+                      <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_RobV8EOCEeadCvQ7UGhFAA"/>
+                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RozwcUOCEeadCvQ7UGhFAA" x="51" y="17"/>
+                    </children>
+                    <children xmi:type="notation:Shape" xmi:id="_68esMFTJEeaUqofUUR_LDQ" type="FinalState_Shape">
+                      <children xmi:type="notation:DecorationNode" xmi:id="_68esMlTJEeaUqofUUR_LDQ" type="FinalState_FloatingNameLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_68esM1TJEeaUqofUUR_LDQ" x="25" y="3"/>
+                      </children>
+                      <children xmi:type="notation:DecorationNode" xmi:id="_68esNFTJEeaUqofUUR_LDQ" type="FinalState_StereotypeLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_68esNVTJEeaUqofUUR_LDQ" x="25" y="-10"/>
+                      </children>
+                      <element xmi:type="uml:FinalState" href="SimpleSMChangeEvent.uml#_67iRAFTJEeaUqofUUR_LDQ"/>
+                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_68esMVTJEeaUqofUUR_LDQ" x="157" y="47"/>
+                    </children>
+                    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P1Z5JEOCEeadCvQ7UGhFAA"/>
+                  </children>
+                  <element xmi:type="uml:Region" href="SimpleSMChangeEvent.uml#_P1Z5IEOCEeadCvQ7UGhFAA"/>
+                  <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P1Z5IkOCEeadCvQ7UGhFAA" y="81" width="240" height="81"/>
+                </children>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OZwahkOCEeadCvQ7UGhFAA" y="20" width="240" height="163"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMChangeEvent.uml#_OZYAAEOCEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OZwagUOCEeadCvQ7UGhFAA" x="577" y="270" width="240" height="183"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_S4E_8EOCEeadCvQ7UGhFAA" type="Pseudostate_ForkShape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_S4E_8kOCEeadCvQ7UGhFAA" type="Pseudostate_ForkFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_S4E_80OCEeadCvQ7UGhFAA" x="25" y="3"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_S4E_9EOCEeadCvQ7UGhFAA" type="Pseudostate_ForkStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_S4E_9UOCEeadCvQ7UGhFAA" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="SimpleSMChangeEvent.uml#_S3gYMEOCEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S4E_8UOCEeadCvQ7UGhFAA" x="435" y="310"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_cbw8sEOCEeadCvQ7UGhFAA" type="Pseudostate_JoinShape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_cbw8skOCEeadCvQ7UGhFAA" type="Pseudostate_JoinFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_cbw8s0OCEeadCvQ7UGhFAA" x="25" y="3"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_cbw8tEOCEeadCvQ7UGhFAA" type="Pseudostate_JoinStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_cbw8tUOCEeadCvQ7UGhFAA" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="SimpleSMChangeEvent.uml#_cbYiMEOCEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cbw8sUOCEeadCvQ7UGhFAA" x="860" y="334"/>
+            </children>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxeYXEeCBL_IbXY9ofw"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_h9XPEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_h9XPEVbmEeObiJAlOlmjpQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9XPElbmEeObiJAlOlmjpQ"/>
+          </children>
+          <element xmi:type="uml:Region" href="SimpleSMChangeEvent.uml#_0Lv00OYXEeCBL_IbXY9ofw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxuYXEeCBL_IbXY9ofw" width="940" height="917"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIx-YXEeCBL_IbXY9ofw" y="20" width="940" height="917"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_h9ULwFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_h9ULwVbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ULwlbmEeObiJAlOlmjpQ"/>
+      </children>
+      <styles xmi:type="notation:StringListValueStyle" xmi:id="_v51OQHn2EeOfttgBwSq-Ig" name="cssClass"/>
+      <element xmi:type="uml:StateMachine" href="SimpleSMChangeEvent.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIyOYXEeCBL_IbXY9ofw" x="40" y="40" width="940" height="937"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_0MCIyeYXEeCBL_IbXY9ofw"/>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_B2g2QHn3EeOfttgBwSq-Ig" name="css_stylesheets" eObjectListValue="_B2g2QXn3EeOfttgBwSq-Ig"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_YAq3oGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:StateMachine" href="SimpleSMChangeEvent.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_CLUHAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_1U-twOYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8MeYYEeCBL_IbXY9ofw" x="-6"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MuYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8M-YYEeCBL_IbXY9ofw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8NOYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8NeYYEeCBL_IbXY9ofw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_CLUHAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_CLBzIOYYEeCBL_IbXY9ofw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CLUHAuYYEeCBL_IbXY9ofw" points="[10, -4, -180, 0]$[175, -7, -15, -3]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CMH_UOYYEeCBL_IbXY9ofw" id="(0.16483516483516483,0.4142857142857143)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Doz_wOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0OYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0eYYEeCBL_IbXY9ofw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0uYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0-YYEeCBL_IbXY9ofw" x="-12" y="129"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m1OYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m1eYYEeCBL_IbXY9ofw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Doz_weYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_Doi6AOYYEeCBL_IbXY9ofw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Doz_wuYYEeCBL_IbXY9ofw" points="[4, 9, 0, -45]$[1, 47, -3, -7]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacsOYYEeCBL_IbXY9ofw" id="(0.2,0.9846153846153847)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacseYYEeCBL_IbXY9ofw" id="(0.2,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_OIPMAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OIPzEOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIOYYEeCBL_IbXY9ofw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaIeYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIuYYEeCBL_IbXY9ofw" x="-16" y="-10"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaI-YYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaJOYYEeCBL_IbXY9ofw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_OIPMAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_OH_UYOYYEeCBL_IbXY9ofw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OIPMAuYYEeCBL_IbXY9ofw" points="[-4, -31, 8, 88]$[4, -128, 16, -9]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgOYYEeCBL_IbXY9ofw" id="(0.8,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgeYYEeCBL_IbXY9ofw" id="(0.8,0.9846153846153847)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mPjVYOtqEeCzSsOGmQH2aA" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" roundedBendpointsRadius="10" routing="Rectilinear" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wFmGcHoDEeOA64V_YLapaA" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wFmtgHoDEeOA64V_YLapaA" key="smoothness" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoOtqEeCzSsOGmQH2aA" visible="false" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XwnVkPX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxoetqEeCzSsOGmQH2aA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoutqEeCzSsOGmQH2aA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XxIS8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxo-tqEeCzSsOGmQH2aA" x="-15" y="28"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxpOtqEeCzSsOGmQH2aA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Xxll8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxpetqEeCzSsOGmQH2aA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_mPjVYetqEeCzSsOGmQH2aA" fontName=""/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_mJvoUOtqEeCzSsOGmQH2aA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mPjVYutqEeCzSsOGmQH2aA" points="[299, 171, -643984, -643984]$[147, 171, -643984, -643984]$[147, 272, -643984, -643984]$[299, 272, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wOtqEeCzSsOGmQH2aA" id="(0.0,0.6915887850467289)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wetqEeCzSsOGmQH2aA" id="(0.0,0.5)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_rgm2QCjmEeaJJusTB1aIbg" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_oxRiMCjmEeaJJusTB1aIbg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUCjmEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUSjmEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUijmEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUyjmEeaJJusTB1aIbg" x="-86" y="-52"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rgndVCjmEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndVSjmEeaJJusTB1aIbg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_rgm2QSjmEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_rdKgsCjmEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rgm2QijmEeaJJusTB1aIbg" points="[399, 131, -643984, -643984]$[551, 131, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhuQkCjmEeaJJusTB1aIbg" id="(1.0,0.5)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhu3oCjmEeaJJusTB1aIbg" id="(0.0,0.5932203389830508)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_BPTXUCjnEeaJJusTB1aIbg" type="Transition_Edge" source="_oxRiMCjmEeaJJusTB1aIbg" target="__-OxACjmEeaJJusTB1aIbg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXUyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVCjnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVijnEeaJJusTB1aIbg" x="-10" y="-25"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXWCjnEeaJJusTB1aIbg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_BPTXUSjnEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_BO7j4CjnEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BPTXUijnEeaJJusTB1aIbg" points="[590, 155, -643984, -643984]$[590, 222, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUCjnEeaJJusTB1aIbg" id="(0.4936708860759494,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUSjnEeaJJusTB1aIbg" id="(0.5,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_G11iACjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_53eokOYXEeCBL_IbXY9ofw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_G11iAyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBCjnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_G11iBSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBijnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_G11iByjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iCCjnEeaJJusTB1aIbg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_G11iASjnEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_G1QTMCjnEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G11iAijnEeaJJusTB1aIbg" points="[583, 227, -643984, -643984]$[397, 159, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2gQYCjnEeaJJusTB1aIbg" id="(0.15,0.3863945578231304)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2g3cCjnEeaJJusTB1aIbg" id="(0.9797979797979798,0.9117647058823529)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_HndzQCjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_8AQS8OYXEeCBL_IbXY9ofw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_HndzQyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRCjnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRijnEeaJJusTB1aIbg" x="-18" y="-14"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzSCjnEeaJJusTB1aIbg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_HndzQSjnEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_HnKRQCjnEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HndzQijnEeaJJusTB1aIbg" points="[585, 234, -643984, -643984]$[400, 277, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoK94CjnEeaJJusTB1aIbg" id="(0.27479674796748554,0.8330623306233065)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoLk8CjnEeaJJusTB1aIbg" id="(1.0,0.5806451612903226)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_g6Nv4EOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_cyo2gEOAEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_g6Nv40OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H35CgEVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_g6Nv5EOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_g6Nv5UOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H4th4EVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_g6Nv5kOAEeadCvQ7UGhFAA" x="201" y="112"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_g6Nv50OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H5dv0EVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_g6Nv6EOAEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_g6Nv4UOAEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_g3iPUEOAEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_g6Nv4kOAEeadCvQ7UGhFAA" points="[345, 303, -643984, -643984]$[345, 355, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g6yXoEOAEeadCvQ7UGhFAA" id="(0.45,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g6yXoUOAEeadCvQ7UGhFAA" id="(0.47959183673469385,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mUbV0EOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_cyo2gEOAEeadCvQ7UGhFAA" target="_juToIEOAEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_mUbV00OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H11NAEVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mUbV1EOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mUbV1UOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H2fUUEVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mUbV1kOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mUbV10OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H3KpwEVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mUbV2EOAEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_mUbV0UOAEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_mUQWsEOAEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mUbV0kOAEeadCvQ7UGhFAA" points="[348, 399, -643984, -643984]$[348, 431, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mU9hUEOAEeadCvQ7UGhFAA" id="(0.5102040816326531,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mU9hUUOAEeadCvQ7UGhFAA" id="(0.5166666666666667,0.01666666666666856)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qtp_4EOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_juToIEOAEeadCvQ7UGhFAA" target="_nhnhsEOAEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_qtp_40OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_rpjAYEOAEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_qtp_5EOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_qtp_5UOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_rp1UQEOAEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_qtp_5kOAEeadCvQ7UGhFAA" x="92" y="9"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_qtp_50OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_rqOV0EOAEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_qtp_6EOAEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_qtp_4UOAEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_qtXsAEOAEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qtp_4kOAEeadCvQ7UGhFAA" points="[327, 444, -643984, -643984]$[187, 444, -643984, -643984]$[187, 517, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_quIhAEOAEeadCvQ7UGhFAA" id="(0.15,0.65)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_quIhAUOAEeadCvQ7UGhFAA" id="(0.6666666666666666,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_0d1ggEOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_juToIEOAEeadCvQ7UGhFAA" target="_xK-BkEOAEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_0d1gg0OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_0d1ghEOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0d1ghUOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_0d1ghkOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0d1gh0OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_0d1giEOAEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_0d1ggUOAEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_0dpTQEOAEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0d1ggkOAEeadCvQ7UGhFAA" points="[345, 450, -643984, -643984]$[342, 516, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0eV20EOAEeadCvQ7UGhFAA" id="(0.47880000000000017,0.9788000000000039)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0eV20UOAEeadCvQ7UGhFAA" id="(0.39325842696629215,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_4uF0wEOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_xK-BkEOAEeadCvQ7UGhFAA" target="_11fP8EOAEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_4uF0w0OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_4uF0xEOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_4uF0xUOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_4uF0xkOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_4uF0x0OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_4uF0yEOAEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_4uF0wUOAEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_4tzg4EOAEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4uF0wkOAEeadCvQ7UGhFAA" points="[343, 560, -643984, -643984]$[340, 592, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4uk88EOAEeadCvQ7UGhFAA" id="(0.4044943820224719,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4uk88UOAEeadCvQ7UGhFAA" id="(0.4925373134328358,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_5FIbwEOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_11fP8EOAEeadCvQ7UGhFAA" target="_3OV5QEOAEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_5FIbw0OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_5FIbxEOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_5FIbxUOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_5FIbxkOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_5FIbx0OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_5FIbyEOAEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_5FIbwUOAEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_5E7AYEOAEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5FIbwkOAEeadCvQ7UGhFAA" points="[342, 636, -643984, -643984]$[344, 672, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5F-JQEOAEeadCvQ7UGhFAA" id="(0.5223880597014925,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5F-JQUOAEeadCvQ7UGhFAA" id="(0.5423728813559322,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_B0kREEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_3OV5QEOAEeadCvQ7UGhFAA" target="_8OR-AEOAEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_B0kRE0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0kRFEOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_B0kRFUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0kRFkOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_B0kRF0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0kRGEOBEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_B0kREUOBEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_B0R9MEOBEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_B0kREkOBEeadCvQ7UGhFAA" points="[342, 716, -643984, -643984]$[338, 748, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B1YwcEOBEeadCvQ7UGhFAA" id="(0.5084745762711864,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B1YwcUOBEeadCvQ7UGhFAA" id="(0.4028225806451616,0.09717741935483559)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Gn7SYEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_8OR-AEOAEeadCvQ7UGhFAA" target="_Czf-gEOBEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Gn7SY0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn7SZEOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Gn7SZUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn7SZkOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Gn7SZ0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn7SaEOBEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Gn7SYUOBEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_Gm27YEOBEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Gn7SYkOBEeadCvQ7UGhFAA" points="[321, 744, -643984, -643984]$[258, 784, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GonO4EOBEeadCvQ7UGhFAA" id="(0.1224358974358959,0.622435897435895)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GonO4UOBEeadCvQ7UGhFAA" id="(0.8,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_KXEdoEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_8OR-AEOAEeadCvQ7UGhFAA" target="_EtlsoEOBEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_KXEdo0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KXEdpEOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_KXEdpUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KXEdpkOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_KXEdp0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KXEdqEOBEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_KXEdoUOBEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_KWyJwEOBEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KXEdokOBEeadCvQ7UGhFAA" points="[359, 746, -643984, -643984]$[419, 794, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KXwaIEOBEeadCvQ7UGhFAA" id="(0.7536101083032491,0.7463898916967537)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KXwaIUOBEeadCvQ7UGhFAA" id="(0.0273972602739726,0.045454545454545456)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_OBrHIEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_Czf-gEOBEeadCvQ7UGhFAA" target="_LPfTYEOBEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OBrHI0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OBrHJEOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OBrHJUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OBrHJkOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OBrHJ0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OBrHKEOBEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_OBrHIUOBEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_OBSsoEOBEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OBrHIkOBEeadCvQ7UGhFAA" points="[255, 843, -643984, -643984]$[312, 873, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OCZf4EOBEeadCvQ7UGhFAA" id="(0.74,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OCZf4UOBEeadCvQ7UGhFAA" id="(0.0,0.2727272727272727)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_OwDQEEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_EtlsoEOBEeadCvQ7UGhFAA" target="_LPfTYEOBEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OwDQE0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OwDQFEOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OwDQFUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OwDQFkOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OwDQF0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OwDQGEOBEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_OwDQEUOBEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_Ovt44EOBEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OwDQEkOBEeadCvQ7UGhFAA" points="[431, 851, -643984, -643984]$[403, 865, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ow4WgEOBEeadCvQ7UGhFAA" id="(0.1917808219178082,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ow4WgUOBEeadCvQ7UGhFAA" id="(0.978494623655914,0.09090909090909091)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_P_fesEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_LPfTYEOBEeadCvQ7UGhFAA" target="_PjSq4EOBEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_P_fes0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_P_fetEOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_P_fetUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_P_fetkOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_P_fet0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_P_feuEOBEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_P_fesUOBEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_P_HEMEOBEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_P_feskOBEeadCvQ7UGhFAA" points="[357, 905, -643984, -643984]$[352, 936, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QAaEsEOBEeadCvQ7UGhFAA" id="(0.4838709677419355,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QAaEsUOBEeadCvQ7UGhFAA" id="(0.7082474226804095,0.1041237113402019)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Q3uHMEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_nhnhsEOAEeadCvQ7UGhFAA" target="_PjSq4EOBEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Q3uHM0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RMF0sEOBEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Q3uHNEOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Q3uHNUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RMePMEOBEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Q3uHNkOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Q3uHN0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RMwjEEOBEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Q3uHOEOBEeadCvQ7UGhFAA" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Q3uHMUOBEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_Q3bzUEOBEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Q3uHMkOBEeadCvQ7UGhFAA" points="[174, 561, -643984, -643984]$[135, 891, -643984, -643984]$[342, 936, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Q4lC0EOBEeadCvQ7UGhFAA" id="(0.4696969696969697,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Q4lC0UOBEeadCvQ7UGhFAA" id="(0.2,0.1)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Twrb4EOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_S4E_8EOCEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Twrb40OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Twrb5EOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Twrb5UOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Twrb5kOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Twrb50OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Twrb6EOCEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Twrb4UOCEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_TwTBYEOCEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Twrb4kOCEeadCvQ7UGhFAA" points="[392, 302, -643984, -643984]$[476, 386, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Txmo8EOCEeadCvQ7UGhFAA" id="(0.92,0.9838709677419355)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Txmo8UOCEeadCvQ7UGhFAA" id="(0.0,0.4)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_a-dRMEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_S4E_8EOCEeadCvQ7UGhFAA" target="_QUoy0EOCEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_a-dRM0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vFSbwFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_a-dRNEOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_a-dRNUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vGri4FTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_a-dRNkOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_a-dRN0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vHxIAFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_a-dROEOCEeadCvQ7UGhFAA" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_a-dRMUOCEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_a-EPoEOCEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a-dRMkOCEeadCvQ7UGhFAA" points="[486, 390, -643984, -643984]$[684, 403, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a_a6gEOCEeadCvQ7UGhFAA" id="(1.0,0.5)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a_a6gUOCEeadCvQ7UGhFAA" id="(0.0,0.5909090909090909)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_beGakEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_S4E_8EOCEeadCvQ7UGhFAA" target="_RozwcEOCEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_beGak0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vY-z0FTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_beGalEOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_beGalUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vaLGoFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_beGalkOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_beGal0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vbPdoFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_beGamEOCEeadCvQ7UGhFAA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_beGakUOCEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_bduAEEOCEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_beGakkOCEeadCvQ7UGhFAA" points="[486, 404, -643984, -643984]$[683, 484, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bfJjcEOCEeadCvQ7UGhFAA" id="(1.0,0.85)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bfJjcUOCEeadCvQ7UGhFAA" id="(0.0,0.4090909090909091)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_de-tMEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_QUoy0EOCEeadCvQ7UGhFAA" target="_cbw8sEOCEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_de-tM0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vA_xoFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_de-tNEOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_de-tNUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vCrzsFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_de-tNkOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_de-tN0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vEE60FTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_de-tOEOCEeadCvQ7UGhFAA" x="1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_de-tMUOCEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_dedIwEOCEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_de-tMkOCEeadCvQ7UGhFAA" points="[724, 397, -643984, -643984]$[901, 414, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dgB2EEOCEeadCvQ7UGhFAA" id="(1.0,0.45454545454545453)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dgB2EUOCEeadCvQ7UGhFAA" id="(0.0,0.5)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_eAv9gEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_RozwcEOCEeadCvQ7UGhFAA" target="_cbw8sEOCEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_eAv9g0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vVok4FTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_eAv9hEOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_eAv9hUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vWxNUFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_eAv9hkOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_eAv9h0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vX09QFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_eAv9iEOCEeadCvQ7UGhFAA" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_eAv9gUOCEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_eAXjAEOCEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eAv9gkOCEeadCvQ7UGhFAA" points="[723, 491, -643984, -643984]$[901, 421, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eBm5IEOCEeadCvQ7UGhFAA" id="(1.0,0.5681818181818182)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eBm5IUOCEeadCvQ7UGhFAA" id="(0.0,0.675)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_e55MAEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_cbw8sEOCEeadCvQ7UGhFAA" target="_11fP8EOAEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_e55MA0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fzY_0EOCEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_e55MBEOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_e55MBUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fzxaUEOCEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_e55MBkOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_e55MB0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_f0WpIEOCEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_e55MCEOCEeadCvQ7UGhFAA" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_e55MAUOCEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_e5OdoEOCEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e55MAkOCEeadCvQ7UGhFAA" points="[911, 434, -643984, -643984]$[932, 434, -643984, -643984]$[924, 536, -643984, -643984]$[374, 620, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e621UEOCEeadCvQ7UGhFAA" id="(1.0,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e621UUOCEeadCvQ7UGhFAA" id="(1.0,0.6363636363636364)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_7YmAcFTJEeaUqofUUR_LDQ" type="Transition_Edge" source="_RozwcEOCEeadCvQ7UGhFAA" target="_68esMFTJEeaUqofUUR_LDQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7YmAc1TJEeaUqofUUR_LDQ" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8dS-sFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_7YmAdFTJEeaUqofUUR_LDQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_7YmAdVTJEeaUqofUUR_LDQ" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8efRgFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_7YmAdlTJEeaUqofUUR_LDQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_7YmAd1TJEeaUqofUUR_LDQ" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8fbFoFTJEeaUqofUUR_LDQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_7YmAeFTJEeaUqofUUR_LDQ" x="1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_7YmAcVTJEeaUqofUUR_LDQ"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_7VlvwFTJEeaUqofUUR_LDQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7YmAclTJEeaUqofUUR_LDQ" points="[710, 484, -643984, -643984]$[777, 486, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7amyoFTJEeaUqofUUR_LDQ" id="(1.0,0.5227272727272727)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7amyoVTJEeaUqofUUR_LDQ" id="(0.05,0.43767123287671267)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_75V9EFTJEeaUqofUUR_LDQ" type="Transition_Edge" source="_QUoy0EOCEeadCvQ7UGhFAA" target="_5yiooFTJEeaUqofUUR_LDQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_75WkIFTJEeaUqofUUR_LDQ" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_75WkIVTJEeaUqofUUR_LDQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_75WkIlTJEeaUqofUUR_LDQ" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_75WkI1TJEeaUqofUUR_LDQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_75WkJFTJEeaUqofUUR_LDQ" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_75WkJVTJEeaUqofUUR_LDQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_75V9EVTJEeaUqofUUR_LDQ"/>
+      <element xmi:type="uml:Transition" href="SimpleSMChangeEvent.uml#_74CVgFTJEeaUqofUUR_LDQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_75V9ElTJEeaUqofUUR_LDQ" points="[704, 385, -643984, -643984]$[769, 375, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_77fSIFTJEeaUqofUUR_LDQ" id="(1.0,0.36363636363636365)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_77fSIVTJEeaUqofUUR_LDQ" id="(0.05,0.4857142857142861)"/>
+    </edges>
+  </notation:Diagram>
+  <css:EmbeddedStyleSheet xmi:id="_B2g2QXn3EeOfttgBwSq-Ig" label="Animation" content=":animated{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 3px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #c00000;&#xA;&#x9;bold: true;&#xA;} &#xA;&#xA;:suspended{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #fab953;&#xA;&#x9;bold: true;&#xA;}&#xA;&#xA;:visited{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #92d050;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #92d050;&#xA;}&#xA;Transition > Label {&#xA;&#x9;bodyCutLength: 1;&#xA;&#x9;indicateParameters: true;&#xA;&#x9;lineBreakBeforeEffect : true;&#xA;}"/>
+  <css:ModelStyleSheets xmi:id="_Rz4BcMcpEeSsAI2TZshUyg"/>
+  <notation:Diagram xmi:id="_o4jzcHEHEeatX-i6MtVR2A" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_pUp5kHEHEeatX-i6MtVR2A" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_pUruwHEHEeatX-i6MtVR2A" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_pUruwXEHEeatX-i6MtVR2A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_pUruwnEHEeatX-i6MtVR2A" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_pUsV0HEHEeatX-i6MtVR2A" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_pUsV0XEHEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_pUsV0nEHEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_pUsV03EHEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pUsV1HEHEeatX-i6MtVR2A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_pUsV1XEHEeatX-i6MtVR2A" type="Class_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_sbtxIHEHEeatX-i6MtVR2A" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SimpleSMChangeEvent.uml#_4ZEZwHecEd6r18stFZxmFQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_sbtxIXEHEeatX-i6MtVR2A"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_sbu_QHEHEeatX-i6MtVR2A" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SimpleSMChangeEvent.uml#_TbIjUJYlEd6G9q9hwr11bw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_sbu_QXEHEeatX-i6MtVR2A"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_sbvmUHEHEeatX-i6MtVR2A" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SimpleSMChangeEvent.uml#_VGsRACgBEeapjr3l63b85A"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_sbvmUXEHEeatX-i6MtVR2A"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_pUsV1nEHEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_pUsV13EHEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_pUsV2HEHEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pUsV2XEHEeatX-i6MtVR2A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_pUsV2nEHEeatX-i6MtVR2A" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_pUsV23EHEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_pUsV3HEHEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_pUsV3XEHEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pUsV3nEHEeatX-i6MtVR2A"/>
+      </children>
+      <element xmi:type="uml:Class" href="SimpleSMChangeEvent.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pUp5kXEHEeatX-i6MtVR2A" x="96" y="164" width="275"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pU_QwHEHEeatX-i6MtVR2A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pU_QwXEHEeatX-i6MtVR2A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pU_Qw3EHEeatX-i6MtVR2A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="SimpleSMChangeEvent.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pU_QwnEHEeatX-i6MtVR2A" x="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_76n5sHEIEeatX-i6MtVR2A" type="Interface_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_76n5snEIEeatX-i6MtVR2A" type="Interface_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_76n5s3EIEeatX-i6MtVR2A" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_76n5tHEIEeatX-i6MtVR2A" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_76n5tXEIEeatX-i6MtVR2A" visible="false" type="Interface_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_76n5tnEIEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_76n5t3EIEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_76n5uHEIEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_76n5uXEIEeatX-i6MtVR2A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_76n5unEIEeatX-i6MtVR2A" type="Interface_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_-ulPEHEIEeatX-i6MtVR2A" type="Operation_InterfaceOperationLabel">
+          <element xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_-ulPEXEIEeatX-i6MtVR2A"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_76n5u3EIEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_76n5vHEIEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_76n5vXEIEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_76n5vnEIEeatX-i6MtVR2A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_76ogwHEIEeatX-i6MtVR2A" visible="false" type="Interface_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_76ogwXEIEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_76ogwnEIEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_76ogw3EIEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_76ogxHEIEeatX-i6MtVR2A"/>
+      </children>
+      <element xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_76n5sXEIEeatX-i6MtVR2A" x="94" y="14" width="278"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_o4jzcXEHEeatX-i6MtVR2A" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_o4jzcnEHEeatX-i6MtVR2A"/>
+    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_o4jzc3EHEeatX-i6MtVR2A">
+      <owner xmi:type="uml:Package" href="SimpleSMChangeEvent.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    </styles>
+    <element xmi:type="uml:Package" href="SimpleSMChangeEvent.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_pVAe4HEHEeatX-i6MtVR2A" type="StereotypeCommentLink" source="_pUp5kHEHEeatX-i6MtVR2A" target="_pU_QwHEHEeatX-i6MtVR2A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pVAe4XEHEeatX-i6MtVR2A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pVBF8HEHEeatX-i6MtVR2A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="SimpleSMChangeEvent.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pVAe4nEHEeatX-i6MtVR2A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pVAe43EHEeatX-i6MtVR2A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pVAe5HEHEeatX-i6MtVR2A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_77VrYHEIEeatX-i6MtVR2A" type="InterfaceRealization_Edge" source="_pUp5kHEHEeatX-i6MtVR2A" target="_76n5sHEIEeatX-i6MtVR2A">
+      <children xmi:type="notation:DecorationNode" xmi:id="_77VrY3EIEeatX-i6MtVR2A" type="InterfaceRealization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8OzZ8HEIEeatX-i6MtVR2A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_77VrZHEIEeatX-i6MtVR2A" x="1" y="38"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_77VrZXEIEeatX-i6MtVR2A" type="InterfaceRealization_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8PpugHEIEeatX-i6MtVR2A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_77VrZnEIEeatX-i6MtVR2A" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_77VrYXEIEeatX-i6MtVR2A"/>
+      <element xmi:type="uml:InterfaceRealization" href="SimpleSMChangeEvent.uml#_VGnYgCgBEeapjr3l63b85A"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_77VrYnEIEeatX-i6MtVR2A" points="[118, 78, -643984, -643984]$[0, 0, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8P4YAHEIEeatX-i6MtVR2A" id="(0.52,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8P5mIHEIEeatX-i6MtVR2A" id="(0.5215827338129496,1.0)"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSMChangeEvent.uml b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSMChangeEvent.uml
new file mode 100644
index 0000000..72820f8
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSMChangeEvent.uml
@@ -0,0 +1,369 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:Deployment="http://www.eclipse.org/papyrus/Deployment/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="SimpleSMChangeEventExample">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_C_CORE/componentlib.uml#_O6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="classes">
+      <packagedElement xmi:type="uml:Package" xmi:id="_Tp4n8DLaEd2qeKRLMdIx_A" name="Interfaces">
+        <packagedElement xmi:type="uml:Interface" xmi:id="_cn-H0DLbEd2qeKRLMdIx_A" name="ICompute">
+          <ownedReception xmi:type="uml:Reception" xmi:id="_1U0U8McqEeSsAI2TZshUyg" name="add" signal="_ywk2kMcqEeSsAI2TZshUyg"/>
+          <ownedReception xmi:type="uml:Reception" xmi:id="_M-tXYMcrEeSsAI2TZshUyg" name="mult" signal="_z0nGcMcqEeSsAI2TZshUyg"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_DGs6wDLgEd28fJKJJnUaeQ" name="add">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6wTLgEd28fJKJJnUaeQ" name="a">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6wzLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6wjLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6xTLgEd28fJKJJnUaeQ" name="b">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6xzLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6xjLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6yTLgEd28fJKJJnUaeQ" name="res" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6yzLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6yjLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+          </ownedOperation>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_L8EY8DLgEd28fJKJJnUaeQ" name="mult">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY8TLgEd28fJKJJnUaeQ" name="a">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY8zLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY8jLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY9TLgEd28fJKJJnUaeQ" name="b">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY9zLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY9jLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY-TLgEd28fJKJJnUaeQ" name="res" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY-zLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY-jLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+          </ownedOperation>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Signal" xmi:id="_ywk2kMcqEeSsAI2TZshUyg" name="Add"/>
+        <packagedElement xmi:type="uml:Signal" xmi:id="_z0nGcMcqEeSsAI2TZshUyg" name="Mult"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_oqZNUDLaEd2qeKRLMdIx_A" name="SimpleSM" classifierBehavior="_y7KWsOYXEeCBL_IbXY9ofw">
+        <generalization xmi:type="uml:Generalization" xmi:id="_LuEUwCgBEeapjr3l63b85A">
+          <general xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+        </generalization>
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_4KiE8DLbEd2qeKRLMdIx_A" name="p" type="_cn-H0DLbEd2qeKRLMdIx_A" aggregation="composite"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_3gJRoEVGEeaqgqiOqzyU4w" name="which_rack">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_vAIV4I7PEdySGvm5GN66HA"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_6uv7oEVGEeaqgqiOqzyU4w" name="is_misplace">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_vAIV4I7PEdySGvm5GN66HA"/>
+        </ownedAttribute>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_YQqH0JYlEd6G9q9hwr11bw" name="realization of ICompute" client="_oqZNUDLaEd2qeKRLMdIx_A" supplier="_cn-H0DLbEd2qeKRLMdIx_A" contract="_cn-H0DLbEd2qeKRLMdIx_A"/>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_VGnYgCgBEeapjr3l63b85A" name="realization of IStart" client="_oqZNUDLaEd2qeKRLMdIx_A">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+          <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+        </interfaceRealization>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_qxjWINnmEd2_cstbO2Uzgg" name="mult" specification="_4ZEZwHecEd6r18stFZxmFQ">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTqsokVIEeaqgqiOqzyU4w" name="a">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTrTsEVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTrTsUVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTrTskVIEeaqgqiOqzyU4w" name="b">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTrTs0VIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTrTtEVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTr6wEVIEeaqgqiOqzyU4w" name="res" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTr6wUVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTr6wkVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a*b=&quot; &lt;&lt; a*b &lt;&lt; endl;
+return a*b;</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ML-4AKI5Ed6FqJCjEUrkqQ" name="add" specification="_TbIjUJYlEd6G9q9hwr11bw">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTr6w0VIEeaqgqiOqzyU4w" name="a">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTr6xEVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTr6xUVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTsh0EVIEeaqgqiOqzyU4w" name="b">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTsh0UVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTsh0kVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTsh00VIEeaqgqiOqzyU4w" name="res" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTsh1EVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTsh1UVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a+b=&quot; &lt;&lt; a+b &lt;&lt; endl;
+return a+b;</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_y7KWsOYXEeCBL_IbXY9ofw" name="SMServer">
+          <region xmi:type="uml:Region" xmi:id="_0Lv00OYXEeCBL_IbXY9ofw" name="Region0">
+            <transition xmi:type="uml:Transition" xmi:id="_CLBzIOYYEeCBL_IbXY9ofw" name="Transition0" source="_1UVNgOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw"/>
+            <transition xmi:type="uml:Transition" xmi:id="_Doi6AOYYEeCBL_IbXY9ofw" name="Transition1" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
+              <trigger xmi:type="uml:Trigger" xmi:id="_rHpXoOtoEeCjb9i0gG4phA" event="_rHoJgOtoEeCjb9i0gG4phA"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_OH_UYOYYEeCBL_IbXY9ofw" name="Transition2" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw">
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_CAWpgSSoEeG6GJ4vU06VYQ" name="add">
+                <language>C/C++</language>
+                <body>add(2,3);&#xD;
+mult(3,5);&#xD;
+std::cout &lt;&lt;&quot;From State1 to State0 \n&quot;;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_-aQtACaeEeG4fZdVXNtoOQ" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_mJvoUOtqEeCzSsOGmQH2aA" name="Transition3" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
+              <trigger xmi:type="uml:Trigger" xmi:id="_8WepQHoDEeOA64V_YLapaA" event="_8WeCMHoDEeOA64V_YLapaA"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_rdKgsCjmEeaJJusTB1aIbg" source="_53E_8OYXEeCBL_IbXY9ofw" target="_owZYcCjmEeaJJusTB1aIbg">
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_-EnkACjmEeaJJusTB1aIbg">
+                <language>C++</language>
+                <body>std::cout &lt;&lt; &quot;From State 0 to State 2\n&quot;;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_4eMuECjmEeaJJusTB1aIbg" event="_4WSIMCjmEeaJJusTB1aIbg"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_BO7j4CjnEeaJJusTB1aIbg" source="_owZYcCjmEeaJJusTB1aIbg" target="__9lQwCjmEeaJJusTB1aIbg">
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_F9mScCjnEeaJJusTB1aIbg">
+                <language>C++</language>
+                <body>std::cout &lt;&lt;&quot;From State 2 to Junction1\n&quot;;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_GlK94CjpEeaJJusTB1aIbg" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_G1QTMCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_53E_8OYXEeCBL_IbXY9ofw"/>
+            <transition xmi:type="uml:Transition" xmi:id="_HnKRQCjnEeaJJusTB1aIbg" guard="_KB4nQCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_7_1cMOYXEeCBL_IbXY9ofw">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="_KB4nQCjnEeaJJusTB1aIbg">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_KB4nQSjnEeaJJusTB1aIbg">
+                  <language>C++</language>
+                  <body>true</body>
+                </specification>
+              </ownedRule>
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_QlLVICjnEeaJJusTB1aIbg">
+                <language>C++</language>
+                <body>std::cout &lt;&lt; &quot;From Junction1 to State 1 \n&quot;;</body>
+              </effect>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_g3iPUEOAEeadCvQ7UGhFAA" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_cyKVYEOAEeadCvQ7UGhFAA">
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_SPGDsEVLEeaqgqiOqzyU4w">
+                <language>C++</language>
+                <body>std::cout &lt;&lt; &quot;goto prepare_conveyer&quot; &lt;&lt; std::endl;&#xD;
+which_rack = !which_rack;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_cPppAEVTEeanJO83GGodwg" event="_ZedTwEVTEeanJO83GGodwg"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_mUQWsEOAEeadCvQ7UGhFAA" source="_cyKVYEOAEeadCvQ7UGhFAA" target="_jt7NoEOAEeadCvQ7UGhFAA">
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_3Y2p8EVeEeaxaO4Kn-ck8A">
+                <language>C++</language>
+                <body>std::cout &lt;&lt; &quot;from conveyer to choice&quot; &lt;&lt; std::endl;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_zEX9AEVeEeaxaO4Kn-ck8A" event="_ZedTwEVTEeanJO83GGodwg"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_qtXsAEOAEeadCvQ7UGhFAA" guard="_wCmrUEOAEeadCvQ7UGhFAA" source="_jt7NoEOAEeadCvQ7UGhFAA" target="_nhVN0EOAEeadCvQ7UGhFAA">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="_wCmrUEOAEeadCvQ7UGhFAA">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_wCmrUUOAEeadCvQ7UGhFAA">
+                  <language>C++</language>
+                  <body>which_rack==0</body>
+                </specification>
+              </ownedRule>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_0dpTQEOAEeadCvQ7UGhFAA" source="_jt7NoEOAEeadCvQ7UGhFAA" target="_xKx0UEOAEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_4tzg4EOAEeadCvQ7UGhFAA" source="_xKx0UEOAEeadCvQ7UGhFAA" target="_11G1cEOAEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_5E7AYEOAEeadCvQ7UGhFAA" source="_11G1cEOAEeadCvQ7UGhFAA" target="_3OJsAEOAEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_B0R9MEOBEeadCvQ7UGhFAA" source="_3OJsAEOAEeadCvQ7UGhFAA" target="_8N5jgEOAEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_Gm27YEOBEeadCvQ7UGhFAA" guard="_J2-oUEOBEeadCvQ7UGhFAA" source="_8N5jgEOAEeadCvQ7UGhFAA" target="_CzHkAEOBEeadCvQ7UGhFAA">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="_J2-oUEOBEeadCvQ7UGhFAA">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_J2-oUUOBEeadCvQ7UGhFAA">
+                  <language>C++</language>
+                  <body>is_misplace</body>
+                </specification>
+              </ownedRule>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_KWyJwEOBEeadCvQ7UGhFAA" source="_8N5jgEOAEeadCvQ7UGhFAA" target="_EtK14EOBEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_OBSsoEOBEeadCvQ7UGhFAA" source="_CzHkAEOBEeadCvQ7UGhFAA" target="_LPM_gEOBEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_Ovt44EOBEeadCvQ7UGhFAA" source="_EtK14EOBEeadCvQ7UGhFAA" target="_LPM_gEOBEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_P_HEMEOBEeadCvQ7UGhFAA" source="_LPM_gEOBEeadCvQ7UGhFAA" target="_PiyUkEOBEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_Q3bzUEOBEeadCvQ7UGhFAA" source="_nhVN0EOAEeadCvQ7UGhFAA" target="_PiyUkEOBEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_TwTBYEOCEeadCvQ7UGhFAA" guard="_X_xSgEOCEeadCvQ7UGhFAA" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_S3gYMEOCEeadCvQ7UGhFAA">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="_X_xSgEOCEeadCvQ7UGhFAA">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_X_xSgUOCEeadCvQ7UGhFAA">
+                  <language>C++</language>
+                  <body>!is_misplace</body>
+                </specification>
+              </ownedRule>
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_O1EM0EVLEeaqgqiOqzyU4w">
+                <language>C++</language>
+                <body>std::cout &lt;&lt; &quot;goto fork&quot; &lt;&lt; std::endl;&#xD;
+std::cout &lt;&lt;&quot;signal value a = &quot; &lt;&lt; sig.a &lt;&lt; std::endl;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_w09MAEVGEeaqgqiOqzyU4w" event="_wqLfYEVGEeaqgqiOqzyU4w"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_a-EPoEOCEeadCvQ7UGhFAA" source="_S3gYMEOCEeadCvQ7UGhFAA" target="_QUQYUEOCEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_bduAEEOCEeadCvQ7UGhFAA" source="_S3gYMEOCEeadCvQ7UGhFAA" target="_RobV8EOCEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_e5OdoEOCEeadCvQ7UGhFAA" source="_cbYiMEOCEeadCvQ7UGhFAA" target="_11G1cEOAEeadCvQ7UGhFAA"/>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="_1UVNgOYXEeCBL_IbXY9ofw" name="Initial0"/>
+            <subvertex xmi:type="uml:State" xmi:id="_53E_8OYXEeCBL_IbXY9ofw" name="State0"/>
+            <subvertex xmi:type="uml:State" xmi:id="_7_1cMOYXEeCBL_IbXY9ofw" name="State1">
+              <entry xmi:type="uml:OpaqueBehavior" xmi:id="_sU8_AEVbEeaxaO4Kn-ck8A">
+                <language>C++</language>
+                <body>which_rack = (!which_rack);&#xD;
+std::cout &lt;&lt;&quot;Changed rack&quot;;</body>
+              </entry>
+            </subvertex>
+            <subvertex xmi:type="uml:State" xmi:id="_owZYcCjmEeaJJusTB1aIbg" name="State2"/>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="__9lQwCjmEeaJJusTB1aIbg" name="Junction1" kind="junction"/>
+            <subvertex xmi:type="uml:State" xmi:id="_cyKVYEOAEeadCvQ7UGhFAA" name="Prepare_Conveyer"/>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="_jt7NoEOAEeadCvQ7UGhFAA" name="check_rack" kind="choice"/>
+            <subvertex xmi:type="uml:State" xmi:id="_nhVN0EOAEeadCvQ7UGhFAA" name="empty_shelf"/>
+            <subvertex xmi:type="uml:State" xmi:id="_xKx0UEOAEeadCvQ7UGhFAA" name="not_empty_shelf"/>
+            <subvertex xmi:type="uml:State" xmi:id="_11G1cEOAEeadCvQ7UGhFAA" name="pick_chassis"/>
+            <subvertex xmi:type="uml:State" xmi:id="_3OJsAEOAEeadCvQ7UGhFAA" name="deliver_car"/>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="_8N5jgEOAEeadCvQ7UGhFAA" name="mismatchChoice" kind="choice"/>
+            <subvertex xmi:type="uml:State" xmi:id="_CzHkAEOBEeadCvQ7UGhFAA" name="misplace"/>
+            <subvertex xmi:type="uml:State" xmi:id="_EtK14EOBEeadCvQ7UGhFAA" name="not_misplace"/>
+            <subvertex xmi:type="uml:State" xmi:id="_LPM_gEOBEeadCvQ7UGhFAA" name="rewind_conveyor"/>
+            <subvertex xmi:type="uml:FinalState" xmi:id="_PiyUkEOBEeadCvQ7UGhFAA" name="FinalState1"/>
+            <subvertex xmi:type="uml:State" xmi:id="_OZYAAEOCEeadCvQ7UGhFAA" name="State3">
+              <region xmi:type="uml:Region" xmi:id="_PWnrYkOCEeadCvQ7UGhFAA" name="Region1">
+                <transition xmi:type="uml:Transition" xmi:id="_dedIwEOCEeadCvQ7UGhFAA" source="_QUQYUEOCEeadCvQ7UGhFAA" target="_cbYiMEOCEeadCvQ7UGhFAA"/>
+                <transition xmi:type="uml:Transition" xmi:id="_74CVgFTJEeaUqofUUR_LDQ" source="_QUQYUEOCEeadCvQ7UGhFAA" target="_5xA-oFTJEeaUqofUUR_LDQ">
+                  <trigger xmi:type="uml:Trigger" xmi:id="_AmuSMFTKEeaUqofUUR_LDQ" event="_rHoJgOtoEeCjb9i0gG4phA"/>
+                </transition>
+                <subvertex xmi:type="uml:State" xmi:id="_QUQYUEOCEeadCvQ7UGhFAA" name="State4"/>
+                <subvertex xmi:type="uml:FinalState" xmi:id="_5xA-oFTJEeaUqofUUR_LDQ" name="FinalState1"/>
+              </region>
+              <region xmi:type="uml:Region" xmi:id="_P1Z5IEOCEeadCvQ7UGhFAA" name="Region2">
+                <transition xmi:type="uml:Transition" xmi:id="_eAXjAEOCEeadCvQ7UGhFAA" source="_RobV8EOCEeadCvQ7UGhFAA" target="_cbYiMEOCEeadCvQ7UGhFAA"/>
+                <transition xmi:type="uml:Transition" xmi:id="_7VlvwFTJEeaUqofUUR_LDQ" source="_RobV8EOCEeadCvQ7UGhFAA" target="_67iRAFTJEeaUqofUUR_LDQ">
+                  <trigger xmi:type="uml:Trigger" xmi:id="__FB18FTJEeaUqofUUR_LDQ" event="_rHoJgOtoEeCjb9i0gG4phA"/>
+                </transition>
+                <subvertex xmi:type="uml:State" xmi:id="_RobV8EOCEeadCvQ7UGhFAA" name="State5"/>
+                <subvertex xmi:type="uml:FinalState" xmi:id="_67iRAFTJEeaUqofUUR_LDQ" name="FinalState1"/>
+              </region>
+            </subvertex>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="_S3gYMEOCEeadCvQ7UGhFAA" name="Fork1" kind="fork"/>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="_cbYiMEOCEeadCvQ7UGhFAA" name="Join1" kind="join"/>
+          </region>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_YNCW4CgBEeapjr3l63b85A" name="run" specification="_VGsRACgBEeapjr3l63b85A">
+          <language>C/C++</language>
+          <body>cout &lt;&lt; &quot;call add (2, 3);&quot; &lt;&lt; endl;&#xD;
+cout &lt;&lt; &quot;result: &quot; &lt;&lt; add (2, 3) &lt;&lt; endl;&#xD;
+cout &lt;&lt; &quot;sleeping for 15 seconds (statemachine remains active);&quot; &lt;&lt; endl;&#xD;
+#ifdef WIN32&#xD;
+Sleep(15000);&#xD;
+#else&#xD;
+sleep(15);&#xD;
+#endif&#xD;
+</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_4ZEZwHecEd6r18stFZxmFQ" name="mult" method="_qxjWINnmEd2_cstbO2Uzgg">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTo3cEVIEeaqgqiOqzyU4w" name="a">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTo3cUVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTpegEVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTpegUVIEeaqgqiOqzyU4w" name="b">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTpegkVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTpeg0VIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTqFkEVIEeaqgqiOqzyU4w" name="res" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTqsoEVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTqsoUVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_TbIjUJYlEd6G9q9hwr11bw" name="add" method="_ML-4AKI5Ed6FqJCjEUrkqQ">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_kl6KUEVIEeaqgqiOqzyU4w" name="a">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kl6xYEVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kl6xYUVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_kl6xYkVIEeaqgqiOqzyU4w" name="b">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kl6xY0VIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kl6xZEVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_kl6xZUVIEeaqgqiOqzyU4w" name="res" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kl7YcEVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kl7YcUVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_VGsRACgBEeapjr3l63b85A" name="run" method="_YNCW4CgBEeapjr3l63b85A"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_rGzqIOtoEeCjb9i0gG4phA" name="events">
+        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_rHoJgOtoEeCjb9i0gG4phA" name="TE - {value=50, unit=ms}" isRelative="true">
+          <when xmi:type="uml:TimeExpression" xmi:id="_rHoJgetoEeCjb9i0gG4phA">
+            <expr xmi:type="uml:OpaqueExpression" xmi:id="_rHoJgutoEeCjb9i0gG4phA">
+              <language>Natural language</language>
+              <body>{value=50, unit=ms}</body>
+            </expr>
+          </when>
+        </packagedElement>
+        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_-PMFcCaeEeG4fZdVXNtoOQ" name="TE - {value=500, unit=ms}" isRelative="true">
+          <when xmi:type="uml:TimeExpression" xmi:id="_-PMFcSaeEeG4fZdVXNtoOQ">
+            <expr xmi:type="uml:OpaqueExpression" xmi:id="_-PMFciaeEeG4fZdVXNtoOQ">
+              <language>Natural language</language>
+              <body>{value=500, unit=ms}</body>
+            </expr>
+          </when>
+        </packagedElement>
+        <packagedElement xmi:type="uml:CallEvent" xmi:id="_8WeCMHoDEeOA64V_YLapaA" name="CE - CServer_impl - add" operation="_TbIjUJYlEd6G9q9hwr11bw"/>
+        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_4WSIMCjmEeaJJusTB1aIbg" name="TE - {value=25, unit=ms}" isRelative="true">
+          <when xmi:type="uml:TimeExpression" xmi:id="_4WSIMSjmEeaJJusTB1aIbg">
+            <expr xmi:type="uml:OpaqueExpression" xmi:id="_4WSIMijmEeaJJusTB1aIbg">
+              <language>Natural language</language>
+              <body>{value=25, unit=ms}</body>
+            </expr>
+          </when>
+        </packagedElement>
+        <packagedElement xmi:type="uml:SignalEvent" xmi:id="_wqLfYEVGEeaqgqiOqzyU4w" name="SigEv" signal="_wBfuwEVGEeaqgqiOqzyU4w"/>
+        <packagedElement xmi:type="uml:ChangeEvent" xmi:id="_ZedTwEVTEeanJO83GGodwg" name="CHE_Event">
+          <changeExpression xmi:type="uml:OpaqueExpression" xmi:id="_ZedTwUVTEeanJO83GGodwg">
+            <language>C++</language>
+            <body>which_rack</body>
+          </changeExpression>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Signal" xmi:id="_wBfuwEVGEeaqgqiOqzyU4w" name="Sig">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_wBfuwUVGEeaqgqiOqzyU4w" name="a">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedAttribute>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
+      <packagedElement xmi:type="uml:Package" xmi:id="_QQiDgHltEeOh_8tymvdOOg" name="System_implDepPlan">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_QQm8AHltEeOh_8tymvdOOg" name="mainInstance" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_GcC0cAHtEd6HSdiss9GQ0A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Gd1kMAHtEd6HSdiss9GQ0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7TzmwHEHEeatX-i6MtVR2A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7T0N0HEHEeatX-i6MtVR2A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Deployment/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://DEP_PROFILE/Deployment.profile.uml#_gPDsIBa-EearhdjjJ6cVzQ"/>
+    </profileApplication>
+  </uml:Model>
+  <C_Cpp:Include xmi:id="_EaeJMNp0EeKd1ax3yaXM9w" body="#include &lt;iostream>&#xA;using namespace std;&#xA;&#xA;#include &lt;unistd.h>&#xA;" header="#ifdef WIN32&#xD;&#xA;#include &quot;windows.h&quot;&#xD;&#xA;#endif" base_class="_oqZNUDLaEd2qeKRLMdIx_A"/>
+  <Deployment:DeploymentPlan xmi:id="_8njtoHEHEeatX-i6MtVR2A" base_Package="_QQiDgHltEeOh_8tymvdOOg"/>
+</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSMSignalEvent.di b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSMSignalEvent.di
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.modellibs.core/models/examples/SimpleSMSignalEvent.di
rename to transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSMSignalEvent.di
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSMSignalEvent.notation b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSMSignalEvent.notation
new file mode 100644
index 0000000..4a4bb99
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSMSignalEvent.notation
@@ -0,0 +1,1047 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_XSHWMF36Ed-UvNEDwY5GNg" type="PapyrusUMLClassDiagram" name="Interfaces" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_MTW5IDcZEeGPyrZ5I3hMlA" type="Interface_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTYuUDcZEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTYuUTcZEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTZVYDcZEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTZVYTcZEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MTZVYjcZEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MTZVYzcZEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_MTZVZDcZEeGPyrZ5I3hMlA" type="Interface_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IDa5YPX4EeWa_pjn9guopQ" visible="false" type="Interface_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZVZjcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZVZzcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZVaDcZEeGPyrZ5I3hMlA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZVaTcZEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IHycAPX4EeWa_pjn9guopQ" type="Interface_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_QIpIoDcZEeGPyrZ5I3hMlA" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-jHsIFmOEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-ovzAFmOEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="6408"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="SimpleSMSignalEvent.uml#_DGs6wDLgEd28fJKJJnUaeQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QIpIoTcZEeGPyrZ5I3hMlA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_QIqWwDcZEeGPyrZ5I3hMlA" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__X1GkFmOEeKegqvqy70QHQ" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__X6mIFmOEeKegqvqy70QHQ" key="CustomAppearance_MaskValue" value="6408"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="SimpleSMSignalEvent.uml#_L8EY8DLgEd28fJKJJnUaeQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QIqWwTcZEeGPyrZ5I3hMlA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_1U9e4McqEeSsAI2TZshUyg" type="Reception_InterfaceReceptionLabel">
+          <element xmi:type="uml:Reception" href="SimpleSMSignalEvent.uml#_1U0U8McqEeSsAI2TZshUyg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_1U9e4ccqEeSsAI2TZshUyg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_M-0sIMcrEeSsAI2TZshUyg" type="Reception_InterfaceReceptionLabel">
+          <element xmi:type="uml:Reception" href="SimpleSMSignalEvent.uml#_M-tXYMcrEeSsAI2TZshUyg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_M-0sIccrEeSsAI2TZshUyg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZ8cDcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZ8cTcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZ8cjcZEeGPyrZ5I3hMlA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZ8czcZEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IHycAfX4EeWa_pjn9guopQ" visible="false" type="Interface_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MTZ8dTcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MTZ8djcZEeGPyrZ5I3hMlA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MTZ8dzcZEeGPyrZ5I3hMlA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTZ8eDcZEeGPyrZ5I3hMlA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hsloIFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hsloIVbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hsloIlbmEeObiJAlOlmjpQ"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_XYUeMGkLEeWakucY9QdE0g" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XYUeMWkLEeWakucY9QdE0g" y="5"/>
+      </children>
+      <element xmi:type="uml:Interface" href="SimpleSMSignalEvent.uml#_cn-H0DLbEd2qeKRLMdIx_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MTW5ITcZEeGPyrZ5I3hMlA" x="150" y="111" width="337" height="110"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ywpIAMcqEeSsAI2TZshUyg" type="Signal_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ywpvEMcqEeSsAI2TZshUyg" type="Signal_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ywpvEccqEeSsAI2TZshUyg" type="Signal_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ywpvEscqEeSsAI2TZshUyg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IH2tcPX4EeWa_pjn9guopQ" type="Signal_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ywqWIccqEeSsAI2TZshUyg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ywqWIscqEeSsAI2TZshUyg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ywqWI8cqEeSsAI2TZshUyg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ywqWJMcqEeSsAI2TZshUyg"/>
+      </children>
+      <element xmi:type="uml:Signal" href="SimpleSMSignalEvent.uml#_ywk2kMcqEeSsAI2TZshUyg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ywpIAccqEeSsAI2TZshUyg" x="640" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_z0oUkMcqEeSsAI2TZshUyg" type="Signal_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_z0o7oMcqEeSsAI2TZshUyg" type="Signal_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_z0o7occqEeSsAI2TZshUyg" type="Signal_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_z0o7oscqEeSsAI2TZshUyg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IH4ioPX4EeWa_pjn9guopQ" type="Signal_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_z0o7pMcqEeSsAI2TZshUyg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_z0o7pccqEeSsAI2TZshUyg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_z0o7pscqEeSsAI2TZshUyg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0o7p8cqEeSsAI2TZshUyg"/>
+      </children>
+      <element xmi:type="uml:Signal" href="SimpleSMSignalEvent.uml#_z0nGcMcqEeSsAI2TZshUyg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0oUkccqEeSsAI2TZshUyg" x="840" y="120"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_XSHWMV36Ed-UvNEDwY5GNg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_XYVFQGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="SimpleSMSignalEvent.uml#_Tp4n8DLaEd2qeKRLMdIx_A"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_6FvnwGONEd-seu3qyZgHfg" type="PapyrusUMLClassDiagram" name="deployment plans" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_TOVRYHltEeOh_8tymvdOOg" type="Package_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_TOVRYnltEeOh_8tymvdOOg" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JLvMUPX4EeWa_pjn9guopQ" type="Package_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_TOVRZHltEeOh_8tymvdOOg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TOVRZXltEeOh_8tymvdOOg"/>
+      </children>
+      <element xmi:type="uml:Package" href="SimpleSMSignalEvent.uml#_QQiDgHltEeOh_8tymvdOOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TOVRYXltEeOh_8tymvdOOg" x="40" y="40" width="221" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_X47Q4GkLEeWakucY9QdE0g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_X47Q4WkLEeWakucY9QdE0g" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X47Q42kLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="SimpleSMSignalEvent.uml#_QQiDgHltEeOh_8tymvdOOg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X47Q4mkLEeWakucY9QdE0g" x="240" y="40"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_6FvnwWONEd-seu3qyZgHfg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_X3OnwGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="SimpleSMSignalEvent.uml#_234GEDLiEd2RVeNawwNNzg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_X4738GkLEeWakucY9QdE0g" type="StereotypeCommentLink" source="_TOVRYHltEeOh_8tymvdOOg" target="_X47Q4GkLEeWakucY9QdE0g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_X4738WkLEeWakucY9QdE0g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X4739WkLEeWakucY9QdE0g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Package" href="SimpleSMSignalEvent.uml#_QQiDgHltEeOh_8tymvdOOg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X4738mkLEeWakucY9QdE0g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X47382kLEeWakucY9QdE0g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X4739GkLEeWakucY9QdE0g"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_0MCIsOYXEeCBL_IbXY9ofw" type="PapyrusUMLStateMachineDiagram" name="SmDiagramServer" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_0MCIseYXEeCBL_IbXY9ofw" type="StateMachine_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIsuYXEeCBL_IbXY9ofw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIs-YXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItOYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIteYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCItuYXEeCBL_IbXY9ofw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIt-YXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JlR4wHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JlR4wXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LKHvoHn3EeOfttgBwSq-Ig" key="gradient" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0MCIuOYXEeCBL_IbXY9ofw" type="StateMachine_NameLabel">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIueYXEeCBL_IbXY9ofw" width="940" height="20"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JVovMPX4EeWa_pjn9guopQ" type="StateMachine_RegionCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_0MCIu-YXEeCBL_IbXY9ofw" type="Region_Shape" fontName="Sans Serif" lineColor="0" lineWidth="1">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvOYXEeCBL_IbXY9ofw" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIveYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIvuYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIv-YXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwOYXEeCBL_IbXY9ofw" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIweYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0MCIwuYXEeCBL_IbXY9ofw" source="RegionAnnotationKey">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0MCIw-YXEeCBL_IbXY9ofw" key="RegionZoneKey" value=""/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TbH8gHn3EeOfttgBwSq-Ig" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TbH8gXn3EeOfttgBwSq-Ig" key="fillColor" value="true"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uP7skPZMEeWa_pjn9guopQ" key="lineWidth" value="true"/>
+          </eAnnotations>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JVpWQPX4EeWa_pjn9guopQ" type="Region_SubvertexCompartment">
+            <children xmi:type="notation:Shape" xmi:id="_1U-twOYXEeCBL_IbXY9ofw" type="Pseudostate_InitialShape" fontName="Sans Serif" fillColor="0" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_U0OYXEeCBL_IbXY9ofw" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74OYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74eYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_74uYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1U_74-YXEeCBL_IbXY9ofw" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1U_75OYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LqN7kMcpEeSsAI2TZshUyg" source="PapyrusCSSForceValue">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LqPJsMcpEeSsAI2TZshUyg" key="gradient" value="true"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75eYXEeCBL_IbXY9ofw" type="Pseudostate_InitialFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_75uYXEeCBL_IbXY9ofw" x="36" y="-9"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_1U_75-YXEeCBL_IbXY9ofw" type="Pseudostate_InitialStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_1U_76OYXEeCBL_IbXY9ofw" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="SimpleSMSignalEvent.uml#_1UVNgOYXEeCBL_IbXY9ofw"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1U-tweYXEeCBL_IbXY9ofw" x="114" y="19"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_53eokOYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPoOYXEeCBL_IbXY9ofw" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53fPoeYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53fPouYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2sOYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_53f2seYXEeCBL_IbXY9ofw" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_53f2suYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_53f2s-YXEeCBL_IbXY9ofw" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7PRh8OYXEeCBL_IbXY9ofw" width="99" height="20"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_JVp9UPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PvBTIPX4EeWa_pjn9guopQ" source="PapyrusCSSForceValue">
+                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PvB6MPX4EeWa_pjn9guopQ" key="visible" value="true"/>
+                </eAnnotations>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53f2teYXEeCBL_IbXY9ofw" y="20" width="99" height="48"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_h9cHkFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_h9cHkVbmEeObiJAlOlmjpQ"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9cHklbmEeObiJAlOlmjpQ"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_53E_8OYXEeCBL_IbXY9ofw"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_53eokeYXEeCBL_IbXY9ofw" x="259" y="37" width="99" height="68"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_8AQS8OYXEeCBL_IbXY9ofw" type="State_Shape" fontName="Sans Serif" lineColor="0">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8AQ6AOYXEeCBL_IbXY9ofw" source="ShadowFigure">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEOYXEeCBL_IbXY9ofw" key="ShadowFigure_Value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhEeYXEeCBL_IbXY9ofw" source="displayNameLabelIcon">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhEuYXEeCBL_IbXY9ofw" key="displayNameLabelIcon_value" value="false"/>
+              </eAnnotations>
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8ARhE-YXEeCBL_IbXY9ofw" source="QualifiedName">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ARhFOYXEeCBL_IbXY9ofw" key="QualifiedNameDepth" value="1000"/>
+              </eAnnotations>
+              <children xmi:type="notation:DecorationNode" xmi:id="_8ARhFeYXEeCBL_IbXY9ofw" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8A06sOYXEeCBL_IbXY9ofw" width="100" height="20"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_JVrLcPX4EeWa_pjn9guopQ" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8ARhF-YXEeCBL_IbXY9ofw" y="20" width="100" height="42"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_h9ej0FbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_h9ej0VbmEeObiJAlOlmjpQ"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ej0lbmEeObiJAlOlmjpQ"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_7_1cMOYXEeCBL_IbXY9ofw"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8AQS8eYXEeCBL_IbXY9ofw" x="259" y="181" width="100" height="62"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_oxRiMCjmEeaJJusTB1aIbg" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_oxSwUCjmEeaJJusTB1aIbg" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p6M5ICjmEeaJJusTB1aIbg" width="79"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_oxTXYCjmEeaJJusTB1aIbg" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_oxTXYSjmEeaJJusTB1aIbg" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_oxTXYijmEeaJJusTB1aIbg" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxTXYyjmEeaJJusTB1aIbg" y="-1" width="79"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_owZYcCjmEeaJJusTB1aIbg"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oxRiMSjmEeaJJusTB1aIbg" x="510" y="36" width="79" height="59"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="__-OxACjmEeaJJusTB1aIbg" type="Pseudostate_JunctionShape">
+              <children xmi:type="notation:DecorationNode" xmi:id="__-PYECjmEeaJJusTB1aIbg" type="Pseudostate_JunctionFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYESjmEeaJJusTB1aIbg" x="34" y="22"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="__-PYEijmEeaJJusTB1aIbg" type="Pseudostate_JunctionStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="__-PYEyjmEeaJJusTB1aIbg" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="SimpleSMSignalEvent.uml#__9lQwCjmEeaJJusTB1aIbg"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="__-OxASjmEeaJJusTB1aIbg" x="539" y="162"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_cyo2gEOAEeadCvQ7UGhFAA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_cyo2gkOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
+              <children xmi:type="notation:DecorationNode" xmi:id="_cyo2g0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_cyo2hEOAEeadCvQ7UGhFAA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_cyo2hUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cyo2hkOAEeadCvQ7UGhFAA"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_cyKVYEOAEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cyo2gUOAEeadCvQ7UGhFAA" x="164" y="290"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_juToIEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceShape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_juToIkOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_juToI0OAEeadCvQ7UGhFAA" x="50" y="3"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_juToJEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_juToJUOAEeadCvQ7UGhFAA" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="SimpleSMSignalEvent.uml#_jt7NoEOAEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_juToIUOAEeadCvQ7UGhFAA" x="276" y="371"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_nhnhsEOAEeadCvQ7UGhFAA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_nhnhskOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
+              <children xmi:type="notation:DecorationNode" xmi:id="_nhnhs0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_nhnhtEOAEeadCvQ7UGhFAA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_nhnhtUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nhnhtkOAEeadCvQ7UGhFAA"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_nhVN0EOAEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nhnhsUOAEeadCvQ7UGhFAA" x="102" y="457"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_xK-BkEOAEeadCvQ7UGhFAA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_xK-BkkOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
+              <children xmi:type="notation:DecorationNode" xmi:id="_xK-Bk0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_xK-BlEOAEeadCvQ7UGhFAA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_xK-BlUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xK-BlkOAEeadCvQ7UGhFAA"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_xKx0UEOAEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xK-BkUOAEeadCvQ7UGhFAA" x="290" y="453"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_11fP8EOAEeadCvQ7UGhFAA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_11fP8kOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
+              <children xmi:type="notation:DecorationNode" xmi:id="_11fP80OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_11fP9EOAEeadCvQ7UGhFAA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_11fP9UOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_11fP9kOAEeadCvQ7UGhFAA"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_11G1cEOAEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_11fP8UOAEeadCvQ7UGhFAA" x="266" y="532"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_3OV5QEOAEeadCvQ7UGhFAA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_3OV5QkOAEeadCvQ7UGhFAA" type="State_NameLabel"/>
+              <children xmi:type="notation:DecorationNode" xmi:id="_3OV5Q0OAEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_3OV5REOAEeadCvQ7UGhFAA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_3OV5RUOAEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3OV5RkOAEeadCvQ7UGhFAA"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_3OJsAEOAEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3OV5QUOAEeadCvQ7UGhFAA" x="271" y="612"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_8OR-AEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceShape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_8OR-AkOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_8OR-A0OAEeadCvQ7UGhFAA" x="77" y="2"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_8OR-BEOAEeadCvQ7UGhFAA" type="Pseudostate_ChoiceStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_8OR-BUOAEeadCvQ7UGhFAA" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="SimpleSMSignalEvent.uml#_8N5jgEOAEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8OR-AUOAEeadCvQ7UGhFAA" x="273" y="687"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_Czf-gEOBEeadCvQ7UGhFAA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_Czf-gkOBEeadCvQ7UGhFAA" type="State_NameLabel"/>
+              <children xmi:type="notation:DecorationNode" xmi:id="_Czf-g0OBEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_Czf-hEOBEeadCvQ7UGhFAA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_Czf-hUOBEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Czf-hkOBEeadCvQ7UGhFAA"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_CzHkAEOBEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Czf-gUOBEeadCvQ7UGhFAA" x="177" y="739"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_EtlsoEOBEeadCvQ7UGhFAA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_EtlsokOBEeadCvQ7UGhFAA" type="State_NameLabel"/>
+              <children xmi:type="notation:DecorationNode" xmi:id="_Etlso0OBEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_EtlspEOBEeadCvQ7UGhFAA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_EtlspUOBEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EtlspkOBEeadCvQ7UGhFAA"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_EtK14EOBEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EtlsoUOBEeadCvQ7UGhFAA" x="376" y="747"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_LPfTYEOBEeadCvQ7UGhFAA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_LPfTYkOBEeadCvQ7UGhFAA" type="State_NameLabel"/>
+              <children xmi:type="notation:DecorationNode" xmi:id="_LPfTY0OBEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_LPfTZEOBEeadCvQ7UGhFAA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_LPfTZUOBEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LPfTZkOBEeadCvQ7UGhFAA"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_LPM_gEOBEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LPfTYUOBEeadCvQ7UGhFAA" x="271" y="801"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_PjSq4EOBEeadCvQ7UGhFAA" type="FinalState_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_PjSq4kOBEeadCvQ7UGhFAA" type="FinalState_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_PjSq40OBEeadCvQ7UGhFAA" x="25" y="3"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_PjSq5EOBEeadCvQ7UGhFAA" type="FinalState_StereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_PjSq5UOBEeadCvQ7UGhFAA" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:FinalState" href="SimpleSMSignalEvent.uml#_PiyUkEOBEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PjSq4UOBEeadCvQ7UGhFAA" x="297" y="874"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_OZwagEOCEeadCvQ7UGhFAA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_OZwagkOCEeadCvQ7UGhFAA" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O8AzAEOCEeadCvQ7UGhFAA" width="240" height="20"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_OZwag0OCEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_OZwahEOCEeadCvQ7UGhFAA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_OZwahUOCEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PWnrYEOCEeadCvQ7UGhFAA" source="PapyrusCSSForceValue">
+                  <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PWnrYUOCEeadCvQ7UGhFAA" key="visible" value="true"/>
+                </eAnnotations>
+                <children xmi:type="notation:Shape" xmi:id="_PWtyAEOCEeadCvQ7UGhFAA" type="Region_Shape">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PWtyBEOCEeadCvQ7UGhFAA" source="RegionAnnotationKey">
+                    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PWtyBUOCEeadCvQ7UGhFAA" key="RegionZoneKey" value="T"/>
+                  </eAnnotations>
+                  <children xmi:type="notation:BasicCompartment" xmi:id="_PWtyAkOCEeadCvQ7UGhFAA" type="Region_SubvertexCompartment">
+                    <children xmi:type="notation:Shape" xmi:id="_QUoy0EOCEeadCvQ7UGhFAA" type="State_Shape">
+                      <children xmi:type="notation:DecorationNode" xmi:id="_QUoy0kOCEeadCvQ7UGhFAA" type="State_NameLabel"/>
+                      <children xmi:type="notation:DecorationNode" xmi:id="_QUoy00OCEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_QUoy1EOCEeadCvQ7UGhFAA" x="40"/>
+                      </children>
+                      <children xmi:type="notation:BasicCompartment" xmi:id="_QUoy1UOCEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QUoy1kOCEeadCvQ7UGhFAA"/>
+                      </children>
+                      <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_QUQYUEOCEeadCvQ7UGhFAA"/>
+                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QUoy0UOCEeadCvQ7UGhFAA" x="65" y="27"/>
+                    </children>
+                    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PWtyA0OCEeadCvQ7UGhFAA"/>
+                  </children>
+                  <element xmi:type="uml:Region" href="SimpleSMSignalEvent.uml#_PWnrYkOCEeadCvQ7UGhFAA"/>
+                  <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PWtyAUOCEeadCvQ7UGhFAA" width="240" height="81"/>
+                </children>
+                <children xmi:type="notation:Shape" xmi:id="_P1Z5IUOCEeadCvQ7UGhFAA" type="Region_Shape">
+                  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P1Z5JUOCEeadCvQ7UGhFAA" source="RegionAnnotationKey">
+                    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P1Z5JkOCEeadCvQ7UGhFAA" key="RegionZoneKey" value="B"/>
+                  </eAnnotations>
+                  <children xmi:type="notation:BasicCompartment" xmi:id="_P1Z5I0OCEeadCvQ7UGhFAA" type="Region_SubvertexCompartment">
+                    <children xmi:type="notation:Shape" xmi:id="_RozwcEOCEeadCvQ7UGhFAA" type="State_Shape">
+                      <children xmi:type="notation:DecorationNode" xmi:id="_RozwckOCEeadCvQ7UGhFAA" type="State_NameLabel"/>
+                      <children xmi:type="notation:DecorationNode" xmi:id="_Rozwc0OCEeadCvQ7UGhFAA" type="State_FloatingNameLabel">
+                        <layoutConstraint xmi:type="notation:Location" xmi:id="_RozwdEOCEeadCvQ7UGhFAA" x="40"/>
+                      </children>
+                      <children xmi:type="notation:BasicCompartment" xmi:id="_RozwdUOCEeadCvQ7UGhFAA" type="State_RegionCompartment">
+                        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RozwdkOCEeadCvQ7UGhFAA"/>
+                      </children>
+                      <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_RobV8EOCEeadCvQ7UGhFAA"/>
+                      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RozwcUOCEeadCvQ7UGhFAA" x="64" y="35"/>
+                    </children>
+                    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P1Z5JEOCEeadCvQ7UGhFAA"/>
+                  </children>
+                  <element xmi:type="uml:Region" href="SimpleSMSignalEvent.uml#_P1Z5IEOCEeadCvQ7UGhFAA"/>
+                  <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P1Z5IkOCEeadCvQ7UGhFAA" y="81" width="240" height="81"/>
+                </children>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OZwahkOCEeadCvQ7UGhFAA" y="20" width="240" height="163"/>
+              </children>
+              <element xmi:type="uml:State" href="SimpleSMSignalEvent.uml#_OZYAAEOCEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OZwagUOCEeadCvQ7UGhFAA" x="577" y="270" width="240" height="183"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_S4E_8EOCEeadCvQ7UGhFAA" type="Pseudostate_ForkShape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_S4E_8kOCEeadCvQ7UGhFAA" type="Pseudostate_ForkFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_S4E_80OCEeadCvQ7UGhFAA" x="25" y="3"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_S4E_9EOCEeadCvQ7UGhFAA" type="Pseudostate_ForkStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_S4E_9UOCEeadCvQ7UGhFAA" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="SimpleSMSignalEvent.uml#_S3gYMEOCEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S4E_8UOCEeadCvQ7UGhFAA" x="435" y="310"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_cbw8sEOCEeadCvQ7UGhFAA" type="Pseudostate_JoinShape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_cbw8skOCEeadCvQ7UGhFAA" type="Pseudostate_JoinFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_cbw8s0OCEeadCvQ7UGhFAA" x="25" y="3"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_cbw8tEOCEeadCvQ7UGhFAA" type="Pseudostate_JoinStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_cbw8tUOCEeadCvQ7UGhFAA" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="SimpleSMSignalEvent.uml#_cbYiMEOCEeadCvQ7UGhFAA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cbw8sUOCEeadCvQ7UGhFAA" x="860" y="334"/>
+            </children>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxeYXEeCBL_IbXY9ofw"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_h9XPEFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_h9XPEVbmEeObiJAlOlmjpQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9XPElbmEeObiJAlOlmjpQ"/>
+          </children>
+          <element xmi:type="uml:Region" href="SimpleSMSignalEvent.uml#_0Lv00OYXEeCBL_IbXY9ofw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIxuYXEeCBL_IbXY9ofw" width="940" height="917"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIx-YXEeCBL_IbXY9ofw" y="20" width="940" height="917"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_h9ULwFbmEeObiJAlOlmjpQ" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_h9ULwVbmEeObiJAlOlmjpQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9ULwlbmEeObiJAlOlmjpQ"/>
+      </children>
+      <styles xmi:type="notation:StringListValueStyle" xmi:id="_v51OQHn2EeOfttgBwSq-Ig" name="cssClass"/>
+      <element xmi:type="uml:StateMachine" href="SimpleSMSignalEvent.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0MCIyOYXEeCBL_IbXY9ofw" x="40" y="40" width="940" height="937"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_0MCIyeYXEeCBL_IbXY9ofw"/>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_B2g2QHn3EeOfttgBwSq-Ig" name="css_stylesheets" eObjectListValue="_B2g2QXn3EeOfttgBwSq-Ig"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_YAq3oGkLEeWakucY9QdE0g" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:StateMachine" href="SimpleSMSignalEvent.uml#_y7KWsOYXEeCBL_IbXY9ofw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_CLUHAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_1U-twOYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8MeYYEeCBL_IbXY9ofw" x="-6"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8MuYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8M-YYEeCBL_IbXY9ofw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CLV8NOYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CLV8NeYYEeCBL_IbXY9ofw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_CLUHAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_CLBzIOYYEeCBL_IbXY9ofw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CLUHAuYYEeCBL_IbXY9ofw" points="[10, -4, -180, 0]$[175, -7, -15, -3]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CMH_UOYYEeCBL_IbXY9ofw" id="(0.16483516483516483,0.4142857142857143)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Doz_wOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0OYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0eYYEeCBL_IbXY9ofw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m0uYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m0-YYEeCBL_IbXY9ofw" x="-12" y="129"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Do0m1OYYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Do0m1eYYEeCBL_IbXY9ofw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Doz_weYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_Doi6AOYYEeCBL_IbXY9ofw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Doz_wuYYEeCBL_IbXY9ofw" points="[4, 9, 0, -45]$[1, 47, -3, -7]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacsOYYEeCBL_IbXY9ofw" id="(0.2,0.9846153846153847)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DpacseYYEeCBL_IbXY9ofw" id="(0.2,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_OIPMAOYYEeCBL_IbXY9ofw" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_53eokOYXEeCBL_IbXY9ofw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OIPzEOYYEeCBL_IbXY9ofw" visible="false" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIOYYEeCBL_IbXY9ofw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaIeYYEeCBL_IbXY9ofw" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaIuYYEeCBL_IbXY9ofw" x="-16" y="-10"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OIQaI-YYEeCBL_IbXY9ofw" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OIQaJOYYEeCBL_IbXY9ofw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_OIPMAeYYEeCBL_IbXY9ofw" fontName="Sans Serif"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_OH_UYOYYEeCBL_IbXY9ofw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OIPMAuYYEeCBL_IbXY9ofw" points="[-4, -31, 8, 88]$[4, -128, 16, -9]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgOYYEeCBL_IbXY9ofw" id="(0.8,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OIxXgeYYEeCBL_IbXY9ofw" id="(0.8,0.9846153846153847)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mPjVYOtqEeCzSsOGmQH2aA" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_8AQS8OYXEeCBL_IbXY9ofw" roundedBendpointsRadius="10" routing="Rectilinear" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wFmGcHoDEeOA64V_YLapaA" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wFmtgHoDEeOA64V_YLapaA" key="smoothness" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoOtqEeCzSsOGmQH2aA" visible="false" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XwnVkPX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxoetqEeCzSsOGmQH2aA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxoutqEeCzSsOGmQH2aA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XxIS8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxo-tqEeCzSsOGmQH2aA" x="-15" y="28"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mPlxpOtqEeCzSsOGmQH2aA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Xxll8PX5EeWa_pjn9guopQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mPlxpetqEeCzSsOGmQH2aA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_mPjVYetqEeCzSsOGmQH2aA" fontName=""/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_mJvoUOtqEeCzSsOGmQH2aA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mPjVYutqEeCzSsOGmQH2aA" points="[299, 171, -643984, -643984]$[147, 171, -643984, -643984]$[147, 272, -643984, -643984]$[299, 272, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wOtqEeCzSsOGmQH2aA" id="(0.0,0.6915887850467289)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mPm_wetqEeCzSsOGmQH2aA" id="(0.0,0.5)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_rgm2QCjmEeaJJusTB1aIbg" type="Transition_Edge" source="_53eokOYXEeCBL_IbXY9ofw" target="_oxRiMCjmEeaJJusTB1aIbg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUCjmEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUSjmEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rgndUijmEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndUyjmEeaJJusTB1aIbg" x="-86" y="-52"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rgndVCjmEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rgndVSjmEeaJJusTB1aIbg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_rgm2QSjmEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_rdKgsCjmEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rgm2QijmEeaJJusTB1aIbg" points="[399, 131, -643984, -643984]$[551, 131, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhuQkCjmEeaJJusTB1aIbg" id="(1.0,0.5)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rhu3oCjmEeaJJusTB1aIbg" id="(0.0,0.5932203389830508)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_BPTXUCjnEeaJJusTB1aIbg" type="Transition_Edge" source="_oxRiMCjmEeaJJusTB1aIbg" target="__-OxACjmEeaJJusTB1aIbg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXUyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVCjnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXVijnEeaJJusTB1aIbg" x="-10" y="-25"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BPTXVyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BPTXWCjnEeaJJusTB1aIbg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_BPTXUSjnEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_BO7j4CjnEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BPTXUijnEeaJJusTB1aIbg" points="[590, 155, -643984, -643984]$[590, 222, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUCjnEeaJJusTB1aIbg" id="(0.4936708860759494,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BP6bUSjnEeaJJusTB1aIbg" id="(0.5,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_G11iACjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_53eokOYXEeCBL_IbXY9ofw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_G11iAyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBCjnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_G11iBSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iBijnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_G11iByjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G11iCCjnEeaJJusTB1aIbg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_G11iASjnEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_G1QTMCjnEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G11iAijnEeaJJusTB1aIbg" points="[583, 227, -643984, -643984]$[397, 159, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2gQYCjnEeaJJusTB1aIbg" id="(0.15,0.3863945578231304)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2g3cCjnEeaJJusTB1aIbg" id="(0.9797979797979798,0.9117647058823529)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_HndzQCjnEeaJJusTB1aIbg" type="Transition_Edge" source="__-OxACjmEeaJJusTB1aIbg" target="_8AQS8OYXEeCBL_IbXY9ofw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_HndzQyjnEeaJJusTB1aIbg" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRCjnEeaJJusTB1aIbg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRSjnEeaJJusTB1aIbg" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzRijnEeaJJusTB1aIbg" x="-18" y="-14"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_HndzRyjnEeaJJusTB1aIbg" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_HndzSCjnEeaJJusTB1aIbg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_HndzQSjnEeaJJusTB1aIbg"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_HnKRQCjnEeaJJusTB1aIbg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HndzQijnEeaJJusTB1aIbg" points="[585, 234, -643984, -643984]$[400, 277, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoK94CjnEeaJJusTB1aIbg" id="(0.27479674796748554,0.8330623306233065)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HoLk8CjnEeaJJusTB1aIbg" id="(1.0,0.5806451612903226)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_g6Nv4EOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_cyo2gEOAEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_g6Nv40OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H35CgEVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_g6Nv5EOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_g6Nv5UOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H4th4EVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_g6Nv5kOAEeadCvQ7UGhFAA" x="158" y="80"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_g6Nv50OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H5dv0EVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_g6Nv6EOAEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_g6Nv4UOAEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_g3iPUEOAEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_g6Nv4kOAEeadCvQ7UGhFAA" points="[345, 303, -643984, -643984]$[345, 355, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g6yXoEOAEeadCvQ7UGhFAA" id="(0.45,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g6yXoUOAEeadCvQ7UGhFAA" id="(0.47959183673469385,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mUbV0EOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_cyo2gEOAEeadCvQ7UGhFAA" target="_juToIEOAEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_mUbV00OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H11NAEVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mUbV1EOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mUbV1UOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H2fUUEVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mUbV1kOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mUbV10OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H3KpwEVPEeagYdPh8JXAfw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mUbV2EOAEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_mUbV0UOAEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_mUQWsEOAEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mUbV0kOAEeadCvQ7UGhFAA" points="[348, 399, -643984, -643984]$[348, 431, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mU9hUEOAEeadCvQ7UGhFAA" id="(0.5102040816326531,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mU9hUUOAEeadCvQ7UGhFAA" id="(0.5166666666666667,0.01666666666666856)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qtp_4EOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_juToIEOAEeadCvQ7UGhFAA" target="_nhnhsEOAEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_qtp_40OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_rpjAYEOAEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_qtp_5EOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_qtp_5UOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_rp1UQEOAEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_qtp_5kOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_qtp_50OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_rqOV0EOAEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_qtp_6EOAEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_qtp_4UOAEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_qtXsAEOAEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qtp_4kOAEeadCvQ7UGhFAA" points="[327, 444, -643984, -643984]$[187, 444, -643984, -643984]$[187, 517, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_quIhAEOAEeadCvQ7UGhFAA" id="(0.15,0.65)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_quIhAUOAEeadCvQ7UGhFAA" id="(0.6666666666666666,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_0d1ggEOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_juToIEOAEeadCvQ7UGhFAA" target="_xK-BkEOAEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_0d1gg0OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EDYQIFWXEea9rOSlu9NJgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_0d1ghEOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0d1ghUOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EEV5cFWXEea9rOSlu9NJgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_0d1ghkOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_0d1gh0OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EFE5QFWXEea9rOSlu9NJgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_0d1giEOAEeadCvQ7UGhFAA" x="2" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_0d1ggUOAEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_0dpTQEOAEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0d1ggkOAEeadCvQ7UGhFAA" points="[345, 450, -643984, -643984]$[342, 516, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0eV20EOAEeadCvQ7UGhFAA" id="(0.47880000000000017,0.9788000000000039)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0eV20UOAEeadCvQ7UGhFAA" id="(0.39325842696629215,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_4uF0wEOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_xK-BkEOAEeadCvQ7UGhFAA" target="_11fP8EOAEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_4uF0w0OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EBjrMFWXEea9rOSlu9NJgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_4uF0xEOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_4uF0xUOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ECJhEFWXEea9rOSlu9NJgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_4uF0xkOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_4uF0x0OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EC2EoFWXEea9rOSlu9NJgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_4uF0yEOAEeadCvQ7UGhFAA" x="2" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_4uF0wUOAEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_4tzg4EOAEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4uF0wkOAEeadCvQ7UGhFAA" points="[343, 560, -643984, -643984]$[340, 592, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4uk88EOAEeadCvQ7UGhFAA" id="(0.4044943820224719,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4uk88UOAEeadCvQ7UGhFAA" id="(0.4925373134328358,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_5FIbwEOAEeadCvQ7UGhFAA" type="Transition_Edge" source="_11fP8EOAEeadCvQ7UGhFAA" target="_3OV5QEOAEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_5FIbw0OAEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_5FIbxEOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_5FIbxUOAEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_5FIbxkOAEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_5FIbx0OAEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_5FIbyEOAEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_5FIbwUOAEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_5E7AYEOAEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5FIbwkOAEeadCvQ7UGhFAA" points="[342, 636, -643984, -643984]$[344, 672, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5F-JQEOAEeadCvQ7UGhFAA" id="(0.5223880597014925,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5F-JQUOAEeadCvQ7UGhFAA" id="(0.5423728813559322,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_B0kREEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_3OV5QEOAEeadCvQ7UGhFAA" target="_8OR-AEOAEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_B0kRE0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0kRFEOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_B0kRFUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0kRFkOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_B0kRF0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0kRGEOBEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_B0kREUOBEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_B0R9MEOBEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_B0kREkOBEeadCvQ7UGhFAA" points="[342, 716, -643984, -643984]$[338, 748, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B1YwcEOBEeadCvQ7UGhFAA" id="(0.5084745762711864,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B1YwcUOBEeadCvQ7UGhFAA" id="(0.4028225806451616,0.09717741935483559)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Gn7SYEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_8OR-AEOAEeadCvQ7UGhFAA" target="_Czf-gEOBEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Gn7SY0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn7SZEOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Gn7SZUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn7SZkOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Gn7SZ0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Gn7SaEOBEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Gn7SYUOBEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_Gm27YEOBEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Gn7SYkOBEeadCvQ7UGhFAA" points="[321, 744, -643984, -643984]$[258, 784, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GonO4EOBEeadCvQ7UGhFAA" id="(0.1224358974358959,0.622435897435895)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GonO4UOBEeadCvQ7UGhFAA" id="(0.8,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_KXEdoEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_8OR-AEOAEeadCvQ7UGhFAA" target="_EtlsoEOBEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_KXEdo0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KXEdpEOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_KXEdpUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KXEdpkOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_KXEdp0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KXEdqEOBEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_KXEdoUOBEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_KWyJwEOBEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KXEdokOBEeadCvQ7UGhFAA" points="[359, 746, -643984, -643984]$[419, 794, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KXwaIEOBEeadCvQ7UGhFAA" id="(0.7536101083032491,0.7463898916967537)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KXwaIUOBEeadCvQ7UGhFAA" id="(0.0273972602739726,0.045454545454545456)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_OBrHIEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_Czf-gEOBEeadCvQ7UGhFAA" target="_LPfTYEOBEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OBrHI0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OBrHJEOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OBrHJUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OBrHJkOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OBrHJ0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OBrHKEOBEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_OBrHIUOBEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_OBSsoEOBEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OBrHIkOBEeadCvQ7UGhFAA" points="[255, 843, -643984, -643984]$[312, 873, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OCZf4EOBEeadCvQ7UGhFAA" id="(0.74,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OCZf4UOBEeadCvQ7UGhFAA" id="(0.0,0.2727272727272727)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_OwDQEEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_EtlsoEOBEeadCvQ7UGhFAA" target="_LPfTYEOBEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OwDQE0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OwDQFEOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OwDQFUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OwDQFkOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OwDQF0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OwDQGEOBEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_OwDQEUOBEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_Ovt44EOBEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OwDQEkOBEeadCvQ7UGhFAA" points="[431, 851, -643984, -643984]$[403, 865, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ow4WgEOBEeadCvQ7UGhFAA" id="(0.1917808219178082,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ow4WgUOBEeadCvQ7UGhFAA" id="(0.978494623655914,0.09090909090909091)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_P_fesEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_LPfTYEOBEeadCvQ7UGhFAA" target="_PjSq4EOBEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_P_fes0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_P_fetEOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_P_fetUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_P_fetkOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_P_fet0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_P_feuEOBEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_P_fesUOBEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_P_HEMEOBEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_P_feskOBEeadCvQ7UGhFAA" points="[357, 905, -643984, -643984]$[352, 936, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QAaEsEOBEeadCvQ7UGhFAA" id="(0.4838709677419355,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QAaEsUOBEeadCvQ7UGhFAA" id="(0.7082474226804095,0.1041237113402019)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Q3uHMEOBEeadCvQ7UGhFAA" type="Transition_Edge" source="_nhnhsEOAEeadCvQ7UGhFAA" target="_PjSq4EOBEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Q3uHM0OBEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RMF0sEOBEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Q3uHNEOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Q3uHNUOBEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RMePMEOBEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Q3uHNkOBEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Q3uHN0OBEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RMwjEEOBEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Q3uHOEOBEeadCvQ7UGhFAA" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Q3uHMUOBEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_Q3bzUEOBEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Q3uHMkOBEeadCvQ7UGhFAA" points="[174, 561, -643984, -643984]$[135, 891, -643984, -643984]$[342, 936, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Q4lC0EOBEeadCvQ7UGhFAA" id="(0.4696969696969697,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Q4lC0UOBEeadCvQ7UGhFAA" id="(0.2,0.1)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Twrb4EOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_8AQS8OYXEeCBL_IbXY9ofw" target="_S4E_8EOCEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Twrb40OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Twrb5EOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Twrb5UOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Twrb5kOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Twrb50OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Twrb6EOCEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Twrb4UOCEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_TwTBYEOCEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Twrb4kOCEeadCvQ7UGhFAA" points="[392, 302, -643984, -643984]$[476, 386, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Txmo8EOCEeadCvQ7UGhFAA" id="(0.92,0.9838709677419355)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Txmo8UOCEeadCvQ7UGhFAA" id="(0.0,0.4)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_a-dRMEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_S4E_8EOCEeadCvQ7UGhFAA" target="_QUoy0EOCEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_a-dRM0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_a-dRNEOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_a-dRNUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_a-dRNkOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_a-dRN0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_a-dROEOCEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_a-dRMUOCEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_a-EPoEOCEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a-dRMkOCEeadCvQ7UGhFAA" points="[486, 390, -643984, -643984]$[684, 403, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a_a6gEOCEeadCvQ7UGhFAA" id="(1.0,0.5)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a_a6gUOCEeadCvQ7UGhFAA" id="(0.0,0.5909090909090909)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_beGakEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_S4E_8EOCEeadCvQ7UGhFAA" target="_RozwcEOCEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_beGak0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_beGalEOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_beGalUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_beGalkOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_beGal0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_beGamEOCEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_beGakUOCEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_bduAEEOCEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_beGakkOCEeadCvQ7UGhFAA" points="[486, 404, -643984, -643984]$[683, 484, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bfJjcEOCEeadCvQ7UGhFAA" id="(1.0,0.85)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bfJjcUOCEeadCvQ7UGhFAA" id="(0.0,0.4090909090909091)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_de-tMEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_QUoy0EOCEeadCvQ7UGhFAA" target="_cbw8sEOCEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_de-tM0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_de-tNEOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_de-tNUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_de-tNkOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_de-tN0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_de-tOEOCEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_de-tMUOCEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_dedIwEOCEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_de-tMkOCEeadCvQ7UGhFAA" points="[724, 397, -643984, -643984]$[901, 414, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dgB2EEOCEeadCvQ7UGhFAA" id="(1.0,0.45454545454545453)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dgB2EUOCEeadCvQ7UGhFAA" id="(0.0,0.5)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_eAv9gEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_RozwcEOCEeadCvQ7UGhFAA" target="_cbw8sEOCEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_eAv9g0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_eAv9hEOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_eAv9hUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_eAv9hkOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_eAv9h0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_eAv9iEOCEeadCvQ7UGhFAA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_eAv9gUOCEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_eAXjAEOCEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eAv9gkOCEeadCvQ7UGhFAA" points="[723, 491, -643984, -643984]$[901, 421, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eBm5IEOCEeadCvQ7UGhFAA" id="(1.0,0.5681818181818182)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eBm5IUOCEeadCvQ7UGhFAA" id="(0.0,0.675)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_e55MAEOCEeadCvQ7UGhFAA" type="Transition_Edge" source="_cbw8sEOCEeadCvQ7UGhFAA" target="_11fP8EOAEeadCvQ7UGhFAA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_e55MA0OCEeadCvQ7UGhFAA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fzY_0EOCEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_e55MBEOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_e55MBUOCEeadCvQ7UGhFAA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fzxaUEOCEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_e55MBkOCEeadCvQ7UGhFAA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_e55MB0OCEeadCvQ7UGhFAA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_f0WpIEOCEeadCvQ7UGhFAA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_e55MCEOCEeadCvQ7UGhFAA" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_e55MAUOCEeadCvQ7UGhFAA"/>
+      <element xmi:type="uml:Transition" href="SimpleSMSignalEvent.uml#_e5OdoEOCEeadCvQ7UGhFAA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e55MAkOCEeadCvQ7UGhFAA" points="[911, 434, -643984, -643984]$[932, 434, -643984, -643984]$[924, 536, -643984, -643984]$[374, 620, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e621UEOCEeadCvQ7UGhFAA" id="(1.0,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e621UUOCEeadCvQ7UGhFAA" id="(1.0,0.6363636363636364)"/>
+    </edges>
+  </notation:Diagram>
+  <css:EmbeddedStyleSheet xmi:id="_B2g2QXn3EeOfttgBwSq-Ig" label="Animation" content=":animated{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 3px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #c00000;&#xA;&#x9;bold: true;&#xA;} &#xA;&#xA;:suspended{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #c00000;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #fab953;&#xA;&#x9;bold: true;&#xA;}&#xA;&#xA;:visited{&#xA;&#x9;/*Edge of the shape affected by the pseudo selector*/&#xA;&#x9;lineColor: #92d050;&#xA;&#x9;lineWidth: 2px;&#xA;&#x9;/*Content of the shape affected by the pseudo selector*/&#xA;&#x9;fillColor: #92d050;&#xA;}&#xA;Transition > Label {&#xA;&#x9;bodyCutLength: 1;&#xA;&#x9;indicateParameters: true;&#xA;&#x9;lineBreakBeforeEffect : true;&#xA;}"/>
+  <css:ModelStyleSheets xmi:id="_Rz4BcMcpEeSsAI2TZshUyg"/>
+  <notation:Diagram xmi:id="_TW5zYHEIEeatX-i6MtVR2A" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_UC59wHEIEeatX-i6MtVR2A" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_UC59wnEIEeatX-i6MtVR2A" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_UC59w3EIEeatX-i6MtVR2A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_UC59xHEIEeatX-i6MtVR2A" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_UC6k0HEIEeatX-i6MtVR2A" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_UC6k0XEIEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_UC6k0nEIEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_UC6k03EIEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UC6k1HEIEeatX-i6MtVR2A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_UC6k1XEIEeatX-i6MtVR2A" type="Class_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_VkPNoHEIEeatX-i6MtVR2A" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SimpleSMSignalEvent.uml#_4ZEZwHecEd6r18stFZxmFQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_VkPNoXEIEeatX-i6MtVR2A"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_VkP0sHEIEeatX-i6MtVR2A" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SimpleSMSignalEvent.uml#_TbIjUJYlEd6G9q9hwr11bw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_VkP0sXEIEeatX-i6MtVR2A"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_VkQbwHEIEeatX-i6MtVR2A" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="SimpleSMSignalEvent.uml#_VGsRACgBEeapjr3l63b85A"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_VkQbwXEIEeatX-i6MtVR2A"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_UC6k1nEIEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_UC6k13EIEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_UC6k2HEIEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UC6k2XEIEeatX-i6MtVR2A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_UC6k2nEIEeatX-i6MtVR2A" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_UC6k23EIEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_UC6k3HEIEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_UC6k3XEIEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UC6k3nEIEeatX-i6MtVR2A"/>
+      </children>
+      <element xmi:type="uml:Class" href="SimpleSMSignalEvent.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UC59wXEIEeatX-i6MtVR2A" x="100" y="180" width="281" height="138"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_UDB5k3EIEeatX-i6MtVR2A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_UDB5lHEIEeatX-i6MtVR2A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_UDCgoHEIEeatX-i6MtVR2A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="SimpleSMSignalEvent.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UDB5lXEIEeatX-i6MtVR2A" x="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_g3ylgHEIEeatX-i6MtVR2A" type="Interface_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_g3ylgnEIEeatX-i6MtVR2A" type="Interface_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_g3ylg3EIEeatX-i6MtVR2A" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_g3ylhHEIEeatX-i6MtVR2A" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_g3ylhXEIEeatX-i6MtVR2A" visible="false" type="Interface_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_g3ylhnEIEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_g3ylh3EIEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_g3yliHEIEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g3yliXEIEeatX-i6MtVR2A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_g3zMkHEIEeatX-i6MtVR2A" type="Interface_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_yyXUsHEIEeatX-i6MtVR2A" type="Operation_InterfaceOperationLabel">
+          <element xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_yyXUsXEIEeatX-i6MtVR2A"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_g3zMkXEIEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_g3zMknEIEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_g3zMk3EIEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g3zMlHEIEeatX-i6MtVR2A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_g3zMlXEIEeatX-i6MtVR2A" visible="false" type="Interface_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_g3zMlnEIEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_g3zMl3EIEeatX-i6MtVR2A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_g3zMmHEIEeatX-i6MtVR2A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g3zMmXEIEeatX-i6MtVR2A"/>
+      </children>
+      <element xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g3ylgXEIEeatX-i6MtVR2A" x="100" y="20" width="281" height="81"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_TW5zYXEIEeatX-i6MtVR2A" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_TW5zYnEIEeatX-i6MtVR2A"/>
+    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_TW5zY3EIEeatX-i6MtVR2A">
+      <owner xmi:type="uml:Package" href="SimpleSMSignalEvent.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    </styles>
+    <element xmi:type="uml:Package" href="SimpleSMSignalEvent.uml#_LOqIEDLaEd2qeKRLMdIx_A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_UDCgoXEIEeatX-i6MtVR2A" type="StereotypeCommentLink" source="_UC59wHEIEeatX-i6MtVR2A" target="_UDB5k3EIEeatX-i6MtVR2A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_UDCgonEIEeatX-i6MtVR2A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_UDCgpnEIEeatX-i6MtVR2A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="SimpleSMSignalEvent.uml#_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UDCgo3EIEeatX-i6MtVR2A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UDCgpHEIEeatX-i6MtVR2A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UDCgpXEIEeatX-i6MtVR2A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_rCW8EHEIEeatX-i6MtVR2A" type="InterfaceRealization_Edge" source="_UC59wHEIEeatX-i6MtVR2A" target="_g3ylgHEIEeatX-i6MtVR2A">
+      <children xmi:type="notation:DecorationNode" xmi:id="_rCW8E3EIEeatX-i6MtVR2A" type="InterfaceRealization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rCW8FHEIEeatX-i6MtVR2A" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rCXjIHEIEeatX-i6MtVR2A" type="InterfaceRealization_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rCXjIXEIEeatX-i6MtVR2A" x="-7" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_rCW8EXEIEeatX-i6MtVR2A"/>
+      <element xmi:type="uml:InterfaceRealization" href="SimpleSMSignalEvent.uml#_VGnYgCgBEeapjr3l63b85A"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rCW8EnEIEeatX-i6MtVR2A" points="[240, 180, -643984, -643984]$[240, 101, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rC5uoHEIEeatX-i6MtVR2A" id="(0.47297297297297297,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rC5uoXEIEeatX-i6MtVR2A" id="(0.46511627906976744,1.0)"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSMSignalEvent.uml b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSMSignalEvent.uml
new file mode 100644
index 0000000..ba6943c
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/examples/SimpleSMSignalEvent.uml
@@ -0,0 +1,351 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:Deployment="http://www.eclipse.org/papyrus/Deployment/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="SimpleSMSignalEventExample">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_Bc1WIFW4Ed63BrxiKsw-0Q">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_C_CORE/componentlib.uml#_O6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_fWCe4HEIEeatX-i6MtVR2A">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_TRAFO/trafos.uml#_Q6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_LOqIEDLaEd2qeKRLMdIx_A" name="components">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_cb-ncDemEeGPyrZ5I3hMlA" annotatedElement="_oqZNUDLaEd2qeKRLMdIx_A">
+        <body>State-machine support is enabled with a container rule</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Package" xmi:id="_Tp4n8DLaEd2qeKRLMdIx_A" name="Interfaces">
+        <packagedElement xmi:type="uml:Interface" xmi:id="_cn-H0DLbEd2qeKRLMdIx_A" name="ICompute">
+          <ownedReception xmi:type="uml:Reception" xmi:id="_1U0U8McqEeSsAI2TZshUyg" name="add" signal="_ywk2kMcqEeSsAI2TZshUyg"/>
+          <ownedReception xmi:type="uml:Reception" xmi:id="_M-tXYMcrEeSsAI2TZshUyg" name="mult" signal="_z0nGcMcqEeSsAI2TZshUyg"/>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_DGs6wDLgEd28fJKJJnUaeQ" name="add">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6wTLgEd28fJKJJnUaeQ" name="a">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6wzLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6wjLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6xTLgEd28fJKJJnUaeQ" name="b">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6xzLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6xjLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6yTLgEd28fJKJJnUaeQ" name="res" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6yzLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6yjLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+          </ownedOperation>
+          <ownedOperation xmi:type="uml:Operation" xmi:id="_L8EY8DLgEd28fJKJJnUaeQ" name="mult">
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY8TLgEd28fJKJJnUaeQ" name="a">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY8zLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY8jLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY9TLgEd28fJKJJnUaeQ" name="b">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY9zLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY9jLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY-TLgEd28fJKJJnUaeQ" name="res" direction="return">
+              <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+              <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY-zLgEd28fJKJJnUaeQ" value="1"/>
+              <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY-jLgEd28fJKJJnUaeQ" value="1"/>
+            </ownedParameter>
+          </ownedOperation>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Signal" xmi:id="_ywk2kMcqEeSsAI2TZshUyg" name="Add"/>
+        <packagedElement xmi:type="uml:Signal" xmi:id="_z0nGcMcqEeSsAI2TZshUyg" name="Mult"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_oqZNUDLaEd2qeKRLMdIx_A" name="SimpleSM" classifierBehavior="_y7KWsOYXEeCBL_IbXY9ofw">
+        <generalization xmi:type="uml:Generalization" xmi:id="_LuEUwCgBEeapjr3l63b85A">
+          <general xmi:type="uml:Class" href="pathmap://DML_C_CORE/componentlib.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/>
+        </generalization>
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_4KiE8DLbEd2qeKRLMdIx_A" name="p" type="_cn-H0DLbEd2qeKRLMdIx_A" aggregation="composite"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_3gJRoEVGEeaqgqiOqzyU4w" name="which_rack">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_vAIV4I7PEdySGvm5GN66HA"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_6uv7oEVGEeaqgqiOqzyU4w" name="is_misplace">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_vAIV4I7PEdySGvm5GN66HA"/>
+        </ownedAttribute>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_YQqH0JYlEd6G9q9hwr11bw" name="realization of ICompute" client="_oqZNUDLaEd2qeKRLMdIx_A" supplier="_cn-H0DLbEd2qeKRLMdIx_A" contract="_cn-H0DLbEd2qeKRLMdIx_A"/>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_VGnYgCgBEeapjr3l63b85A" name="realization of IStart" client="_oqZNUDLaEd2qeKRLMdIx_A">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+          <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/>
+        </interfaceRealization>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_qxjWINnmEd2_cstbO2Uzgg" name="mult" specification="_4ZEZwHecEd6r18stFZxmFQ">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTqsokVIEeaqgqiOqzyU4w" name="a">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTrTsEVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTrTsUVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTrTskVIEeaqgqiOqzyU4w" name="b">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTrTs0VIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTrTtEVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTr6wEVIEeaqgqiOqzyU4w" name="res" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTr6wUVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTr6wkVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a*b=&quot; &lt;&lt; a*b &lt;&lt; endl;
+return a*b;</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ML-4AKI5Ed6FqJCjEUrkqQ" name="add" specification="_TbIjUJYlEd6G9q9hwr11bw">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTr6w0VIEeaqgqiOqzyU4w" name="a">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTr6xEVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTr6xUVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTsh0EVIEeaqgqiOqzyU4w" name="b">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTsh0UVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTsh0kVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTsh00VIEeaqgqiOqzyU4w" name="res" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTsh1EVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTsh1UVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>cout &lt;&lt; &quot;a=&quot; &lt;&lt; a &lt;&lt; &quot; b=&quot; &lt;&lt; b &lt;&lt; &quot; a+b=&quot; &lt;&lt; a+b &lt;&lt; endl;
+return a+b;</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_y7KWsOYXEeCBL_IbXY9ofw" name="SMServer">
+          <region xmi:type="uml:Region" xmi:id="_0Lv00OYXEeCBL_IbXY9ofw" name="Region0">
+            <transition xmi:type="uml:Transition" xmi:id="_CLBzIOYYEeCBL_IbXY9ofw" name="Transition0" source="_1UVNgOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw"/>
+            <transition xmi:type="uml:Transition" xmi:id="_Doi6AOYYEeCBL_IbXY9ofw" name="Transition1" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
+              <trigger xmi:type="uml:Trigger" xmi:id="_rHpXoOtoEeCjb9i0gG4phA" event="_rHoJgOtoEeCjb9i0gG4phA"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_OH_UYOYYEeCBL_IbXY9ofw" name="Transition2" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_53E_8OYXEeCBL_IbXY9ofw">
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_CAWpgSSoEeG6GJ4vU06VYQ" name="add">
+                <language>C/C++</language>
+                <body>add(2,3);&#xD;
+mult(3,5);&#xD;
+std::cout &lt;&lt;&quot;From State1 to State0 \n&quot;;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_-aQtACaeEeG4fZdVXNtoOQ" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_mJvoUOtqEeCzSsOGmQH2aA" name="Transition3" source="_53E_8OYXEeCBL_IbXY9ofw" target="_7_1cMOYXEeCBL_IbXY9ofw">
+              <trigger xmi:type="uml:Trigger" xmi:id="_8WepQHoDEeOA64V_YLapaA" event="_8WeCMHoDEeOA64V_YLapaA"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_rdKgsCjmEeaJJusTB1aIbg" source="_53E_8OYXEeCBL_IbXY9ofw" target="_owZYcCjmEeaJJusTB1aIbg">
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_-EnkACjmEeaJJusTB1aIbg">
+                <language>C++</language>
+                <body>std::cout &lt;&lt; &quot;From State 0 to State 2\n&quot;;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_4eMuECjmEeaJJusTB1aIbg" event="_4WSIMCjmEeaJJusTB1aIbg"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_BO7j4CjnEeaJJusTB1aIbg" source="_owZYcCjmEeaJJusTB1aIbg" target="__9lQwCjmEeaJJusTB1aIbg">
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_F9mScCjnEeaJJusTB1aIbg">
+                <language>C++</language>
+                <body>std::cout &lt;&lt;&quot;From State 2 to Junction1\n&quot;;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_GlK94CjpEeaJJusTB1aIbg" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_G1QTMCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_53E_8OYXEeCBL_IbXY9ofw"/>
+            <transition xmi:type="uml:Transition" xmi:id="_HnKRQCjnEeaJJusTB1aIbg" guard="_KB4nQCjnEeaJJusTB1aIbg" source="__9lQwCjmEeaJJusTB1aIbg" target="_7_1cMOYXEeCBL_IbXY9ofw">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="_KB4nQCjnEeaJJusTB1aIbg">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_KB4nQSjnEeaJJusTB1aIbg">
+                  <language>C++</language>
+                  <body>true</body>
+                </specification>
+              </ownedRule>
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_QlLVICjnEeaJJusTB1aIbg">
+                <language>C++</language>
+                <body>std::cout &lt;&lt; &quot;From Junction1 to State 1 \n&quot;;</body>
+              </effect>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_g3iPUEOAEeadCvQ7UGhFAA" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_cyKVYEOAEeadCvQ7UGhFAA">
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_SPGDsEVLEeaqgqiOqzyU4w">
+                <language>C++</language>
+                <body>std::cout &lt;&lt; &quot;goto prepare_conveyer&quot; &lt;&lt; std::endl;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_PdrvMEVPEeagYdPh8JXAfw" event="_-PMFcCaeEeG4fZdVXNtoOQ"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_mUQWsEOAEeadCvQ7UGhFAA" source="_cyKVYEOAEeadCvQ7UGhFAA" target="_jt7NoEOAEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_qtXsAEOAEeadCvQ7UGhFAA" guard="_wCmrUEOAEeadCvQ7UGhFAA" source="_jt7NoEOAEeadCvQ7UGhFAA" target="_nhVN0EOAEeadCvQ7UGhFAA">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="_wCmrUEOAEeadCvQ7UGhFAA">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_wCmrUUOAEeadCvQ7UGhFAA">
+                  <language>C++</language>
+                  <body>which_rack==0</body>
+                </specification>
+              </ownedRule>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_0dpTQEOAEeadCvQ7UGhFAA" source="_jt7NoEOAEeadCvQ7UGhFAA" target="_xKx0UEOAEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_4tzg4EOAEeadCvQ7UGhFAA" source="_xKx0UEOAEeadCvQ7UGhFAA" target="_11G1cEOAEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_5E7AYEOAEeadCvQ7UGhFAA" source="_11G1cEOAEeadCvQ7UGhFAA" target="_3OJsAEOAEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_B0R9MEOBEeadCvQ7UGhFAA" source="_3OJsAEOAEeadCvQ7UGhFAA" target="_8N5jgEOAEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_Gm27YEOBEeadCvQ7UGhFAA" guard="_J2-oUEOBEeadCvQ7UGhFAA" source="_8N5jgEOAEeadCvQ7UGhFAA" target="_CzHkAEOBEeadCvQ7UGhFAA">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="_J2-oUEOBEeadCvQ7UGhFAA">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_J2-oUUOBEeadCvQ7UGhFAA">
+                  <language>C++</language>
+                  <body>is_misplace</body>
+                </specification>
+              </ownedRule>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_KWyJwEOBEeadCvQ7UGhFAA" source="_8N5jgEOAEeadCvQ7UGhFAA" target="_EtK14EOBEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_OBSsoEOBEeadCvQ7UGhFAA" source="_CzHkAEOBEeadCvQ7UGhFAA" target="_LPM_gEOBEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_Ovt44EOBEeadCvQ7UGhFAA" source="_EtK14EOBEeadCvQ7UGhFAA" target="_LPM_gEOBEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_P_HEMEOBEeadCvQ7UGhFAA" source="_LPM_gEOBEeadCvQ7UGhFAA" target="_PiyUkEOBEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_Q3bzUEOBEeadCvQ7UGhFAA" source="_nhVN0EOAEeadCvQ7UGhFAA" target="_PiyUkEOBEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_TwTBYEOCEeadCvQ7UGhFAA" guard="_X_xSgEOCEeadCvQ7UGhFAA" source="_7_1cMOYXEeCBL_IbXY9ofw" target="_S3gYMEOCEeadCvQ7UGhFAA">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="_X_xSgEOCEeadCvQ7UGhFAA">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_X_xSgUOCEeadCvQ7UGhFAA">
+                  <language>C++</language>
+                  <body>!is_misplace</body>
+                </specification>
+              </ownedRule>
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_O1EM0EVLEeaqgqiOqzyU4w">
+                <language>C++</language>
+                <body>std::cout &lt;&lt; &quot;goto fork&quot; &lt;&lt; std::endl;&#xD;
+std::cout &lt;&lt;&quot;signal value a = &quot; &lt;&lt; sig.a &lt;&lt; std::endl;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_w09MAEVGEeaqgqiOqzyU4w" event="_wqLfYEVGEeaqgqiOqzyU4w"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_a-EPoEOCEeadCvQ7UGhFAA" source="_S3gYMEOCEeadCvQ7UGhFAA" target="_QUQYUEOCEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_bduAEEOCEeadCvQ7UGhFAA" source="_S3gYMEOCEeadCvQ7UGhFAA" target="_RobV8EOCEeadCvQ7UGhFAA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_e5OdoEOCEeadCvQ7UGhFAA" source="_cbYiMEOCEeadCvQ7UGhFAA" target="_11G1cEOAEeadCvQ7UGhFAA"/>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="_1UVNgOYXEeCBL_IbXY9ofw" name="Initial0"/>
+            <subvertex xmi:type="uml:State" xmi:id="_53E_8OYXEeCBL_IbXY9ofw" name="State0"/>
+            <subvertex xmi:type="uml:State" xmi:id="_7_1cMOYXEeCBL_IbXY9ofw" name="State1"/>
+            <subvertex xmi:type="uml:State" xmi:id="_owZYcCjmEeaJJusTB1aIbg" name="State2"/>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="__9lQwCjmEeaJJusTB1aIbg" name="Junction1" kind="junction"/>
+            <subvertex xmi:type="uml:State" xmi:id="_cyKVYEOAEeadCvQ7UGhFAA" name="Prepare_Conveyer"/>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="_jt7NoEOAEeadCvQ7UGhFAA" name="check_rack" kind="choice"/>
+            <subvertex xmi:type="uml:State" xmi:id="_nhVN0EOAEeadCvQ7UGhFAA" name="empty_shelf"/>
+            <subvertex xmi:type="uml:State" xmi:id="_xKx0UEOAEeadCvQ7UGhFAA" name="not_empty_shelf"/>
+            <subvertex xmi:type="uml:State" xmi:id="_11G1cEOAEeadCvQ7UGhFAA" name="pick_chassis"/>
+            <subvertex xmi:type="uml:State" xmi:id="_3OJsAEOAEeadCvQ7UGhFAA" name="deliver_car"/>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="_8N5jgEOAEeadCvQ7UGhFAA" name="mismatchChoice" kind="choice"/>
+            <subvertex xmi:type="uml:State" xmi:id="_CzHkAEOBEeadCvQ7UGhFAA" name="misplace"/>
+            <subvertex xmi:type="uml:State" xmi:id="_EtK14EOBEeadCvQ7UGhFAA" name="not_misplace"/>
+            <subvertex xmi:type="uml:State" xmi:id="_LPM_gEOBEeadCvQ7UGhFAA" name="rewind_conveyor"/>
+            <subvertex xmi:type="uml:FinalState" xmi:id="_PiyUkEOBEeadCvQ7UGhFAA" name="FinalState1"/>
+            <subvertex xmi:type="uml:State" xmi:id="_OZYAAEOCEeadCvQ7UGhFAA" name="State3">
+              <region xmi:type="uml:Region" xmi:id="_PWnrYkOCEeadCvQ7UGhFAA" name="Region1">
+                <transition xmi:type="uml:Transition" xmi:id="_dedIwEOCEeadCvQ7UGhFAA" source="_QUQYUEOCEeadCvQ7UGhFAA" target="_cbYiMEOCEeadCvQ7UGhFAA"/>
+                <subvertex xmi:type="uml:State" xmi:id="_QUQYUEOCEeadCvQ7UGhFAA" name="State4"/>
+              </region>
+              <region xmi:type="uml:Region" xmi:id="_P1Z5IEOCEeadCvQ7UGhFAA" name="Region2">
+                <transition xmi:type="uml:Transition" xmi:id="_eAXjAEOCEeadCvQ7UGhFAA" source="_RobV8EOCEeadCvQ7UGhFAA" target="_cbYiMEOCEeadCvQ7UGhFAA"/>
+                <subvertex xmi:type="uml:State" xmi:id="_RobV8EOCEeadCvQ7UGhFAA" name="State5"/>
+              </region>
+            </subvertex>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="_S3gYMEOCEeadCvQ7UGhFAA" name="Fork1" kind="fork"/>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="_cbYiMEOCEeadCvQ7UGhFAA" name="Join1" kind="join"/>
+          </region>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_YNCW4CgBEeapjr3l63b85A" name="run" specification="_VGsRACgBEeapjr3l63b85A">
+          <language>C/C++</language>
+          <body>cout &lt;&lt; &quot;call add (2, 3);&quot; &lt;&lt; endl;&#xD;
+cout &lt;&lt; &quot;result: &quot; &lt;&lt; add (2, 3) &lt;&lt; endl;&#xD;
+Sig s;&#xD;
+s.a = 10;&#xD;
+sendSigEv(s);&#xD;
+cout &lt;&lt; &quot;sleeping for 15 seconds (statemachine remains active);&quot; &lt;&lt; endl;&#xD;
+#ifdef WIN32&#xD;
+Sleep(15000);&#xD;
+#else&#xD;
+sleep(15);&#xD;
+#endif&#xD;
+</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_4ZEZwHecEd6r18stFZxmFQ" name="mult" method="_qxjWINnmEd2_cstbO2Uzgg">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTo3cEVIEeaqgqiOqzyU4w" name="a">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTo3cUVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTpegEVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTpegUVIEeaqgqiOqzyU4w" name="b">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTpegkVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTpeg0VIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mTqFkEVIEeaqgqiOqzyU4w" name="res" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mTqsoEVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mTqsoUVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_TbIjUJYlEd6G9q9hwr11bw" name="add" method="_ML-4AKI5Ed6FqJCjEUrkqQ">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_kl6KUEVIEeaqgqiOqzyU4w" name="a">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kl6xYEVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kl6xYUVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_kl6xYkVIEeaqgqiOqzyU4w" name="b">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kl6xY0VIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kl6xZEVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_kl6xZUVIEeaqgqiOqzyU4w" name="res" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kl7YcEVIEeaqgqiOqzyU4w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kl7YcUVIEeaqgqiOqzyU4w" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_VGsRACgBEeapjr3l63b85A" name="run" method="_YNCW4CgBEeapjr3l63b85A"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_rGzqIOtoEeCjb9i0gG4phA" name="events">
+        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_rHoJgOtoEeCjb9i0gG4phA" name="TE - {value=50, unit=ms}" isRelative="true">
+          <when xmi:type="uml:TimeExpression" xmi:id="_rHoJgetoEeCjb9i0gG4phA">
+            <expr xmi:type="uml:OpaqueExpression" xmi:id="_rHoJgutoEeCjb9i0gG4phA">
+              <language>Natural language</language>
+              <body>{value=50, unit=ms}</body>
+            </expr>
+          </when>
+        </packagedElement>
+        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_-PMFcCaeEeG4fZdVXNtoOQ" name="TE - {value=500, unit=ms}" isRelative="true">
+          <when xmi:type="uml:TimeExpression" xmi:id="_-PMFcSaeEeG4fZdVXNtoOQ">
+            <expr xmi:type="uml:OpaqueExpression" xmi:id="_-PMFciaeEeG4fZdVXNtoOQ">
+              <language>Natural language</language>
+              <body>{value=500, unit=ms}</body>
+            </expr>
+          </when>
+        </packagedElement>
+        <packagedElement xmi:type="uml:CallEvent" xmi:id="_8WeCMHoDEeOA64V_YLapaA" name="CE - CServer_impl - add" operation="_TbIjUJYlEd6G9q9hwr11bw"/>
+        <packagedElement xmi:type="uml:TimeEvent" xmi:id="_4WSIMCjmEeaJJusTB1aIbg" name="TE - {value=25, unit=ms}" isRelative="true">
+          <when xmi:type="uml:TimeExpression" xmi:id="_4WSIMSjmEeaJJusTB1aIbg">
+            <expr xmi:type="uml:OpaqueExpression" xmi:id="_4WSIMijmEeaJJusTB1aIbg">
+              <language>Natural language</language>
+              <body>{value=25, unit=ms}</body>
+            </expr>
+          </when>
+        </packagedElement>
+        <packagedElement xmi:type="uml:SignalEvent" xmi:id="_wqLfYEVGEeaqgqiOqzyU4w" name="SigEv" signal="_wBfuwEVGEeaqgqiOqzyU4w"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Signal" xmi:id="_wBfuwEVGEeaqgqiOqzyU4w" name="Sig">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_wBfuwUVGEeaqgqiOqzyU4w" name="a">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedAttribute>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_234GEDLiEd2RVeNawwNNzg" name="deployment">
+      <packagedElement xmi:type="uml:Package" xmi:id="_QQiDgHltEeOh_8tymvdOOg" name="System_implDepPlan">
+        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_QQm8AHltEeOh_8tymvdOOg" name="mainInstance" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_GcC0cAHtEd6HSdiss9GQ0A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Gd1kMAHtEd6HSdiss9GQ0A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_HKNNAHEIEeatX-i6MtVR2A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HKN0EHEIEeatX-i6MtVR2A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Deployment/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://DEP_PROFILE/Deployment.profile.uml#_gPDsIBa-EearhdjjJ6cVzQ"/>
+    </profileApplication>
+  </uml:Model>
+  <C_Cpp:Include xmi:id="_EaeJMNp0EeKd1ax3yaXM9w" body="#include &lt;iostream>&#xA;using namespace std;&#xA;&#xA;#include &lt;unistd.h>&#xA;" header="#ifdef WIN32&#xD;&#xA;#include &quot;windows.h&quot;&#xD;&#xA;#endif" base_class="_oqZNUDLaEd2qeKRLMdIx_A"/>
+  <Deployment:DeploymentPlan xmi:id="_QCSA8HEIEeatX-i6MtVR2A" base_Package="_QQiDgHltEeOh_8tymvdOOg"/>
+</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di b/transformation/org.eclipse.papyrus.designer.transformation.library/models/library/statemachine.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di
copy to transformation/org.eclipse.papyrus.designer.transformation.library/models/library/statemachine.di
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/library/statemachine.notation b/transformation/org.eclipse.papyrus.designer.transformation.library/models/library/statemachine.notation
new file mode 100644
index 0000000..1c7d5fd
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/library/statemachine.notation
@@ -0,0 +1,3255 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_deScIOUTEd-P08Bciq_LqQ" type="CompositeStructure" name="StateMachines" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_en03EOUTEd-P08Bciq_LqQ" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_en1eIOUTEd-P08Bciq_LqQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_en1eIeUTEd-P08Bciq_LqQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_en1eIuUTEd-P08Bciq_LqQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_en2FMOUTEd-P08Bciq_LqQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_en2FMeUTEd-P08Bciq_LqQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_en2FMuUTEd-P08Bciq_LqQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_en2FM-UTEd-P08Bciq_LqQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_en2FNOUTEd-P08Bciq_LqQ" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_en2FNeUTEd-P08Bciq_LqQ"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_u83s4PRUEeCKVJwdD4MMsg" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u847APRUEeCKVJwdD4MMsg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u85iEPRUEeCKVJwdD4MMsg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u85iEfRUEeCKVJwdD4MMsg" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u85iEvRUEeCKVJwdD4MMsg" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u85iE_RUEeCKVJwdD4MMsg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u85iFPRUEeCKVJwdD4MMsg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_u85iFfRUEeCKVJwdD4MMsg" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iAfo4Fl9EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_idrUIFl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_u86JIPRUEeCKVJwdD4MMsg" x="-151"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_u86JIfRUEeCKVJwdD4MMsg" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_u86JIvRUEeCKVJwdD4MMsg" x="25" y="-10"/>
+        </children>
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_SR5VEMRfEeWvtvzLCnzMNA" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Port" href="statemachine.uml#_u7pk4PRUEeCKVJwdD4MMsg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u83s4fRUEeCKVJwdD4MMsg" x="225" y="117" width="20" height="20"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_xVjd8F8wEeGerN33d-RdRg" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xVkFAF8wEeGerN33d-RdRg" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xVkFAV8wEeGerN33d-RdRg" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xVksEF8wEeGerN33d-RdRg" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xVksEV8wEeGerN33d-RdRg" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xVksEl8wEeGerN33d-RdRg" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xVksE18wEeGerN33d-RdRg" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_xVksFF8wEeGerN33d-RdRg" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gCoOAFl9EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gGpLUFl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_xVksFV8wEeGerN33d-RdRg" x="-191" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_xVksFl8wEeGerN33d-RdRg" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_xVksF18wEeGerN33d-RdRg" x="25" y="-10"/>
+        </children>
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_P49u0MRfEeWvtvzLCnzMNA" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Port" href="statemachine.uml#_xUE3QF8wEeGerN33d-RdRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xVjd8V8wEeGerN33d-RdRg" x="225" y="72" width="20" height="20"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Jo3KIHJVEeOMF7YEvnQt5g" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Jo3KIXJVEeOMF7YEvnQt5g" showTitle="true"/>
+        <element xmi:type="C_Cpp:Include" href="statemachine.uml#_eGpZQBE1EeG3cfLoiI6G7g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jo3KInJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Jo5mYHJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Jo5mYXJVEeOMF7YEvnQt5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jo5mYnJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_MttBwAuZEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_MttBwQuZEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="statemachine.uml#_ens7QOUTEd-P08Bciq_LqQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_en03EeUTEd-P08Bciq_LqQ" x="60" y="135" width="221" height="163"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_u-vbIOUTEd-P08Bciq_LqQ" type="Class_Shape" fontName="" fontHeight="10" gradient="16777215, -1, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u-vbIuUTEd-P08Bciq_LqQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u-vbI-UTEd-P08Bciq_LqQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u-vbJOUTEd-P08Bciq_LqQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u-wCMOUTEd-P08Bciq_LqQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u-wCMeUTEd-P08Bciq_LqQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u-wCMuUTEd-P08Bciq_LqQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__yjQ4GGAEeO2F4QRMDSOXg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__yj38GGAEeO2F4QRMDSOXg" key="gradient" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_u-wCM-UTEd-P08Bciq_LqQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_u-wCNOUTEd-P08Bciq_LqQ" type="Class_StructureCompartment">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u-wCNeUTEd-P08Bciq_LqQ"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_WeNZ4DXLEeCZ5ODDEHnvRw" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WeOA8DXLEeCZ5ODDEHnvRw" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WeOA8TXLEeCZ5ODDEHnvRw" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WeOA8jXLEeCZ5ODDEHnvRw" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WeOA8zXLEeCZ5ODDEHnvRw" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WeOA9DXLEeCZ5ODDEHnvRw" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WeOoADXLEeCZ5ODDEHnvRw" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_WeOoATXLEeCZ5ODDEHnvRw" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jBmgkFl9EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jHxaAFl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_WeOoAjXLEeCZ5ODDEHnvRw" x="28" y="9"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_WeOoAzXLEeCZ5ODDEHnvRw" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_WeOoBDXLEeCZ5ODDEHnvRw" x="25" y="-10"/>
+        </children>
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_Tb9FQMTfEeWfEYAFL-UFuw" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WeNZ4TXLEeCZ5ODDEHnvRw" x="-10" y="72"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_YK7aYDXLEeCZ5ODDEHnvRw" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YK8BcDXLEeCZ5ODDEHnvRw" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YK8BcTXLEeCZ5ODDEHnvRw" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YK8BcjXLEeCZ5ODDEHnvRw" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YK8BczXLEeCZ5ODDEHnvRw" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YK8ogDXLEeCZ5ODDEHnvRw" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YK8ogTXLEeCZ5ODDEHnvRw" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_YK8ogjXLEeCZ5ODDEHnvRw" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kK_xkFl9EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kQMaoFl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_YK8ogzXLEeCZ5ODDEHnvRw" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_YK8ohDXLEeCZ5ODDEHnvRw" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_YK8ohTXLEeCZ5ODDEHnvRw" x="25" y="-10"/>
+        </children>
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_T-vCMMTfEeWfEYAFL-UFuw" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YK7aYTXLEeCZ5ODDEHnvRw" x="207" y="72"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_a7sjEOuMEeCTfOY57pgE3w" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a7tKIOuMEeCTfOY57pgE3w" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a7tKIeuMEeCTfOY57pgE3w" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a7tKIuuMEeCTfOY57pgE3w" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a7tKI-uMEeCTfOY57pgE3w" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a7txMOuMEeCTfOY57pgE3w" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a7txMeuMEeCTfOY57pgE3w" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_a7txMuuMEeCTfOY57pgE3w" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jl_nEFl9EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jq_b0Fl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_a7txM-uMEeCTfOY57pgE3w" x="27" y="18"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_a7txNOuMEeCTfOY57pgE3w" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_a7txNeuMEeCTfOY57pgE3w" x="25" y="-10"/>
+        </children>
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_UwLGMMTfEeWfEYAFL-UFuw" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Port" href="statemachine.uml#_a4NKMOuMEeCTfOY57pgE3w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a7sjEeuMEeCTfOY57pgE3w" x="108" y="153" width="20" height="20"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JpBiMHJVEeOMF7YEvnQt5g" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JpBiMXJVEeOMF7YEvnQt5g" showTitle="true"/>
+        <element xmi:type="FCM:InteractionComponent" href="statemachine.uml#_hanSUOUUEd-P08Bciq_LqQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JpBiMnJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JpBiM3JVEeOMF7YEvnQt5g" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JpBiNHJVEeOMF7YEvnQt5g" showTitle="true"/>
+        <element xmi:type="FCM:UseInstanceConfigurator" href="statemachine.uml#_StgB8CNYEeGj_4swHBbKwg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JpBiNXJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JpCJQHJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JpCJQXJVEeOMF7YEvnQt5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JpCJQnJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_MttBwguZEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_MttBwwuZEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="statemachine.uml#_u-qioOUTEd-P08Bciq_LqQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u-vbIeUTEd-P08Bciq_LqQ" x="414" y="108" width="217" height="163"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_OTiegDXLEeCZ5ODDEHnvRw" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OTjFkDXLEeCZ5ODDEHnvRw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OTjFkTXLEeCZ5ODDEHnvRw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OTjFkjXLEeCZ5ODDEHnvRw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OTjsoDXLEeCZ5ODDEHnvRw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OTjsoTXLEeCZ5ODDEHnvRw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OTjsojXLEeCZ5ODDEHnvRw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OTjsozXLEeCZ5ODDEHnvRw" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_OTjspDXLEeCZ5ODDEHnvRw" type="Class_StructureCompartment" collapsed="true">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OTjspTXLEeCZ5ODDEHnvRw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JpFMkHJVEeOMF7YEvnQt5g" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JpFMkXJVEeOMF7YEvnQt5g" showTitle="true"/>
+        <element xmi:type="FCM:InteractionComponent" href="pathmap://QML_CORE/core.uml#_vEYVcFR1Ed6GqrP6fkWBoQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JpFMknJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JpFzoHJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JpFzoXJVEeOMF7YEvnQt5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JpFzonJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_MttBxAuZEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_MttBxQuZEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_Zx2ZUA1jEd6tvthBDl600Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OTiegTXLEeCZ5ODDEHnvRw" x="414" y="18" width="217"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9DtmsOuLEeCTfOY57pgE3w" type="Comment_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9DwC8OuLEeCTfOY57pgE3w" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9DwC8euLEeCTfOY57pgE3w" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9DwqAOuLEeCTfOY57pgE3w" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9DwqAeuLEeCTfOY57pgE3w" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9DwqAuuLEeCTfOY57pgE3w" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9DwqA-uLEeCTfOY57pgE3w" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9DwqBOuLEeCTfOY57pgE3w" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="statemachine.uml#_9BpKIOuLEeCTfOY57pgE3w"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9DtmseuLEeCTfOY57pgE3w" x="648" y="18" width="208" height="73"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_OlJPsBE0EeG3cfLoiI6G7g" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OlMTABE0EeG3cfLoiI6G7g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OlMTARE0EeG3cfLoiI6G7g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OlMTAhE0EeG3cfLoiI6G7g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OlMTAxE0EeG3cfLoiI6G7g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OlM6EBE0EeG3cfLoiI6G7g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OlM6ERE0EeG3cfLoiI6G7g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OlM6EhE0EeG3cfLoiI6G7g" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_OlNhIBE0EeG3cfLoiI6G7g" visible="false" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_OlNhIRE0EeG3cfLoiI6G7g" showTitle="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OlNhIhE0EeG3cfLoiI6G7g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JpHo0HJVEeOMF7YEvnQt5g" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JpHo0XJVEeOMF7YEvnQt5g" showTitle="true"/>
+        <element xmi:type="C_Cpp:Include" href="pathmap://QML_CORE/core.uml#_Yx49gCaeEeG4fZdVXNtoOQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JpHo0nJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JpHo03JVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JpHo1HJVEeOMF7YEvnQt5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JpHo1XJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_MttBxguZEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_MttBxwuZEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OlJPsRE0EeG3cfLoiI6G7g" x="60" y="333" width="85"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Py6qYBE0EeG3cfLoiI6G7g" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Py7RcBE0EeG3cfLoiI6G7g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Py7RcRE0EeG3cfLoiI6G7g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Py7RchE0EeG3cfLoiI6G7g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Py7RcxE0EeG3cfLoiI6G7g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Py7RdBE0EeG3cfLoiI6G7g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Py7RdRE0EeG3cfLoiI6G7g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Py7RdhE0EeG3cfLoiI6G7g" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Py7RdxE0EeG3cfLoiI6G7g" visible="false" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Py7ReBE0EeG3cfLoiI6G7g" showTitle="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Py7ReRE0EeG3cfLoiI6G7g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JpJeAHJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JpJeAXJVEeOMF7YEvnQt5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JpJeAnJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_MttByAuZEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_MttByQuZEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_WkkjoPNUEeCovO8AYZymZQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Py6qYRE0EeG3cfLoiI6G7g" x="198" y="333" width="90"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_KR_OMCNYEeGj_4swHBbKwg" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KSBqcCNYEeGj_4swHBbKwg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KSBqcSNYEeGj_4swHBbKwg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KSBqciNYEeGj_4swHBbKwg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KSBqcyNYEeGj_4swHBbKwg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KSCRgCNYEeGj_4swHBbKwg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KSCRgSNYEeGj_4swHBbKwg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_KSCRgiNYEeGj_4swHBbKwg" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_KSCRgyNYEeGj_4swHBbKwg" visible="false" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_KSCRhCNYEeGj_4swHBbKwg" showTitle="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KSCRhSNYEeGj_4swHBbKwg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JpLTMHJVEeOMF7YEvnQt5g" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JpLTMXJVEeOMF7YEvnQt5g" showTitle="true"/>
+        <element xmi:type="FCM:InstanceConfigurator" href="statemachine.uml#_QQYfQCNYEeGj_4swHBbKwg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JpLTMnJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JpLTM3JVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JpLTNHJVEeOMF7YEvnQt5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JpLTNXJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_MttByguZEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_MttBywuZEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="statemachine.uml#_KEMp0CNYEeGj_4swHBbKwg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KR_OMSNYEeGj_4swHBbKwg" x="414" y="319" width="226" height="51"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_M01kgAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_M01kgQuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M01kgwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_ens7QOUTEd-P08Bciq_LqQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M01kgguZEeWXe7AeBUbqvw" x="254" y="135"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_M1BKuAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_M1BKuQuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M1BKuwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_u7pk4PRUEeCKVJwdD4MMsg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M1BKuguZEeWXe7AeBUbqvw" x="425" y="117"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_M1UFqAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_M1UFqQuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M1UFqwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_xUE3QF8wEeGerN33d-RdRg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M1UFqguZEeWXe7AeBUbqvw" x="425" y="72"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_M1tuQAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_M1tuQQuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M1tuQwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_u-qioOUTEd-P08Bciq_LqQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M1tuQguZEeWXe7AeBUbqvw" x="614" y="108"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_M2FhsAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_M2FhsQuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M2FhswuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M2FhsguZEeWXe7AeBUbqvw" x="190" y="72"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_M2WncAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_M2WncQuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M2WncwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M2WncguZEeWXe7AeBUbqvw" x="407" y="72"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_M2l4AAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_M2l4AQuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M2l4AwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_a4NKMOuMEeCTfOY57pgE3w"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M2l4AguZEeWXe7AeBUbqvw" x="308" y="153"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_M21voAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_M21voQuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M21vowuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_Zx2ZUA1jEd6tvthBDl600Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M21voguZEeWXe7AeBUbqvw" x="614" y="18"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_M3IDgAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_M3IDgQuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M3IDgwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M3IDgguZEeWXe7AeBUbqvw" x="260" y="333"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_M3U30AuZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_M3U30QuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M3U30wuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_KEMp0CNYEeGj_4swHBbKwg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M3U30guZEeWXe7AeBUbqvw" x="614" y="319"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ZJgGEMRfEeWvtvzLCnzMNA" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ZJh7QMRfEeWvtvzLCnzMNA" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ZJh7QcRfEeWvtvzLCnzMNA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ZJh7QsRfEeWvtvzLCnzMNA" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ZJh7Q8RfEeWvtvzLCnzMNA" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ZJh7RMRfEeWvtvzLCnzMNA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZJh7RcRfEeWvtvzLCnzMNA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ZKRiIMRfEeWvtvzLCnzMNA" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ZKRiIcRfEeWvtvzLCnzMNA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZKRiIsRfEeWvtvzLCnzMNA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_bhreYMRfEeWvtvzLCnzMNA" type="Port_Shape">
+        <children xmi:type="notation:DecorationNode" xmi:id="_bhsFcMRfEeWvtvzLCnzMNA" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_bhsFccRfEeWvtvzLCnzMNA" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_bhsFcsRfEeWvtvzLCnzMNA" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_bhsFc8RfEeWvtvzLCnzMNA" x="25" y="-10"/>
+        </children>
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_fNheAMRfEeWvtvzLCnzMNA" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_2elREMRcEeWq5unKf5DK_A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhreYcRfEeWvtvzLCnzMNA" y="35"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_zDDlYMRcEeWq5unKf5DK_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZJgGEcRfEeWvtvzLCnzMNA" x="60" y="14" width="221" height="67"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_UYOI4D0zEeaQfbTekb55bw" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_UYPXAD0zEeaQfbTekb55bw" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_UYPXAT0zEeaQfbTekb55bw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_UYPXAj0zEeaQfbTekb55bw" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_UYPXAz0zEeaQfbTekb55bw" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_UYPXBD0zEeaQfbTekb55bw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UYPXBT0zEeaQfbTekb55bw"/>
+      </children>
+      <element xmi:type="uml:Class" href="statemachine.uml#_MyJIUD0zEeaQfbTekb55bw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UYOI4T0zEeaQfbTekb55bw" x="193" y="468"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__tbRkEVFEeaqgqiOqzyU4w" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="__tbRkUVFEeaqgqiOqzyU4w"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="__tbRk0VFEeaqgqiOqzyU4w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_MyJIUD0zEeaQfbTekb55bw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__tbRkkVFEeaqgqiOqzyU4w" x="393" y="468"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_deScIeUTEd-P08Bciq_LqQ"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_MttBzguZEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Model" href="statemachine.uml#_ago_QOUTEd-P08Bciq_LqQ"/>
+    <edges xmi:type="notation:Connector" xmi:id="_OUdrkDXLEeCZ5ODDEHnvRw" type="Generalization_Edge" source="_u-vbIOUTEd-P08Bciq_LqQ" target="_OTiegDXLEeCZ5ODDEHnvRw" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OUfgwDXLEeCZ5ODDEHnvRw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_I4Q5gMTeEeWfEYAFL-UFuw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_OUfgwTXLEeCZ5ODDEHnvRw" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_OUdrkTXLEeCZ5ODDEHnvRw" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="statemachine.uml#_3LpLIOUTEd-P08Bciq_LqQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OUdrkjXLEeCZ5ODDEHnvRw" points="[414, 108, -643984, -643984]$[500, 81, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_I3pOcMTeEeWfEYAFL-UFuw" id="(0.48847926267281105,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HtwOMMTeEeWfEYAFL-UFuw" id="(0.48847926267281105,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_KOQVYOuMEeCTfOY57pgE3w" type="Comment_AnnotatedElementEdge" source="_9DtmsOuLEeCTfOY57pgE3w" target="_u-vbIOUTEd-P08Bciq_LqQ" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_KOQVYeuMEeCTfOY57pgE3w" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KOQVYuuMEeCTfOY57pgE3w" points="[680, 115, -643984, -643984]$[680, 160, -643984, -643984]$[631, 160, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KOSxoOuMEeCTfOY57pgE3w" id="(0.15384615384615385,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KOSxoeuMEeCTfOY57pgE3w" id="(1.0,0.31901840490797545)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Q2fnQBE0EeG3cfLoiI6G7g" type="Dependency_Edge" source="_en03EOUTEd-P08Bciq_LqQ" target="_OlJPsBE0EeG3cfLoiI6G7g" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Q2g1YBE0EeG3cfLoiI6G7g" visible="false" type="Dependency_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Q2g1YRE0EeG3cfLoiI6G7g" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Q2g1YhE0EeG3cfLoiI6G7g" type="Dependency_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Q2g1YxE0EeG3cfLoiI6G7g" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Q2fnQRE0EeG3cfLoiI6G7g" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Dependency" href="statemachine.uml#_Q2C7UBE0EeG3cfLoiI6G7g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Q2fnQhE0EeG3cfLoiI6G7g" points="[2, 10, 0, -40]$[4, 39, 2, -11]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Q3E2EBE0EeG3cfLoiI6G7g" id="(0.19574468085106383,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Q3E2ERE0EeG3cfLoiI6G7g" id="(0.5757575757575758,0.18333333333333332)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Rq3DcBE0EeG3cfLoiI6G7g" type="Dependency_Edge" source="_en03EOUTEd-P08Bciq_LqQ" target="_Py6qYBE0EeG3cfLoiI6G7g" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Rq3qgBE0EeG3cfLoiI6G7g" visible="false" type="Dependency_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Rq3qgRE0EeG3cfLoiI6G7g" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Rq3qghE0EeG3cfLoiI6G7g" type="Dependency_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Rq3qgxE0EeG3cfLoiI6G7g" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Rq3DcRE0EeG3cfLoiI6G7g" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Dependency" href="statemachine.uml#_RqmkwBE0EeG3cfLoiI6G7g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Rq3DchE0EeG3cfLoiI6G7g" points="[-8, 12, -5, -61]$[-8, 43, -5, -30]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RrUWcBE0EeG3cfLoiI6G7g" id="(0.8212765957446808,0.9815950920245399)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KaKKEMTeEeWfEYAFL-UFuw" id="(0.4666666666666667,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_M01khAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_en03EOUTEd-P08Bciq_LqQ" target="_M01kgAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_M01khQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M01kiQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_ens7QOUTEd-P08Bciq_LqQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M01khguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M01khwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M01kiAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_M1BKvAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_u83s4PRUEeCKVJwdD4MMsg" target="_M1BKuAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_M1BKvQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M1BKwQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_u7pk4PRUEeCKVJwdD4MMsg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M1BKvguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M1BKvwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M1BKwAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_M1UFrAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_xVjd8F8wEeGerN33d-RdRg" target="_M1UFqAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_M1UFrQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M1UFsQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_xUE3QF8wEeGerN33d-RdRg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M1UFrguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M1UFrwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M1UFsAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_M1tuRAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_u-vbIOUTEd-P08Bciq_LqQ" target="_M1tuQAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_M1tuRQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M1tuSQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_u-qioOUTEd-P08Bciq_LqQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M1tuRguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M1tuRwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M1tuSAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_M2FhtAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_WeNZ4DXLEeCZ5ODDEHnvRw" target="_M2FhsAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_M2FhtQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M2FhuQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M2FhtguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M2FhtwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M2FhuAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_M2WndAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_YK7aYDXLEeCZ5ODDEHnvRw" target="_M2WncAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_M2WndQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M2WneQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M2WndguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M2WndwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M2WneAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_M2l4BAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_a7sjEOuMEeCTfOY57pgE3w" target="_M2l4AAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_M2l4BQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M2l4CQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_a4NKMOuMEeCTfOY57pgE3w"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M2l4BguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M2l4BwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M2l4CAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_M21vpAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_OTiegDXLEeCZ5ODDEHnvRw" target="_M21voAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_M21vpQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M21vqQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_Zx2ZUA1jEd6tvthBDl600Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M21vpguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M21vpwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M21vqAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_M3IDhAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_OlJPsBE0EeG3cfLoiI6G7g" target="_M3IDgAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_M3IDhQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M3IDiQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M3IDhguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M3IDhwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M3IDiAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_M3U31AuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_KR_OMCNYEeGj_4swHBbKwg" target="_M3U30AuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_M3U31QuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M3U32QuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_KEMp0CNYEeGj_4swHBbKwg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M3U31guZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M3U31wuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M3U32AuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dr0asMRfEeWvtvzLCnzMNA" type="Generalization_Edge" source="_en03EOUTEd-P08Bciq_LqQ" target="_ZJgGEMRfEeWvtvzLCnzMNA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dr0as8RfEeWvtvzLCnzMNA" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dr0atMRfEeWvtvzLCnzMNA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dr0ascRfEeWvtvzLCnzMNA"/>
+      <element xmi:type="uml:Generalization" href="statemachine.uml#_drKTYMRfEeWvtvzLCnzMNA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dr0assRfEeWvtvzLCnzMNA" points="[160, 135, -643984, -643984]$[160, 81, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dsvAsMRfEeWvtvzLCnzMNA" id="(0.45248868778280543,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dsvnwMRfEeWvtvzLCnzMNA" id="(0.45248868778280543,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="__tbRlEVFEeaqgqiOqzyU4w" type="StereotypeCommentLink" source="_UYOI4D0zEeaQfbTekb55bw" target="__tbRkEVFEeaqgqiOqzyU4w">
+      <styles xmi:type="notation:FontStyle" xmi:id="__tbRlUVFEeaqgqiOqzyU4w"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="__tbRmUVFEeaqgqiOqzyU4w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_MyJIUD0zEeaQfbTekb55bw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__tbRlkVFEeaqgqiOqzyU4w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__tbRl0VFEeaqgqiOqzyU4w"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__tbRmEVFEeaqgqiOqzyU4w"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_hky-AOuMEeCTfOY57pgE3w" type="PapyrusUMLClassDiagram" name="Enumerations" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_urYSoCdFEea3Ob5UfxuCGA" type="Enumeration_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_urbV8CdFEea3Ob5UfxuCGA" type="Enumeration_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_urbV8SdFEea3Ob5UfxuCGA" type="Enumeration_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_urbV8idFEea3Ob5UfxuCGA" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_urb9ACdFEea3Ob5UfxuCGA" type="Enumeration_LiteralCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_ESBD4CdGEea3Ob5UfxuCGA" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="statemachine.uml#_ER5vICdGEea3Ob5UfxuCGA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ESBD4SdGEea3Ob5UfxuCGA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_FvmcMCdGEea3Ob5UfxuCGA" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="statemachine.uml#_FvfugCdGEea3Ob5UfxuCGA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FvmcMSdGEea3Ob5UfxuCGA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_GPjHkCdGEea3Ob5UfxuCGA" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="statemachine.uml#_GPdA8CdGEea3Ob5UfxuCGA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_GPjHkSdGEea3Ob5UfxuCGA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_GreOkCdGEea3Ob5UfxuCGA" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="statemachine.uml#_GrYH8CdGEea3Ob5UfxuCGA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_GreOkSdGEea3Ob5UfxuCGA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_urb9ASdFEea3Ob5UfxuCGA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_urb9AidFEea3Ob5UfxuCGA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_urb9AydFEea3Ob5UfxuCGA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_urb9BCdFEea3Ob5UfxuCGA"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="statemachine.uml#_uYyt0CdFEea3Ob5UfxuCGA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_urYSoSdFEea3Ob5UfxuCGA" x="117" y="76" width="201" height="108"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_hPZiwCdSEea6h5xPEh8iAg" type="Enumeration_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_hPfCUCdSEea6h5xPEh8iAg" type="Enumeration_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_hPfCUSdSEea6h5xPEh8iAg" type="Enumeration_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hPfCUidSEea6h5xPEh8iAg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hPfpYCdSEea6h5xPEh8iAg" type="Enumeration_LiteralCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_kWf2kCdSEea6h5xPEh8iAg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="statemachine.uml#_kWR0ICdSEea6h5xPEh8iAg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kWf2kSdSEea6h5xPEh8iAg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_58dSYCdSEea6h5xPEh8iAg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="statemachine.uml#_tj4MICdSEea6h5xPEh8iAg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_58dSYSdSEea6h5xPEh8iAg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_58eggCdSEea6h5xPEh8iAg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="statemachine.uml#_nY3bYCdSEea6h5xPEh8iAg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_58eggSdSEea6h5xPEh8iAg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_58fHkCdSEea6h5xPEh8iAg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="statemachine.uml#_pgWsUCdSEea6h5xPEh8iAg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_58fHkSdSEea6h5xPEh8iAg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_58fuoCdSEea6h5xPEh8iAg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="statemachine.uml#_sGQXkCdSEea6h5xPEh8iAg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_58fuoSdSEea6h5xPEh8iAg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_58gVsCdSEea6h5xPEh8iAg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="statemachine.uml#_uSWbsCdSEea6h5xPEh8iAg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_58gVsSdSEea6h5xPEh8iAg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_BNUXED0vEeaKAZ77fvU8gg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="statemachine.uml#_BF78sD0vEeaKAZ77fvU8gg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_BNUXET0vEeaKAZ77fvU8gg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hPfpYSdSEea6h5xPEh8iAg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_hPfpYidSEea6h5xPEh8iAg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_hPfpYydSEea6h5xPEh8iAg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hPfpZCdSEea6h5xPEh8iAg"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="statemachine.uml#_hNs5oCdSEea6h5xPEh8iAg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hPZiwSdSEea6h5xPEh8iAg" x="400" y="40" width="257" height="199"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_4Z9QkCmREearkPe7QerpcQ" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_4Z-esCmREearkPe7QerpcQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_4Z-esSmREearkPe7QerpcQ" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_4Z-esimREearkPe7QerpcQ" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_4Z_FwCmREearkPe7QerpcQ" type="Class_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_FlKtoCmSEearkPe7QerpcQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="statemachine.uml#_jliRwCkVEea0-deBroAIbQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FlKtoSmSEearkPe7QerpcQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_FlLUsCmSEearkPe7QerpcQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="statemachine.uml#_mnUAsCkVEea0-deBroAIbQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FlLUsSmSEearkPe7QerpcQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_FlL7wCmSEearkPe7QerpcQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="statemachine.uml#_p12ZQCkVEea0-deBroAIbQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FlL7wSmSEearkPe7QerpcQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_FlL7wimSEearkPe7QerpcQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="statemachine.uml#_rzKagCkVEea0-deBroAIbQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FlL7wymSEearkPe7QerpcQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_FlMi0CmSEearkPe7QerpcQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="statemachine.uml#_trCiICkVEea0-deBroAIbQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FlMi0SmSEearkPe7QerpcQ"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_4Z_FwSmREearkPe7QerpcQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_4Z_FwimREearkPe7QerpcQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_4Z_FwymREearkPe7QerpcQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4Z_FxCmREearkPe7QerpcQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_4Z_FxSmREearkPe7QerpcQ" type="Class_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_FlMi0imSEearkPe7QerpcQ" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="statemachine.uml#_ZmpmwCkVEea0-deBroAIbQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FlMi0ymSEearkPe7QerpcQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_FlNJ4CmSEearkPe7QerpcQ" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="statemachine.uml#_-pXrgCkVEea0-deBroAIbQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FlNJ4SmSEearkPe7QerpcQ"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_4Z_FximREearkPe7QerpcQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_4Z_FxymREearkPe7QerpcQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_4Z_FyCmREearkPe7QerpcQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4Z_FySmREearkPe7QerpcQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_4Z_FyimREearkPe7QerpcQ" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_4Z_FyymREearkPe7QerpcQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_4Z_FzCmREearkPe7QerpcQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_4Z_FzSmREearkPe7QerpcQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4Z_FzimREearkPe7QerpcQ"/>
+      </children>
+      <element xmi:type="uml:Class" href="statemachine.uml#_4Z1UwCmREearkPe7QerpcQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4Z9QkSmREearkPe7QerpcQ" x="71" y="272" width="602"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_6tA4UCmREearkPe7QerpcQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_6tA4USmREearkPe7QerpcQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6tA4UymREearkPe7QerpcQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Property" href="statemachine.uml#_jliRwCkVEea0-deBroAIbQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6tA4UimREearkPe7QerpcQ" x="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_3fp-4EVFEeaqgqiOqzyU4w" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3fr0EEVFEeaqgqiOqzyU4w" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_3fr0EUVFEeaqgqiOqzyU4w" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3fr0EkVFEeaqgqiOqzyU4w" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_3fr0E0VFEeaqgqiOqzyU4w" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_3fr0FEVFEeaqgqiOqzyU4w"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_3fr0FUVFEeaqgqiOqzyU4w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_3fr0FkVFEeaqgqiOqzyU4w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3fr0F0VFEeaqgqiOqzyU4w"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_3fsbIEVFEeaqgqiOqzyU4w" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_3fsbIUVFEeaqgqiOqzyU4w"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_3fsbIkVFEeaqgqiOqzyU4w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_3fsbI0VFEeaqgqiOqzyU4w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3fsbJEVFEeaqgqiOqzyU4w"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_3fsbJUVFEeaqgqiOqzyU4w" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_3fsbJkVFEeaqgqiOqzyU4w"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_3fsbJ0VFEeaqgqiOqzyU4w"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_3fsbKEVFEeaqgqiOqzyU4w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3fsbKUVFEeaqgqiOqzyU4w"/>
+      </children>
+      <element xmi:type="uml:Class" href="statemachine.uml#_dWxYQD0zEeaQfbTekb55bw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3fp-4UVFEeaqgqiOqzyU4w" x="774" y="248"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_3fx6s0VFEeaqgqiOqzyU4w" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_3fx6tEVFEeaqgqiOqzyU4w"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3fx6tkVFEeaqgqiOqzyU4w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_dWxYQD0zEeaQfbTekb55bw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3fx6tUVFEeaqgqiOqzyU4w" x="200"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_hky-AeuMEeCTfOY57pgE3w"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_M3q2EguZEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Model" href="statemachine.uml#_ago_QOUTEd-P08Bciq_LqQ"/>
+    <edges xmi:type="notation:Connector" xmi:id="_6tA4VCmREearkPe7QerpcQ" type="StereotypeCommentLink" target="_6tA4UCmREearkPe7QerpcQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_6tA4VSmREearkPe7QerpcQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6tA4WSmREearkPe7QerpcQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Property" href="statemachine.uml#_jliRwCkVEea0-deBroAIbQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6tA4VimREearkPe7QerpcQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6tA4VymREearkPe7QerpcQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6tA4WCmREearkPe7QerpcQ"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_3fx6t0VFEeaqgqiOqzyU4w" type="StereotypeCommentLink" source="_3fp-4EVFEeaqgqiOqzyU4w" target="_3fx6s0VFEeaqgqiOqzyU4w">
+      <styles xmi:type="notation:FontStyle" xmi:id="_3fx6uEVFEeaqgqiOqzyU4w"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3fx6vEVFEeaqgqiOqzyU4w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_dWxYQD0zEeaQfbTekb55bw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3fx6uUVFEeaqgqiOqzyU4w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3fx6ukVFEeaqgqiOqzyU4w"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3fx6u0VFEeaqgqiOqzyU4w"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_-9eIUOx1EeCeNZHeHxkazQ" type="PapyrusUMLClassDiagram" name="Associ" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_ABwP0Ox2EeCeNZHeHxkazQ" type="2008" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ABw24Ox2EeCeNZHeHxkazQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ABxd8Ox2EeCeNZHeHxkazQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ABxd8ex2EeCeNZHeHxkazQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ABxd8ux2EeCeNZHeHxkazQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ABxd8-x2EeCeNZHeHxkazQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ABxd9Ox2EeCeNZHeHxkazQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_AByFAOx2EeCeNZHeHxkazQ" type="5029"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AByFAex2EeCeNZHeHxkazQ" type="7017">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AByFAux2EeCeNZHeHxkazQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AByFA-x2EeCeNZHeHxkazQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AByFBOx2EeCeNZHeHxkazQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AByFBex2EeCeNZHeHxkazQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AByFBux2EeCeNZHeHxkazQ" type="7018">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AByFB-x2EeCeNZHeHxkazQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AByFCOx2EeCeNZHeHxkazQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AByFCex2EeCeNZHeHxkazQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AByFCux2EeCeNZHeHxkazQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AByFC-x2EeCeNZHeHxkazQ" visible="false" type="7019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AByFDOx2EeCeNZHeHxkazQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AByFDex2EeCeNZHeHxkazQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AByFDux2EeCeNZHeHxkazQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AByFD-x2EeCeNZHeHxkazQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JtQh8HJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JtQh8XJVEeOMF7YEvnQt5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JtQh8nJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_M5Kq4AuZEeWXe7AeBUbqvw" type="8510">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_M5Kq4QuZEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_6uRBMOuqEeCTfOY57pgE3w"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ABwP0ex2EeCeNZHeHxkazQ" x="468" y="126"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AwlrwOx2EeCeNZHeHxkazQ" type="2008" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Awng8Ox2EeCeNZHeHxkazQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Awng8ex2EeCeNZHeHxkazQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Awng8ux2EeCeNZHeHxkazQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Awng8-x2EeCeNZHeHxkazQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Awng9Ox2EeCeNZHeHxkazQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AwoIAOx2EeCeNZHeHxkazQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_AwoIAex2EeCeNZHeHxkazQ" type="5029"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AwoIAux2EeCeNZHeHxkazQ" type="7017">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AwoIA-x2EeCeNZHeHxkazQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AwoIBOx2EeCeNZHeHxkazQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AwoIBex2EeCeNZHeHxkazQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AwoIBux2EeCeNZHeHxkazQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AwoIB-x2EeCeNZHeHxkazQ" type="7018">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AwoICOx2EeCeNZHeHxkazQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AwoICex2EeCeNZHeHxkazQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AwoICux2EeCeNZHeHxkazQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AwoIC-x2EeCeNZHeHxkazQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AwoIDOx2EeCeNZHeHxkazQ" visible="false" type="7019">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AwoIDex2EeCeNZHeHxkazQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AwoIDux2EeCeNZHeHxkazQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AwoID-x2EeCeNZHeHxkazQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AwovEOx2EeCeNZHeHxkazQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JtSXIHJVEeOMF7YEvnQt5g" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JtSXIXJVEeOMF7YEvnQt5g" showTitle="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JtSXInJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JtS-MHJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JtS-MXJVEeOMF7YEvnQt5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JtS-MnJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_M5Kq4guZEeWXe7AeBUbqvw" type="8510">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_M5Kq4wuZEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="statemachine.uml#_ens7QOUTEd-P08Bciq_LqQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Awlrwex2EeCeNZHeHxkazQ" x="162" y="126"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_M7rzZguZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_M7rzZwuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M7rzaQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_ens7QOUTEd-P08Bciq_LqQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M7rzaAuZEeWXe7AeBUbqvw" x="362" y="126"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_-9eIUex1EeCeNZHeHxkazQ"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_M5Kq5AuZEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.1.0"/>
+    <element xmi:type="uml:Package" href="statemachine.uml#_9J39cOupEeCTfOY57pgE3w"/>
+    <edges xmi:type="notation:Connector" xmi:id="_S-AYwO3GEeCHv5BGhoZ8CA" type="4001" source="_AwlrwOx2EeCeNZHeHxkazQ" target="_ABwP0Ox2EeCeNZHeHxkazQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_S-Bm4O3GEeCHv5BGhoZ8CA" type="6001">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_S-Bm4e3GEeCHv5BGhoZ8CA" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_S-CN8O3GEeCHv5BGhoZ8CA" visible="false" type="6002">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_S-CN8e3GEeCHv5BGhoZ8CA" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_S-CN8u3GEeCHv5BGhoZ8CA" type="6003">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_S-CN8-3GEeCHv5BGhoZ8CA" x="21" y="-25"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_S-CN9O3GEeCHv5BGhoZ8CA" type="6005">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_S-CN9e3GEeCHv5BGhoZ8CA" x="-12" y="29"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_S-C1AO3GEeCHv5BGhoZ8CA" type="6033">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_S-C1Ae3GEeCHv5BGhoZ8CA" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_S-C1Au3GEeCHv5BGhoZ8CA" type="6034">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_S-C1A-3GEeCHv5BGhoZ8CA" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_S-AYwe3GEeCHv5BGhoZ8CA" fontName="Sans Serif"/>
+      <element xmi:type="uml:Association" href="statemachine.uml#_S99VcO3GEeCHv5BGhoZ8CA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_S-AYwu3GEeCHv5BGhoZ8CA" points="[12, 3, -184, -6]$[193, -41, -3, -50]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_S-EDIO3GEeCHv5BGhoZ8CA" id="(0.88,0.41)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_M7rzaguZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_AwlrwOx2EeCeNZHeHxkazQ" target="_M7rzZguZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_M7rzawuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M7sacAuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_ens7QOUTEd-P08Bciq_LqQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M7rzbAuZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M7rzbQuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M7rzbguZEeWXe7AeBUbqvw"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_f3mAUPTXEeCn1-FCrfecFg" type="CompositeStructure" name="ContainerRules" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_hobr0PTXEeCn1-FCrfecFg" type="2073" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hobr0fTXEeCn1-FCrfecFg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hobr0vTXEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hobr0_TXEeCn1-FCrfecFg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hobr1PTXEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hobr1fTXEeCn1-FCrfecFg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hobr1vTXEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_hobr3fTXEeCn1-FCrfecFg" type="5156"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hobr3vTXEeCn1-FCrfecFg" type="7073">
+        <children xmi:type="notation:Shape" xmi:id="_hobr3_TXEeCn1-FCrfecFg" type="3070" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hobr4PTXEeCn1-FCrfecFg" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hobr4fTXEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hobr4vTXEeCn1-FCrfecFg" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hobr4_TXEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hobr5PTXEeCn1-FCrfecFg" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hobr5fTXEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_hobr5vTXEeCn1-FCrfecFg" type="5126">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pFVkoFl9EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pGMgQFl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_hobr5_TXEeCn1-FCrfecFg" visible="false" type="7077">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_hobr6PTXEeCn1-FCrfecFg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hobr6fTXEeCn1-FCrfecFg"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_tE-AkPTXEeCn1-FCrfecFg" type="3069" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tE-noPTXEeCn1-FCrfecFg" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tE-nofTXEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tE-novTXEeCn1-FCrfecFg" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tE-no_TXEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tE-npPTXEeCn1-FCrfecFg" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tE-npfTXEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_tE_OsPTXEeCn1-FCrfecFg" type="5125">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pmOEIFl9EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_po16UFl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_tE_OsfTXEeCn1-FCrfecFg" x="36" y="22"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_tE_OsvTXEeCn1-FCrfecFg" visible="false" type="6029">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_tE_Os_TXEeCn1-FCrfecFg" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="statemachine.uml#_a4NKMOuMEeCTfOY57pgE3w"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tE-AkfTXEeCn1-FCrfecFg" x="72" y="39"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_Jv6NUHJVEeOMF7YEvnQt5g" visible="false" type="AppliedStereotypeCompartement">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_Jv6NUXJVEeOMF7YEvnQt5g" showTitle="true"/>
+            <element xmi:type="FCM:InterceptionRule" href="statemachine.uml#_Z5CnUPUQEeCn1-FCrfecFg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jv6NUnJVEeOMF7YEvnQt5g"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_Jv6NU3JVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_Jv6NVHJVEeOMF7YEvnQt5g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jv6NVXJVEeOMF7YEvnQt5g"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_M70WQguZEeWXe7AeBUbqvw" type="6054">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_M70WQwuZEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="statemachine.uml#_LyxAEPTXEeCn1-FCrfecFg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hobr6vTXEeCn1-FCrfecFg" x="31" y="4" width="235" height="49"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_jXZIAPTXEeCn1-FCrfecFg" type="3070" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jXZvEPTXEeCn1-FCrfecFg" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jXaWIPTXEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jXaWIfTXEeCn1-FCrfecFg" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jXaWIvTXEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jXaWI_TXEeCn1-FCrfecFg" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jXaWJPTXEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_jXaWJfTXEeCn1-FCrfecFg" type="5126">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rL5ogFl9EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rSIzYFl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_jXaWJvTXEeCn1-FCrfecFg" visible="false" type="7077">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_jXa9MPTXEeCn1-FCrfecFg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jXa9MfTXEeCn1-FCrfecFg"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_vGo9YPTXEeCn1-FCrfecFg" type="3069" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vGpkcPTXEeCn1-FCrfecFg" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vGpkcfTXEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vGpkcvTXEeCn1-FCrfecFg" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vGpkc_TXEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vGpkdPTXEeCn1-FCrfecFg" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vGpkdfTXEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_vGpkdvTXEeCn1-FCrfecFg" type="5125">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qG2E8Fl9EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qJB2QFl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_vGpkd_TXEeCn1-FCrfecFg" x="-22" y="31"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_vGqLgPTXEeCn1-FCrfecFg" visible="false" type="6029">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_vGqLgfTXEeCn1-FCrfecFg" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vGo9YfTXEeCn1-FCrfecFg" x="-10" y="18"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_Jv8pkHJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_Jv8pkXJVEeOMF7YEvnQt5g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jv8pknJVEeOMF7YEvnQt5g"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_M70WRAuZEeWXe7AeBUbqvw" type="6054">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_M70WRQuZEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="statemachine.uml#_jXX54PTXEeCn1-FCrfecFg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jXZIAfTXEeCn1-FCrfecFg" x="157" y="103" width="155" height="47"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_mv8YMPTXEeCn1-FCrfecFg" type="3070" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mv8_QPTXEeCn1-FCrfecFg" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mv8_QfTXEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mv8_QvTXEeCn1-FCrfecFg" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mv9mUPTXEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mv9mUfTXEeCn1-FCrfecFg" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mv9mUvTXEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_mv9mU_TXEeCn1-FCrfecFg" type="5126">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tGwLoFl9EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tKD-UFl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_mv9mVPTXEeCn1-FCrfecFg" visible="false" type="7077">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_mv9mVfTXEeCn1-FCrfecFg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mv9mVvTXEeCn1-FCrfecFg"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_1pwFEPTXEeCn1-FCrfecFg" type="3069" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1pwFEvTXEeCn1-FCrfecFg" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1pwFE_TXEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1pwFFPTXEeCn1-FCrfecFg" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1pwFFfTXEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1pwFFvTXEeCn1-FCrfecFg" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1pwFF_TXEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_1pwFGPTXEeCn1-FCrfecFg" type="5125">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_r4clcFl9EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r-rwUFl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_1pwsIPTXEeCn1-FCrfecFg" x="36" y="-12"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_1pwsIfTXEeCn1-FCrfecFg" visible="false" type="6029">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_1pwsIvTXEeCn1-FCrfecFg" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="statemachine.uml#_u7pk4PRUEeCKVJwdD4MMsg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1pwFEfTXEeCn1-FCrfecFg" x="72" y="-10"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_Jv_F0HJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_Jv_F0XJVEeOMF7YEvnQt5g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jv_F0nJVEeOMF7YEvnQt5g"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_M70WRguZEeWXe7AeBUbqvw" type="6054">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_M70WRwuZEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="statemachine.uml#_mv6jAPTXEeCn1-FCrfecFg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mv8YMfTXEeCn1-FCrfecFg" x="31" y="211" width="235" height="46"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_vjc9kCWdEeGX6PuSE-DJlQ" type="3070" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vjeLsCWdEeGX6PuSE-DJlQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vjeLsSWdEeGX6PuSE-DJlQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vjeLsiWdEeGX6PuSE-DJlQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vjeLsyWdEeGX6PuSE-DJlQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vjeLtCWdEeGX6PuSE-DJlQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vjeLtSWdEeGX6PuSE-DJlQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_vjeLtiWdEeGX6PuSE-DJlQ" type="5126">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6cCKsFl9EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6gaUYFl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_vjeywCWdEeGX6PuSE-DJlQ" visible="false" type="7077">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_vjeywSWdEeGX6PuSE-DJlQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vjeywiWdEeGX6PuSE-DJlQ"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_3QYNACWdEeGX6PuSE-DJlQ" type="3069" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3QrvACWdEeGX6PuSE-DJlQ" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3QrvASWdEeGX6PuSE-DJlQ" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3QrvAiWdEeGX6PuSE-DJlQ" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3QrvAyWdEeGX6PuSE-DJlQ" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3QrvBCWdEeGX6PuSE-DJlQ" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3QrvBSWdEeGX6PuSE-DJlQ" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_3QrvBiWdEeGX6PuSE-DJlQ" type="5125">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IjtWACWeEeGX6PuSE-DJlQ" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0KpsMFl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="12"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_3QrvByWdEeGX6PuSE-DJlQ" x="-35" y="-18"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_3QsWECWdEeGX6PuSE-DJlQ" visible="false" type="6029">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_3QsWESWdEeGX6PuSE-DJlQ" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3QYNASWdEeGX6PuSE-DJlQ" x="-10" y="18"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_3Qs9ICWdEeGX6PuSE-DJlQ" type="3069" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3Q0R4CWdEeGX6PuSE-DJlQ" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3Q0R4SWdEeGX6PuSE-DJlQ" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3Q0R4iWdEeGX6PuSE-DJlQ" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3Q0R4yWdEeGX6PuSE-DJlQ" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3Q0R5CWdEeGX6PuSE-DJlQ" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3Q0R5SWdEeGX6PuSE-DJlQ" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_3Q0R5iWdEeGX6PuSE-DJlQ" type="5125">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KT8o8ECXEeGa5NwyW9TCXg" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wy1b0Fl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="12"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_3Q0R5yWdEeGX6PuSE-DJlQ" x="18" y="-20"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_3Q0R6CWdEeGX6PuSE-DJlQ" visible="false" type="6029">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_3Q0R6SWdEeGX6PuSE-DJlQ" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Qs9ISWdEeGX6PuSE-DJlQ" x="126" y="18"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JwBiEHJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_JwBiEXJVEeOMF7YEvnQt5g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JwBiEnJVEeOMF7YEvnQt5g"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_M70WSAuZEeWXe7AeBUbqvw" type="6054">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_M70WSQuZEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="statemachine.uml#_vcPiUCWdEeGX6PuSE-DJlQ"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vjc9kSWdEeGX6PuSE-DJlQ" x="364" y="211" width="136" height="46"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_M-w8kAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_M-w8kQuZEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M-w8kwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Property" href="statemachine.uml#_LyxAEPTXEeCn1-FCrfecFg"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M-w8kguZEeWXe7AeBUbqvw" x="231" y="4"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_M-6GiAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_M-6GiQuZEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M-6GiwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_a4NKMOuMEeCTfOY57pgE3w"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M-6GiguZEeWXe7AeBUbqvw" x="272" y="39"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_M_FFoAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_M_FFoQuZEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M_FFowuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M_FFoguZEeWXe7AeBUbqvw" x="190" y="18"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_M_PdsAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_M_PdsQuZEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M_PdswuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_u7pk4PRUEeCKVJwdD4MMsg"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M_PdsguZEeWXe7AeBUbqvw" x="272" y="-10"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_M_jmxguZEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_M_jmxwuZEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M_jmyQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M_jmyAuZEeWXe7AeBUbqvw" x="190" y="18"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_M_swuAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_M_swuQuZEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M_swuwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M_swuguZEeWXe7AeBUbqvw" x="326" y="18"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hobr6_TXEeCn1-FCrfecFg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hobr7PTXEeCn1-FCrfecFg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Jv3xEHJVEeOMF7YEvnQt5g" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Jv3xEXJVEeOMF7YEvnQt5g" showTitle="true"/>
+        <element xmi:type="FCM:ContainerRule" href="statemachine.uml#_RmD0YPTXEeCn1-FCrfecFg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jv3xEnJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Jv4YIHJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Jv4YIXJVEeOMF7YEvnQt5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jv4YInJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_M70WQAuZEeWXe7AeBUbqvw" type="6089">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_M70WQQuZEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="statemachine.uml#_18qdsO67EeCZ9MjsZTV1zw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hobr7fTXEeCn1-FCrfecFg" x="72" y="38" width="550" height="334"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LwPYADeoEeGPyrZ5I3hMlA" type="2109" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LwPYAjeoEeGPyrZ5I3hMlA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LwPYAzeoEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LwP_EDeoEeGPyrZ5I3hMlA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LwP_ETeoEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LwP_EjeoEeGPyrZ5I3hMlA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LwP_EzeoEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_LwP_FDeoEeGPyrZ5I3hMlA" type="5192"/>
+      <element xmi:type="uml:Comment" href="statemachine.uml#_LuBKcDeoEeGPyrZ5I3hMlA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LwPYATeoEeGPyrZ5I3hMlA" x="198" y="396" width="424"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_M-kvUAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_M-kvUQuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M-kvUwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_18qdsO67EeCZ9MjsZTV1zw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M-kvUguZEeWXe7AeBUbqvw" x="272" y="38"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_f3mAUfTXEeCn1-FCrfecFg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_M709UAuZEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.1.0"/>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_QPH6EAuZEeWXe7AeBUbqvw" name="css_stylesheets">
+      <eObjectListValue xmi:type="css:EmbeddedStyleSheet" href="pathmap://QML_CORE/core.notation#_7gUz8Mc1EeSsAI2TZshUyg"/>
+    </styles>
+    <element xmi:type="uml:Package" href="statemachine.uml#_DEJCwF81EeGbQoflzrdx0g"/>
+    <edges xmi:type="notation:Connector" xmi:id="_-EO-EPTXEeCn1-FCrfecFg" type="4013" source="_1pwFEPTXEeCn1-FCrfecFg" target="_vGo9YPTXEeCn1-FCrfecFg" routing="Rectilinear" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_-EQMMPTXEeCn1-FCrfecFg" type="6025">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_-EQMMfTXEeCn1-FCrfecFg" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-EQMMvTXEeCn1-FCrfecFg" visible="false" type="6050">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_-EQMM_TXEeCn1-FCrfecFg" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-EQMNPTXEeCn1-FCrfecFg" visible="false" type="6051">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_-EQMNfTXEeCn1-FCrfecFg" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_-EQzQPTXEeCn1-FCrfecFg" visible="false" type="6052">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_-EQzQfTXEeCn1-FCrfecFg" y="20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_-EPlIPTXEeCn1-FCrfecFg" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Connector" href="statemachine.uml#_-DJY8PTXEeCn1-FCrfecFg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-EPlIfTXEeCn1-FCrfecFg" points="[3, -3, -94, 79]$[3, -76, -94, 6]$[85, -76, -12, 6]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-ERaUPTXEeCn1-FCrfecFg" id="(0.45,0.15)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_nINGYPUHEeCn1-FCrfecFg" type="4013" source="_tE-AkPTXEeCn1-FCrfecFg" target="_vGo9YPTXEeCn1-FCrfecFg" routing="Rectilinear" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_nIOUgPUHEeCn1-FCrfecFg" type="6025">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_nIOUgfUHEeCn1-FCrfecFg" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_nIOUgvUHEeCn1-FCrfecFg" visible="false" type="6050">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_nIOUg_UHEeCn1-FCrfecFg" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_nIO7kPUHEeCn1-FCrfecFg" visible="false" type="6051">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_nIO7kfUHEeCn1-FCrfecFg" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_nIO7kvUHEeCn1-FCrfecFg" visible="false" type="6052">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_nIO7k_UHEeCn1-FCrfecFg" y="20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_nINGYfUHEeCn1-FCrfecFg" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Connector" href="statemachine.uml#_nILRMPUHEeCn1-FCrfecFg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nINGYvUHEeCn1-FCrfecFg" points="[2, 10, -87, -56]$[2, 68, -87, 2]$[84, 68, -5, 2]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6HRBECQdEeGj_4swHBbKwg" id="(0.55,0.8)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4FuAECQdEeGj_4swHBbKwg" id="(0.45,0.2)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_jFHzwDeoEeGPyrZ5I3hMlA" type="4002" source="_LwPYADeoEeGPyrZ5I3hMlA" target="_hobr0PTXEeCn1-FCrfecFg" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_jFHzwTeoEeGPyrZ5I3hMlA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jFHzwjeoEeGPyrZ5I3hMlA" points="[1, -2, 0, 34]$[-1, -26, -2, 10]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jFnjADeoEeGPyrZ5I3hMlA" id="(0.294811320754717,0.03333333333333333)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jFnjATeoEeGPyrZ5I3hMlA" id="(0.4581818181818182,0.9700598802395209)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_M-kvVAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_hobr0PTXEeCn1-FCrfecFg" target="_M-kvUAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_M-kvVQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M-kvWQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_18qdsO67EeCZ9MjsZTV1zw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M-kvVguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M-kvVwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M-kvWAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_M-w8lAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_hobr3_TXEeCn1-FCrfecFg" target="_M-w8kAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_M-w8lQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M-w8mQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Property" href="statemachine.uml#_LyxAEPTXEeCn1-FCrfecFg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M-w8lguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M-w8lwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M-w8mAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_M-6GjAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_tE-AkPTXEeCn1-FCrfecFg" target="_M-6GiAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_M-6GjQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M-6GkQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_a4NKMOuMEeCTfOY57pgE3w"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M-6GjguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M-6GjwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M-6GkAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_M_FFpAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_vGo9YPTXEeCn1-FCrfecFg" target="_M_FFoAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_M_FFpQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M_FFqQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M_FFpguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M_FFpwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M_FFqAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_M_PdtAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_1pwFEPTXEeCn1-FCrfecFg" target="_M_PdsAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_M_PdtQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M_PduQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_u7pk4PRUEeCKVJwdD4MMsg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M_PdtguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M_PdtwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M_PduAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_M_jmyguZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_3QYNACWdEeGX6PuSE-DJlQ" target="_M_jmxguZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_M_jmywuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M_jmzwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M_jmzAuZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M_jmzQuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M_jmzguZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_M_tXwAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_3Qs9ICWdEeGX6PuSE-DJlQ" target="_M_swuAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_M_tXwQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M_tXxQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M_tXwguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M_tXwwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M_tXxAuZEeWXe7AeBUbqvw"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_YNvtYP3HEeC1YdT2qA0bjA" type="PapyrusUMLClassDiagram" name="PackageTemplates" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_Z7x8gP3HEeC1YdT2qA0bjA" type="Package_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7yjkP3HEeC1YdT2qA0bjA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7yjkf3HEeC1YdT2qA0bjA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7yjkv3HEeC1YdT2qA0bjA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7yjk_3HEeC1YdT2qA0bjA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7yjlP3HEeC1YdT2qA0bjA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7yjlf3HEeC1YdT2qA0bjA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Z7yjlv3HEeC1YdT2qA0bjA" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_FOvugCmOEeawvKuMccmf1A" type="Package_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Z7yjmP3HEeC1YdT2qA0bjA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7yjmf3HEeC1YdT2qA0bjA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_afY_4P3HEeC1YdT2qA0bjA" type="TemplateSignature_Shape" fontName="Sans Serif" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_afaOAP3HEeC1YdT2qA0bjA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_afaOAf3HEeC1YdT2qA0bjA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_afaOAv3HEeC1YdT2qA0bjA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_afaOA_3HEeC1YdT2qA0bjA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_afaOBP3HEeC1YdT2qA0bjA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_afa1EP3HEeC1YdT2qA0bjA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_FOw8oCmOEeawvKuMccmf1A" type="TemplateSignature_TemplateParameterCompartment">
+          <children xmi:type="notation:Shape" xmi:id="_bZdbcP3HEeC1YdT2qA0bjA" type="ClassifierTemplateParameter_TemplateParameterLabel" fontName="Sans Serif" lineColor="0">
+            <element xmi:type="uml:ClassifierTemplateParameter" href="pathmap://QML_CORE/core.uml#_wfwIoOUYEd-P08Bciq_LqQ"/>
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_bZdbcf3HEeC1YdT2qA0bjA" x="16" y="7"/>
+          </children>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_afa1Ev3HEeC1YdT2qA0bjA"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_afa1E_3HEeC1YdT2qA0bjA"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_afa1FP3HEeC1YdT2qA0bjA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_afa1Ff3HEeC1YdT2qA0bjA"/>
+        </children>
+        <element xmi:type="uml:TemplateSignature" href="pathmap://QML_CORE/core.uml#_rNm5kOUYEd-P08Bciq_LqQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_afY_4f3HEeC1YdT2qA0bjA" x="181" y="8"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JyPvoHJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JyPvoXJVEeOMF7YEvnQt5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JyPvonJVEeOMF7YEvnQt5g"/>
+      </children>
+      <element xmi:type="uml:Package" href="pathmap://QML_CORE/core.uml#_m7SIwOUYEd-P08Bciq_LqQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7x8gf3HEeC1YdT2qA0bjA" x="106" y="65"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dpF7wP3HEeC1YdT2qA0bjA" type="Package_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dpGi0P3HEeC1YdT2qA0bjA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dpGi0f3HEeC1YdT2qA0bjA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dpHJ4P3HEeC1YdT2qA0bjA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dpHJ4f3HEeC1YdT2qA0bjA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dpHJ4v3HEeC1YdT2qA0bjA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dpHJ4_3HEeC1YdT2qA0bjA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_dpHJ5P3HEeC1YdT2qA0bjA" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_FOw8oSmOEeawvKuMccmf1A" type="Package_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dpHJ5v3HEeC1YdT2qA0bjA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dpHJ5_3HEeC1YdT2qA0bjA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_g_daoP3HEeC1YdT2qA0bjA" type="TemplateSignature_Shape" fontName="Sans Serif" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_g_eBsP3HEeC1YdT2qA0bjA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g_eBsf3HEeC1YdT2qA0bjA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_g_eBsv3HEeC1YdT2qA0bjA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g_eBs_3HEeC1YdT2qA0bjA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_g_eBtP3HEeC1YdT2qA0bjA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g_eBtf3HEeC1YdT2qA0bjA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_FOxjsCmOEeawvKuMccmf1A" type="TemplateSignature_TemplateParameterCompartment">
+          <children xmi:type="notation:Shape" xmi:id="_iFmjUP3HEeC1YdT2qA0bjA" type="ClassifierTemplateParameter_TemplateParameterLabel" fontName="Sans Serif" lineColor="0">
+            <element xmi:type="uml:ClassifierTemplateParameter" href="pathmap://QML_CORE/core.uml#_WzWVUPfBEd2TbIfwytOyPA"/>
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_iFmjUf3HEeC1YdT2qA0bjA" x="25" y="14"/>
+          </children>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_g_eBt_3HEeC1YdT2qA0bjA"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_g_eBuP3HEeC1YdT2qA0bjA"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_g_eBuf3HEeC1YdT2qA0bjA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g_eBuv3HEeC1YdT2qA0bjA"/>
+        </children>
+        <element xmi:type="uml:TemplateSignature" href="pathmap://QML_CORE/core.uml#_V0b2APfBEd2TbIfwytOyPA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g_daof3HEeC1YdT2qA0bjA" x="159" y="3"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JyQ9wHJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JyQ9wXJVEeOMF7YEvnQt5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JyQ9wnJVEeOMF7YEvnQt5g"/>
+      </children>
+      <element xmi:type="uml:Package" href="pathmap://QML_CORE/core.uml#_mMCK8PiPEd2UhpY2Y3WUyg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dpF7wf3HEeC1YdT2qA0bjA" x="450" y="72"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_jCm-IP3HEeC1YdT2qA0bjA" type="Package_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jCoMQP3HEeC1YdT2qA0bjA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jCoMQf3HEeC1YdT2qA0bjA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jCoMQv3HEeC1YdT2qA0bjA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jCoMQ_3HEeC1YdT2qA0bjA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jCoMRP3HEeC1YdT2qA0bjA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jCoMRf3HEeC1YdT2qA0bjA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_jCozUP3HEeC1YdT2qA0bjA" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_FOxjsSmOEeawvKuMccmf1A" type="Package_PackagedElementCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_xlmtgP3HEeC1YdT2qA0bjA" type="Class_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xlnUkP3HEeC1YdT2qA0bjA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xlnUkf3HEeC1YdT2qA0bjA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xlnUkv3HEeC1YdT2qA0bjA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xlnUk_3HEeC1YdT2qA0bjA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xln7oP3HEeC1YdT2qA0bjA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xln7of3HEeC1YdT2qA0bjA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_xln7ov3HEeC1YdT2qA0bjA" type="Class_NameLabel_CN"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_xln7o_3HEeC1YdT2qA0bjA" visible="false" type="Class_AttributeCompartment_CN">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_xln7pP3HEeC1YdT2qA0bjA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_xln7pf3HEeC1YdT2qA0bjA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_xln7pv3HEeC1YdT2qA0bjA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xln7p_3HEeC1YdT2qA0bjA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_xln7qP3HEeC1YdT2qA0bjA" visible="false" type="Class_OperationCompartment_CN">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_xln7qf3HEeC1YdT2qA0bjA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_xln7qv3HEeC1YdT2qA0bjA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_xln7q_3HEeC1YdT2qA0bjA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xln7rP3HEeC1YdT2qA0bjA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_xln7rf3HEeC1YdT2qA0bjA" visible="false" type="Class_NestedClassifierCompartment_CN">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_xln7rv3HEeC1YdT2qA0bjA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_xln7r_3HEeC1YdT2qA0bjA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_xln7sP3HEeC1YdT2qA0bjA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xln7sf3HEeC1YdT2qA0bjA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JyUBEHJVEeOMF7YEvnQt5g" visible="false" type="AppliedStereotypeCompartement">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_JyUBEXJVEeOMF7YEvnQt5g" showTitle="true"/>
+            <element xmi:type="C_Cpp:Include" href="statemachine.uml#_eGpZQBE1EeG3cfLoiI6G7g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JyUBEnJVEeOMF7YEvnQt5g"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JyUoIHJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_JyUoIXJVEeOMF7YEvnQt5g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JyUoInJVEeOMF7YEvnQt5g"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_M_7aMAuZEeWXe7AeBUbqvw" type="Class_FloatingNameLabel_CN">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_M_7aMQuZEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Class" href="statemachine.uml#_ens7QOUTEd-P08Bciq_LqQ"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xlmtgf3HEeC1YdT2qA0bjA" x="41" y="10" height="43"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_NCipVguZEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_NCipVwuZEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NCipWQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_ens7QOUTEd-P08Bciq_LqQ"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NCipWAuZEeWXe7AeBUbqvw" x="241" y="10"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_jCozUv3HEeC1YdT2qA0bjA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jCozU_3HEeC1YdT2qA0bjA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JySy8HJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JySy8XJVEeOMF7YEvnQt5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JySy8nJVEeOMF7YEvnQt5g"/>
+      </children>
+      <element xmi:type="uml:Package" href="statemachine.uml#_9J39cOupEeCTfOY57pgE3w"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jCnlMP3HEeC1YdT2qA0bjA" x="108" y="234"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_rjNtQP3HEeC1YdT2qA0bjA" type="Package_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rjOUUP3HEeC1YdT2qA0bjA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rjOUUf3HEeC1YdT2qA0bjA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rjOUUv3HEeC1YdT2qA0bjA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rjOUU_3HEeC1YdT2qA0bjA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rjOUVP3HEeC1YdT2qA0bjA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rjOUVf3HEeC1YdT2qA0bjA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rjOUVv3HEeC1YdT2qA0bjA" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_FOyKwCmOEeawvKuMccmf1A" type="Package_PackagedElementCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_vWQhEP3HEeC1YdT2qA0bjA" type="Class_Shape_CN" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vWRIIP3HEeC1YdT2qA0bjA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vWRvMP3HEeC1YdT2qA0bjA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vWRvMf3HEeC1YdT2qA0bjA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vWRvMv3HEeC1YdT2qA0bjA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vWRvM_3HEeC1YdT2qA0bjA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vWRvNP3HEeC1YdT2qA0bjA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_vWRvNf3HEeC1YdT2qA0bjA" type="Class_NameLabel_CN"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_vWSWQP3HEeC1YdT2qA0bjA" visible="false" type="Class_AttributeCompartment_CN">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_vWSWQf3HEeC1YdT2qA0bjA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_vWSWQv3HEeC1YdT2qA0bjA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_vWSWQ_3HEeC1YdT2qA0bjA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vWSWRP3HEeC1YdT2qA0bjA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_vWSWRf3HEeC1YdT2qA0bjA" visible="false" type="Class_OperationCompartment_CN">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_vWSWRv3HEeC1YdT2qA0bjA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_vWSWR_3HEeC1YdT2qA0bjA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_vWSWSP3HEeC1YdT2qA0bjA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vWSWSf3HEeC1YdT2qA0bjA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_vWSWSv3HEeC1YdT2qA0bjA" visible="false" type="Class_NestedClassifierCompartment_CN">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_vWSWS_3HEeC1YdT2qA0bjA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_vWSWTP3HEeC1YdT2qA0bjA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_vWSWTf3HEeC1YdT2qA0bjA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vWSWTv3HEeC1YdT2qA0bjA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JyYSgHJVEeOMF7YEvnQt5g" visible="false" type="AppliedStereotypeCompartement">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_JyYSgXJVEeOMF7YEvnQt5g" showTitle="true"/>
+            <element xmi:type="FCM:InteractionComponent" href="statemachine.uml#_hanSUOUUEd-P08Bciq_LqQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JyYSgnJVEeOMF7YEvnQt5g"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JyYSg3JVEeOMF7YEvnQt5g" visible="false" type="AppliedStereotypeCompartement">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_JyYShHJVEeOMF7YEvnQt5g" showTitle="true"/>
+            <element xmi:type="FCM:UseInstanceConfigurator" href="statemachine.uml#_StgB8CNYEeGj_4swHBbKwg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JyYShXJVEeOMF7YEvnQt5g"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JyY5kHJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_JyY5kXJVEeOMF7YEvnQt5g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JyY5knJVEeOMF7YEvnQt5g"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_M_8BQAuZEeWXe7AeBUbqvw" type="Class_FloatingNameLabel_CN">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_M_8BQQuZEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Class" href="statemachine.uml#_u-qioOUTEd-P08Bciq_LqQ"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vWQhEf3HEeC1YdT2qA0bjA" x="35" y="10" height="43"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_NC2LUAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_NC2LUQuZEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NC2LUwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_u-qioOUTEd-P08Bciq_LqQ"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NC2LUguZEeWXe7AeBUbqvw" x="235" y="10"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_rjO7YP3HEeC1YdT2qA0bjA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rjO7Yf3HEeC1YdT2qA0bjA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JyWdUHJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JyWdUXJVEeOMF7YEvnQt5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JyWdUnJVEeOMF7YEvnQt5g"/>
+      </children>
+      <element xmi:type="uml:Package" href="statemachine.uml#_i9AuoOUTEd-P08Bciq_LqQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rjNtQf3HEeC1YdT2qA0bjA" x="451" y="234"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_YNvtYf3HEeC1YdT2qA0bjA"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_M_8BQguZEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Model" href="statemachine.uml#_ago_QOUTEd-P08Bciq_LqQ"/>
+    <edges xmi:type="notation:Connector" xmi:id="_lvW4QP3HEeC1YdT2qA0bjA" type="PackageMerge_Edge" source="_jCm-IP3HEeC1YdT2qA0bjA" target="_Z7x8gP3HEeC1YdT2qA0bjA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_lvYtcP3HEeC1YdT2qA0bjA" type="PackageMerge_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_lvYtcf3HEeC1YdT2qA0bjA" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_lvW4Qf3HEeC1YdT2qA0bjA" fontName="Sans Serif"/>
+      <element xmi:type="uml:PackageMerge" href="statemachine.uml#_lvUcAP3HEeC1YdT2qA0bjA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lvW4Qv3HEeC1YdT2qA0bjA" points="[4, -30, 0, 104]$[10, -120, 6, 14]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nNSO0P3HEeC1YdT2qA0bjA" id="(0.555,0.22)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lvaioP3HEeC1YdT2qA0bjA" id="(0.58,0.86)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ttE8wP3HEeC1YdT2qA0bjA" type="PackageMerge_Edge" source="_rjNtQP3HEeC1YdT2qA0bjA" target="_dpF7wP3HEeC1YdT2qA0bjA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ttGK4P3HEeC1YdT2qA0bjA" type="PackageMerge_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ttGK4f3HEeC1YdT2qA0bjA" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_ttE8wf3HEeC1YdT2qA0bjA" fontName="Sans Serif"/>
+      <element xmi:type="uml:PackageMerge" href="statemachine.uml#_ttDuoP3HEeC1YdT2qA0bjA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ttE8wv3HEeC1YdT2qA0bjA" points="[4, -30, 5, 132]$[99, -155, 100, 7]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EiU2MP3IEeC1YdT2qA0bjA" id="(0.62,0.24)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D6k5sP3IEeC1YdT2qA0bjA" id="(0.58,0.98)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NCipWguZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_xlmtgP3HEeC1YdT2qA0bjA" target="_NCipVguZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NCipWwuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NCipXwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_ens7QOUTEd-P08Bciq_LqQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NCipXAuZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NCipXQuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NCipXguZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NC2LVAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_vWQhEP3HEeC1YdT2qA0bjA" target="_NC2LUAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NC2LVQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NC2LWQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_u-qioOUTEd-P08Bciq_LqQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NC2LVguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NC2LVwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NC2LWAuZEeWXe7AeBUbqvw"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_IOfaAF8wEeGerN33d-RdRg" type="CompositeStructure" name="Animation" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_xEbfcF81EeGbQoflzrdx0g" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xEctkF81EeGbQoflzrdx0g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xEctkV81EeGbQoflzrdx0g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xEctkl81EeGbQoflzrdx0g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xEctk181EeGbQoflzrdx0g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xEctlF81EeGbQoflzrdx0g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xEctlV81EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_xEdUoF81EeGbQoflzrdx0g" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_E4ll8PHjEeWTnO8eSKpRLw" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_xEdUol81EeGbQoflzrdx0g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xEdUo181EeGbQoflzrdx0g"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_z-vUcF81EeGbQoflzrdx0g" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z-v7gF81EeGbQoflzrdx0g" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z-v7gV81EeGbQoflzrdx0g" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z-v7gl81EeGbQoflzrdx0g" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z-v7g181EeGbQoflzrdx0g" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z-v7hF81EeGbQoflzrdx0g" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z-wikF81EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_z-wikV81EeGbQoflzrdx0g" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_z-wikl81EeGbQoflzrdx0g" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_z-wik181EeGbQoflzrdx0g" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_z-wilF81EeGbQoflzrdx0g" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="statemachine.uml#_z94Y0F81EeGbQoflzrdx0g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z-vUcV81EeGbQoflzrdx0g" x="-10" y="64" width="20" height="20"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J0Gw0HJVEeOMF7YEvnQt5g" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J0Gw0XJVEeOMF7YEvnQt5g" showTitle="true"/>
+        <element xmi:type="FCM:Singleton" href="statemachine.uml#_uqa34F_1EeGbQoflzrdx0g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J0Gw0nJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J0Gw03JVEeOMF7YEvnQt5g" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J0Gw1HJVEeOMF7YEvnQt5g" showTitle="true"/>
+        <element xmi:type="FCM:UseInstanceConfigurator" href="statemachine.uml#_VnhuMGGDEeO2F4QRMDSOXg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J0Gw1XJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J0HX4HJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J0HX4XJVEeOMF7YEvnQt5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J0HX4nJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_ZXfOMHg_EeOejZqJpKQeww" type="Port_Shape">
+        <children xmi:type="notation:DecorationNode" xmi:id="_ZXfOMng_EeOejZqJpKQeww" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZXfOM3g_EeOejZqJpKQeww" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ZXfONHg_EeOejZqJpKQeww" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZXfONXg_EeOejZqJpKQeww" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="statemachine.uml#_ZXYggHg_EeOejZqJpKQeww"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZXfOMXg_EeOejZqJpKQeww" x="274" y="72" width="20" height="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_NDC_oAuZEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_NDC_oQuZEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="statemachine.uml#_xELAwF81EeGbQoflzrdx0g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xEbfcV81EeGbQoflzrdx0g" x="203" y="116" width="284" height="128"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_B1CQgHg_EeOejZqJpKQeww" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_B1CQgng_EeOejZqJpKQeww" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_E4ll8fHjEeWTnO8eSKpRLw" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_B1C3kXg_EeOejZqJpKQeww"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B1C3kng_EeOejZqJpKQeww"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_B1LacHg_EeOejZqJpKQeww" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_B1LacXg_EeOejZqJpKQeww"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B1Lacng_EeOejZqJpKQeww"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JOz6cHg_EeOejZqJpKQeww" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JOz6cXg_EeOejZqJpKQeww" showTitle="true"/>
+        <element xmi:type="FCM:Singleton" href="statemachine.uml#_JOwQEHg_EeOejZqJpKQeww"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JOz6cng_EeOejZqJpKQeww"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_ML26YHg_EeOejZqJpKQeww" type="Port_Shape">
+        <children xmi:type="notation:DecorationNode" xmi:id="_ML3hcHg_EeOejZqJpKQeww" type="Port_NameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ML3hcXg_EeOejZqJpKQeww" x="25" y="3"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ML3hcng_EeOejZqJpKQeww" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ML3hc3g_EeOejZqJpKQeww" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="statemachine.uml#_MLu-kHg_EeOejZqJpKQeww"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ML26YXg_EeOejZqJpKQeww" x="-10" y="60" width="20" height="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_NDC_oguZEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_NDC_owuZEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="statemachine.uml#_B0gFAHg_EeOejZqJpKQeww"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B1CQgXg_EeOejZqJpKQeww" x="200" y="285" width="289" height="114"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_vOvOUHg_EeOejZqJpKQeww" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_vOvOUng_EeOejZqJpKQeww" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_E4mNAPHjEeWTnO8eSKpRLw" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_vOvOVHg_EeOejZqJpKQeww" showTitle="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vOvOVXg_EeOejZqJpKQeww"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_NDC_pAuZEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_NDC_pQuZEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="statemachine.uml#_QH7R8GGDEeO2F4QRMDSOXg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vOvOUXg_EeOejZqJpKQeww" x="570" y="289" width="211" height="110"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BLsjIHhAEeOejZqJpKQeww" type="Comment_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_BLsjInhAEeOejZqJpKQeww" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="statemachine.uml#_BLcrgHhAEeOejZqJpKQeww"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BLsjIXhAEeOejZqJpKQeww" x="547" y="417" width="234" height="60"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_NE29gAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_NE29gQuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NE29gwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_xELAwF81EeGbQoflzrdx0g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NE29gguZEeWXe7AeBUbqvw" x="403" y="116"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_NFDKxAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_NFDKxQuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NFDKxwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_z94Y0F81EeGbQoflzrdx0g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NFDKxguZEeWXe7AeBUbqvw" x="190" y="64"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_NFUQgAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_NFUQgQuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NFUQgwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_ZXYggHg_EeOejZqJpKQeww"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NFUQgguZEeWXe7AeBUbqvw" x="474" y="72"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_NFt5IguZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_NFt5IwuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NFt5JQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_B0gFAHg_EeOejZqJpKQeww"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NFt5JAuZEeWXe7AeBUbqvw" x="400" y="285"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_NF6GYguZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_NF6GYwuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NF6GZQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_MLu-kHg_EeOejZqJpKQeww"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NF6GZAuZEeWXe7AeBUbqvw" x="190" y="60"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_NGHhwAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_NGHhwQuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NGHhwwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_QH7R8GGDEeO2F4QRMDSOXg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NGHhwguZEeWXe7AeBUbqvw" x="770" y="289"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_IOfaAV8wEeGerN33d-RdRg"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_NDC_pguZEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="statemachine.uml#_F5DMoF8wEeGerN33d-RdRg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_NE29hAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_xEbfcF81EeGbQoflzrdx0g" target="_NE29gAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NE29hQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NE29iQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_xELAwF81EeGbQoflzrdx0g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NE29hguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NE29hwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NE29iAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NFDKyAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_z-vUcF81EeGbQoflzrdx0g" target="_NFDKxAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NFDKyQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NFDKzQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_z94Y0F81EeGbQoflzrdx0g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NFDKyguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NFDKywuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NFDKzAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NFUQhAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_ZXfOMHg_EeOejZqJpKQeww" target="_NFUQgAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NFUQhQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NFUQiQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_ZXYggHg_EeOejZqJpKQeww"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NFUQhguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NFUQhwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NFUQiAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NFt5JguZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_B1CQgHg_EeOejZqJpKQeww" target="_NFt5IguZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NFt5JwuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NFugMQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_B0gFAHg_EeOejZqJpKQeww"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NFt5KAuZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NFt5KQuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NFugMAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NF6GZguZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_ML26YHg_EeOejZqJpKQeww" target="_NF6GYguZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NF6GZwuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NF6GawuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_MLu-kHg_EeOejZqJpKQeww"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NF6GaAuZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NF6GaQuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NF6GaguZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NGHhxAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_vOvOUHg_EeOejZqJpKQeww" target="_NGHhwAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NGHhxQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NGHhyQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_QH7R8GGDEeO2F4QRMDSOXg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NGHhxguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NGHhxwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NGHhyAuZEeWXe7AeBUbqvw"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_KwHpQF8wEeGerN33d-RdRg" type="PapyrusUMLClassDiagram" name="Animation" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_L-7lwF8wEeGerN33d-RdRg" type="2004" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_L-8M0F8wEeGerN33d-RdRg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_L-8M0V8wEeGerN33d-RdRg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_L-8M0l8wEeGerN33d-RdRg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_L-8M018wEeGerN33d-RdRg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_L-8M1F8wEeGerN33d-RdRg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_L-8M1V8wEeGerN33d-RdRg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_L-8z4F8wEeGerN33d-RdRg" type="5011"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_L-8z4V8wEeGerN33d-RdRg" visible="false" type="7006">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_L-8z4l8wEeGerN33d-RdRg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_L-8z418wEeGerN33d-RdRg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_L-8z5F8wEeGerN33d-RdRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L-8z5V8wEeGerN33d-RdRg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_L-8z5l8wEeGerN33d-RdRg" type="7007">
+        <children xmi:type="notation:Shape" xmi:id="_N3uTYF8wEeGerN33d-RdRg" type="3007" fontName="Sans Serif" lineColor="0">
+          <element xmi:type="uml:Operation" href="statemachine.uml#_N3m-oF8wEeGerN33d-RdRg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_N3uTYV8wEeGerN33d-RdRg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ZghigF8wEeGerN33d-RdRg" type="3007" fontName="Sans Serif" lineColor="0">
+          <element xmi:type="uml:Operation" href="statemachine.uml#_ZgY_oF8wEeGerN33d-RdRg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZghigV8wEeGerN33d-RdRg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_L-8z518wEeGerN33d-RdRg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_L-8z6F8wEeGerN33d-RdRg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_L-8z6V8wEeGerN33d-RdRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L-8z6l8wEeGerN33d-RdRg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_L-9a8F8wEeGerN33d-RdRg" visible="false" type="7008">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_L-9a8V8wEeGerN33d-RdRg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_L-9a8l8wEeGerN33d-RdRg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_L-9a818wEeGerN33d-RdRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L-9a9F8wEeGerN33d-RdRg"/>
+      </children>
+      <element xmi:type="uml:Interface" href="statemachine.uml#_L-I7kF8wEeGerN33d-RdRg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L-7lwV8wEeGerN33d-RdRg" x="175" y="129" width="339" height="88"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_KwHpQV8wEeGerN33d-RdRg"/>
+    <element xmi:type="uml:Package" href="statemachine.uml#_F5DMoF8wEeGerN33d-RdRg"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_Ogua0F81EeGbQoflzrdx0g" type="CompositeStructure" name="ContainerRules2" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_PMf7sF81EeGbQoflzrdx0g" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PMhJ0F81EeGbQoflzrdx0g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PMhw4F81EeGbQoflzrdx0g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PMhw4V81EeGbQoflzrdx0g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PMhw4l81EeGbQoflzrdx0g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PMhw4181EeGbQoflzrdx0g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PMhw5F81EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_PMiX8F81EeGbQoflzrdx0g" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_EdJnIPHjEeWTnO8eSKpRLw" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Qj1iEF81EeGbQoflzrdx0g" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qj2JIF81EeGbQoflzrdx0g" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qj2JIV81EeGbQoflzrdx0g" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qj2wMF81EeGbQoflzrdx0g" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qj2wMV81EeGbQoflzrdx0g" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qj2wMl81EeGbQoflzrdx0g" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qj2wM181EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Qj2wNF81EeGbQoflzrdx0g" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-fvQsFl9EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-ib_YFl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_EdK1QPHjEeWTnO8eSKpRLw" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_Qj2wNl81EeGbQoflzrdx0g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qj2wN181EeGbQoflzrdx0g"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_XQCUUF81EeGbQoflzrdx0g" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XQDicF81EeGbQoflzrdx0g" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XQDicV81EeGbQoflzrdx0g" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XQDicl81EeGbQoflzrdx0g" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XQDic181EeGbQoflzrdx0g" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XQDidF81EeGbQoflzrdx0g" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XQEJgF81EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_XQEJgV81EeGbQoflzrdx0g" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_78ZxQFl9EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7_ndUFl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_XQEJgl81EeGbQoflzrdx0g" x="-30" y="23"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_XQEJg181EeGbQoflzrdx0g" visible="false" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_XQEJhF81EeGbQoflzrdx0g" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="statemachine.uml#_a4NKMOuMEeCTfOY57pgE3w"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XQCUUV81EeGbQoflzrdx0g" x="18" y="64"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_J3dm0HJVEeOMF7YEvnQt5g" visible="false" type="AppliedStereotypeCompartement">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_J3dm0XJVEeOMF7YEvnQt5g" showTitle="true"/>
+            <element xmi:type="FCM:InterceptionRule" href="statemachine.uml#_IeaTEF81EeGbQoflzrdx0g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J3dm0nJVEeOMF7YEvnQt5g"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_J3dm03JVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_J3dm1HJVEeOMF7YEvnQt5g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J3dm1XJVEeOMF7YEvnQt5g"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_NGSg4guZEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_NGSg4wuZEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="statemachine.uml#_IeWosV81EeGbQoflzrdx0g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qj1iEV81EeGbQoflzrdx0g" x="38" y="10" width="225"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Qj5McF81EeGbQoflzrdx0g" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qj5zgF81EeGbQoflzrdx0g" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qj6akF81EeGbQoflzrdx0g" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qj6akV81EeGbQoflzrdx0g" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qj6akl81EeGbQoflzrdx0g" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qj6ak181EeGbQoflzrdx0g" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qj6alF81EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Qj7BoF81EeGbQoflzrdx0g" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9fG6IFl9EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9f6ycFl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_EdLcUPHjEeWTnO8eSKpRLw" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_Qj7Bol81EeGbQoflzrdx0g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qj7Bo181EeGbQoflzrdx0g"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_X1IlcF81EeGbQoflzrdx0g" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_X1JMgF81EeGbQoflzrdx0g" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X1JMgV81EeGbQoflzrdx0g" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_X1JzkF81EeGbQoflzrdx0g" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X1JzkV81EeGbQoflzrdx0g" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_X1Jzkl81EeGbQoflzrdx0g" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X1Jzk181EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_X1JzlF81EeGbQoflzrdx0g" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mUS1QHkjEeOMFc4T5KeVdg" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mUdNUHkjEeOMFc4T5KeVdg" key="CustomAppearance_MaskValue" value="524316"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_X1JzlV81EeGbQoflzrdx0g" x="29" y="9"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_X1Jzll81EeGbQoflzrdx0g" visible="false" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_X1Jzl181EeGbQoflzrdx0g" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X1IlcV81EeGbQoflzrdx0g" x="-10" y="23"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_J3gDEHJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_J3gDEXJVEeOMF7YEvnQt5g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J3gDEnJVEeOMF7YEvnQt5g"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_NGSg5AuZEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_NGSg5QuZEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="statemachine.uml#_IeWotV81EeGbQoflzrdx0g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qj5McV81EeGbQoflzrdx0g" x="99" y="85" width="191" height="55"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Qj8PwF81EeGbQoflzrdx0g" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qj9d4F81EeGbQoflzrdx0g" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qj9d4V81EeGbQoflzrdx0g" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qj9d4l81EeGbQoflzrdx0g" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qj9d4181EeGbQoflzrdx0g" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qj-E8F81EeGbQoflzrdx0g" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qj-E8V81EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Qj-E8l81EeGbQoflzrdx0g" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_APNqQFl-EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ASBGoFl-EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_EdLcUfHjEeWTnO8eSKpRLw" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_Qj-E9F81EeGbQoflzrdx0g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qj-E9V81EeGbQoflzrdx0g"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_Yl57EF81EeGbQoflzrdx0g" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Yl6iIF81EeGbQoflzrdx0g" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Yl7JMF81EeGbQoflzrdx0g" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Yl7JMV81EeGbQoflzrdx0g" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Yl7JMl81EeGbQoflzrdx0g" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Yl7JM181EeGbQoflzrdx0g" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Yl7JNF81EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_Yl7JNV81EeGbQoflzrdx0g" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__G-P0Fl9EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__MRmkFl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_Yl7JNl81EeGbQoflzrdx0g" x="-28" y="-18"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_Yl7JN181EeGbQoflzrdx0g" visible="false" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_Yl7JOF81EeGbQoflzrdx0g" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="statemachine.uml#_u7pk4PRUEeCKVJwdD4MMsg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Yl57EV81EeGbQoflzrdx0g" x="29"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_Yl7wQF81EeGbQoflzrdx0g" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Yl8XUF81EeGbQoflzrdx0g" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Yl8XUV81EeGbQoflzrdx0g" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Yl8XUl81EeGbQoflzrdx0g" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Yl8XU181EeGbQoflzrdx0g" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Yl8XVF81EeGbQoflzrdx0g" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Yl8XVV81EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_Yl8XVl81EeGbQoflzrdx0g" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AxQnYFl-EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_A02G4Fl-EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_Yl8XV181EeGbQoflzrdx0g" x="27" y="18"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_Yl8-YF81EeGbQoflzrdx0g" visible="false" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_Yl8-YV81EeGbQoflzrdx0g" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="statemachine.uml#_xUE3QF8wEeGerN33d-RdRg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Yl7wQV81EeGbQoflzrdx0g" x="18" y="54"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_J3h4QHJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_J3h4QXJVEeOMF7YEvnQt5g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J3h4QnJVEeOMF7YEvnQt5g"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_NGSg5guZEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_NGSg5wuZEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_zj3sEMRfEeWvtvzLCnzMNA" type="Port_Shape">
+            <children xmi:type="notation:DecorationNode" xmi:id="_zj4TIcRfEeWvtvzLCnzMNA" type="Port_NameLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_zj4TIsRfEeWvtvzLCnzMNA" x="-55" y="1"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_zj4TI8RfEeWvtvzLCnzMNA" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_zj4TJMRfEeWvtvzLCnzMNA" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_2elREMRcEeWq5unKf5DK_A"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zj4TIMRfEeWvtvzLCnzMNA" x="232" y="42"/>
+          </children>
+          <element xmi:type="uml:Property" href="statemachine.uml#_IeXPwV81EeGbQoflzrdx0g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qj8PwV81EeGbQoflzrdx0g" x="27" y="175" width="232" height="64"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Qj_6IF81EeGbQoflzrdx0g" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QkAhMF81EeGbQoflzrdx0g" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QkAhMV81EeGbQoflzrdx0g" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QkBIQF81EeGbQoflzrdx0g" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QkBIQV81EeGbQoflzrdx0g" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QkBIQl81EeGbQoflzrdx0g" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QkBIQ181EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_QkBIRF81EeGbQoflzrdx0g" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GH4t0Fl-EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GN7EYFl-EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_EdLcUvHjEeWTnO8eSKpRLw" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_QkBIRl81EeGbQoflzrdx0g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QkBIR181EeGbQoflzrdx0g"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_Zh1X0F81EeGbQoflzrdx0g" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Zh1-4F81EeGbQoflzrdx0g" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Zh1-4V81EeGbQoflzrdx0g" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Zh1-4l81EeGbQoflzrdx0g" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Zh1-4181EeGbQoflzrdx0g" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Zh1-5F81EeGbQoflzrdx0g" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Zh1-5V81EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_Zh1-5l81EeGbQoflzrdx0g" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GtCCQFl-EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G06y8Fl-EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_Zh1-5181EeGbQoflzrdx0g" x="25" y="3"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_Zh1-6F81EeGbQoflzrdx0g" visible="false" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_Zh1-6V81EeGbQoflzrdx0g" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Zh1X0V81EeGbQoflzrdx0g" y="40"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_J3k7kHJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_J3k7kXJVEeOMF7YEvnQt5g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J3k7knJVEeOMF7YEvnQt5g"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_NGSg6AuZEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_NGSg6QuZEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="statemachine.uml#_IeXPxV81EeGbQoflzrdx0g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qj_6IV81EeGbQoflzrdx0g" x="378" y="175" width="145" height="64"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_pTX98F81EeGbQoflzrdx0g" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pTYlAF81EeGbQoflzrdx0g" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pTYlAV81EeGbQoflzrdx0g" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pTYlAl81EeGbQoflzrdx0g" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pTYlA181EeGbQoflzrdx0g" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pTYlBF81EeGbQoflzrdx0g" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pTYlBV81EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_pTYlBl81EeGbQoflzrdx0g" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IKthMFl-EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IQmt0Fl-EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_EdMDYPHjEeWTnO8eSKpRLw" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_pTZMEV81EeGbQoflzrdx0g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pTZMEl81EeGbQoflzrdx0g"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_CYirkF82EeGbQoflzrdx0g" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CYjSoF82EeGbQoflzrdx0g" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CYjSoV82EeGbQoflzrdx0g" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CYjSol82EeGbQoflzrdx0g" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CYjSo182EeGbQoflzrdx0g" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CYj5sF82EeGbQoflzrdx0g" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CYj5sV82EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_CYj5sl82EeGbQoflzrdx0g" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N0M5QFl-EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N3Vs0Fl-EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_CYj5s182EeGbQoflzrdx0g" x="25" y="3"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_CYj5tF82EeGbQoflzrdx0g" visible="false" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_CYj5tV82EeGbQoflzrdx0g" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="statemachine.uml#_z94Y0F81EeGbQoflzrdx0g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CYirkV82EeGbQoflzrdx0g" x="-10" y="23"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_J3mwwHJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_J3mwwXJVEeOMF7YEvnQt5g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J3mwwnJVEeOMF7YEvnQt5g"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_NGSg6guZEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_NGSg6wuZEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="statemachine.uml#_pTD04F81EeGbQoflzrdx0g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pTX98V81EeGbQoflzrdx0g" x="295" y="283" width="226" height="53"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_NJYRIAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_NJYRIQuZEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NJYRIwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Property" href="statemachine.uml#_IeWosV81EeGbQoflzrdx0g"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NJYRIguZEeWXe7AeBUbqvw" x="210" y="10"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_NJhbEAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_NJhbEQuZEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NJhbEwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_a4NKMOuMEeCTfOY57pgE3w"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NJhbEguZEeWXe7AeBUbqvw" x="235" y="35"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_NJtBRAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_NJtBRQuZEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NJtBRwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NJtBRguZEeWXe7AeBUbqvw" x="190" y="23"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_NJ844AuZEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_NJ844QuZEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NJ844wuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_u7pk4PRUEeCKVJwdD4MMsg"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NJ844guZEeWXe7AeBUbqvw" x="218" y="-10"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_NKK7VguZEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_NKK7VwuZEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NKK7WQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_xUE3QF8wEeGerN33d-RdRg"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NKK7WAuZEeWXe7AeBUbqvw" x="218" y="54"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_NKfEaAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_NKfEaQuZEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NKfEawuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NKfEaguZEeWXe7AeBUbqvw" x="190" y="27"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_NKoOWAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_NKoOWQuZEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NKoOWwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_z94Y0F81EeGbQoflzrdx0g"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NKoOWguZEeWXe7AeBUbqvw" x="190" y="23"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_PMiX8l81EeGbQoflzrdx0g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PMiX8181EeGbQoflzrdx0g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J3bKkHJVEeOMF7YEvnQt5g" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J3bKkXJVEeOMF7YEvnQt5g" showTitle="true"/>
+        <element xmi:type="FCM:ContainerRule" href="statemachine.uml#_IeZE8F81EeGbQoflzrdx0g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J3bKknJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J3bxoHJVEeOMF7YEvnQt5g" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J3bxoXJVEeOMF7YEvnQt5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J3bxonJVEeOMF7YEvnQt5g"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_NGSg4AuZEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_NGSg4QuZEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="statemachine.uml#_IeWosF81EeGbQoflzrdx0g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PMf7sV81EeGbQoflzrdx0g" x="157" y="88" width="624" height="393"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_NJPHMAuZEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_NJPHMQuZEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NJPHMwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_IeWosF81EeGbQoflzrdx0g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NJPHMguZEeWXe7AeBUbqvw" x="357" y="88"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_Ogua0V81EeGbQoflzrdx0g"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_NGSg7AuZEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_SrtRQAuZEeWXe7AeBUbqvw" name="css_stylesheets">
+      <eObjectListValue xmi:type="css:EmbeddedStyleSheet" href="pathmap://QML_CORE/core.notation#_7gUz8Mc1EeSsAI2TZshUyg"/>
+    </styles>
+    <element xmi:type="uml:Package" href="statemachine.uml#_DEJCwF81EeGbQoflzrdx0g"/>
+    <edges xmi:type="notation:Connector" xmi:id="_Z-W7wF81EeGbQoflzrdx0g" type="Connector_Edge" source="_Yl57EF81EeGbQoflzrdx0g" target="_X1IlcF81EeGbQoflzrdx0g" routing="Rectilinear" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Z-YJ4F81EeGbQoflzrdx0g" type="Connector_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RNYh0PEGEeWeJ4SmoZSqDg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Z-YJ4V81EeGbQoflzrdx0g" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Z-YJ4l81EeGbQoflzrdx0g" visible="false" type="Connector_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RN100PEGEeWeJ4SmoZSqDg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Z-YJ4181EeGbQoflzrdx0g" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Z-Yw8F81EeGbQoflzrdx0g" visible="false" type="Connector_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RORSoPEGEeWeJ4SmoZSqDg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Z-Yw8V81EeGbQoflzrdx0g" x="-11" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Z-Yw8l81EeGbQoflzrdx0g" visible="false" type="Connector_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ROnQ4PEGEeWeJ4SmoZSqDg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Z-Yw8181EeGbQoflzrdx0g" x="10" y="20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Z-W7wV81EeGbQoflzrdx0g" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Connector" href="statemachine.uml#_IeXPyV81EeGbQoflzrdx0g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Z-W7wl81EeGbQoflzrdx0g" points="[228, 298, -643984, -643984]$[228, 253, -643984, -643984]$[251, 253, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RNAuYPEGEeWeJ4SmoZSqDg" id="(0.5,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RNAuYfEGEeWeJ4SmoZSqDg" id="(0.0,0.6)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_bD3LQF81EeGbQoflzrdx0g" type="Connector_Edge" source="_XQCUUF81EeGbQoflzrdx0g" target="_X1IlcF81EeGbQoflzrdx0g" routing="Rectilinear" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_bD4ZYF81EeGbQoflzrdx0g" visible="false" type="Connector_StereotypeLabel">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pP86QguZEeWXe7AeBUbqvw" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pP86QwuZEeWXe7AeBUbqvw" key="visible" value="true"/>
+        </eAnnotations>
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7AGNEMRfEeWvtvzLCnzMNA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bD4ZYV81EeGbQoflzrdx0g" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_bD4ZYl81EeGbQoflzrdx0g" visible="false" type="Connector_NameLabel">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pP8TMAuZEeWXe7AeBUbqvw" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pP8TMQuZEeWXe7AeBUbqvw" key="visible" value="true"/>
+        </eAnnotations>
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7Ai5AMRfEeWvtvzLCnzMNA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bD4ZY181EeGbQoflzrdx0g" x="-65" y="8"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_bD4ZZF81EeGbQoflzrdx0g" visible="false" type="Connector_SourceMultiplicityLabel">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pP86QAuZEeWXe7AeBUbqvw" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pP86QQuZEeWXe7AeBUbqvw" key="visible" value="true"/>
+        </eAnnotations>
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7BAMAMRfEeWvtvzLCnzMNA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bD4ZZV81EeGbQoflzrdx0g" x="-7" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_bD4ZZl81EeGbQoflzrdx0g" visible="false" type="Connector_TargetMultiplicityLabel">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pP9hUAuZEeWXe7AeBUbqvw" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pP9hUQuZEeWXe7AeBUbqvw" key="visible" value="true"/>
+        </eAnnotations>
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7BXYYMRfEeWvtvzLCnzMNA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bD4ZZ181EeGbQoflzrdx0g" x="7" y="20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_bD3LQV81EeGbQoflzrdx0g" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Connector" href="statemachine.uml#_IeXP0F81EeGbQoflzrdx0g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bD3LQl81EeGbQoflzrdx0g" points="[230, 217, -643984, -643984]$[230, 245, -643984, -643984]$[251, 245, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eBtnAF82EeGbQoflzrdx0g" id="(0.6,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gMsk4HkjEeOMFc4T5KeVdg" id="(0.0,0.2)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_G9WTgF82EeGbQoflzrdx0g" type="Connector_Edge" source="_Yl7wQF81EeGbQoflzrdx0g" target="_CYirkF82EeGbQoflzrdx0g" routing="Rectilinear" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_G9W6kF82EeGbQoflzrdx0g" type="Connector_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G9W6kV82EeGbQoflzrdx0g" x="31" y="-27"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_G9W6kl82EeGbQoflzrdx0g" visible="false" type="Connector_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G9W6k182EeGbQoflzrdx0g" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_G9W6lF82EeGbQoflzrdx0g" visible="false" type="Connector_SourceMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G9W6lV82EeGbQoflzrdx0g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_G9W6ll82EeGbQoflzrdx0g" visible="false" type="Connector_TargetMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_G9XhoF82EeGbQoflzrdx0g" y="20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_G9WTgV82EeGbQoflzrdx0g" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Connector" href="statemachine.uml#_G9Gb4F82EeGbQoflzrdx0g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G9WTgl82EeGbQoflzrdx0g" points="[1, 10, -232, -62]$[1, 75, -232, 3]$[230, 75, -3, 3]"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G967QF82EeGbQoflzrdx0g" id="(0.15,0.25)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NJPHNAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_PMf7sF81EeGbQoflzrdx0g" target="_NJPHMAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NJPHNQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NJPHOQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_IeWosF81EeGbQoflzrdx0g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NJPHNguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NJPHNwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NJPHOAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NJYRJAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_Qj1iEF81EeGbQoflzrdx0g" target="_NJYRIAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NJYRJQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NJYRKQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Property" href="statemachine.uml#_IeWosV81EeGbQoflzrdx0g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NJYRJguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NJYRJwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NJYRKAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NJhbFAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_XQCUUF81EeGbQoflzrdx0g" target="_NJhbEAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NJhbFQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NJhbGQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_a4NKMOuMEeCTfOY57pgE3w"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NJhbFguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NJhbFwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NJhbGAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NJtBSAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_X1IlcF81EeGbQoflzrdx0g" target="_NJtBRAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NJtBSQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NJtBTQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NJtBSguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NJtBSwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NJtBTAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NJ845AuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_Yl57EF81EeGbQoflzrdx0g" target="_NJ844AuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NJ845QuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NJ846QuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_u7pk4PRUEeCKVJwdD4MMsg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NJ845guZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NJ845wuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NJ846AuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NKK7WguZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_Yl7wQF81EeGbQoflzrdx0g" target="_NKK7VguZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NKK7WwuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NKK7XwuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_xUE3QF8wEeGerN33d-RdRg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NKK7XAuZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NKK7XQuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NKK7XguZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NKfEbAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_Zh1X0F81EeGbQoflzrdx0g" target="_NKfEaAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NKfEbQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NKfEcQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NKfEbguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NKfEbwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NKfEcAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NKoOXAuZEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_CYirkF82EeGbQoflzrdx0g" target="_NKoOWAuZEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NKoOXQuZEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NKoOYQuZEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="statemachine.uml#_z94Y0F81EeGbQoflzrdx0g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NKoOXguZEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NKoOXwuZEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NKoOYAuZEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_27UJAMRfEeWvtvzLCnzMNA" type="Connector_Edge" source="_Zh1X0F81EeGbQoflzrdx0g" target="_zj3sEMRfEeWvtvzLCnzMNA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_27UwEMRfEeWvtvzLCnzMNA" type="Connector_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_27UwEcRfEeWvtvzLCnzMNA" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_27UwEsRfEeWvtvzLCnzMNA" visible="false" type="Connector_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_27UwE8RfEeWvtvzLCnzMNA" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_27UwFMRfEeWvtvzLCnzMNA" visible="false" type="Connector_SourceMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_27UwFcRfEeWvtvzLCnzMNA" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_27UwFsRfEeWvtvzLCnzMNA" visible="false" type="Connector_TargetMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_27UwF8RfEeWvtvzLCnzMNA" y="20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_27UJAcRfEeWvtvzLCnzMNA"/>
+      <element xmi:type="uml:Connector" href="statemachine.uml#_22UUQMRfEeWvtvzLCnzMNA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_27UJAsRfEeWvtvzLCnzMNA" points="[530, 349, -643984, -643984]$[424, 340, -643984, -643984]"/>
+    </edges>
+  </notation:Diagram>
+  <css:ModelStyleSheets xmi:id="_mhg4sMmbEeS0_bFth_90hQ"/>
+  <notation:Diagram xmi:id="_jTpTMF1DEeWbP6DS-3NPyQ" type="PapyrusUMLClassDiagram" name="OOContainerRules" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_lINBEF1DEeWbP6DS-3NPyQ" type="Comment_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_lINoIF1DEeWbP6DS-3NPyQ" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="statemachine.uml#_HtqOoF1DEeWbP6DS-3NPyQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lINBEV1DEeWbP6DS-3NPyQ" x="200" y="380" width="483"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_mscbAF1DEeWbP6DS-3NPyQ" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_msdCEF1DEeWbP6DS-3NPyQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_msdCEV1DEeWbP6DS-3NPyQ" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_msdCEl1DEeWbP6DS-3NPyQ" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ErT-8PHjEeWTnO8eSKpRLw" type="Class_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_pDwQoF1DEeWbP6DS-3NPyQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="statemachine.uml#__1jp8F1CEeWbP6DS-3NPyQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_pDwQoV1DEeWbP6DS-3NPyQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_jCPhUGH9EeWEu6399scseQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="statemachine.uml#_jB-bkGH9EeWEu6399scseQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jCPhUWH9EeWEu6399scseQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_2DprwJOMEeWHFMpMrhT5xw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="statemachine.uml#_2DZ0IJOMEeWHFMpMrhT5xw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_2DprwZOMEeWHFMpMrhT5xw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_UUO2YOCREeW9GrJuOSoZTg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="statemachine.uml#_UT6tUOCREeW9GrJuOSoZTg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_UUO2YeCREeW9GrJuOSoZTg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_0yoZkPHjEeWTnO8eSKpRLw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="statemachine.uml#_0xns8PHjEeWTnO8eSKpRLw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_0yoZkfHjEeWTnO8eSKpRLw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_msdCFF1DEeWbP6DS-3NPyQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_msdCFV1DEeWbP6DS-3NPyQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_msdCFl1DEeWbP6DS-3NPyQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_msdCF11DEeWbP6DS-3NPyQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ErT-8fHjEeWTnO8eSKpRLw" type="Class_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_pDw3sF1DEeWbP6DS-3NPyQ" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="statemachine.uml#_e5QLgF1DEeWbP6DS-3NPyQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_pDw3sV1DEeWbP6DS-3NPyQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_xu_fEGH8EeWEu6399scseQ" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="statemachine.uml#_xt1ogGH8EeWEu6399scseQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_xu_fEWH8EeWEu6399scseQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ogcPYJLREeWyWIXHbEJ4ew" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="statemachine.uml#_YcqpwJLREeWyWIXHbEJ4ew"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ogcPYZLREeWyWIXHbEJ4ew"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_p2O-gN_9EeW9GrJuOSoZTg" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="statemachine.uml#_dkpREN_9EeW9GrJuOSoZTg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_p2O-gd_9EeW9GrJuOSoZTg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_msdCGV1DEeWbP6DS-3NPyQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_msdCGl1DEeWbP6DS-3NPyQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_msdCG11DEeWbP6DS-3NPyQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_msdCHF1DEeWbP6DS-3NPyQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ErT-8vHjEeWTnO8eSKpRLw" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_msdCHl1DEeWbP6DS-3NPyQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_msdCH11DEeWbP6DS-3NPyQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_msdCIF1DEeWbP6DS-3NPyQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_msdCIV1DEeWbP6DS-3NPyQ"/>
+      </children>
+      <element xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mscbAV1DEeWbP6DS-3NPyQ" x="100" y="120" width="321" height="241"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_rpCp0MBJEeWmeYo0CV4Tlg" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_rpCp0cBJEeWmeYo0CV4Tlg" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rpCp0sBJEeWmeYo0CV4Tlg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rpCp08BJEeWmeYo0CV4Tlg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ErUmAPHjEeWTnO8eSKpRLw" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_rpCp28BJEeWmeYo0CV4Tlg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_rpCp3MBJEeWmeYo0CV4Tlg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_rpCp3cBJEeWmeYo0CV4Tlg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rpCp3sBJEeWmeYo0CV4Tlg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ErUmAfHjEeWTnO8eSKpRLw" type="Class_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_rpCp4MBJEeWmeYo0CV4Tlg" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="statemachine.uml#_rpA0rMBJEeWmeYo0CV4Tlg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_rpCp9cBJEeWmeYo0CV4Tlg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_rpCp_8BJEeWmeYo0CV4Tlg" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="statemachine.uml#_rpA0q8BJEeWmeYo0CV4Tlg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_rpCqCcBJEeWmeYo0CV4Tlg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_rpCqCsBJEeWmeYo0CV4Tlg" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="statemachine.uml#_rpA0qsBJEeWmeYo0CV4Tlg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_rpCqHcBJEeWmeYo0CV4Tlg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_rpCqHsBJEeWmeYo0CV4Tlg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_rpCqH8BJEeWmeYo0CV4Tlg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_rpCqIMBJEeWmeYo0CV4Tlg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rpCqIcBJEeWmeYo0CV4Tlg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ErUmAvHjEeWTnO8eSKpRLw" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_rpCqI8BJEeWmeYo0CV4Tlg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_rpCqJMBJEeWmeYo0CV4Tlg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_rpCqJcBJEeWmeYo0CV4Tlg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rpCqJsBJEeWmeYo0CV4Tlg"/>
+      </children>
+      <element xmi:type="uml:Class" href="statemachine.uml#_rpA0oMBJEeWmeYo0CV4Tlg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rpCqPcBJEeWmeYo0CV4Tlg" x="480" y="120" width="301" height="241"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_G5EboMRfEeWvtvzLCnzMNA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_G5EbocRfEeWvtvzLCnzMNA" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_G5Ebo8RfEeWvtvzLCnzMNA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_rpA0oMBJEeWmeYo0CV4Tlg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G5EbosRfEeWvtvzLCnzMNA" x="740" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_IoIlcN_-EeW9GrJuOSoZTg" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IoIlct_-EeW9GrJuOSoZTg" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_IoIlc9_-EeW9GrJuOSoZTg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IoIldN_-EeW9GrJuOSoZTg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ErUmA_HjEeWTnO8eSKpRLw" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IoIldt_-EeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IoIld9_-EeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IoIleN_-EeW9GrJuOSoZTg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IoIled_-EeW9GrJuOSoZTg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ErUmBPHjEeWTnO8eSKpRLw" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IoIle9_-EeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IoIlfN_-EeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IoIlfd_-EeW9GrJuOSoZTg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IoIlft_-EeW9GrJuOSoZTg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ErUmBfHjEeWTnO8eSKpRLw" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IoIlgN_-EeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IoIlgd_-EeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IoIlgt_-EeW9GrJuOSoZTg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IoIlg9_-EeW9GrJuOSoZTg"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_zDDlYMRcEeWq5unKf5DK_A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IoIlcd_-EeW9GrJuOSoZTg" x="840" y="20" width="201" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_JsXpoN_-EeW9GrJuOSoZTg" type="Class_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d0ywcN_-EeW9GrJuOSoZTg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_d0ywcd_-EeW9GrJuOSoZTg" key="canonical" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JsXpot_-EeW9GrJuOSoZTg" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JsXpo9_-EeW9GrJuOSoZTg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JsXppN_-EeW9GrJuOSoZTg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ErUmBvHjEeWTnO8eSKpRLw" type="Class_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Y0ijYOCSEeW9GrJuOSoZTg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="statemachine.uml#_Y0QPgOCSEeW9GrJuOSoZTg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Y0ijYeCSEeW9GrJuOSoZTg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JsXppt_-EeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_JsXpp9_-EeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_JsXpqN_-EeW9GrJuOSoZTg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JsXpqd_-EeW9GrJuOSoZTg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ErVNEPHjEeWTnO8eSKpRLw" type="Class_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_d03B4N_-EeW9GrJuOSoZTg" type="Operation_ClassOperationLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d1kzkt_-EeW9GrJuOSoZTg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_d1kzk9_-EeW9GrJuOSoZTg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="statemachine.uml#_azSuUN_-EeW9GrJuOSoZTg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_d03B4d_-EeW9GrJuOSoZTg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JsXpq9_-EeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_JsXprN_-EeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_JsXprd_-EeW9GrJuOSoZTg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JsXprt_-EeW9GrJuOSoZTg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ErVNEfHjEeWTnO8eSKpRLw" visible="false" type="Class_NestedClassifierCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_ruzNMN_-EeW9GrJuOSoZTg" type="Class_ClassNestedClassifierLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_r-lVot_-EeW9GrJuOSoZTg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r-lVo9_-EeW9GrJuOSoZTg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:OpaqueBehavior" href="statemachine.uml#_rujVkN_-EeW9GrJuOSoZTg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ruzNMd_-EeW9GrJuOSoZTg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JsYQsd_-EeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_JsYQst_-EeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_JsYQs9_-EeW9GrJuOSoZTg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JsYQtN_-EeW9GrJuOSoZTg"/>
+      </children>
+      <styles xmi:type="notation:CanonicalStyle" xmi:id="_d0yJYN_-EeW9GrJuOSoZTg"/>
+      <element xmi:type="uml:Class" href="statemachine.uml#_JsV0cN_-EeW9GrJuOSoZTg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JsXpod_-EeW9GrJuOSoZTg" x="840" y="120" width="201" height="81"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_sau1kOA_EeW9GrJuOSoZTg" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_savcoOA_EeW9GrJuOSoZTg" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_savcoeA_EeW9GrJuOSoZTg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_savcouA_EeW9GrJuOSoZTg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ErVNEvHjEeWTnO8eSKpRLw" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_savcpOA_EeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_savcpeA_EeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_savcpuA_EeW9GrJuOSoZTg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_savcp-A_EeW9GrJuOSoZTg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ErVNE_HjEeWTnO8eSKpRLw" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_savcqeA_EeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_savcquA_EeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_savcq-A_EeW9GrJuOSoZTg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_savcrOA_EeW9GrJuOSoZTg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ErVNFPHjEeWTnO8eSKpRLw" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_savcruA_EeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_savcr-A_EeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_savcsOA_EeW9GrJuOSoZTg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_savcseA_EeW9GrJuOSoZTg"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_oSgIME_BEdy2tpS719xBwQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sau1keA_EeW9GrJuOSoZTg" x="100" y="460" width="141" height="41"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_sbRoI-A_EeW9GrJuOSoZTg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_sbRoJOA_EeW9GrJuOSoZTg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_sbRoJuA_EeW9GrJuOSoZTg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_oSgIME_BEdy2tpS719xBwQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sbRoJeA_EeW9GrJuOSoZTg" x="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_lqw50OCQEeW9GrJuOSoZTg" type="Interface_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_lqxg4OCQEeW9GrJuOSoZTg" type="Interface_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_lqxg4eCQEeW9GrJuOSoZTg" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_lqxg4uCQEeW9GrJuOSoZTg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ErVNFfHjEeWTnO8eSKpRLw" visible="false" type="Interface_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_lqxg5OCQEeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_lqxg5eCQEeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_lqxg5uCQEeW9GrJuOSoZTg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lqxg5-CQEeW9GrJuOSoZTg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ErV0IPHjEeWTnO8eSKpRLw" type="Interface_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_rT2CMOCQEeW9GrJuOSoZTg" type="Operation_InterfaceOperationLabel">
+          <element xmi:type="uml:Operation" href="statemachine.uml#_rTe10OCQEeW9GrJuOSoZTg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_rT2CMeCQEeW9GrJuOSoZTg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_lqxg6eCQEeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_lqxg6uCQEeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_lqxg6-CQEeW9GrJuOSoZTg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lqxg7OCQEeW9GrJuOSoZTg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ErV0IfHjEeWTnO8eSKpRLw" visible="false" type="Interface_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_lqxg7uCQEeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_lqxg7-CQEeW9GrJuOSoZTg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_lqxg8OCQEeW9GrJuOSoZTg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lqxg8eCQEeW9GrJuOSoZTg"/>
+      </children>
+      <element xmi:type="uml:Interface" href="statemachine.uml#_lqsBUOCQEeW9GrJuOSoZTg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lqw50eCQEeW9GrJuOSoZTg" x="100" y="20" width="321" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_RCqHsPCGEeWeJ4SmoZSqDg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_RCqHsfCGEeWeJ4SmoZSqDg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RCquwPCGEeWeJ4SmoZSqDg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RCqHsvCGEeWeJ4SmoZSqDg" x="300" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_E071APHjEeWTnO8eSKpRLw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_E071AfHjEeWTnO8eSKpRLw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_E08cEPHjEeWTnO8eSKpRLw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E071AvHjEeWTnO8eSKpRLw" x="300" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_2FPjYCPoEeauR8esGjVxRA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_2FPjYSPoEeauR8esGjVxRA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_2FPjYyPoEeauR8esGjVxRA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2FPjYiPoEeauR8esGjVxRA" x="300" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_6_BVwCPoEeauR8esGjVxRA" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_6_BVwSPoEeauR8esGjVxRA" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_6_BVwiPoEeauR8esGjVxRA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_6_BVwyPoEeauR8esGjVxRA" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_6_BVxCPoEeauR8esGjVxRA" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_6_BVzyPoEeauR8esGjVxRA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_6_BV0CPoEeauR8esGjVxRA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_6_BV0SPoEeauR8esGjVxRA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6_BV0iPoEeauR8esGjVxRA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_6_BV0yPoEeauR8esGjVxRA" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_6_BWCSPoEeauR8esGjVxRA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_6_BWCiPoEeauR8esGjVxRA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_6_BWCyPoEeauR8esGjVxRA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6_BWDCPoEeauR8esGjVxRA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_6_BWDSPoEeauR8esGjVxRA" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_6_BWDiPoEeauR8esGjVxRA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_6_BWDyPoEeauR8esGjVxRA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_6_BWECPoEeauR8esGjVxRA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6_BWESPoEeauR8esGjVxRA"/>
+      </children>
+      <element xmi:type="uml:Class" href="statemachine.uml#_6-9EUCPoEeauR8esGjVxRA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6_BWKCPoEeauR8esGjVxRA" x="100" y="520" width="321" height="141"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gwPtACPuEeaRJdHAlUkB3Q" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_gwPtASPuEeaRJdHAlUkB3Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_gwQUECPuEeaRJdHAlUkB3Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gwPtAiPuEeaRJdHAlUkB3Q" x="300" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Lwp4MCPvEeaMQb_Kl-fvrg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Lwp4MSPvEeaMQb_Kl-fvrg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LwrGUCPvEeaMQb_Kl-fvrg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lwp4MiPvEeaMQb_Kl-fvrg" x="300" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_nipVYCdFEea3Ob5UfxuCGA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_nipVYSdFEea3Ob5UfxuCGA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nip8cCdFEea3Ob5UfxuCGA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nipVYidFEea3Ob5UfxuCGA" x="300" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_VOHiMCdSEea6h5xPEh8iAg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_VOHiMSdSEea6h5xPEh8iAg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_VOIJQCdSEea6h5xPEh8iAg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VOHiMidSEea6h5xPEh8iAg" x="300" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUdagCfnEeaUspRU-Igu6g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kUdagSfnEeaUspRU-Igu6g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kUeBkCfnEeaUspRU-Igu6g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUdagifnEeaUspRU-Igu6g" x="300" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_I7LvACkVEea0-deBroAIbQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_I7LvASkVEea0-deBroAIbQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_I7LvAykVEea0-deBroAIbQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_I7LvAikVEea0-deBroAIbQ" x="300" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_D3gEMCmNEeawvKuMccmf1A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_D3gEMSmNEeawvKuMccmf1A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_D3grQCmNEeawvKuMccmf1A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D3gEMimNEeawvKuMccmf1A" x="300" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_QfMnsCmREearkPe7QerpcQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QfMnsSmREearkPe7QerpcQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_QfMnsymREearkPe7QerpcQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QfMnsimREearkPe7QerpcQ" x="300" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9wWg8D0uEeaKAZ77fvU8gg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9wWg8T0uEeaKAZ77fvU8gg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9wXIAD0uEeaKAZ77fvU8gg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9wWg8j0uEeaKAZ77fvU8gg" x="300" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_3GqTUD0yEeaQfbTekb55bw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_3GqTUT0yEeaQfbTekb55bw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3GqTUz0yEeaQfbTekb55bw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3GqTUj0yEeaQfbTekb55bw" x="300" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_oFB_0D01Eea36NnsImgkig" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_oFB_0T01Eea36NnsImgkig"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_oFCm4D01Eea36NnsImgkig" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oFB_0j01Eea36NnsImgkig" x="300" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_sWaqkD03Eea9v7oLy3qjiw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_sWaqkT03Eea9v7oLy3qjiw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_sWbRoD03Eea9v7oLy3qjiw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sWaqkj03Eea9v7oLy3qjiw" x="300" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_v9uegEVFEeaqgqiOqzyU4w" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_v9uegUVFEeaqgqiOqzyU4w"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_v9ueg0VFEeaqgqiOqzyU4w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v9uegkVFEeaqgqiOqzyU4w" x="300" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_G2Iro1WXEea9rOSlu9NJgg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_G2IrpFWXEea9rOSlu9NJgg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_G2JSsFWXEea9rOSlu9NJgg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G2IrpVWXEea9rOSlu9NJgg" x="300" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_6ezJYGoMEea1-rBQVLBwEw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_6ezJYWoMEea1-rBQVLBwEw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6ezwcGoMEea1-rBQVLBwEw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6ezJYmoMEea1-rBQVLBwEw" x="300" y="120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BRoIEGoNEea1-rBQVLBwEw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_BRoIEWoNEea1-rBQVLBwEw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_BRovIGoNEea1-rBQVLBwEw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_6-9EUCPoEeauR8esGjVxRA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BRoIEmoNEea1-rBQVLBwEw" x="300" y="520"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_wtey4GsVEea93ORxZfipYQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_wtey4WsVEea93ORxZfipYQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wtfZ8GsVEea93ORxZfipYQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wtey4msVEea93ORxZfipYQ" x="300" y="120"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_jTpTMV1DEeWbP6DS-3NPyQ" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_jTpTMl1DEeWbP6DS-3NPyQ"/>
+    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_jTpTM11DEeWbP6DS-3NPyQ">
+      <owner xmi:type="uml:Package" href="statemachine.uml#_DEJCwF81EeGbQoflzrdx0g"/>
+    </styles>
+    <element xmi:type="uml:Package" href="statemachine.uml#_DEJCwF81EeGbQoflzrdx0g"/>
+    <edges xmi:type="notation:Connector" xmi:id="_tI6vMF1DEeWbP6DS-3NPyQ" type="Comment_AnnotatedElementEdge" source="_lINBEF1DEeWbP6DS-3NPyQ" target="_mscbAF1DEeWbP6DS-3NPyQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_tI6vMV1DEeWbP6DS-3NPyQ"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tI6vMl1DEeWbP6DS-3NPyQ" points="[4, -30, 0, 188]$[59, -201, 55, 17]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tJRUgF1DEeWbP6DS-3NPyQ" id="(0.2898550724637681,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tJR7kF1DEeWbP6DS-3NPyQ" id="(0.7476635514018691,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_-GZvUV3YEeW4Af5fHX2Rfg" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_-GZvUl3YEeW4Af5fHX2Rfg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_-GaWYl3YEeW4Af5fHX2Rfg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-GZvU13YEeW4Af5fHX2Rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-GaWYF3YEeW4Af5fHX2Rfg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-GaWYV3YEeW4Af5fHX2Rfg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_G5FCsMRfEeWvtvzLCnzMNA" type="StereotypeCommentLink" source="_rpCp0MBJEeWmeYo0CV4Tlg" target="_G5EboMRfEeWvtvzLCnzMNA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_G5FCscRfEeWvtvzLCnzMNA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_G5FCtcRfEeWvtvzLCnzMNA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_rpA0oMBJEeWmeYo0CV4Tlg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G5FCssRfEeWvtvzLCnzMNA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G5FCs8RfEeWvtvzLCnzMNA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G5FCtMRfEeWvtvzLCnzMNA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_UWtFYN_-EeW9GrJuOSoZTg" type="Generalization_Edge" source="_JsXpoN_-EeW9GrJuOSoZTg" target="_IoIlcN_-EeW9GrJuOSoZTg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_UWtscN_-EeW9GrJuOSoZTg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fjqtEN_-EeW9GrJuOSoZTg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_UWtscd_-EeW9GrJuOSoZTg" y="39"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_UWtFYd_-EeW9GrJuOSoZTg"/>
+      <element xmi:type="uml:Generalization" href="statemachine.uml#_UVsYwN_-EeW9GrJuOSoZTg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UWtFYt_-EeW9GrJuOSoZTg" points="[920, 200, -643984, -643984]$[920, 169, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UXGuAN_-EeW9GrJuOSoZTg" id="(0.4975124378109453,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UXHVEN_-EeW9GrJuOSoZTg" id="(0.4975124378109453,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_sbRoJ-A_EeW9GrJuOSoZTg" type="StereotypeCommentLink" source="_sau1kOA_EeW9GrJuOSoZTg" target="_sbRoI-A_EeW9GrJuOSoZTg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_sbRoKOA_EeW9GrJuOSoZTg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_sbSPMuA_EeW9GrJuOSoZTg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_oSgIME_BEdy2tpS719xBwQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sbRoKeA_EeW9GrJuOSoZTg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sbSPMOA_EeW9GrJuOSoZTg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sbSPMeA_EeW9GrJuOSoZTg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_wHVqMOA_EeW9GrJuOSoZTg" type="Dependency_Edge" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_sau1kOA_EeW9GrJuOSoZTg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_wHVqM-A_EeW9GrJuOSoZTg" type="Dependency_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ArGToOCREeW9GrJuOSoZTg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wHVqNOA_EeW9GrJuOSoZTg" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wHVqNeA_EeW9GrJuOSoZTg" type="Dependency_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ArWLQOCREeW9GrJuOSoZTg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wHVqNuA_EeW9GrJuOSoZTg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_wHVqMeA_EeW9GrJuOSoZTg"/>
+      <element xmi:type="uml:Dependency" href="statemachine.uml#_wHSm4OA_EeW9GrJuOSoZTg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wHVqMuA_EeW9GrJuOSoZTg" points="[260, 321, -643984, -643984]$[260, 467, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wJYRkOA_EeW9GrJuOSoZTg" id="(0.18691588785046728,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wJYRkeA_EeW9GrJuOSoZTg" id="(0.425531914893617,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_zwEnoOCQEeW9GrJuOSoZTg" type="InterfaceRealization_Edge" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_lqw50OCQEeW9GrJuOSoZTg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_zwEno-CQEeW9GrJuOSoZTg" type="InterfaceRealization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_6cuF0OCQEeW9GrJuOSoZTg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_zwEnpOCQEeW9GrJuOSoZTg" y="38"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_zwEnpeCQEeW9GrJuOSoZTg" type="InterfaceRealization_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_6fgUEOCQEeW9GrJuOSoZTg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_zwEnpuCQEeW9GrJuOSoZTg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_zwEnoeCQEeW9GrJuOSoZTg"/>
+      <element xmi:type="uml:InterfaceRealization" href="statemachine.uml#_zusHkOCQEeW9GrJuOSoZTg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zwEnouCQEeW9GrJuOSoZTg" points="[421, 340, -643984, -643984]$[780, 460, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zw7jQOCQEeW9GrJuOSoZTg" id="(0.4984423676012461,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zw7jQeCQEeW9GrJuOSoZTg" id="(0.4984423676012461,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_RCquwfCGEeWeJ4SmoZSqDg" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_RCqHsPCGEeWeJ4SmoZSqDg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_RCquwvCGEeWeJ4SmoZSqDg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RCquxvCGEeWeJ4SmoZSqDg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RCquw_CGEeWeJ4SmoZSqDg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RCquxPCGEeWeJ4SmoZSqDg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RCquxfCGEeWeJ4SmoZSqDg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_E08cEfHjEeWTnO8eSKpRLw" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_E071APHjEeWTnO8eSKpRLw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_E08cEvHjEeWTnO8eSKpRLw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_E09DIfHjEeWTnO8eSKpRLw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_E08cE_HjEeWTnO8eSKpRLw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E08cFPHjEeWTnO8eSKpRLw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E09DIPHjEeWTnO8eSKpRLw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_2FPjZCPoEeauR8esGjVxRA" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_2FPjYCPoEeauR8esGjVxRA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_2FPjZSPoEeauR8esGjVxRA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_2FQKciPoEeauR8esGjVxRA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2FPjZiPoEeauR8esGjVxRA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2FQKcCPoEeauR8esGjVxRA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2FQKcSPoEeauR8esGjVxRA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_gwQ7ICPuEeaRJdHAlUkB3Q" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_gwPtACPuEeaRJdHAlUkB3Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_gwQ7ISPuEeaRJdHAlUkB3Q"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_gwRiMCPuEeaRJdHAlUkB3Q" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gwQ7IiPuEeaRJdHAlUkB3Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gwQ7IyPuEeaRJdHAlUkB3Q"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gwQ7JCPuEeaRJdHAlUkB3Q"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_LwrGUSPvEeaMQb_Kl-fvrg" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_Lwp4MCPvEeaMQb_Kl-fvrg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_LwrGUiPvEeaMQb_Kl-fvrg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LwsUcCPvEeaMQb_Kl-fvrg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LwrGUyPvEeaMQb_Kl-fvrg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LwrtYCPvEeaMQb_Kl-fvrg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LwrtYSPvEeaMQb_Kl-fvrg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_nip8cSdFEea3Ob5UfxuCGA" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_nipVYCdFEea3Ob5UfxuCGA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_nip8cidFEea3Ob5UfxuCGA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_niqjgCdFEea3Ob5UfxuCGA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nip8cydFEea3Ob5UfxuCGA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nip8dCdFEea3Ob5UfxuCGA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nip8dSdFEea3Ob5UfxuCGA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_VOIwUCdSEea6h5xPEh8iAg" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_VOHiMCdSEea6h5xPEh8iAg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_VOIwUSdSEea6h5xPEh8iAg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_VOJXYCdSEea6h5xPEh8iAg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VOIwUidSEea6h5xPEh8iAg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VOIwUydSEea6h5xPEh8iAg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VOIwVCdSEea6h5xPEh8iAg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUeBkSfnEeaUspRU-Igu6g" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_kUdagCfnEeaUspRU-Igu6g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUeBkifnEeaUspRU-Igu6g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kUeBlifnEeaUspRU-Igu6g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUeBkyfnEeaUspRU-Igu6g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUeBlCfnEeaUspRU-Igu6g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUeBlSfnEeaUspRU-Igu6g"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_I7LvBCkVEea0-deBroAIbQ" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_I7LvACkVEea0-deBroAIbQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_I7LvBSkVEea0-deBroAIbQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_I7NkMCkVEea0-deBroAIbQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_I7LvBikVEea0-deBroAIbQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_I7MWECkVEea0-deBroAIbQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_I7MWESkVEea0-deBroAIbQ"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_D3hSUCmNEeawvKuMccmf1A" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_D3gEMCmNEeawvKuMccmf1A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_D3hSUSmNEeawvKuMccmf1A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_D3h5YimNEeawvKuMccmf1A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D3hSUimNEeawvKuMccmf1A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D3h5YCmNEeawvKuMccmf1A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D3h5YSmNEeawvKuMccmf1A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_QfMntCmREearkPe7QerpcQ" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_QfMnsCmREearkPe7QerpcQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_QfMntSmREearkPe7QerpcQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_QfNOwCmREearkPe7QerpcQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QfMntimREearkPe7QerpcQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QfMntymREearkPe7QerpcQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QfMnuCmREearkPe7QerpcQ"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9wXvED0uEeaKAZ77fvU8gg" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_9wWg8D0uEeaKAZ77fvU8gg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9wXvET0uEeaKAZ77fvU8gg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9wXvFT0uEeaKAZ77fvU8gg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9wXvEj0uEeaKAZ77fvU8gg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9wXvEz0uEeaKAZ77fvU8gg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9wXvFD0uEeaKAZ77fvU8gg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_3GqTVD0yEeaQfbTekb55bw" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_3GqTUD0yEeaQfbTekb55bw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_3GqTVT0yEeaQfbTekb55bw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3GsIgD0yEeaQfbTekb55bw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3GqTVj0yEeaQfbTekb55bw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Gq6YD0yEeaQfbTekb55bw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Gq6YT0yEeaQfbTekb55bw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_oFCm4T01Eea36NnsImgkig" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_oFB_0D01Eea36NnsImgkig">
+      <styles xmi:type="notation:FontStyle" xmi:id="_oFCm4j01Eea36NnsImgkig"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_oFDN8j01Eea36NnsImgkig" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_oFCm4z01Eea36NnsImgkig" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oFDN8D01Eea36NnsImgkig"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oFDN8T01Eea36NnsImgkig"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_sWb4sD03Eea9v7oLy3qjiw" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_sWaqkD03Eea9v7oLy3qjiw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_sWb4sT03Eea9v7oLy3qjiw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_sWb4tT03Eea9v7oLy3qjiw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sWb4sj03Eea9v7oLy3qjiw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sWb4sz03Eea9v7oLy3qjiw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sWb4tD03Eea9v7oLy3qjiw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_v9uehEVFEeaqgqiOqzyU4w" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_v9uegEVFEeaqgqiOqzyU4w">
+      <styles xmi:type="notation:FontStyle" xmi:id="_v9uehUVFEeaqgqiOqzyU4w"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_v9vFkkVFEeaqgqiOqzyU4w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_v9uehkVFEeaqgqiOqzyU4w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v9vFkEVFEeaqgqiOqzyU4w"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v9vFkUVFEeaqgqiOqzyU4w"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_G2JSsVWXEea9rOSlu9NJgg" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_G2Iro1WXEea9rOSlu9NJgg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_G2JSslWXEea9rOSlu9NJgg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_G2JStlWXEea9rOSlu9NJgg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G2JSs1WXEea9rOSlu9NJgg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2JStFWXEea9rOSlu9NJgg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G2JStVWXEea9rOSlu9NJgg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_6e0XgGoMEea1-rBQVLBwEw" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_6ezJYGoMEea1-rBQVLBwEw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_6e0XgWoMEea1-rBQVLBwEw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6e0-kmoMEea1-rBQVLBwEw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6e0XgmoMEea1-rBQVLBwEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6e0-kGoMEea1-rBQVLBwEw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6e0-kWoMEea1-rBQVLBwEw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_BRovIWoNEea1-rBQVLBwEw" type="StereotypeCommentLink" source="_6_BVwCPoEeauR8esGjVxRA" target="_BRoIEGoNEea1-rBQVLBwEw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_BRovImoNEea1-rBQVLBwEw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_BRpWMGoNEea1-rBQVLBwEw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_6-9EUCPoEeauR8esGjVxRA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BRovI2oNEea1-rBQVLBwEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BRovJGoNEea1-rBQVLBwEw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BRovJWoNEea1-rBQVLBwEw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_wtgBAGsVEea93ORxZfipYQ" type="StereotypeCommentLink" source="_mscbAF1DEeWbP6DS-3NPyQ" target="_wtey4GsVEea93ORxZfipYQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_wtgBAWsVEea93ORxZfipYQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wtgoEGsVEea93ORxZfipYQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="statemachine.uml#_0k6cIF1CEeWbP6DS-3NPyQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wtgBAmsVEea93ORxZfipYQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wtgBA2sVEea93ORxZfipYQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wtgBBGsVEea93ORxZfipYQ"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/library/statemachine.uml b/transformation/org.eclipse.papyrus.designer.transformation.library/models/library/statemachine.uml
new file mode 100644
index 0000000..f0da40c
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/library/statemachine.uml
@@ -0,0 +1,922 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:Transformation="http://www.eclipse.org/papyrus/Transformation/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:standard="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <uml:Model xmi:id="_ago_QOUTEd-P08Bciq_LqQ" name="statemachine">
+    <ownedComment xmi:type="uml:Comment" xmi:id="_9BpKIOuLEeCTfOY57pgE3w" annotatedElement="_u-qioOUTEd-P08Bciq_LqQ">
+      <body>Call event interceptor, interacts with state-machine. It will handle in particular call events that are intercepted by the port operations</body>
+    </ownedComment>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_LuBKcDeoEeGPyrZ5I3hMlA" annotatedElement="_18qdsO67EeCZ9MjsZTV1zw">
+      <body>Container rule for state machine realization. It consists of a collaboration of a call event interceptor, an event pool, the state-machine itself and a thread for this state-machine. The latter means that the state-machine will execute in its own thread and poll the pool for new events.</body>
+    </ownedComment>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_iMJe4CdSEea6h5xPEh8iAg">
+      <body>HREAD_FUNC_CHANGEEVENT_TYPE 0
+#define THREAD_FUNC_DOACTIVITY_TYPE 1
+#define THREAD_FUNC_ENTER_REGION_TYPE 2
+#define THREAD_FUNC_EXIT_REGION_TYPE 3
+#define THREAD_FUNC_TIMEEVENT_TYPE 4
+#define THREAD_FUNC_TRANSITION_TYPE 5</body>
+    </ownedComment>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_e8dN0OUUEd-P08Bciq_LqQ">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_TRAFO/trafos.uml#_Q6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_9dwncGsVEea93ORxZfipYQ">
+      <importedPackage xmi:type="uml:Model" href="pathmap://PapyrusC_Cpp_LIBRARIES/pthread.uml#_PTiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_i9AuoOUTEd-P08Bciq_LqQ" name="SMInterceptor">
+      <packageMerge xmi:type="uml:PackageMerge" xmi:id="_ttDuoP3HEeC1YdT2qA0bjA">
+        <mergedPackage xmi:type="uml:Package" href="pathmap://DML_TRAFO/trafos.uml#_mMCK8PiPEd2UhpY2Y3WUyg"/>
+      </packageMerge>
+      <packagedElement xmi:type="uml:Class" xmi:id="_u-qioOUTEd-P08Bciq_LqQ" name="CI_CallEvent">
+        <generalization xmi:type="uml:Generalization" xmi:id="_3LpLIOUTEd-P08Bciq_LqQ">
+          <general xmi:type="uml:Class" href="pathmap://DML_TRAFO/trafos.uml#_Zx2ZUA1jEd6tvthBDl600Q"/>
+        </generalization>
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_a4NKMOuMEeCTfOY57pgE3w" name="out" visibility="public" aggregation="composite">
+          <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/trafos.uml#_elkpwPQREeCovO8AYZymZQ"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_c9A6kOuMEeCTfOY57pgE3w" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_c9IPUOuMEeCTfOY57pgE3w" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_c9ZVEOuMEeCTfOY57pgE3w">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_bL0sACVvEeGaL60JjVj19Q" name="portID">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bMjEwCVvEeGaL60JjVj19Q" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bMjr0CVvEeGaL60JjVj19Q" value="1"/>
+        </ownedAttribute>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_qJxa0OUUEd-P08Bciq_LqQ" name="derived realization of I" client="_u-qioOUTEd-P08Bciq_LqQ">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/trafos.uml#_ZzlzMPfBEd2TbIfwytOyPA"/>
+          <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/trafos.uml#_ZzlzMPfBEd2TbIfwytOyPA"/>
+        </interfaceRealization>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_mlIZ8OUVEd-P08Bciq_LqQ" name="[name/]" specification="_2qJyMOUUEd-P08Bciq_LqQ">
+          <language>C/C++</language>
+          <body>!xtend StateMachineGen.eventInterceptor</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_2qJyMOUUEd-P08Bciq_LqQ" name="[name/]" method="_mlIZ8OUVEd-P08Bciq_LqQ"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Dependency" xmi:id="_d3GdYOUWEd-P08Bciq_LqQ" name="Dependency0" client="_u-qioOUTEd-P08Bciq_LqQ">
+        <supplier xmi:type="uml:Enumeration" href="pathmap://DML_TRAFO/trafos.uml#_2oxDIPiPEd2UhpY2Y3WUyg"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_9J39cOupEeCTfOY57pgE3w" name="StateMachine">
+      <packageMerge xmi:type="uml:PackageMerge" xmi:id="_lvUcAP3HEeC1YdT2qA0bjA">
+        <mergedPackage xmi:type="uml:Package" href="pathmap://DML_TRAFO/trafos.uml#_m7SIwOUYEd-P08Bciq_LqQ"/>
+      </packageMerge>
+      <packagedElement xmi:type="uml:Package" xmi:id="_PW8XsMTfEeWfEYAFL-UFuw" name="derivedTypes">
+        <packagedElement xmi:type="uml:Package" xmi:id="_PW9l0MTfEeWfEYAFL-UFuw" name="core">
+          <packagedElement xmi:type="uml:Package" xmi:id="_PW-M4MTfEeWfEYAFL-UFuw" name="ContainerServices">
+            <packagedElement xmi:type="uml:Class" xmi:id="_PW-z8MTfEeWfEYAFL-UFuw" name="Use_IPoolControl"/>
+            <packagedElement xmi:type="uml:Usage" xmi:id="_PXB3QMTfEeWfEYAFL-UFuw" client="_PW-z8MTfEeWfEYAFL-UFuw">
+              <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/trafos.uml#_omxU4PNAEeCovO8AYZymZQ"/>
+            </packagedElement>
+          </packagedElement>
+        </packagedElement>
+        <packagedElement xmi:type="uml:Package" xmi:id="_PXDscMTfEeWfEYAFL-UFuw" name="statemachine">
+          <packagedElement xmi:type="uml:Package" xmi:id="_PXETgMTfEeWfEYAFL-UFuw" name="Animation">
+            <packagedElement xmi:type="uml:Class" xmi:id="_PXETgcTfEeWfEYAFL-UFuw" name="Use_IAnimation"/>
+            <packagedElement xmi:type="uml:Usage" xmi:id="_PXGvwcTfEeWfEYAFL-UFuw" client="_PXETgcTfEeWfEYAFL-UFuw" supplier="_L-I7kF8wEeGerN33d-RdRg"/>
+          </packagedElement>
+        </packagedElement>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_ens7QOUTEd-P08Bciq_LqQ" name="StateMachine">
+        <generalization xmi:type="uml:Generalization" xmi:id="_drKTYMRfEeWvtvzLCnzMNA">
+          <general xmi:type="uml:Class" href="pathmap://DML_TRAFO/trafos.uml#_zDDlYMRcEeWq5unKf5DK_A"/>
+        </generalization>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_dFBg4OupEeCTfOY57pgE3w" name="m_currentState" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dFurgOupEeCTfOY57pgE3w" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dFurgeupEeCTfOY57pgE3w" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_jeMpcOupEeCTfOY57pgE3w">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_S9FLsO3GEeCHv5BGhoZ8CA" name="executor" aggregation="shared" association="_S99VcO3GEeCHv5BGhoZ8CA">
+          <type xmi:type="uml:Class" href="pathmap://DML_TRAFO/trafos.uml#_6uRBMOuqEeCTfOY57pgE3w"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_S9FLsu3GEeCHv5BGhoZ8CA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_S9FLse3GEeCHv5BGhoZ8CA" value="1"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_u7pk4PRUEeCKVJwdD4MMsg" name="ep" visibility="public" type="_PW-z8MTfEeWfEYAFL-UFuw" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yCHmkPRUEeCKVJwdD4MMsg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yCNtMPRUEeCKVJwdD4MMsg" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_yCXeMPRUEeCKVJwdD4MMsg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_xUE3QF8wEeGerN33d-RdRg" name="animOut" visibility="public" type="_PXETgcTfEeWfEYAFL-UFuw" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xotDcF8wEeGerN33d-RdRg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xotqgF8wEeGerN33d-RdRg" value="1"/>
+        </ownedAttribute>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_PXHW0MTfEeWfEYAFL-UFuw" name="derived realization of IRunnable" client="_ens7QOUTEd-P08Bciq_LqQ">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
+          <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
+        </interfaceRealization>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_rglykOupEeCTfOY57pgE3w" name="processEvents" visibility="package" specification="_b5mYgCaiEeGRo-gX9igNzw">
+          <language>C/C++</language>
+          <body>!xtend StateMachineGen.processEvents
+
+</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_p_0sUCaiEeGRo-gX9igNzw" name="run" specification="_PXRH0MTfEeWfEYAFL-UFuw">
+          <language>C/C++</language>
+          <body>!xtend StateMachineGen.activate</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_b5mYgCaiEeGRo-gX9igNzw" name="processEvents" method="_rglykOupEeCTfOY57pgE3w"/>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_PXRH0MTfEeWfEYAFL-UFuw" name="run" method="_p_0sUCaiEeGRo-gX9igNzw"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Association" xmi:id="_S99VcO3GEeCHv5BGhoZ8CA" name="stateMachine_executor" memberEnd="_S99Vce3GEeCHv5BGhoZ8CA _S9FLsO3GEeCHv5BGhoZ8CA">
+        <ownedEnd xmi:type="uml:Property" xmi:id="_S99Vce3GEeCHv5BGhoZ8CA" name="stateMachine" type="_ens7QOUTEd-P08Bciq_LqQ" association="_S99VcO3GEeCHv5BGhoZ8CA">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_S998ge3GEeCHv5BGhoZ8CA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_S998gO3GEeCHv5BGhoZ8CA" value="1"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Dependency" xmi:id="_Q2C7UBE0EeG3cfLoiI6G7g" name="Dependency0" client="_ens7QOUTEd-P08Bciq_LqQ">
+        <supplier xmi:type="uml:Class" href="pathmap://DML_TRAFO/trafos.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Dependency" xmi:id="_RqmkwBE0EeG3cfLoiI6G7g" name="Dependency1" client="_ens7QOUTEd-P08Bciq_LqQ">
+        <supplier xmi:type="uml:Class" href="pathmap://DML_TRAFO/trafos.uml#_WkkjoPNUEeCovO8AYZymZQ"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Usage" xmi:id="_F3inwCT7EeGXBt65HZzY7g" name="Usage1" client="_ens7QOUTEd-P08Bciq_LqQ">
+        <supplier xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_oSgIME_BEdy2tpS719xBwQ"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_CV_x4O68EeCZ9MjsZTV1zw" name="CallEvents"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_KEMp0CNYEeGj_4swHBbKwg" name="CallEventConfigurator"/>
+    <packagedElement xmi:type="uml:Package" xmi:id="_F5DMoF8wEeGerN33d-RdRg" name="Animation">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_BLcrgHhAEeOejZqJpKQeww">
+        <body>Animation service configurator takes care of allocating the RemoveAnimService on the &quot;right&quot; node and to connect local and remote service configurators.</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Class" xmi:id="_xELAwF81EeGbQoflzrdx0g" name="LocalAnimService">
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_z94Y0F81EeGbQoflzrdx0g" name="animSvc" visibility="public" type="_L-I7kF8wEeGerN33d-RdRg" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2Y7e8F81EeGbQoflzrdx0g" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2ZEB0F81EeGbQoflzrdx0g" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_2ZSEQF81EeGbQoflzrdx0g">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_ZXYggHg_EeOejZqJpKQeww" name="outAnimSvc" type="_dL_4EfCGEeWeJ4SmoZSqDg" aggregation="composite"/>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_bmInQF_4EeGbQoflzrdx0g" name="derived realization of IAnimation" client="_xELAwF81EeGbQoflzrdx0g" supplier="_L-I7kF8wEeGerN33d-RdRg" contract="_L-I7kF8wEeGerN33d-RdRg"/>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_r5ewgHnxEeOfttgBwSq-Ig" name="leaveState" specification="_bmo9kF_4EeGbQoflzrdx0g">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_dMUoMPCGEeWeJ4SmoZSqDg" name="stateEnum">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dMVPQPCGEeWeJ4SmoZSqDg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dMV2UPCGEeWeJ4SmoZSqDg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_dMV2UfCGEeWeJ4SmoZSqDg" name="eInstance">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dMV2UvCGEeWeJ4SmoZSqDg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dMV2U_CGEeWeJ4SmoZSqDg" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>if (outAnimSvc != 0) {
+	outAnimSvc->leaveState(stateEnum, eInstance);
+}
+</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_tczkcHnxEeOfttgBwSq-Ig" name="enterState" specification="_bmbiMF_4EeGbQoflzrdx0g">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_dMWdYPCGEeWeJ4SmoZSqDg" name="stateEnum">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dMWdYfCGEeWeJ4SmoZSqDg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dMWdYvCGEeWeJ4SmoZSqDg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_dMXEcPCGEeWeJ4SmoZSqDg" name="eInstance">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dMXEcfCGEeWeJ4SmoZSqDg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dMXEcvCGEeWeJ4SmoZSqDg" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>if (outAnimSvc != 0) {
+	outAnimSvc->enterState(stateEnum, eInstance);
+}
+</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_bmbiMF_4EeGbQoflzrdx0g" name="enterState" method="_tczkcHnxEeOfttgBwSq-Ig">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_OJXykGEpEeGzd_21sXyuog" name="stateEnum">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OJZAsGEpEeGzd_21sXyuog" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_OJZAsWEpEeGzd_21sXyuog" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_OJZnwGEpEeGzd_21sXyuog" name="eInstance">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OJa14GEpEeGzd_21sXyuog" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_OJbc8GEpEeGzd_21sXyuog" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_bmo9kF_4EeGbQoflzrdx0g" name="leaveState" method="_r5ewgHnxEeOfttgBwSq-Ig">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_dMSzAPCGEeWeJ4SmoZSqDg" name="stateEnum">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dMSzAfCGEeWeJ4SmoZSqDg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dMTaEPCGEeWeJ4SmoZSqDg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_dMTaEfCGEeWeJ4SmoZSqDg" name="eInstance">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dMUBIPCGEeWeJ4SmoZSqDg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dMUBIfCGEeWeJ4SmoZSqDg" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Interface" xmi:id="_L-I7kF8wEeGerN33d-RdRg" name="IAnimation">
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_N3m-oF8wEeGerN33d-RdRg" name="enterState" visibility="public" isAbstract="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_YmEFYV8wEeGerN33d-RdRg">
+            <body>&lt;&lt;TextualRepresentation>>public abstract enterState (in stateEnum : StateMachine::Short, in eInstance : String) ;</body>
+          </ownedComment>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_NbPhQGEpEeGzd_21sXyuog" name="stateEnum">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NbYEIGEpEeGzd_21sXyuog" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NbbHcGEpEeGzd_21sXyuog" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_NbdjsGEpEeGzd_21sXyuog" name="eInstance">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NbupcGEpEeGzd_21sXyuog" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Nb2lQGEpEeGzd_21sXyuog" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_ZgY_oF8wEeGerN33d-RdRg" name="leaveState" visibility="public" isAbstract="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_df_owF8wEeGerN33d-RdRg">
+            <body>&lt;&lt;TextualRepresentation>>public abstract leaveState(in eState : StateMachine::Short, in eInstance : String) ;</body>
+          </ownedComment>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_OJfHUGEpEeGzd_21sXyuog" name="eState">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OJr7oGEpEeGzd_21sXyuog" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_OJwNEGEpEeGzd_21sXyuog" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_OJ0egGEpEeGzd_21sXyuog" name="eInstance">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OKCg8GEpEeGzd_21sXyuog" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_OKHZcGEpEeGzd_21sXyuog" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_QH7R8GGDEeO2F4QRMDSOXg" name="AnimServiceConfigurator"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_B0gFAHg_EeOejZqJpKQeww" name="RemoteAnimService">
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_MLu-kHg_EeOejZqJpKQeww" name="animSvc" type="_L-I7kF8wEeGerN33d-RdRg" aggregation="composite"/>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_hQFyMHk8EeOh_8tymvdOOg" name="derived realization of IAnimation" client="_B0gFAHg_EeOejZqJpKQeww" supplier="_L-I7kF8wEeGerN33d-RdRg" contract="_L-I7kF8wEeGerN33d-RdRg"/>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_hQJckHk8EeOh_8tymvdOOg" name="enterState">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_hQLRwHk8EeOh_8tymvdOOg" name="stateEnum">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hQL40Hk8EeOh_8tymvdOOg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hQMf4Hk8EeOh_8tymvdOOg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_hQMf4Xk8EeOh_8tymvdOOg" name="eInstance">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hQNG8Hk8EeOh_8tymvdOOg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hQNG8Xk8EeOh_8tymvdOOg" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_hQSmgHk8EeOh_8tymvdOOg" name="leaveState">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_hQTNkHk8EeOh_8tymvdOOg" name="eState">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hQTNkXk8EeOh_8tymvdOOg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hQT0oHk8EeOh_8tymvdOOg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_hQT0oXk8EeOh_8tymvdOOg" name="eInstance">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hQUbsHk8EeOh_8tymvdOOg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hQUbsXk8EeOh_8tymvdOOg" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_DEJCwF81EeGbQoflzrdx0g" name="rules">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_HtqOoF1DEeWbP6DS-3NPyQ" annotatedElement="_0k6cIF1CEeWbP6DS-3NPyQ">
+        <body>Container rule for an OO state machine. The main difference is that we use OO variants of the contained elements and replace the interception connector by an interception operation</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Class" xmi:id="_18qdsO67EeCZ9MjsZTV1zw" name="StateMachineWCallEvents">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_LyxAEPTXEeCn1-FCrfecFg" name="callEventInterceptor" visibility="public" type="_u-qioOUTEd-P08Bciq_LqQ" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MGWDYPTXEeCn1-FCrfecFg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MGfNUPTXEeCn1-FCrfecFg" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_MGz9cPTXEeCn1-FCrfecFg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_jXX54PTXEeCn1-FCrfecFg" name="eventPool" visibility="public" aggregation="composite">
+          <type xmi:type="uml:Class" href="pathmap://DML_TRAFO/trafos.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_l6kPYPTXEeCn1-FCrfecFg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_l6k2cPTXEeCn1-FCrfecFg" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_l6mEkPTXEeCn1-FCrfecFg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_mv6jAPTXEeCn1-FCrfecFg" name="stateMachine" visibility="public" type="_ens7QOUTEd-P08Bciq_LqQ" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ocG_EPTXEeCn1-FCrfecFg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ocHmIPTXEeCn1-FCrfecFg" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_ocI0QPTXEeCn1-FCrfecFg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_vcPiUCWdEeGX6PuSE-DJlQ" name="thread" visibility="public" aggregation="composite">
+          <type xmi:type="uml:Class" href="pathmap://DML_TRAFO/trafos.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yS4YQCWdEeGX6PuSE-DJlQ" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yS4_UCWdEeGX6PuSE-DJlQ" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_yS6NcCWdEeGX6PuSE-DJlQ">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedConnector xmi:type="uml:Connector" xmi:id="_-DJY8PTXEeCn1-FCrfecFg" name="Connector-SM-Pool">
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_-DKnEPTXEeCn1-FCrfecFg" partWithPort="_mv6jAPTXEeCn1-FCrfecFg" role="_u7pk4PRUEeCKVJwdD4MMsg">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-DKnEvTXEeCn1-FCrfecFg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-DKnEfTXEeCn1-FCrfecFg" value="1"/>
+          </end>
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_-DL1MPTXEeCn1-FCrfecFg" partWithPort="_jXX54PTXEeCn1-FCrfecFg">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-DL1MvTXEeCn1-FCrfecFg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-DL1MfTXEeCn1-FCrfecFg" value="1"/>
+            <role xmi:type="uml:Port" href="pathmap://DML_TRAFO/trafos.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
+          </end>
+        </ownedConnector>
+        <ownedConnector xmi:type="uml:Connector" xmi:id="_nILRMPUHEeCn1-FCrfecFg" name="connector-CallEvent-Pool">
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_nIL4QPUHEeCn1-FCrfecFg" partWithPort="_LyxAEPTXEeCn1-FCrfecFg" role="_a4NKMOuMEeCTfOY57pgE3w">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nIL4QvUHEeCn1-FCrfecFg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nIL4QfUHEeCn1-FCrfecFg" value="1"/>
+          </end>
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_nIMfUPUHEeCn1-FCrfecFg" partWithPort="_jXX54PTXEeCn1-FCrfecFg">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nIMfUvUHEeCn1-FCrfecFg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nIMfUfUHEeCn1-FCrfecFg" value="1"/>
+            <role xmi:type="uml:Port" href="pathmap://DML_TRAFO/trafos.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
+          </end>
+        </ownedConnector>
+        <ownedConnector xmi:type="uml:Connector" xmi:id="__zI4QCWdEeGX6PuSE-DJlQ" name="connector-SM-thread">
+          <end xmi:type="uml:ConnectorEnd" xmi:id="__zI4QSWdEeGX6PuSE-DJlQ" partWithPort="_mv6jAPTXEeCn1-FCrfecFg">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__zI4QyWdEeGX6PuSE-DJlQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__zI4QiWdEeGX6PuSE-DJlQ" value="1"/>
+            <role xmi:type="uml:Port" href="pathmap://DML_TRAFO/trafos.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+          </end>
+          <end xmi:type="uml:ConnectorEnd" xmi:id="__zJfUCWdEeGX6PuSE-DJlQ" partWithPort="_vcPiUCWdEeGX6PuSE-DJlQ">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__zJfUiWdEeGX6PuSE-DJlQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__zJfUSWdEeGX6PuSE-DJlQ" value="1"/>
+            <role xmi:type="uml:Port" href="pathmap://DML_TRAFO/trafos.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+          </end>
+        </ownedConnector>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_b1zNUOusEeCTfOY57pgE3w" name="StateMachine"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_IeWosF81EeGbQoflzrdx0g" name="StateMachineWCallEventsAndAnim">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_IeWosV81EeGbQoflzrdx0g" name="callEventInterceptor" visibility="public" type="_u-qioOUTEd-P08Bciq_LqQ" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IeWos181EeGbQoflzrdx0g" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IeWosl81EeGbQoflzrdx0g" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_IeWotF81EeGbQoflzrdx0g">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_IeWotV81EeGbQoflzrdx0g" name="eventPool" visibility="public" aggregation="composite">
+          <type xmi:type="uml:Class" href="pathmap://DML_TRAFO/trafos.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IeWot181EeGbQoflzrdx0g" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IeWotl81EeGbQoflzrdx0g" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_IeXPwF81EeGbQoflzrdx0g">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_IeXPwV81EeGbQoflzrdx0g" name="stateMachine" visibility="public" type="_ens7QOUTEd-P08Bciq_LqQ" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IeXPw181EeGbQoflzrdx0g" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IeXPwl81EeGbQoflzrdx0g" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_IeXPxF81EeGbQoflzrdx0g">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_IeXPxV81EeGbQoflzrdx0g" name="thread" visibility="public" aggregation="composite">
+          <type xmi:type="uml:Class" href="pathmap://DML_TRAFO/trafos.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IeXPx181EeGbQoflzrdx0g" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IeXPxl81EeGbQoflzrdx0g" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_IeXPyF81EeGbQoflzrdx0g">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_pTD04F81EeGbQoflzrdx0g" name="eclipseServer" visibility="public" type="_xELAwF81EeGbQoflzrdx0g" aggregation="shared">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rhbJ4F81EeGbQoflzrdx0g" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rhpMUF81EeGbQoflzrdx0g" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_rhtdwF81EeGbQoflzrdx0g">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedConnector xmi:type="uml:Connector" xmi:id="_IeXPyV81EeGbQoflzrdx0g" name="Connector-SM-Pool">
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_IeXPyl81EeGbQoflzrdx0g" partWithPort="_IeXPwV81EeGbQoflzrdx0g" role="_u7pk4PRUEeCKVJwdD4MMsg">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IeXPzF81EeGbQoflzrdx0g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IeXPy181EeGbQoflzrdx0g" value="1"/>
+          </end>
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_IeXPzV81EeGbQoflzrdx0g" partWithPort="_IeWotV81EeGbQoflzrdx0g">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IeXPz181EeGbQoflzrdx0g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IeXPzl81EeGbQoflzrdx0g" value="1"/>
+            <role xmi:type="uml:Port" href="pathmap://DML_TRAFO/trafos.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
+          </end>
+        </ownedConnector>
+        <ownedConnector xmi:type="uml:Connector" xmi:id="_IeXP0F81EeGbQoflzrdx0g" name="connector-CallEvent-Pool">
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_IeXP0V81EeGbQoflzrdx0g" partWithPort="_IeWosV81EeGbQoflzrdx0g" role="_a4NKMOuMEeCTfOY57pgE3w">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IeXP0181EeGbQoflzrdx0g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IeXP0l81EeGbQoflzrdx0g" value="1"/>
+          </end>
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_IeXP1F81EeGbQoflzrdx0g" partWithPort="_IeWotV81EeGbQoflzrdx0g">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IeXP1l81EeGbQoflzrdx0g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IeXP1V81EeGbQoflzrdx0g" value="1"/>
+            <role xmi:type="uml:Port" href="pathmap://DML_TRAFO/trafos.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
+          </end>
+        </ownedConnector>
+        <ownedConnector xmi:type="uml:Connector" xmi:id="_IeXP1181EeGbQoflzrdx0g" name="connector-SM-thread">
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_IeXP2F81EeGbQoflzrdx0g" partWithPort="_IeXPwV81EeGbQoflzrdx0g">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IeXP2l81EeGbQoflzrdx0g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IeXP2V81EeGbQoflzrdx0g" value="1"/>
+            <role xmi:type="uml:Port" href="pathmap://DML_TRAFO/trafos.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+          </end>
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_IeXP2181EeGbQoflzrdx0g" partWithPort="_IeXPxV81EeGbQoflzrdx0g">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IeXP3V81EeGbQoflzrdx0g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IeXP3F81EeGbQoflzrdx0g" value="1"/>
+            <role xmi:type="uml:Port" href="pathmap://DML_TRAFO/trafos.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+          </end>
+        </ownedConnector>
+        <ownedConnector xmi:type="uml:Connector" xmi:id="_G9Gb4F82EeGbQoflzrdx0g" name="Connector1">
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_G9HC8F82EeGbQoflzrdx0g" partWithPort="_IeXPwV81EeGbQoflzrdx0g" role="_xUE3QF8wEeGerN33d-RdRg">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_G9HC8l82EeGbQoflzrdx0g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_G9HC8V82EeGbQoflzrdx0g" value="1"/>
+          </end>
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_G9HqAF82EeGbQoflzrdx0g" partWithPort="_pTD04F81EeGbQoflzrdx0g" role="_z94Y0F81EeGbQoflzrdx0g">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_G9HqAl82EeGbQoflzrdx0g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_G9HqAV82EeGbQoflzrdx0g" value="1"/>
+          </end>
+        </ownedConnector>
+        <ownedConnector xmi:type="uml:Connector" xmi:id="_22UUQMRfEeWvtvzLCnzMNA" name="Connector2">
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_22XXkMRfEeWvtvzLCnzMNA" partWithPort="_IeXPxV81EeGbQoflzrdx0g">
+            <role xmi:type="uml:Port" href="pathmap://DML_TRAFO/trafos.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+          </end>
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_22XXkcRfEeWvtvzLCnzMNA" partWithPort="_IeXPwV81EeGbQoflzrdx0g">
+            <role xmi:type="uml:Port" href="pathmap://DML_TRAFO/trafos.uml#_2elREMRcEeWq5unKf5DK_A"/>
+          </end>
+        </ownedConnector>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_0k6cIF1CEeWbP6DS-3NPyQ" name="LWStateMachineWCallEvents">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="__1jp8F1CEeWbP6DS-3NPyQ" name="eventPool" visibility="public" aggregation="composite">
+          <type xmi:type="uml:Class" href="pathmap://DML_TRAFO/trafos.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_jB-bkGH9EeWEu6399scseQ" name="thread" visibility="public">
+          <type xmi:type="uml:Class" href="pathmap://DML_TRAFO/trafos.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_2DZ0IJOMEeWHFMpMrhT5xw" name="m_currentState" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_UT6tUOCREeW9GrJuOSoZTg" name="runAdapter" type="_JsV0cN_-EeW9GrJuOSoZTg"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_0xns8PHjEeWTnO8eSKpRLw" name="localAnimService" visibility="public" type="_xELAwF81EeGbQoflzrdx0g" aggregation="shared"/>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_zusHkOCQEeW9GrJuOSoZTg" client="_0k6cIF1CEeWbP6DS-3NPyQ" supplier="_lqsBUOCQEeW9GrJuOSoZTg" contract="_lqsBUOCQEeW9GrJuOSoZTg"/>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_J-bDAF3VEeWbP6DS-3NPyQ" name="[name]" specification="_e5QLgF1DEeWbP6DS-3NPyQ">
+          <language>C/C++</language>
+          <body>!xtend StateMachineGen.eventInterceptorOO</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_GGdugGH9EeWEu6399scseQ" name="LWStateMachineWCallEvents" specification="_xt1ogGH8EeWEu6399scseQ">
+          <language>C/C++</language>
+          <body>// create connection between thread and this class
+runAdapter.sm = this;
+thread.connect_rRun(runAdapter.get_run());</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Sxi6AJLREeWyWIXHbEJ4ew" name="processEvents" visibility="package" specification="_YcqpwJLREeWyWIXHbEJ4ew">
+          <language>C/C++</language>
+          <body>!xtend StateMachineGen.processEventsOO&#xD;
+&#xD;
+</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_hcr5oN_9EeW9GrJuOSoZTg" name="runSM" specification="_dkpREN_9EeW9GrJuOSoZTg">
+          <language>C/C++</language>
+          <body>!xtend StateMachineGen.activateOO
+</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_xt1ogGH8EeWEu6399scseQ" name="LWStateMachineWCallEvents" method="_GGdugGH9EeWEu6399scseQ"/>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_dkpREN_9EeW9GrJuOSoZTg" name="runSM" method="_hcr5oN_9EeW9GrJuOSoZTg"/>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_YcqpwJLREeWyWIXHbEJ4ew" name="processEvents" method="_Sxi6AJLREeWyWIXHbEJ4ew"/>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_e5QLgF1DEeWbP6DS-3NPyQ" name="[name]" method="_J-bDAF3VEeWbP6DS-3NPyQ"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_rpA0oMBJEeWmeYo0CV4Tlg" name="LWStateMachineWCallEventsSub">
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_rpA0psBJEeWmeYo0CV4Tlg" name="[name]" specification="_rpA0rMBJEeWmeYo0CV4Tlg">
+          <language>C/C++</language>
+          <body>!xtend StateMachineGen.eventInterceptorOO</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_rpA0qMBJEeWmeYo0CV4Tlg" name="processEvents" visibility="package" specification="_rpA0q8BJEeWmeYo0CV4Tlg">
+          <language>C/C++</language>
+          <body>!xtend StateMachineGen.processEventsOO
+
+</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_rpA0qcBJEeWmeYo0CV4Tlg" name="activate" specification="_rpA0qsBJEeWmeYo0CV4Tlg">
+          <language>C/C++</language>
+          <body>!xtend StateMachineGen.activateOO
+</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_rpA0qsBJEeWmeYo0CV4Tlg" name="activate" method="_rpA0qcBJEeWmeYo0CV4Tlg"/>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_rpA0q8BJEeWmeYo0CV4Tlg" name="processEvents" method="_rpA0qMBJEeWmeYo0CV4Tlg"/>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_rpA0rMBJEeWmeYo0CV4Tlg" name="[name]" method="_rpA0psBJEeWmeYo0CV4Tlg"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_JsV0cN_-EeW9GrJuOSoZTg" name="RunStatemachine">
+        <generalization xmi:type="uml:Generalization" xmi:id="_UVsYwN_-EeW9GrJuOSoZTg">
+          <general xmi:type="uml:Class" href="pathmap://DML_TRAFO/trafos.uml#_zDDlYMRcEeWq5unKf5DK_A"/>
+        </generalization>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_Y0QPgOCSEeW9GrJuOSoZTg" name="sm" type="_lqsBUOCQEeW9GrJuOSoZTg"/>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_azSHQN_-EeW9GrJuOSoZTg" name="derived realization of IRunnable" client="_JsV0cN_-EeW9GrJuOSoZTg">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
+          <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
+        </interfaceRealization>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_rujVkN_-EeW9GrJuOSoZTg" name="run" specification="_azSuUN_-EeW9GrJuOSoZTg">
+          <language>C/C++</language>
+          <body>sm->runSM();</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_azSuUN_-EeW9GrJuOSoZTg" name="run" method="_rujVkN_-EeW9GrJuOSoZTg"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Dependency" xmi:id="_wHSm4OA_EeW9GrJuOSoZTg" client="_0k6cIF1CEeWbP6DS-3NPyQ">
+        <supplier xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_oSgIME_BEdy2tpS719xBwQ"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Interface" xmi:id="_lqsBUOCQEeW9GrJuOSoZTg" name="IRunSM">
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_rTe10OCQEeW9GrJuOSoZTg" name="runSM" isAbstract="true"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_6-9EUCPoEeauR8esGjVxRA" name="CompleteSM">
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_6-9EViPoEeauR8esGjVxRA" client="_6-9EUCPoEeauR8esGjVxRA" supplier="_lqsBUOCQEeW9GrJuOSoZTg" contract="_lqsBUOCQEeW9GrJuOSoZTg"/>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_6-9EVyPoEeauR8esGjVxRA" name="[name]">
+          <language>C/C++</language>
+          <body>!xtend StateMachineGen.eventInterceptorOO</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_6-9EWCPoEeauR8esGjVxRA" name="LWStateMachineWCallEvents">
+          <language>C/C++</language>
+          <body>// create connection between thread and this class
+runAdapter.sm = this;
+thread.connect_rRun(runAdapter.get_run());</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_6-9EWSPoEeauR8esGjVxRA" name="processEvents" visibility="package">
+          <language>C/C++</language>
+          <body>!xtend StateMachineGen.processEventsOO
+
+</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_6-9EWiPoEeauR8esGjVxRA" name="runSM">
+          <language>C/C++</language>
+          <body>!xtend StateMachineGen.activateOO
+</body>
+        </ownedBehavior>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_dL7moPCGEeWeJ4SmoZSqDg" name="derivedTypes">
+      <packagedElement xmi:type="uml:Package" xmi:id="_dL_RAPCGEeWeJ4SmoZSqDg" name="statemachine">
+        <packagedElement xmi:type="uml:Package" xmi:id="_dL_4EPCGEeWeJ4SmoZSqDg" name="Animation">
+          <packagedElement xmi:type="uml:Class" xmi:id="_dL_4EfCGEeWeJ4SmoZSqDg" name="Use_IAnimation"/>
+          <packagedElement xmi:type="uml:Usage" xmi:id="_dMMsYPCGEeWeJ4SmoZSqDg" client="_dL_4EfCGEeWeJ4SmoZSqDg" supplier="_L-I7kF8wEeGerN33d-RdRg"/>
+        </packagedElement>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_uYyt0CdFEea3Ob5UfxuCGA" name="SystemStateEnum_t">
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_ER5vICdGEea3Ob5UfxuCGA" name="IDLE"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_FvfugCdGEea3Ob5UfxuCGA" name="EVENT_PROCESSING"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_GPdA8CdGEea3Ob5UfxuCGA" name="EVENT_DEFERRED"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_GrYH8CdGEea3Ob5UfxuCGA" name="EVENT_CONSUMED"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_hNs5oCdSEea6h5xPEh8iAg" name="ThreadFunctions">
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_kWR0ICdSEea6h5xPEh8iAg" name="TF_CHANGE_EVENT"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_tj4MICdSEea6h5xPEh8iAg" name="TF_TIME_EVENT"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_nY3bYCdSEea6h5xPEh8iAg" name="TF_DO_ACTIVITY"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_pgWsUCdSEea6h5xPEh8iAg" name="TF_ENTER_REGION"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_sGQXkCdSEea6h5xPEh8iAg" name="TF_EXIT_REGION"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_uSWbsCdSEea6h5xPEh8iAg" name="TF_TRANSITION"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_BF78sD0vEeaKAZ77fvU8gg" name="TF_STATE_MACHINE_TYPE"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_4Z1UwCmREearkPe7QerpcQ" name="StructForThread_t">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_jliRwCkVEea0-deBroAIbQ" name="ptr">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mnUAsCkVEea0-deBroAIbQ" name="id">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_p12ZQCkVEea0-deBroAIbQ" name="enter_mode">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_rzKagCkVEea0-deBroAIbQ" name="func_type">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_trCiICkVEea0-deBroAIbQ" name="duration">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_ZmpmwCkVEea0-deBroAIbQ" name="StructForThread_t">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_E56cgCkWEea0-deBroAIbQ" name="ptr">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_HmMckCkWEea0-deBroAIbQ" name="id">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_M6HNQCkWEea0-deBroAIbQ" name="enter_mode">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_PO3eICkWEea0-deBroAIbQ" name="func_type">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_Q9zFICkWEea0-deBroAIbQ" name="duration">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_-pXrgCkVEea0-deBroAIbQ" name="StructForThread_t"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_Mx4poD0zEeaQfbTekb55bw" name="EventPriority_t">
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Mx4poT0zEeaQfbTekb55bw" name="PRIORITY_1"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Mx4poj0zEeaQfbTekb55bw" name="PRIORITY_2"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Mx4poz0zEeaQfbTekb55bw" name="PRIORITY_3"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Mx4ppD0zEeaQfbTekb55bw" name="PRIORITY_4"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Mx4ppT0zEeaQfbTekb55bw" name="PRIORITY_5"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_MyIhQD0zEeaQfbTekb55bw" name="EventType_t">
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_MyIhQT0zEeaQfbTekb55bw" name="SIGNAL_EVENT"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_MyIhQj0zEeaQfbTekb55bw" name="CALL_EVENT"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_MyIhQz0zEeaQfbTekb55bw" name="TIME_EVENT"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_MyIhRD0zEeaQfbTekb55bw" name="CHANGE_EVENT"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_MyIhRT0zEeaQfbTekb55bw" name="COMPLETION_EVENT"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_MyJIUD0zEeaQfbTekb55bw" name="Event_t">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_MyJIUT0zEeaQfbTekb55bw" name="priority" type="_Mx4poD0zEeaQfbTekb55bw">
+        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_MyJIUj0zEeaQfbTekb55bw" instance="_Mx4poj0zEeaQfbTekb55bw"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_MyJIUz0zEeaQfbTekb55bw" name="data">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_MyJIVD0zEeaQfbTekb55bw" name="eventID">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_MyJIVT0zEeaQfbTekb55bw" name="eventType" type="_MyIhQD0zEeaQfbTekb55bw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_MyJIVj0zEeaQfbTekb55bw" name="associatedState">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_dWxYQD0zEeaQfbTekb55bw" name="EventPriorityQueue">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dWxYQT0zEeaQfbTekb55bw" name="data" visibility="private" type="_MyJIUD0zEeaQfbTekb55bw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dWxYQj0zEeaQfbTekb55bw" name="size">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dWxYQz0zEeaQfbTekb55bw" name="numberOfElements">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dWxYRD0zEeaQfbTekb55bw" name="readPos">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dWxYRT0zEeaQfbTekb55bw" name="writePos">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dWxYRj0zEeaQfbTekb55bw" name="mutex">
+        <type xmi:type="uml:Class" href="pathmap://PapyrusC_Cpp_LIBRARIES/pthread.uml#__niwsCa0EeazPcQ6-9hBeQ"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dWxYRz0zEeaQfbTekb55bw" name="cond">
+        <type xmi:type="uml:Class" href="pathmap://PapyrusC_Cpp_LIBRARIES/pthread.uml#_-vYZoCa0EeazPcQ6-9hBeQ"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dWxYSD0zEeaQfbTekb55bw" name="isLock">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_vAIV4I7PEdySGvm5GN66HA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dWxYST0zEeaQfbTekb55bw" name="completionEvents" type="_MyJIUD0zEeaQfbTekb55bw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dWxYSj0zEeaQfbTekb55bw" name="compSize">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dWxYSz0zEeaQfbTekb55bw" name="compNumbers">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dWxYTD0zEeaQfbTekb55bw" name="compReadPos">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dWxYTT0zEeaQfbTekb55bw" name="compWritePos">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dWxYTj0zEeaQfbTekb55bw" name="deferreds" type="_MyJIUD0zEeaQfbTekb55bw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dWxYTz0zEeaQfbTekb55bw" name="numberOfDeferreds">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dWxYUD0zEeaQfbTekb55bw" name="readDef">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dWxYUT0zEeaQfbTekb55bw" name="writeDef">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_dWxYUj0zEeaQfbTekb55bw" name="EventPriorityQueue" specification="_dWx_XD0zEeaQfbTekb55bw">
+        <language>C++</language>
+        <body>mutex = PTHREAD_MUTEX_INITIALIZER;&#xD;
+cond = PTHREAD_COND_INITIALIZER;&#xD;
+isLock = false;</body>
+      </ownedBehavior>
+      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_dWxYUz0zEeaQfbTekb55bw" name="push" specification="_dWx_Vj0zEeaQfbTekb55bw">
+        <language>C++</language>
+        <body>statemachine::Event_t* ret = NULL;&#xD;
+if (EVENT_DATA_SIZE &lt;= dataSize) {&#xD;
+	return;&#xD;
+}&#xD;
+pthread_mutex_lock(&amp;mutex);&#xD;
+while(isLock) {&#xD;
+	pthread_cond_wait(&amp;cond, &amp;mutex);&#xD;
+}&#xD;
+if (compNumbers &lt; compSize &amp;&amp; eventType == statemachine::COMPLETION_EVENT) {&#xD;
+	ret = &amp;(this->completionEvents[compWritePos]);&#xD;
+	compNumbers++;&#xD;
+	ret->priority = priority;&#xD;
+	memcpy(ret->data, data, dataSize);&#xD;
+	ret->eventID = eventID;&#xD;
+	ret->eventType = eventType;&#xD;
+	ret->associatedState = associatedState;&#xD;
+	compWritePos = (compWritePos+1)%compSize;&#xD;
+} else if (numberOfElements &lt; size) {&#xD;
+	ret = &amp;(this->data[writePos]);&#xD;
+	numberOfElements++;&#xD;
+	ret->priority = priority;&#xD;
+	memcpy(ret->data, data, dataSize);&#xD;
+	ret->eventID = eventID;&#xD;
+	ret->eventType = eventType;&#xD;
+	ret->associatedState = associatedState;&#xD;
+	writePos = (writePos+1)%size;&#xD;
+}&#xD;
+isLock = false;&#xD;
+pthread_cond_signal(&amp;cond);&#xD;
+pthread_mutex_unlock(&amp;mutex);</body>
+      </ownedBehavior>
+      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_dWxYVD0zEeaQfbTekb55bw" name="pop" specification="_dWx_Uj0zEeaQfbTekb55bw">
+        <language>C++</language>
+        <body>statemachine::Event_t* ret = NULL;&#xD;
+pthread_mutex_lock(&amp;mutex);&#xD;
+while(isLock) {&#xD;
+	pthread_cond_wait(&amp;cond, &amp;mutex);&#xD;
+}&#xD;
+if (compNumbers > 0) {&#xD;
+	ret = &amp;completionEvents[compReadPos];&#xD;
+       compNumbers--;&#xD;
+	compReadPos = (compReadPos + 1) % compSize;&#xD;
+} else if (popDeferred &amp;&amp; (numberOfDeferreds > 0)) {&#xD;
+	ret = &amp;deferreds[readDef];&#xD;
+	numberOfDeferreds--;&#xD;
+	readDef = (readDef + 1) % defSize;&#xD;
+}&#xD;
+if ((ret == NULL) &amp;&amp; (numberOfElements > 0)) {&#xD;
+	ret = &amp;data[readPos];&#xD;
+	numberOfElements--;&#xD;
+	readPos = (readPos+1)%size;&#xD;
+}&#xD;
+&#xD;
+if ((ret == NULL) &amp;&amp; (numberOfDeferreds > 0)) {&#xD;
+	ret = &amp;deferreds[readDef];&#xD;
+	numberOfDeferreds--;&#xD;
+	readDef = (readDef + 1) % defSize;&#xD;
+}&#xD;
+&#xD;
+isLock = false;&#xD;
+pthread_cond_signal(&amp;cond);&#xD;
+pthread_mutex_unlock(&amp;mutex);&#xD;
+return ret;</body>
+      </ownedBehavior>
+      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_dWx_UD0zEeaQfbTekb55bw" name="saveDeferred" specification="_dWx_Xj0zEeaQfbTekb55bw">
+        <language>C++</language>
+        <body>if (numberOfDeferreds &lt; defSize) {&#xD;
+	deferreds[writeDef].priority = defe.priority;&#xD;
+	memcpy(&amp;deferreds[writeDef].data, &amp;defe.data, sizeof(defe.data));&#xD;
+	deferreds[writeDef].eventID = defe.eventID;&#xD;
+	deferreds[writeDef].eventType = defe.eventType;&#xD;
+	deferreds[writeDef].associatedState = defe.associatedState;&#xD;
+	numberOfDeferreds++;&#xD;
+	writeDef = (writeDef + 1) % defSize;&#xD;
+}&#xD;
+</body>
+      </ownedBehavior>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dWx_Uj0zEeaQfbTekb55bw" name="pop" method="_dWxYVD0zEeaQfbTekb55bw">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_dWx_Uz0zEeaQfbTekb55bw" name="ret" type="_MyJIUD0zEeaQfbTekb55bw" direction="return"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_dWx_VD0zEeaQfbTekb55bw" name="popDeferred">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_vAIV4I7PEdySGvm5GN66HA"/>
+          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_dWx_VT0zEeaQfbTekb55bw"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dWx_Vj0zEeaQfbTekb55bw" name="push" method="_dWxYUz0zEeaQfbTekb55bw">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_dWx_Vz0zEeaQfbTekb55bw" name="priority" type="_Mx4poD0zEeaQfbTekb55bw"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_dWx_WD0zEeaQfbTekb55bw" name="data">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_dWx_WT0zEeaQfbTekb55bw" name="eventID">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_dWx_Wj0zEeaQfbTekb55bw" name="eventType" type="_MyIhQD0zEeaQfbTekb55bw"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_dWx_Wz0zEeaQfbTekb55bw" name="associatedState">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_GU_bcEVGEeaqgqiOqzyU4w" name="dataSize">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_GU_bcUVGEeaqgqiOqzyU4w"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dWx_XD0zEeaQfbTekb55bw" name="EventPriorityQueue" method="_dWxYUj0zEeaQfbTekb55bw"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dWx_XT0zEeaQfbTekb55bw" name="heapify" visibility="private"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dWx_Xj0zEeaQfbTekb55bw" name="saveDeferred" method="_dWx_UD0zEeaQfbTekb55bw">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_dWx_Xz0zEeaQfbTekb55bw" name="defe" type="_MyJIUD0zEeaQfbTekb55bw"/>
+      </ownedOperation>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_e8kikOUUEd-P08Bciq_LqQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fAD7cOUUEd-P08Bciq_LqQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_cnmBUBE1EeG3cfLoiI6G7g">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cz4J0BE1EeG3cfLoiI6G7g" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_54PeIGH8EeWEu6399scseQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_54R6YGH8EeWEu6399scseQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9ko48GoMEea1-rBQVLBwEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9kz4EGoMEea1-rBQVLBwEw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Transformation/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://TRAFO_PROFILE/Transformation.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/>
+    </profileApplication>
+  </uml:Model>
+  <FCM:InteractionComponent xmi:id="_hanSUOUUEd-P08Bciq_LqQ" base_Class="_u-qioOUTEd-P08Bciq_LqQ"/>
+  <FCM:Template xmi:id="_9E8EUOUUEd-P08Bciq_LqQ" base_Element="_2qJyMOUUEd-P08Bciq_LqQ" kind="LoopOperations">
+    <helper xmi:type="FCM:BindingHelper" href="pathmap://DML_TRAFO/trafos.uml#_nLe_sHJDEeOMF7YEvnQt5g"/>
+  </FCM:Template>
+  <FCM:Port xmi:id="_a45twOuMEeCTfOY57pgE3w" base_Port="_a4NKMOuMEeCTfOY57pgE3w">
+    <kind xmi:type="FCM:PortKind" href="pathmap://DML_TRAFO/trafos.uml#_9Fif4FRxEd6GqrP6fkWBoQ"/>
+    <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/trafos.uml#_elkpwPQREeCovO8AYZymZQ"/>
+  </FCM:Port>
+  <FCM:ContainerRule xmi:id="_gsWFgOusEeCTfOY57pgE3w" base_Class="_b1zNUOusEeCTfOY57pgE3w" extensionKind="Aggregation" extension="_uC4BwOusEeCTfOY57pgE3w"/>
+  <FCM:ContainerRule xmi:id="_IDtioO68EeCZ9MjsZTV1zw" base_Class="_CV_x4O68EeCZ9MjsZTV1zw" extensionKind="InterceptAllPorts" interceptor="_hanSUOUUEd-P08Bciq_LqQ"/>
+  <FCM:Port xmi:id="_u7qzAPRUEeCKVJwdD4MMsg" base_Port="_u7pk4PRUEeCKVJwdD4MMsg">
+    <kind xmi:type="FCM:PortKind" href="pathmap://DML_TRAFO/trafos.uml#_9Fif4FRxEd6GqrP6fkWBoQ"/>
+    <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/trafos.uml#_omxU4PNAEeCovO8AYZymZQ"/>
+  </FCM:Port>
+  <FCM:ContainerRule xmi:id="_RmD0YPTXEeCn1-FCrfecFg" base_Class="_18qdsO67EeCZ9MjsZTV1zw"/>
+  <FCM:InterceptionRule xmi:id="_Z5CnUPUQEeCn1-FCrfecFg" interceptionKind="InterceptAllIn" base_Property="_LyxAEPTXEeCn1-FCrfecFg"/>
+  <C_Cpp:Include xmi:id="_eGpZQBE1EeG3cfLoiI6G7g" body="#include &lt;OS_AL/Tracing/Trace.h>&#xA;&#xA;#ifdef SM_VERBOSE&#xA;#include &lt;iostream>&#xA;using namespace std;&#xA;#endif&#xA;" base_class="_ens7QOUTEd-P08Bciq_LqQ"/>
+  <FCM:InstanceConfigurator xmi:id="_QQYfQCNYEeGj_4swHBbKwg" base_Class="_KEMp0CNYEeGj_4swHBbKwg"/>
+  <FCM:UseInstanceConfigurator xmi:id="_StgB8CNYEeGj_4swHBbKwg" base_Class="_u-qioOUTEd-P08Bciq_LqQ" configurator="_QQYfQCNYEeGj_4swHBbKwg"/>
+  <FCM:ConfigurationProperty xmi:id="_uhdD8CVvEeGaL60JjVj19Q" base_Property="_bL0sACVvEeGaL60JjVj19Q"/>
+  <FCM:Template xmi:id="_nngKECaiEeGRo-gX9igNzw" base_Element="_b5mYgCaiEeGRo-gX9igNzw">
+    <helper xmi:type="FCM:BindingHelper" href="pathmap://DML_TRAFO/trafos.uml#_7qhTUHkgEeOCpqruXGWNPw"/>
+  </FCM:Template>
+  <FCM:Port xmi:id="_JZGWgF8xEeGerN33d-RdRg" base_Port="_xUE3QF8wEeGerN33d-RdRg" type="_L-I7kF8wEeGerN33d-RdRg">
+    <kind xmi:type="FCM:PortKind" href="pathmap://DML_TRAFO/trafos.uml#_9Fif4FRxEd6GqrP6fkWBoQ"/>
+  </FCM:Port>
+  <FCM:ContainerRule xmi:id="_IeZE8F81EeGbQoflzrdx0g" base_Class="_IeWosF81EeGbQoflzrdx0g"/>
+  <FCM:InterceptionRule xmi:id="_IeaTEF81EeGbQoflzrdx0g" interceptionKind="InterceptAllIn" base_Property="_IeWosV81EeGbQoflzrdx0g"/>
+  <FCM:Port xmi:id="_5cn5cF81EeGbQoflzrdx0g" base_Port="_z94Y0F81EeGbQoflzrdx0g" type="_L-I7kF8wEeGerN33d-RdRg">
+    <kind xmi:type="FCM:PortKind" href="pathmap://DML_TRAFO/trafos.uml#_wySlkFRxEd6GqrP6fkWBoQ"/>
+  </FCM:Port>
+  <FCM:Singleton xmi:id="_uqa34F_1EeGbQoflzrdx0g" base_Class="_xELAwF81EeGbQoflzrdx0g"/>
+  <FCM:DerivedElement xmi:id="_bmnIYF_4EeGbQoflzrdx0g" base_Element="_bmbiMF_4EeGbQoflzrdx0g" source="_N3m-oF8wEeGerN33d-RdRg"/>
+  <FCM:DerivedElement xmi:id="_bmyukF_4EeGbQoflzrdx0g" base_Element="_bmo9kF_4EeGbQoflzrdx0g" source="_ZgY_oF8wEeGerN33d-RdRg"/>
+  <FCM:InstanceConfigurator xmi:id="_SdiecGGDEeO2F4QRMDSOXg" base_Class="_QH7R8GGDEeO2F4QRMDSOXg"/>
+  <FCM:UseInstanceConfigurator xmi:id="_VnhuMGGDEeO2F4QRMDSOXg" base_Class="_xELAwF81EeGbQoflzrdx0g" configurator="_SdiecGGDEeO2F4QRMDSOXg"/>
+  <FCM:Singleton xmi:id="_JOwQEHg_EeOejZqJpKQeww" base_Class="_B0gFAHg_EeOejZqJpKQeww"/>
+  <FCM:Port xmi:id="_hw3T8Hg_EeOejZqJpKQeww" base_Port="_ZXYggHg_EeOejZqJpKQeww" type="_L-I7kF8wEeGerN33d-RdRg">
+    <kind xmi:type="FCM:PortKind" href="pathmap://DML_TRAFO/trafos.uml#_9Fif4FRxEd6GqrP6fkWBoQ"/>
+  </FCM:Port>
+  <FCM:Port xmi:id="_ncWQEHg_EeOejZqJpKQeww" base_Port="_MLu-kHg_EeOejZqJpKQeww" type="_L-I7kF8wEeGerN33d-RdRg">
+    <kind xmi:type="FCM:PortKind" href="pathmap://DML_TRAFO/trafos.uml#_wySlkFRxEd6GqrP6fkWBoQ"/>
+  </FCM:Port>
+  <FCM:UseInstanceConfigurator xmi:id="_4HKnkHg_EeOejZqJpKQeww" base_Class="_B0gFAHg_EeOejZqJpKQeww" configurator="_SdiecGGDEeO2F4QRMDSOXg"/>
+  <FCM:DerivedElement xmi:id="_hQPjMHk8EeOh_8tymvdOOg" base_Element="_hQJckHk8EeOh_8tymvdOOg" source="_N3m-oF8wEeGerN33d-RdRg"/>
+  <FCM:DerivedElement xmi:id="_hQW38Hk8EeOh_8tymvdOOg" base_Element="_hQSmgHk8EeOh_8tymvdOOg" source="_ZgY_oF8wEeGerN33d-RdRg"/>
+  <FCM:Template xmi:id="_yd5NYF3TEeWbP6DS-3NPyQ" base_Element="_e5QLgF1DEeWbP6DS-3NPyQ">
+    <helper xmi:type="FCM:BindingHelper" href="pathmap://DML_TRAFO/trafos.uml#_nLe_sHJDEeOMF7YEvnQt5g"/>
+  </FCM:Template>
+  <FCM:ContainerRule xmi:id="_-GBU0F3YEeW4Af5fHX2Rfg" base_Class="_0k6cIF1CEeWbP6DS-3NPyQ" kind="LightWeightOORule"/>
+  <standard:Create xmi:id="_9F8wQGH8EeWEu6399scseQ" base_BehavioralFeature="_xt1ogGH8EeWEu6399scseQ"/>
+  <FCM:InterceptionRule xmi:id="_5u8BwJHLEeWxgKjui1HhNA" base_Operation="_e5QLgF1DEeWbP6DS-3NPyQ"/>
+  <FCM:Template xmi:id="_YfX_gJLREeWyWIXHbEJ4ew" base_Element="_YcqpwJLREeWyWIXHbEJ4ew">
+    <helper xmi:type="FCM:BindingHelper" href="pathmap://DML_TRAFO/trafos.uml#_7qhTUHkgEeOCpqruXGWNPw"/>
+  </FCM:Template>
+  <FCM:Template xmi:id="_rr-pEMBJEeWmeYo0CV4Tlg" base_Element="_rpA0rMBJEeWmeYo0CV4Tlg">
+    <helper xmi:type="FCM:BindingHelper" href="pathmap://DML_TRAFO/trafos.uml#_nLe_sHJDEeOMF7YEvnQt5g"/>
+  </FCM:Template>
+  <FCM:InterceptionRule xmi:id="_rsPu0MBJEeWmeYo0CV4Tlg" base_Operation="_rpA0rMBJEeWmeYo0CV4Tlg"/>
+  <FCM:DerivedElement xmi:id="_rsTZMMBJEeWmeYo0CV4Tlg" base_Element="_rpA0qsBJEeWmeYo0CV4Tlg">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:Template xmi:id="_rsVOYMBJEeWmeYo0CV4Tlg" base_Element="_rpA0qsBJEeWmeYo0CV4Tlg">
+    <helper xmi:type="FCM:BindingHelper" href="pathmap://DML_TRAFO/trafos.uml#_7qhTUHkgEeOCpqruXGWNPw"/>
+  </FCM:Template>
+  <FCM:ContainerRule xmi:id="_rsY4wMBJEeWmeYo0CV4Tlg" base_Class="_rpA0oMBJEeWmeYo0CV4Tlg" kind="LightWeightOORule"/>
+  <FCM:Template xmi:id="_rsat8MBJEeWmeYo0CV4Tlg" base_Element="_rpA0q8BJEeWmeYo0CV4Tlg">
+    <helper xmi:type="FCM:BindingHelper" href="pathmap://DML_TRAFO/trafos.uml#_7qhTUHkgEeOCpqruXGWNPw"/>
+  </FCM:Template>
+  <FCM:DerivedElement xmi:id="_PXBQMMTfEeWfEYAFL-UFuw" base_Element="_PW-z8MTfEeWfEYAFL-UFuw">
+    <source xmi:type="uml:Interface" href="pathmap://DML_TRAFO/trafos.uml#_omxU4PNAEeCovO8AYZymZQ"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_PXGvwMTfEeWfEYAFL-UFuw" base_Element="_PXETgcTfEeWfEYAFL-UFuw" source="_L-I7kF8wEeGerN33d-RdRg"/>
+  <FCM:DerivedElement xmi:id="_PXUyMMTfEeWfEYAFL-UFuw" base_Element="_PXRH0MTfEeWfEYAFL-UFuw">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_azVKkN_-EeW9GrJuOSoZTg" base_Element="_azSuUN_-EeW9GrJuOSoZTg">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+  </FCM:DerivedElement>
+  <C_Cpp:Ptr xmi:id="_exWgEOCSEeW9GrJuOSoZTg" base_property="_Y0QPgOCSEeW9GrJuOSoZTg"/>
+  <FCM:Template xmi:id="_I1HpwODIEeW9GrJuOSoZTg" base_Element="_dkpREN_9EeW9GrJuOSoZTg">
+    <helper xmi:type="FCM:BindingHelper" href="pathmap://DML_TRAFO/trafos.uml#_7qhTUHkgEeOCpqruXGWNPw"/>
+  </FCM:Template>
+  <FCM:DerivedElement xmi:id="_dMJCAPCGEeWeJ4SmoZSqDg" base_Element="_dL_4EfCGEeWeJ4SmoZSqDg" source="_L-I7kF8wEeGerN33d-RdRg"/>
+  <FCM:Template xmi:id="_V9bwcPEGEeWeJ4SmoZSqDg" base_Element="_PXRH0MTfEeWfEYAFL-UFuw">
+    <helper xmi:type="FCM:BindingHelper" href="pathmap://DML_TRAFO/trafos.uml#_7qhTUHkgEeOCpqruXGWNPw"/>
+  </FCM:Template>
+  <C_Cpp:Include xmi:id="_xYvwMCfnEeaUspRU-Igu6g" header="// common definitions for statemachine&#xA;&#xA;#define TIME_EVENT_LOWER_BOUND (0)&#xA;#define CHANGE_EVENT_LOWER_BOUND (2)&#xA;#define TE_INDEX(id) (id - TIME_EVENT_LOWER_BOUND)&#xA;#define CHE_INDEX(id) (id - CHANGE_EVENT_LOWER_BOUND)&#xA;#define SMSERVER_REGION0_DEFAULT (0)&#xA;#define SMSERVER_REGION0 (0)&#xA;#include &quot;time.h&quot;&#xA;#include &quot;pthread.h&quot;&#xA;#define CHECKPOINT if (systemState == statemachine::EVENT_PROCESSING) {return;}" base_package="_ago_QOUTEd-P08Bciq_LqQ"/>
+  <C_Cpp:Ptr xmi:id="_2MBEsCkVEea0-deBroAIbQ" base_property="_jliRwCkVEea0-deBroAIbQ"/>
+  <standard:Create xmi:id="_6ksVICkVEea0-deBroAIbQ" base_BehavioralFeature="_ZmpmwCkVEea0-deBroAIbQ"/>
+  <standard:Create xmi:id="__vb7sCkVEea0-deBroAIbQ" base_BehavioralFeature="_-pXrgCkVEea0-deBroAIbQ"/>
+  <C_Cpp:Ptr xmi:id="_sjjgMCkWEea0-deBroAIbQ" base_parameter="_E56cgCkWEea0-deBroAIbQ"/>
+  <C_Cpp:ConstInit xmi:id="_2YH4gCmNEeawvKuMccmf1A" initialisation="ptr(ptr), id(id), enter_mode(enter_mode), func_type(func_type), duration(duration)" base_operation="_ZmpmwCkVEea0-deBroAIbQ"/>
+  <C_Cpp:Include xmi:id="_t6V4QD0zEeaQfbTekb55bw" header="#include &quot;pthread.h&quot;&#xD;&#xA;#include &quot;stdio.h&quot;&#xD;&#xA;#include &quot;string.h&quot;&#xD;&#xA;&#xD;&#xA;#define defSize (10)" base_class="_dWxYQD0zEeaQfbTekb55bw" base_Classifier="_dWxYQD0zEeaQfbTekb55bw"/>
+  <C_Cpp:Array xmi:id="_xlq6gD0zEeaQfbTekb55bw" definition="[10]" base_property="_dWxYQT0zEeaQfbTekb55bw"/>
+  <C_Cpp:Array xmi:id="_1zeXsD0zEeaQfbTekb55bw" definition="[4]" base_property="_dWxYST0zEeaQfbTekb55bw"/>
+  <C_Cpp:Array xmi:id="_7TbHUD01Eea36NnsImgkig" definition="[defSize]" base_property="_dWxYTj0zEeaQfbTekb55bw"/>
+  <C_Cpp:Ptr xmi:id="_DGqaID02Eea36NnsImgkig" base_parameter="_dWx_Uz0zEeaQfbTekb55bw"/>
+  <C_Cpp:Ptr xmi:id="_J7gLAD02Eea36NnsImgkig" base_parameter="_dWx_WD0zEeaQfbTekb55bw"/>
+  <C_Cpp:Ref xmi:id="_QbV8QD02Eea36NnsImgkig" base_parameter="_dWx_Xz0zEeaQfbTekb55bw"/>
+  <standard:Create xmi:id="_U58OgD02Eea36NnsImgkig" base_BehavioralFeature="_dWx_XD0zEeaQfbTekb55bw"/>
+  <C_Cpp:ConstInit xmi:id="_W5ymYD02Eea36NnsImgkig" initialisation="size(10), numberOfElements(0), readPos(0), writePos(0), compSize(4), compNumbers(0), compReadPos(0), compWritePos(0), numberOfDeferreds(0), readDef(0), writeDef(0) " base_operation="_dWx_XD0zEeaQfbTekb55bw"/>
+  <C_Cpp:Array xmi:id="_7ltOQEVFEeaqgqiOqzyU4w" definition="[EVENT_DATA_SIZE]" base_property="_MyJIUz0zEeaQfbTekb55bw"/>
+  <C_Cpp:Include xmi:id="__tHIgEVFEeaqgqiOqzyU4w" header="#define EVENT_DATA_SIZE (50)" base_class="_MyJIUD0zEeaQfbTekb55bw" base_Classifier="_MyJIUD0zEeaQfbTekb55bw"/>
+  <Transformation:M2MTrafo xmi:id="_BQqewGoNEea1-rBQVLBwEw" base_Class="_6-9EUCPoEeauR8esGjVxRA"/>
+</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/sysinterfaces.di b/transformation/org.eclipse.papyrus.designer.transformation.library/models/library/sysinterfaces.di
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/sysinterfaces.di
rename to transformation/org.eclipse.papyrus.designer.transformation.library/models/library/sysinterfaces.di
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/sysinterfaces.notation b/transformation/org.eclipse.papyrus.designer.transformation.library/models/library/sysinterfaces.notation
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/sysinterfaces.notation
rename to transformation/org.eclipse.papyrus.designer.transformation.library/models/library/sysinterfaces.notation
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/sysinterfaces.uml b/transformation/org.eclipse.papyrus.designer.transformation.library/models/library/sysinterfaces.uml
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/sysinterfaces.uml
rename to transformation/org.eclipse.papyrus.designer.transformation.library/models/library/sysinterfaces.uml
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di b/transformation/org.eclipse.papyrus.designer.transformation.library/models/library/trafos.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di
copy to transformation/org.eclipse.papyrus.designer.transformation.library/models/library/trafos.di
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/library/trafos.notation b/transformation/org.eclipse.papyrus.designer.transformation.library/models/library/trafos.notation
new file mode 100644
index 0000000..7ba43cc
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/library/trafos.notation
@@ -0,0 +1,2149 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:SW_Concurrency="http://www.eclipse.org/papyrus/SW_Concurrency/1" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/SW_Concurrency/1 http://www.eclipse.org/papyrus/MARTE/1#//SRM/SW_Concurrency">
+  <notation:Diagram xmi:id="_A6ULINYGEd-CgJIavLpOxQ" type="PapyrusUMLClassDiagram" name="Class: ContainerServices" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_ByS8ANYGEd-CgJIavLpOxQ" type="Class_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByUKINYGEd-CgJIavLpOxQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ByUKIdYGEd-CgJIavLpOxQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByUKItYGEd-CgJIavLpOxQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ByUKI9YGEd-CgJIavLpOxQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ByUKJNYGEd-CgJIavLpOxQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ByUxMNYGEd-CgJIavLpOxQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ByUxMdYGEd-CgJIavLpOxQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ByUxMtYGEd-CgJIavLpOxQ" type="Class_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_5X2YACVqEeGXBt65HZzY7g" type="Property_ClassAttributeLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_oG9wEFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tfIHkFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_yc3tsMThEeWfEYAFL-UFuw" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Port" href="trafos.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_5X2YASVqEeGXBt65HZzY7g"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_60xB8CVqEeGXBt65HZzY7g" type="Property_ClassAttributeLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qGsMIFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qRYZMFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_THI2YMTgEeWfEYAFL-UFuw" visible="false" type="StereotypeLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0FDMcMThEeWfEYAFL-UFuw" source="PapyrusCSSForceValue">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0FDMccThEeWfEYAFL-UFuw" key="visible" value="true"/>
+            </eAnnotations>
+            <styles xmi:type="notation:StringValueStyle" xmi:id="_THI2YcTgEeWfEYAFL-UFuw" name="stereotype" stringValue="FCM::ConfigurationProperty"/>
+            <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_L8b3wMtvEd2H_o0jIC6qDQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_THI2YsTgEeWfEYAFL-UFuw"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_0kPp4MThEeWfEYAFL-UFuw" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="trafos.uml#_rVfYoMGJEd-Mveea1W_olA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_60xB8SVqEeGXBt65HZzY7g"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_r31CwCXREeGX6PuSE-DJlQ" type="Property_ClassAttributeLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rmOsQFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rxObUFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_zFyH0MThEeWfEYAFL-UFuw" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Port" href="trafos.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_r31CwSXREeGX6PuSE-DJlQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ByUxM9YGEd-CgJIavLpOxQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ByUxNNYGEd-CgJIavLpOxQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByUxNdYGEd-CgJIavLpOxQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ByUxNtYGEd-CgJIavLpOxQ" type="Class_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_s9ecMCXREeGX6PuSE-DJlQ" type="Operation_ClassOperationLabel" fontName="Sans Serif" lineColor="0">
+          <element xmi:type="uml:Operation" href="trafos.uml#_yv198P-EEd6628OhKk_dpg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_s9ecMSXREeGX6PuSE-DJlQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_s9fDQCXREeGX6PuSE-DJlQ" type="Operation_ClassOperationLabel" fontName="Sans Serif" lineColor="0">
+          <children xmi:type="notation:DecorationNode" xmi:id="_THMgwMTgEeWfEYAFL-UFuw" visible="false" type="StereotypeLabel">
+            <styles xmi:type="notation:StringValueStyle" xmi:id="_THMgwcTgEeWfEYAFL-UFuw" name="stereotype" stringValue="FCM::DerivedElement"/>
+            <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_6B80EGV9Ed6b6erIXzmEEA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_THMgwsTgEeWfEYAFL-UFuw"/>
+          </children>
+          <element xmi:type="uml:Operation" href="trafos.uml#_JmxyMD16Ed-Bk-AHd6yyoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_s9fDQSXREeGX6PuSE-DJlQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_s9fqUCXREeGX6PuSE-DJlQ" type="Operation_ClassOperationLabel" fontName="Sans Serif" lineColor="0">
+          <children xmi:type="notation:DecorationNode" xmi:id="_THOV8MTgEeWfEYAFL-UFuw" visible="false" type="StereotypeLabel">
+            <styles xmi:type="notation:StringValueStyle" xmi:id="_THOV8cTgEeWfEYAFL-UFuw" name="stereotype" stringValue="FCM::DerivedElement"/>
+            <element xmi:type="uml:Stereotype" href="pathmap://FCM_PROFILES/FCM.profile.uml#_6B80EGV9Ed6b6erIXzmEEA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_THOV8sTgEeWfEYAFL-UFuw"/>
+          </children>
+          <element xmi:type="uml:Operation" href="trafos.uml#_JqB6gD16Ed-Bk-AHd6yyoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_s9fqUSXREeGX6PuSE-DJlQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ByUxN9YGEd-CgJIavLpOxQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ByUxONYGEd-CgJIavLpOxQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByUxOdYGEd-CgJIavLpOxQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ByUxOtYGEd-CgJIavLpOxQ" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ByUxO9YGEd-CgJIavLpOxQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ByUxPNYGEd-CgJIavLpOxQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByUxPdYGEd-CgJIavLpOxQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kym9AFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kym9AVy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="C_Cpp:Include" href="trafos.uml#_Q7TVYBJcEd-QgZm_R1AKbA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kym9Aly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kym9A1y8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kym9BFy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="SW_Concurrency:SwSchedulableResource" href="trafos.uml#_42YPYBn3EeONpa5JgejICQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kym9BVy8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kynkEFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kynkEVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kynkEly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9v73YAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73YQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9zgv0AuXEeWXe7AeBUbqvw" visible="false" type="StereotypeLabel">
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_9zgv0QuXEeWXe7AeBUbqvw" name="stereotype" stringValue="C_Cpp::Include"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_RwTdQByJEduN1bTiWJ0lyw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9zgv0guXEeWXe7AeBUbqvw"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9zm2dguXEeWXe7AeBUbqvw" visible="false" type="StereotypeLabel">
+        <styles xmi:type="notation:StringValueStyle" xmi:id="_9zm2dwuXEeWXe7AeBUbqvw" name="stereotype" stringValue="MARTE::MARTE_DesignModel::SRM::SW_Concurrency::SwSchedulableResource"/>
+        <element xmi:type="uml:Stereotype" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_hQja8BJhEdypOJGS7WfJjQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9zm2eAuXEeWXe7AeBUbqvw"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ByS8AdYGEd-CgJIavLpOxQ" x="80" y="108" width="209" height="145"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_D0xKENYGEd-CgJIavLpOxQ" type="Class_Shape" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D0xxINYGEd-CgJIavLpOxQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D0xxIdYGEd-CgJIavLpOxQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D0xxItYGEd-CgJIavLpOxQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D0xxI9YGEd-CgJIavLpOxQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D0xxJNYGEd-CgJIavLpOxQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D0xxJdYGEd-CgJIavLpOxQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_D0xxJtYGEd-CgJIavLpOxQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D0xxJ9YGEd-CgJIavLpOxQ" type="Class_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_OSicECXVEeGX6PuSE-DJlQ" type="Property_ClassAttributeLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l2kawFeJEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v7LTQFeJEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <element xmi:type="uml:Port" href="trafos.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_OSicESXVEeGX6PuSE-DJlQ"/>
+        </children>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D0xxKNYGEd-CgJIavLpOxQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D0xxKdYGEd-CgJIavLpOxQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xxKtYGEd-CgJIavLpOxQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D0xxK9YGEd-CgJIavLpOxQ" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D0xxLNYGEd-CgJIavLpOxQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D0xxLdYGEd-CgJIavLpOxQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xxLtYGEd-CgJIavLpOxQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D0xxL9YGEd-CgJIavLpOxQ" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D0xxMNYGEd-CgJIavLpOxQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D0xxMdYGEd-CgJIavLpOxQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xxMtYGEd-CgJIavLpOxQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kyqnYFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kyqnYVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kyqnYly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9v73YguXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73YwuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_-WNegNtxEd6nqsBVkgJEEA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0xKEdYGEd-CgJIavLpOxQ" x="80" y="9" width="212" height="55"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_EhiDELaaEeCj_-LEBuGpmA" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EhiqILaaEeCj_-LEBuGpmA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EhiqIbaaEeCj_-LEBuGpmA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EhjRMLaaEeCj_-LEBuGpmA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EhjRMbaaEeCj_-LEBuGpmA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EhjRMraaEeCj_-LEBuGpmA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EhjRM7aaEeCj_-LEBuGpmA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_EhjRNLaaEeCj_-LEBuGpmA" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="trafos.uml#_hGEOAMT8Ed-zx4a_r4xAYw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EhiDEbaaEeCj_-LEBuGpmA" x="325" y="13" width="343" height="100"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_elme8PQREeCovO8AYZymZQ" type="Interface_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_elnGAPQREeCovO8AYZymZQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_elnGAfQREeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_elntEPQREeCovO8AYZymZQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_elntEfQREeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_elntEvQREeCovO8AYZymZQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_elntE_QREeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_elntFPQREeCovO8AYZymZQ" type="Interface_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_elntFfQREeCovO8AYZymZQ" visible="false" type="Interface_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_elntFvQREeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_elntF_QREeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_elntGPQREeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elntGfQREeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_elntGvQREeCovO8AYZymZQ" type="Interface_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_f1SlMPQREeCovO8AYZymZQ" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rsca8FjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rvvmkFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="trafos.uml#_f1HmEPQREeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_f1SlMfQREeCovO8AYZymZQ"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_elntG_QREeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_elntHPQREeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_elntHfQREeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elntHvQREeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_eloUIPQREeCovO8AYZymZQ" visible="false" type="Interface_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_eloUIfQREeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_eloUIvQREeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_eloUI_QREeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eloUJPQREeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kyr1gFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kyr1gVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kyr1gly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9v73ZAuXEeWXe7AeBUbqvw" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73ZQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Interface" href="trafos.uml#_elkpwPQREeCovO8AYZymZQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elme8fQREeCovO8AYZymZQ" x="459" y="201" width="208" height="82"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_S9Kp8PQWEeCovO8AYZymZQ" type="Interface_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S9LRAPQWEeCovO8AYZymZQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S9LRAfQWEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S9LRAvQWEeCovO8AYZymZQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S9LRA_QWEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S9LRBPQWEeCovO8AYZymZQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S9LRBfQWEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_S9LRBvQWEeCovO8AYZymZQ" type="Interface_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_S9LRB_QWEeCovO8AYZymZQ" visible="false" type="Interface_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_S9LRCPQWEeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_S9LRCfQWEeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_S9LRCvQWEeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9LRC_QWEeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_S9L4EPQWEeCovO8AYZymZQ" type="Interface_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_tK13wPQWEeCovO8AYZymZQ" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uQYXUFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uT-d4FjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="trafos.uml#_tK0poPQWEeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_tK13wfQWEeCovO8AYZymZQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_FBOeEPQXEeCovO8AYZymZQ" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
+          <element xmi:type="uml:Operation" href="trafos.uml#_FBMo4PQXEeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_FBOeEfQXEeCovO8AYZymZQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_SaK_4CUREeGXBt65HZzY7g" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uQZlcFjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uT_E8FjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="trafos.uml#_f1HmEPQREeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_SaK_4SUREeGXBt65HZzY7g"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_S9L4EfQWEeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_S9L4EvQWEeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_S9L4E_QWEeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9L4FPQWEeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_S9L4FfQWEeCovO8AYZymZQ" visible="false" type="Interface_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_S9L4FvQWEeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_S9L4F_QWEeCovO8AYZymZQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_S9L4GPQWEeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9L4GfQWEeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kytDoFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kytDoVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kytDoly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9v73ZguXEeWXe7AeBUbqvw" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73ZwuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Interface" href="trafos.uml#_omxU4PNAEeCovO8AYZymZQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S9Kp8fQWEeCovO8AYZymZQ" x="459" y="324" width="462" height="91"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_DZTowCUREeGXBt65HZzY7g" type="Interface_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DZUP0SUREeGXBt65HZzY7g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DZUP0iUREeGXBt65HZzY7g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DZU24CUREeGXBt65HZzY7g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DZU24SUREeGXBt65HZzY7g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DZU24iUREeGXBt65HZzY7g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DZU24yUREeGXBt65HZzY7g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_DZU25CUREeGXBt65HZzY7g" type="Interface_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_DZU25SUREeGXBt65HZzY7g" visible="false" type="Interface_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_DZU25iUREeGXBt65HZzY7g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_DZU25yUREeGXBt65HZzY7g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_DZU26CUREeGXBt65HZzY7g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZU26SUREeGXBt65HZzY7g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_DZU26iUREeGXBt65HZzY7g" type="Interface_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Et42ECUREeGXBt65HZzY7g" type="Operation_InterfaceOperationLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rsdCAVjnEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rvw0sFjnEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="6408"/>
+          </eAnnotations>
+          <element xmi:type="uml:Operation" href="trafos.uml#_tK0poPQWEeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Et42ESUREeGXBt65HZzY7g" x="58" y="3"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_DZU26yUREeGXBt65HZzY7g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_DZU27CUREeGXBt65HZzY7g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_DZU27SUREeGXBt65HZzY7g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZU27iUREeGXBt65HZzY7g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_DZU27yUREeGXBt65HZzY7g" visible="false" type="Interface_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_DZU28CUREeGXBt65HZzY7g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_DZU28SUREeGXBt65HZzY7g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_DZU28iUREeGXBt65HZzY7g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZU28yUREeGXBt65HZzY7g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kyuRwFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kyuRwVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kyuRwly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9v73aAuXEeWXe7AeBUbqvw" type="Interface_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73aQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Interface" href="trafos.uml#_DY2VwCUREeGXBt65HZzY7g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZUP0CUREeGXBt65HZzY7g" x="702" y="201" width="219" height="79"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_E3A5oCXREeGX6PuSE-DJlQ" type="Comment_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E3BgsCXREeGX6PuSE-DJlQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E3CHwCXREeGX6PuSE-DJlQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E3CHwSXREeGX6PuSE-DJlQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E3CHwiXREeGX6PuSE-DJlQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E3CHwyXREeGX6PuSE-DJlQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E3CHxCXREeGX6PuSE-DJlQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_E3CHxSXREeGX6PuSE-DJlQ" type="Comment_BodyLabel"/>
+      <element xmi:type="uml:Comment" href="trafos.uml#_EuvHYCXREeGX6PuSE-DJlQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E3A5oSXREeGX6PuSE-DJlQ" x="81" y="378" width="235"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_OX-j4FaNEeKxltxu9uR4dg" type="DataType_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OYQ3wFaNEeKxltxu9uR4dg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OYQ3wVaNEeKxltxu9uR4dg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OYQ3wlaNEeKxltxu9uR4dg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OYRe0FaNEeKxltxu9uR4dg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OYRe0VaNEeKxltxu9uR4dg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OYRe0laNEeKxltxu9uR4dg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_OYRe01aNEeKxltxu9uR4dg" type="DataType_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_OYRe1FaNEeKxltxu9uR4dg" type="DataType_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_RXTbwFaNEeKxltxu9uR4dg" type="Property_DataTypeAttributeLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_waMsEFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_waNTIFaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="60"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="trafos.uml#_RW82cFaNEeKxltxu9uR4dg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_RXTbwVaNEeKxltxu9uR4dg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_OYRe1VaNEeKxltxu9uR4dg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_OYRe1laNEeKxltxu9uR4dg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_OYRe11aNEeKxltxu9uR4dg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OYRe2FaNEeKxltxu9uR4dg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_OYRe2VaNEeKxltxu9uR4dg" visible="false" type="DataType_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_OYRe2laNEeKxltxu9uR4dg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_OYRe21aNEeKxltxu9uR4dg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_OYRe3FaNEeKxltxu9uR4dg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OYRe3VaNEeKxltxu9uR4dg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kyxVEFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kyxVEVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kyxVEly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9v73bAuXEeWXe7AeBUbqvw" type="DataType_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73bQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:DataType" href="trafos.uml#_OU5asFaNEeKxltxu9uR4dg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OX-j4VaNEeKxltxu9uR4dg" x="702" y="9" width="219" height="64"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Y9_gUFaNEeKxltxu9uR4dg" type="DataType_Shape" fontName="Sans Serif" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y9_gUlaNEeKxltxu9uR4dg" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y-AHYFaNEeKxltxu9uR4dg" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y-AHYVaNEeKxltxu9uR4dg" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y-AHYlaNEeKxltxu9uR4dg" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Y-AHY1aNEeKxltxu9uR4dg" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y-AHZFaNEeKxltxu9uR4dg" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Y-AHZVaNEeKxltxu9uR4dg" type="DataType_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Y-AHZlaNEeKxltxu9uR4dg" type="DataType_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_fYzAkFaNEeKxltxu9uR4dg" type="Property_DataTypeAttributeLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t76EsFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uWGGUFaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="trafos.uml#_fYeQcFaNEeKxltxu9uR4dg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_fYzAkVaNEeKxltxu9uR4dg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_oUoTIFaNEeKxltxu9uR4dg" type="Property_DataTypeAttributeLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vVH6YFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vY61QFaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="trafos.uml#_oUVYMFaNEeKxltxu9uR4dg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_oUoTIVaNEeKxltxu9uR4dg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_xXc-gFaNEeKxltxu9uR4dg" type="Property_DataTypeAttributeLabel" fontName="Sans Serif" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1PtpgFaNEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1fyF0FaNEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="trafos.uml#_xXGZMFaNEeKxltxu9uR4dg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_xXc-gVaNEeKxltxu9uR4dg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Y-AHZ1aNEeKxltxu9uR4dg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Y-AHaFaNEeKxltxu9uR4dg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Y-AHaVaNEeKxltxu9uR4dg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y-AHalaNEeKxltxu9uR4dg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Y-AHa1aNEeKxltxu9uR4dg" visible="false" type="DataType_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Y-AHbFaNEeKxltxu9uR4dg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Y-AHbVaNEeKxltxu9uR4dg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Y-AHblaNEeKxltxu9uR4dg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y-AHb1aNEeKxltxu9uR4dg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kyyjMFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kyyjMVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kyyjMly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9v73bguXEeWXe7AeBUbqvw" type="DataType_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9v73bwuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:DataType" href="trafos.uml#_Y8dPQFaNEeKxltxu9uR4dg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y9_gUVaNEeKxltxu9uR4dg" x="702" y="90" width="219" height="91"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9zuyWAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9zuyWQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9zvZUAuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9zuyWguXEeWXe7AeBUbqvw" x="299" y="108"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_doRyEL4KEeWvxpnDGpErAg" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_doYfwL4KEeWvxpnDGpErAg" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_doYfwb4KEeWvxpnDGpErAg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_doYfwr4KEeWvxpnDGpErAg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_doZG0L4KEeWvxpnDGpErAg" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_doZG0b4KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_doZG0r4KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_doZG074KEeWvxpnDGpErAg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_doZG1L4KEeWvxpnDGpErAg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_doZG1b4KEeWvxpnDGpErAg" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_doZG1r4KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_doZG174KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_doZG2L4KEeWvxpnDGpErAg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_doZG2b4KEeWvxpnDGpErAg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_doZG2r4KEeWvxpnDGpErAg" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_doZG274KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_doZG3L4KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_doZG3b4KEeWvxpnDGpErAg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_doZG3r4KEeWvxpnDGpErAg"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_doRyEb4KEeWvxpnDGpErAg" x="460" y="460" width="170" height="80"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dqqXsL4KEeWvxpnDGpErAg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_dqqXsb4KEeWvxpnDGpErAg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_dqqXs74KEeWvxpnDGpErAg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dqqXsr4KEeWvxpnDGpErAg" x="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kLaH4L4KEeWvxpnDGpErAg" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kLau8L4KEeWvxpnDGpErAg" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_kLau8b4KEeWvxpnDGpErAg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kLau8r4KEeWvxpnDGpErAg" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kLau874KEeWvxpnDGpErAg" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kLau9L4KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kLau9b4KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kLau9r4KEeWvxpnDGpErAg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kLau974KEeWvxpnDGpErAg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kLau-L4KEeWvxpnDGpErAg" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kLau-b4KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kLau-r4KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kLau-74KEeWvxpnDGpErAg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kLau_L4KEeWvxpnDGpErAg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kLau_b4KEeWvxpnDGpErAg" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kLau_r4KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kLau_74KEeWvxpnDGpErAg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kLavAL4KEeWvxpnDGpErAg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kLavAb4KEeWvxpnDGpErAg"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml#_FuKEEDj8Edy0Rd6V_tf1-Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kLaH4b4KEeWvxpnDGpErAg" x="820" y="460" width="101" height="81"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kMcCo74KEeWvxpnDGpErAg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kMcCpL4KEeWvxpnDGpErAg" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kMcCpr4KEeWvxpnDGpErAg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml#_FuKEEDj8Edy0Rd6V_tf1-Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kMcCpb4KEeWvxpnDGpErAg" x="200"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_A6ULIdYGEd-CgJIavLpOxQ"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_9v73cAuXEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="trafos.uml#_xtlE8ARAEd--t-uhRn9OBA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_D1HvYNYGEd-CgJIavLpOxQ" type="Generalization_Edge" source="_ByS8ANYGEd-CgJIavLpOxQ" target="_D0xKENYGEd-CgJIavLpOxQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_D1IWcNYGEd-CgJIavLpOxQ" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_D1IWcdYGEd-CgJIavLpOxQ" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_D1HvYdYGEd-CgJIavLpOxQ" fontName="Sans Serif" fontHeight="10"/>
+      <element xmi:type="uml:Generalization" href="trafos.uml#_6bsEkARAEd--t-uhRn9OBA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D1HvYtYGEd-CgJIavLpOxQ" points="[-77, -75, 118, 115]$[-195, -190, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tMbHwMThEeWfEYAFL-UFuw" id="(0.4784688995215311,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_syrLAMThEeWfEYAFL-UFuw" id="(0.4716981132075472,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_KuwaULaaEeCj_-LEBuGpmA" type="Comment_AnnotatedElementEdge" source="_EhiDELaaEeCj_-LEBuGpmA" target="_ByS8ANYGEd-CgJIavLpOxQ" routing="Rectilinear" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_KuwaUbaaEeCj_-LEBuGpmA" fontName="Sans Serif"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KuwaUraaEeCj_-LEBuGpmA" points="[325, 137, -643984, -643984]$[289, 137, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KvJb4LaaEeCj_-LEBuGpmA" id="(0.0,0.7005649717514124)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KvJb4baaEeCj_-LEBuGpmA" id="(0.917098445595855,0.2)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ffcCQPQXEeCovO8AYZymZQ" type="Generalization_Edge" source="_S9Kp8PQWEeCovO8AYZymZQ" target="_elme8PQREeCovO8AYZymZQ" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ffdQYPQXEeCovO8AYZymZQ" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ffdQYfQXEeCovO8AYZymZQ" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_ffcCQfQXEeCovO8AYZymZQ" fontName="Sans Serif"/>
+      <element xmi:type="uml:Generalization" href="trafos.uml#_feaHgPQXEeCovO8AYZymZQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ffcCQvQXEeCovO8AYZymZQ" points="[-109, 14, 100, -14]$[-162, 10, 47, -18]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ffeegPQXEeCovO8AYZymZQ" id="(0.2328159645232816,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ffeegfQXEeCovO8AYZymZQ" id="(0.507537688442211,0.95)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GxXJsCUREeGXBt65HZzY7g" type="Generalization_Edge" source="_S9Kp8PQWEeCovO8AYZymZQ" target="_DZTowCUREeGXBt65HZzY7g" routing="Rectilinear" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GxXwwCUREeGXBt65HZzY7g" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_GxXwwSUREeGXBt65HZzY7g" y="40"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_GxXJsSUREeGXBt65HZzY7g" fontName="Sans Serif"/>
+      <element xmi:type="uml:Generalization" href="trafos.uml#_GwxT0CUREeGXBt65HZzY7g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GxXJsiUREeGXBt65HZzY7g" points="[807, 324, -643984, -643984]$[807, 304, -643984, -643984]$[807, 280, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GzJSYCUREeGXBt65HZzY7g" id="(0.7716186252771619,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GzJSYSUREeGXBt65HZzY7g" id="(0.5048076923076923,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9zvZUQuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_ByS8ANYGEd-CgJIavLpOxQ" target="_9zuyWAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9zvZUguXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9zvZVguXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9zvZUwuXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9zvZVAuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9zvZVQuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dqq-wL4KEeWvxpnDGpErAg" type="StereotypeCommentLink" source="_doRyEL4KEeWvxpnDGpErAg" target="_dqqXsL4KEeWvxpnDGpErAg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_dqq-wb4KEeWvxpnDGpErAg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_dqrl0L4KEeWvxpnDGpErAg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dqq-wr4KEeWvxpnDGpErAg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dqq-w74KEeWvxpnDGpErAg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dqq-xL4KEeWvxpnDGpErAg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kMcCp74KEeWvxpnDGpErAg" type="StereotypeCommentLink" source="_kLaH4L4KEeWvxpnDGpErAg" target="_kMcCo74KEeWvxpnDGpErAg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_kMcCqL4KEeWvxpnDGpErAg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kMcpsr4KEeWvxpnDGpErAg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml#_FuKEEDj8Edy0Rd6V_tf1-Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kMcCqb4KEeWvxpnDGpErAg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kMcpsL4KEeWvxpnDGpErAg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kMcpsb4KEeWvxpnDGpErAg"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_xsPPoL4KEeWvxpnDGpErAg" type="Dependency_Edge" source="_doRyEL4KEeWvxpnDGpErAg" target="_kLaH4L4KEeWvxpnDGpErAg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_xsPPo74KEeWvxpnDGpErAg" type="Dependency_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_xsPPpL4KEeWvxpnDGpErAg" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_xsPPpb4KEeWvxpnDGpErAg" type="Dependency_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_xsPPpr4KEeWvxpnDGpErAg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_xsPPob4KEeWvxpnDGpErAg"/>
+      <element xmi:type="uml:Dependency" href="trafos.uml#_xsB0QL4KEeWvxpnDGpErAg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xsPPor4KEeWvxpnDGpErAg" points="[630, 500, -643984, -643984]$[820, 500, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xtpk4L4KEeWvxpnDGpErAg" id="(1.0,0.5)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xtpk4b4KEeWvxpnDGpErAg" id="(0.0,0.49382716049382713)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_SstwYPEnEeCIafpoJVk7CQ" type="CompositeStructure" name="ContainerRules" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_V3-LcPEnEeCIafpoJVk7CQ" type="2073" fontName="Arial" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4AnsPEnEeCIafpoJVk7CQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4AnsfEnEeCIafpoJVk7CQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4AnsvEnEeCIafpoJVk7CQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4Ans_EnEeCIafpoJVk7CQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4BOwPEnEeCIafpoJVk7CQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4BOwfEnEeCIafpoJVk7CQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HPEWAPQUEeCovO8AYZymZQ" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPEWAfQUEeCovO8AYZymZQ" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPE9EPQUEeCovO8AYZymZQ" key="StereotypeList" value="FCM::ContainerRule"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPE9EfQUEeCovO8AYZymZQ" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPE9EvQUEeCovO8AYZymZQ" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HPE9E_QUEeCovO8AYZymZQ" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_V4BOwvEnEeCIafpoJVk7CQ" type="5156"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_V4BOw_EnEeCIafpoJVk7CQ" type="7073">
+        <children xmi:type="notation:Shape" xmi:id="_mxqE4PTWEeCn1-FCrfecFg" type="3070" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mxrTAPTWEeCn1-FCrfecFg" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mxr6EPTWEeCn1-FCrfecFg" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mxr6EfTWEeCn1-FCrfecFg" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mxr6EvTWEeCn1-FCrfecFg" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mxr6E_TWEeCn1-FCrfecFg" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mxr6FPTWEeCn1-FCrfecFg" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qmq1AAJzEeG0Lb1KYG16fA" source="Stereotype_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcEAJzEeG0Lb1KYG16fA" key="StereotypeWithQualifiedNameList" value=""/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcEQJzEeG0Lb1KYG16fA" key="StereotypeList" value="FCM::InterceptionRule"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcEgJzEeG0Lb1KYG16fA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcEwJzEeG0Lb1KYG16fA" key="PropStereoDisplay" value=""/>
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qmrcFAJzEeG0Lb1KYG16fA" key="StereotypePropertyLocation" value="Compartment"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_mxr6FfTWEeCn1-FCrfecFg" type="5126">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RtvSsFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RzCCYFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_mxshIPTWEeCn1-FCrfecFg" visible="false" type="7077">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_mxshIfTWEeCn1-FCrfecFg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mxshIvTWEeCn1-FCrfecFg"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kKoXAFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kKoXAVy8EeOwKfaVRwV11Q" showTitle="true"/>
+            <element xmi:type="FCM:InterceptionRule" href="trafos.uml#_qlcF8AJzEeG0Lb1KYG16fA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKoXAly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kKoXA1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kKoXBFy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKoXBVy8EeOwKfaVRwV11Q"/>
+          </children>
+          <element xmi:type="uml:Property" href="trafos.uml#_mvN04PTWEeCn1-FCrfecFg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mxqE4fTWEeCn1-FCrfecFg" x="31" y="31" width="199" height="37"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_V4BOxPEnEeCIafpoJVk7CQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V4BOxfEnEeCIafpoJVk7CQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kKmh0Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kKmh0Vy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:ContainerRule" href="trafos.uml#_3Jq5MARLEd-OidZzGKCpzg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKmh0ly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kKnI4Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kKnI4Vy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKnI4ly8EeOwKfaVRwV11Q"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_14WtMARJEd--t-uhRn9OBA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V3-LcfEnEeCIafpoJVk7CQ" x="72" y="36" width="262" height="145"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_W2m98PEnEeCIafpoJVk7CQ" type="2109" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W2nlAPEnEeCIafpoJVk7CQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W2nlAfEnEeCIafpoJVk7CQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W2nlAvEnEeCIafpoJVk7CQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W2nlA_EnEeCIafpoJVk7CQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W2nlBPEnEeCIafpoJVk7CQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W2nlBfEnEeCIafpoJVk7CQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_W2oMEPEnEeCIafpoJVk7CQ" type="5192"/>
+      <element xmi:type="uml:Comment" href="trafos.uml#_q-kFUMTJEd-cLazKlAeYsQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W2m98fEnEeCIafpoJVk7CQ" x="378" y="54" width="429"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_HDAUACjaEeGFbebITJYb9g" type="2073" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HDA7ECjaEeGFbebITJYb9g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HDA7ESjaEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HDA7EijaEeGFbebITJYb9g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HDA7EyjaEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HDA7FCjaEeGFbebITJYb9g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HDA7FSjaEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MUh4ACjaEeGFbebITJYb9g" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4ASjaEeGFbebITJYb9g" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4AijaEeGFbebITJYb9g" key="StereotypeList" value="FCM::ContainerRule"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4AyjaEeGFbebITJYb9g" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4BCjaEeGFbebITJYb9g" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUh4BSjaEeGFbebITJYb9g" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_HDA7FijaEeGFbebITJYb9g" type="5156"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_HDA7FyjaEeGFbebITJYb9g" type="7073">
+        <children xmi:type="notation:Shape" xmi:id="_JWCGkCjaEeGFbebITJYb9g" type="3070" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JWCtoCjaEeGFbebITJYb9g" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JWCtoSjaEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JWCtoijaEeGFbebITJYb9g" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JWCtoyjaEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JWCtpCjaEeGFbebITJYb9g" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JWCtpSjaEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_JWCtpijaEeGFbebITJYb9g" type="5126">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PdThIFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PlvrcFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_JWCtpyjaEeGFbebITJYb9g" visible="false" type="7077">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_JWCtqCjaEeGFbebITJYb9g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JWCtqSjaEeGFbebITJYb9g"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kKsocFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kKsocVy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKsocly8EeOwKfaVRwV11Q"/>
+          </children>
+          <element xmi:type="uml:Property" href="trafos.uml#_6yVMkCjZEeGFbebITJYb9g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JWCGkSjaEeGFbebITJYb9g" x="10" y="10" width="156"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_HDA7GCjaEeGFbebITJYb9g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HDA7GSjaEeGFbebITJYb9g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kKqzQFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kKqzQVy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="FCM:ContainerRule" href="trafos.uml#_MS45QCjaEeGFbebITJYb9g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKqzQly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kKraUFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kKraUVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKraUly8EeOwKfaVRwV11Q"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_1sCBICjZEeGFbebITJYb9g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HDAUASjaEeGFbebITJYb9g" x="72" y="252" width="261" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_H0i7YDbgEeGdqp2YT1LwWw" type="2109" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H0jicDbgEeGdqp2YT1LwWw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H0jicTbgEeGdqp2YT1LwWw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H0jicjbgEeGdqp2YT1LwWw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H0jiczbgEeGdqp2YT1LwWw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H0jidDbgEeGdqp2YT1LwWw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H0jidTbgEeGdqp2YT1LwWw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_H0jidjbgEeGdqp2YT1LwWw" type="5192"/>
+      <element xmi:type="uml:Comment" href="trafos.uml#_H0IrsDbgEeGdqp2YT1LwWw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H0i7YTbgEeGdqp2YT1LwWw" x="378" y="261" width="217"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_SstwYfEnEeCIafpoJVk7CQ"/>
+    <element xmi:type="uml:Package" href="trafos.uml#_y4qB4ARJEd--t-uhRn9OBA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_YjbFEPEnEeCIafpoJVk7CQ" type="4002" source="_W2m98PEnEeCIafpoJVk7CQ" target="_V3-LcPEnEeCIafpoJVk7CQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_YjbFEfEnEeCIafpoJVk7CQ" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YjbFEvEnEeCIafpoJVk7CQ" points="[-11, -4, 128, 36]$[-126, -42, 13, -2]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YjcTMPEnEeCIafpoJVk7CQ" id="(0.01,0.38333333333333336)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YjcTMfEnEeCIafpoJVk7CQ" id="(0.8602150537634409,0.45)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_NK3f0DbgEeGdqp2YT1LwWw" type="4002" source="_H0i7YDbgEeGdqp2YT1LwWw" target="_HDAUACjaEeGFbebITJYb9g" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NK3f0TbgEeGdqp2YT1LwWw" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NK3f0jbgEeGdqp2YT1LwWw" points="[-18, 3, 77, 0]$[-63, 2, 32, -1]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NLz7ADbgEeGdqp2YT1LwWw" id="(0.08294930875576037,0.6)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NL0iEDbgEeGdqp2YT1LwWw" id="(0.8773946360153256,0.4752475247524752)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_eblvwPM_EeCovO8AYZymZQ" type="CompositeStructure" name="Composite: ContainerServices " measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_JRsvcPNAEeCovO8AYZymZQ" type="Class_Shape" fontName="" fontHeight="10" fillColor="8047085" transparency="50" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JRtWgPNAEeCovO8AYZymZQ" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JRtWgfNAEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JRtWgvNAEeCovO8AYZymZQ" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JRtWg_NAEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JRtWhPNAEeCovO8AYZymZQ" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JRtWhfNAEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JRtWhvNAEeCovO8AYZymZQ" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_JRtWh_NAEeCovO8AYZymZQ" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_k-Qe0PN8EeCovO8AYZymZQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_k-RF4PN8EeCovO8AYZymZQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k-RF4fN8EeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_k-RF4vN8EeCovO8AYZymZQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k-RF4_N8EeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_k-RF5PN8EeCovO8AYZymZQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_k-RF5fN8EeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_k-RF5vN8EeCovO8AYZymZQ" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iWRp4FaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ivBhEFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="60"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_k-Rs8PN8EeCovO8AYZymZQ" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_k-Rs8fN8EeCovO8AYZymZQ" showTitle="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_k-Rs8vN8EeCovO8AYZymZQ"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kn7-EFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kn7-EVy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kn7-Ely8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_9o2_AguXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_AwuXEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="trafos.uml#_k-OpoPN8EeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_k-Qe0fN8EeCovO8AYZymZQ" x="24" y="41" width="165" height="23"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="__a22APQXEeCovO8AYZymZQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__a3dEPQXEeCovO8AYZymZQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__a4EIPQXEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__a4EIfQXEeCovO8AYZymZQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__a4EIvQXEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__a4EI_QXEeCovO8AYZymZQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__a4EJPQXEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="__a4EJfQXEeCovO8AYZymZQ" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fzb5sFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gCiFoFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="__a4EJvQXEeCovO8AYZymZQ" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="__a4EJ_QXEeCovO8AYZymZQ" showTitle="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="__a4EKPQXEeCovO8AYZymZQ"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kn8lIFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kn8lIVy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kn8lIly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_9o2_BAuXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_BQuXEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="trafos.uml#__a1A0PQXEeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="__a22AfQXEeCovO8AYZymZQ" x="24" y="5" width="165" height="23"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_KnUHYPQYEeCovO8AYZymZQ" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KnUHYvQYEeCovO8AYZymZQ" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KnUHY_QYEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KnUucPQYEeCovO8AYZymZQ" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KnUucfQYEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KnUucvQYEeCovO8AYZymZQ" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KnUuc_QYEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_KnUudPQYEeCovO8AYZymZQ" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hLhG8FaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hSXV0FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_KnUudfQYEeCovO8AYZymZQ" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_KnUudvQYEeCovO8AYZymZQ"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnUud_QYEeCovO8AYZymZQ"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kn9zQFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kn9zQVy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kn9zQly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_9o2_BguXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_BwuXEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="trafos.uml#_KnS5QPQYEeCovO8AYZymZQ"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnUHYfQYEeCovO8AYZymZQ" x="24" y="83" width="165" height="23"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JRtWiPNAEeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JRtWifNAEeCovO8AYZymZQ"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_M0b2YPNAEeCovO8AYZymZQ" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M0cdcPNAEeCovO8AYZymZQ" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0cdcfNAEeCovO8AYZymZQ" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M0cdcvNAEeCovO8AYZymZQ" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0cdc_NAEeCovO8AYZymZQ" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M0dEgPNAEeCovO8AYZymZQ" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0dEgfNAEeCovO8AYZymZQ" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_M0dEgvNAEeCovO8AYZymZQ" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dBgkoFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dM7xgFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_M0dEg_NAEeCovO8AYZymZQ" x="-61" y="-2"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_M0dEhPNAEeCovO8AYZymZQ" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_M0dEhfNAEeCovO8AYZymZQ" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="trafos.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M0b2YfNAEeCovO8AYZymZQ" x="-10" y="60" width="20" height="20"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kn6I4Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kn6I4Vy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="C_Cpp:Include" href="trafos.uml#_Yx49gCaeEeG4fZdVXNtoOQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kn6I4ly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kn6I41y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kn6I5Fy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kn6I5Vy8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9o2_AAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_AQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JRsvcfNAEeCovO8AYZymZQ" x="171" y="32" width="212" height="159"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9dH0UCjYEeGFbebITJYb9g" type="Class_Shape" fontName="" fontHeight="10" fillColor="8047085" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9dIbYCjYEeGFbebITJYb9g" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9dIbYSjYEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9dIbYijYEeGFbebITJYb9g" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9dIbYyjYEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9dIbZCjYEeGFbebITJYb9g" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9dIbZSjYEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9dJCcCjYEeGFbebITJYb9g" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9dJCcSjYEeGFbebITJYb9g" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9dJCcijYEeGFbebITJYb9g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9dJCcyjYEeGFbebITJYb9g"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_AVlPMCjZEeGFbebITJYb9g" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AVl2QCjZEeGFbebITJYb9g" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AVl2QSjZEeGFbebITJYb9g" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AVl2QijZEeGFbebITJYb9g" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AVl2QyjZEeGFbebITJYb9g" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AVl2RCjZEeGFbebITJYb9g" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AVmdUCjZEeGFbebITJYb9g" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_AVmdUSjZEeGFbebITJYb9g" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WOqX0FaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WaM5cFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_AVmdUijZEeGFbebITJYb9g" x="-72"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_AVmdUyjZEeGFbebITJYb9g" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_AVmdVCjZEeGFbebITJYb9g" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="trafos.uml#_ATRiECjZEeGFbebITJYb9g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AVlPMSjZEeGFbebITJYb9g" x="207" y="45" width="20" height="20"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kn_BYFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kn_BYVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kn_BYly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9o2_CAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_CQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_9V8OQCjYEeGFbebITJYb9g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9dH0USjYEeGFbebITJYb9g" x="171" y="302" width="217" height="92"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qz8ykCkAEeGDDbdzqSb4UA" type="Class_Shape" fontName="" fontHeight="10" fillColor="8047085" gradient="16777215, 16777215, 0" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ykSkAEeGDDbdzqSb4UA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ykikAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ykykAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ylCkAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ylSkAEeGDDbdzqSb4UA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ylikAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_qz8ynSkAEeGDDbdzqSb4UA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_qz8ypCkAEeGDDbdzqSb4UA" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_qz8ypSkAEeGDDbdzqSb4UA" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ypikAEeGDDbdzqSb4UA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ypykAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yqCkAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yqSkAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yqikAEeGDDbdzqSb4UA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yqykAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_qz8yrCkAEeGDDbdzqSb4UA" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vo5_YFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vv278FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_qz8yrSkAEeGDDbdzqSb4UA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_qz8yrikAEeGDDbdzqSb4UA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8yrykAEeGDDbdzqSb4UA"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_4ksloCkAEeGDDbdzqSb4UA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4kwQACkAEeGDDbdzqSb4UA" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4kwQASkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4kwQAikAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4kwQAykAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4kwQBCkAEeGDDbdzqSb4UA" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4kwQBSkAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_4kwQBikAEeGDDbdzqSb4UA" visible="false" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AP6k4CkBEeGDDbdzqSb4UA" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AP7L8CkBEeGDDbdzqSb4UA" key="CustomAppearance_MaskValue" value="46"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_4kwQBykAEeGDDbdzqSb4UA" x="18" y="-18"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_4kw3ECkAEeGDDbdzqSb4UA" visible="false" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_4kw3ESkAEeGDDbdzqSb4UA" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="trafos.uml#_ATRiECjZEeGFbebITJYb9g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ksloSkAEeGDDbdzqSb4UA" x="153" y="16"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_koCrwFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_koCrwVy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_koCrwly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_9o2_DguXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_DwuXEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="trafos.uml#_ARs_UCjaEeGFbebITJYb9g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8yvikAEeGDDbdzqSb4UA" x="22" y="103" width="163" height="51"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_qz8yvykAEeGDDbdzqSb4UA" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ywCkAEeGDDbdzqSb4UA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ywSkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8ywikAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8ywykAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yxCkAEeGDDbdzqSb4UA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yxSkAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_qz8yxikAEeGDDbdzqSb4UA" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UO2cMFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UlpLkFaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_qz8yxykAEeGDDbdzqSb4UA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_qz8yyCkAEeGDDbdzqSb4UA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8yySkAEeGDDbdzqSb4UA"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_qz8yyikAEeGDDbdzqSb4UA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yyykAEeGDDbdzqSb4UA" source="ShadowFigure">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yzCkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yzSkAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8yzikAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
+            </eAnnotations>
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8yzykAEeGDDbdzqSb4UA" source="QualifiedName">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qz8y0CkAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
+            </eAnnotations>
+            <children xmi:type="notation:DecorationNode" xmi:id="_qz8y0SkAEeGDDbdzqSb4UA" type="Port_NameLabel">
+              <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qz8y0ikAEeGDDbdzqSb4UA" source="CustomAppearance_Annotation">
+                <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cTAf4FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="12"/>
+              </eAnnotations>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_qz8y1CkAEeGDDbdzqSb4UA" x="31" y="13"/>
+            </children>
+            <children xmi:type="notation:DecorationNode" xmi:id="_qz8y1SkAEeGDDbdzqSb4UA" visible="false" type="Port_StereotypeLabel">
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_qz8y1ikAEeGDDbdzqSb4UA" x="25" y="-10"/>
+            </children>
+            <element xmi:type="uml:Port" href="trafos.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y1ykAEeGDDbdzqSb4UA" x="50" y="52" width="20" height="20"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_koEg8Fy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_koEg8Vy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_koEg8ly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_9o2_EAuXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_EQuXEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="trafos.uml#_RMqEkCjaEeGFbebITJYb9g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y2CkAEeGDDbdzqSb4UA" x="22" y="7" width="163" height="52"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_9vOFuAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_9vOFuQuXEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9vOFuwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="trafos.uml#_ATRiECjZEeGFbebITJYb9g"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9vOFuguXEeWXe7AeBUbqvw" x="353" y="16"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_9vZr6AuXEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_9vZr6QuXEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9vZr6wuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Port" href="trafos.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9vZr6guXEeWXe7AeBUbqvw" x="263" y="42"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_qz8y2SkAEeGDDbdzqSb4UA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y2ikAEeGDDbdzqSb4UA"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_3PyBICkAEeGDDbdzqSb4UA" type="Port_Shape" fontName="" fontHeight="10" lineColor="0">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3PyoMCkAEeGDDbdzqSb4UA" source="ShadowFigure">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3PyoMSkAEeGDDbdzqSb4UA" key="ShadowFigure_Value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3PzPQCkAEeGDDbdzqSb4UA" source="displayNameLabelIcon">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3PzPQSkAEeGDDbdzqSb4UA" key="displayNameLabelIcon_value" value="false"/>
+        </eAnnotations>
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3PzPQikAEeGDDbdzqSb4UA" source="QualifiedName">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3PzPQykAEeGDDbdzqSb4UA" key="QualifiedNameDepth" value="1000"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_3PzPRCkAEeGDDbdzqSb4UA" type="Port_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aE63sFaDEeKxltxu9uR4dg" source="CustomAppearance_Annotation">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aMll8FaDEeKxltxu9uR4dg" key="CustomAppearance_MaskValue" value="28"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_3PzPRSkAEeGDDbdzqSb4UA" x="-81" y="-9"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_3PzPRikAEeGDDbdzqSb4UA" visible="false" type="Port_StereotypeLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_3PzPRykAEeGDDbdzqSb4UA" x="25" y="-10"/>
+        </children>
+        <element xmi:type="uml:Port" href="trafos.uml#_3NSGwCkAEeGDDbdzqSb4UA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3PyBISkAEeGDDbdzqSb4UA" x="288" y="144" width="20" height="20"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_koCEsFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_koCEsVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_koCEsly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9o2_DAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2_DQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_-X6zMCjZEeGFbebITJYb9g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qz8y2ykAEeGDDbdzqSb4UA" x="455" y="39" width="298" height="199"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9uLj4AuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9uLj4QuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9uLj4wuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9uLj4guXEeWXe7AeBUbqvw" x="371" y="32"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9uaNYAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9uaNYQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9uaNYwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="trafos.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9uaNYguXEeWXe7AeBUbqvw" x="190" y="60"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9unBsguXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9unBswuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9unBtQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="trafos.uml#_ATRiECjZEeGFbebITJYb9g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9unBtAuXEeWXe7AeBUbqvw" x="407" y="45"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9vqxoAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9vqxoQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9vqxowuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="trafos.uml#_3NSGwCkAEeGDDbdzqSb4UA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9vqxoguXEeWXe7AeBUbqvw" x="488" y="144"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_ebmW0PM_EeCovO8AYZymZQ"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_9o2_EguXEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_FImRkAuZEeWXe7AeBUbqvw" name="css_stylesheets" eObjectListValue="_7gUz8Mc1EeSsAI2TZshUyg"/>
+    <element xmi:type="uml:Package" href="trafos.uml#_xtlE8ARAEd--t-uhRn9OBA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_85CvsCkAEeGDDbdzqSb4UA" type="Connector_Edge" source="_4ksloCkAEeGDDbdzqSb4UA" target="_3PyBICkAEeGDDbdzqSb4UA" routing="Rectilinear" closestDistance="true" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_85D90CkAEeGDDbdzqSb4UA" type="Connector_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__8OOwMThEeWfEYAFL-UFuw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D90SkAEeGDDbdzqSb4UA" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_85D90ikAEeGDDbdzqSb4UA" visible="false" type="Connector_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__8hJsMThEeWfEYAFL-UFuw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D90ykAEeGDDbdzqSb4UA" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_85D91CkAEeGDDbdzqSb4UA" visible="false" type="Connector_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__8yPcMThEeWfEYAFL-UFuw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D91SkAEeGDDbdzqSb4UA" x="-15" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_85D91ikAEeGDDbdzqSb4UA" visible="false" type="Connector_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__9DVMMThEeWfEYAFL-UFuw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_85D91ykAEeGDDbdzqSb4UA" x="14" y="20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_85CvsSkAEeGDDbdzqSb4UA" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Connector" href="trafos.uml#_84IJsCkAEeGDDbdzqSb4UA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_85CvsikAEeGDDbdzqSb4UA" points="[655, 238, -643984, -643984]$[655, 258, -643984, -643984]$[783, 258, -643984, -643984]$[783, 197, -643984, -643984]$[763, 197, -643984, -643984]$[763, 184, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__75eoMThEeWfEYAFL-UFuw" id="(0.9,0.55)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_864iwCkAEeGDDbdzqSb4UA" id="(0.0,0.4)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9uMK8AuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_JRsvcPNAEeCovO8AYZymZQ" target="_9uLj4AuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9uMK8QuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9uMK9QuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9uMK8guXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9uMK8wuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9uMK9AuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9uaNZAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_M0b2YPNAEeCovO8AYZymZQ" target="_9uaNYAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9uaNZQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9uaNaQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="trafos.uml#_MzO8gPNAEeCovO8AYZymZQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9uaNZguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9uaNZwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9uaNaAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9unBtguXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_AVlPMCjZEeGFbebITJYb9g" target="_9unBsguXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9unBtwuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9unBuwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="trafos.uml#_ATRiECjZEeGFbebITJYb9g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9unBuAuXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9unBuQuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9unBuguXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9vOFvAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_4ksloCkAEeGDDbdzqSb4UA" target="_9vOFuAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9vOFvQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9vOFwQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="trafos.uml#_ATRiECjZEeGFbebITJYb9g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9vOFvguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9vOFvwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9vOFwAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9vZr7AuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_qz8yyikAEeGDDbdzqSb4UA" target="_9vZr6AuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9vZr7QuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9vaS8guXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="trafos.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9vZr7guXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9vaS8AuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9vaS8QuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9vqxpAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_3PyBICkAEeGDDbdzqSb4UA" target="_9vqxoAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9vqxpQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9vqxqQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Port" href="trafos.uml#_3NSGwCkAEeGDDbdzqSb4UA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9vqxpguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9vqxpwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9vqxqAuXEeWXe7AeBUbqvw"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_g6Yg0CnOEeGxrprK9wB9iA" type="CompositeStructure" name="Service configuration" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_hvsYMCnOEeGxrprK9wB9iA" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hvs_QCnOEeGxrprK9wB9iA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hvtmUCnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hvtmUSnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hvtmUinOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hvtmUynOEeGxrprK9wB9iA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hvtmVCnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_hvtmVSnOEeGxrprK9wB9iA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hvuNYCnOEeGxrprK9wB9iA" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_j5-ecCnOEeGxrprK9wB9iA" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_j5_FgCnOEeGxrprK9wB9iA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_j5_FgSnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_j5_FginOEeGxrprK9wB9iA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_j5_FgynOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_j5_FhCnOEeGxrprK9wB9iA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_j5_FhSnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_j5_FhinOEeGxrprK9wB9iA" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eASCYFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eBKMIFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_j5_skCnOEeGxrprK9wB9iA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_j5_skSnOEeGxrprK9wB9iA" showTitle="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_j5_skinOEeGxrprK9wB9iA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kNDY4Fy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kNDY4Vy8EeOwKfaVRwV11Q" showTitle="true"/>
+            <element xmi:type="FCM:ConfigurationProperty" href="trafos.uml#_s0fGMMGJEd-Mveea1W_olA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNDY4ly8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kNDY41y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kNDY5Fy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNDY5Vy8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_90xUEguXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_90xUEwuXEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="trafos.uml#_rVfYoMGJEd-Mveea1W_olA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_j5-ecSnOEeGxrprK9wB9iA" x="10" y="10" width="131"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_lEz54CnOEeGxrprK9wB9iA" type="Comment_Shape_CN" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lEz54inOEeGxrprK9wB9iA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lE0g8CnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lE0g8SnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lE0g8inOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lE0g8ynOEeGxrprK9wB9iA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lE0g9CnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_lE0g9SnOEeGxrprK9wB9iA" type="Comment_BodyLabel_CN"/>
+          <element xmi:type="uml:Comment" href="trafos.uml#_lCtoICnOEeGxrprK9wB9iA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEz54SnOEeGxrprK9wB9iA" x="201" y="10" width="291" height="64"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_93ep0AuXEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_93ep0QuXEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_93ep0wuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Property" href="trafos.uml#_rVfYoMGJEd-Mveea1W_olA"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_93ep0guXEeWXe7AeBUbqvw" x="210" y="10"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hvuNYSnOEeGxrprK9wB9iA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hvuNYinOEeGxrprK9wB9iA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kNBjsFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kNBjsVy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="C_Cpp:Include" href="trafos.uml#_Q7TVYBJcEd-QgZm_R1AKbA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNBjsly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kNBjs1y8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kNBjtFy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="SW_Concurrency:SwSchedulableResource" href="trafos.uml#_42YPYBn3EeONpa5JgejICQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNBjtVy8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kNBjtly8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kNBjt1y8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNBjuFy8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_90xUEAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_90xUEQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hvsYMSnOEeGxrprK9wB9iA" x="62" y="64" width="524" height="166"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_t6v_0CnOEeGxrprK9wB9iA" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6wm4CnOEeGxrprK9wB9iA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6wm4SnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6wm4inOEeGxrprK9wB9iA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6wm4ynOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t6xN8CnOEeGxrprK9wB9iA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t6xN8SnOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_t6xN8inOEeGxrprK9wB9iA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_t6xN8ynOEeGxrprK9wB9iA" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_vBLcYCnOEeGxrprK9wB9iA" type="Property_Shape" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBMDcCnOEeGxrprK9wB9iA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vBMqgCnOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBMqgSnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vBNRkCnOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBNRkSnOEeGxrprK9wB9iA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vBNRkinOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_vBNRkynOEeGxrprK9wB9iA" type="Property_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_chkosFjmEeKaM_PspnG53g" source="CustomAppearance_Annotation">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_co8cAFjmEeKaM_PspnG53g" key="CustomAppearance_MaskValue" value="28"/>
+            </eAnnotations>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_vBNRlCnOEeGxrprK9wB9iA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_vBNRlSnOEeGxrprK9wB9iA" showTitle="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vBNRlinOEeGxrprK9wB9iA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kNF1IFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kNF1IVy8EeOwKfaVRwV11Q" showTitle="true"/>
+            <element xmi:type="FCM:ConfigurationProperty" href="trafos.uml#_zVumMCjbEeGFbebITJYb9g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNF1Ily8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kNF1I1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kNF1JFy8EeOwKfaVRwV11Q"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNF1JVy8EeOwKfaVRwV11Q"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_90xUFguXEeWXe7AeBUbqvw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_90xUFwuXEeWXe7AeBUbqvw" y="5"/>
+          </children>
+          <element xmi:type="uml:Property" href="trafos.uml#_tmNeoCjbEeGFbebITJYb9g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vBLcYSnOEeGxrprK9wB9iA" x="10" y="10" width="173"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_zNMJ0CnOEeGxrprK9wB9iA" type="Comment_Shape_CN" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zNMw4SnOEeGxrprK9wB9iA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zNMw4inOEeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zNNX8CnOEeGxrprK9wB9iA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zNNX8SnOEeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zNNX8inOEeGxrprK9wB9iA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zNNX8ynOEeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_zNNX9CnOEeGxrprK9wB9iA" type="Comment_BodyLabel_CN"/>
+          <element xmi:type="uml:Comment" href="trafos.uml#_zLeSkCnOEeGxrprK9wB9iA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zNMw4CnOEeGxrprK9wB9iA" x="219" y="15" width="270"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_93q3EAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_93q3EQuXEeWXe7AeBUbqvw" showTitle="true"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_93q3EwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Property" href="trafos.uml#_tmNeoCjbEeGFbebITJYb9g"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_93q3EguXEeWXe7AeBUbqvw" x="210" y="10"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_t6xN9CnOEeGxrprK9wB9iA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t6xN9SnOEeGxrprK9wB9iA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kNEnAFy8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kNEnAVy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNEnAly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_90xUFAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_90xUFQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_9V8OQCjYEeGFbebITJYb9g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t6v_0SnOEeGxrprK9wB9iA" x="65" y="245" width="521" height="172"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_RANSwCo0EeGxrprK9wB9iA" type="Class_Shape" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RAN50Co0EeGxrprK9wB9iA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RAN50So0EeGxrprK9wB9iA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RAN50io0EeGxrprK9wB9iA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RAN50yo0EeGxrprK9wB9iA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RAN51Co0EeGxrprK9wB9iA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RAN51So0EeGxrprK9wB9iA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_RAN51io0EeGxrprK9wB9iA" type="Class_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_RAN51yo0EeGxrprK9wB9iA" visible="false" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_RAN52Co0EeGxrprK9wB9iA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RAN52So0EeGxrprK9wB9iA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kNHqUFy8EeOwKfaVRwV11Q" visible="false" type="AppliedStereotypeCompartement">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kNHqUVy8EeOwKfaVRwV11Q" showTitle="true"/>
+        <element xmi:type="C_Cpp:Include" href="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml#_tNGmwDkUEdyuzNpSiGPe4w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNHqUly8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kNHqU1y8EeOwKfaVRwV11Q" visible="false" type="compartment_shape_display">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kNHqVFy8EeOwKfaVRwV11Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNHqVVy8EeOwKfaVRwV11Q"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_90x7IAuXEeWXe7AeBUbqvw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_90x7IQuXEeWXe7AeBUbqvw" y="5"/>
+      </children>
+      <element xmi:type="uml:Class" href="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml#_ETakYDj8Edy0Rd6V_tf1-Q"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RANSwSo0EeGxrprK9wB9iA" x="652" y="261" width="60" height="55"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_93Lu4AuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_93Lu4QuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_93Lu4wuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_93Lu4guXEeWXe7AeBUbqvw" x="262" y="64"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9312MAuXEeWXe7AeBUbqvw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_9312MQuXEeWXe7AeBUbqvw" showTitle="true"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9312MwuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml#_ETakYDj8Edy0Rd6V_tf1-Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9312MguXEeWXe7AeBUbqvw" x="852" y="261"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_g6Yg0SnOEeGxrprK9wB9iA"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_90x7IguXEeWXe7AeBUbqvw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <element xmi:type="uml:Package" href="trafos.uml#_xtlE8ARAEd--t-uhRn9OBA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_mp1-ACnOEeGxrprK9wB9iA" type="Comment_AnnotatedElementEdge" source="_lEz54CnOEeGxrprK9wB9iA" target="_j5-ecCnOEeGxrprK9wB9iA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_mp1-ASnOEeGxrprK9wB9iA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mp1-AinOEeGxrprK9wB9iA" points="[-50, -4, 105, 6]$[-136, -16, 19, -6]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e4-FsMTgEeWfEYAFL-UFuw" id="(0.0,0.14432989690721648)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mthkICnOEeGxrprK9wB9iA" id="(0.8137254901960784,0.3559322033898305)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_0Tj8ACnOEeGxrprK9wB9iA" type="Comment_AnnotatedElementEdge" source="_zNMJ0CnOEeGxrprK9wB9iA" target="_vBLcYCnOEeGxrprK9wB9iA" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_0Tj8ASnOEeGxrprK9wB9iA" fontName="" fontHeight="10"/>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0Tj8AinOEeGxrprK9wB9iA" points="[-20, -6, 63, 16]$[-56, -25, 27, -3]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0V4QMCnOEeGxrprK9wB9iA" id="(0.0,0.05263157894736842)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0V4QMSnOEeGxrprK9wB9iA" id="(0.8439306358381503,0.35)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_SZ63sCo0EeGxrprK9wB9iA" type="Dependency_Edge" source="_t6v_0CnOEeGxrprK9wB9iA" target="_RANSwCo0EeGxrprK9wB9iA" lineColor="0">
+      <children xmi:type="notation:DecorationNode" xmi:id="_SZ7ewCo0EeGxrprK9wB9iA" visible="false" type="Dependency_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_SZ7ewSo0EeGxrprK9wB9iA" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_SZ7ewio0EeGxrprK9wB9iA" type="Dependency_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_SZ7ewyo0EeGxrprK9wB9iA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_SZ63sSo0EeGxrprK9wB9iA" fontName="" fontHeight="10"/>
+      <element xmi:type="uml:Dependency" href="trafos.uml#_SXkHQCo0EeGxrprK9wB9iA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SZ63sio0EeGxrprK9wB9iA" points="[19, -6, -74, 0]$[85, -6, -8, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sd71ACo0EeGxrprK9wB9iA" id="(1.0,0.2670807453416149)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sd71ASo0EeGxrprK9wB9iA" id="(0.0,0.4909090909090909)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_93Lu5AuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_hvsYMCnOEeGxrprK9wB9iA" target="_93Lu4AuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_93Lu5QuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_93Lu6QuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_SiY_AP-EEd6628OhKk_dpg"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_93Lu5guXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_93Lu5wuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_93Lu6AuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_93ep1AuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_j5-ecCnOEeGxrprK9wB9iA" target="_93ep0AuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_93ep1QuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_93fQ4guXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Property" href="trafos.uml#_rVfYoMGJEd-Mveea1W_olA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_93ep1guXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_93fQ4AuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_93fQ4QuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_93q3FAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_vBLcYCnOEeGxrprK9wB9iA" target="_93q3EAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_93q3FQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_93q3GQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Property" href="trafos.uml#_tmNeoCjbEeGFbebITJYb9g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_93q3FguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_93q3FwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_93q3GAuXEeWXe7AeBUbqvw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9312NAuXEeWXe7AeBUbqvw" type="StereotypeCommentLink" source="_RANSwCo0EeGxrprK9wB9iA" target="_9312MAuXEeWXe7AeBUbqvw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_9312NQuXEeWXe7AeBUbqvw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9312OQuXEeWXe7AeBUbqvw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml#_ETakYDj8Edy0Rd6V_tf1-Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9312NguXEeWXe7AeBUbqvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9312NwuXEeWXe7AeBUbqvw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9312OAuXEeWXe7AeBUbqvw"/>
+    </edges>
+  </notation:Diagram>
+  <css:ModelStyleSheets xmi:id="_qkkdcMc1EeSsAI2TZshUyg"/>
+  <css:EmbeddedStyleSheet xmi:id="_7gUz8Mc1EeSsAI2TZshUyg" label="Qompass" content="Label {&#xA;&#x9;maskLabel: name;&#xA;}&#xA;&#xA;Port > Label {&#xA;&#x9;maskLabel: name;&#xA;}&#xA;&#xA;Port {&#xA;&#x9;maskLabel: name;&#xA;}&#xA;&#xA;Property {&#xA;&#x9;maskLabel: name type;&#xA;}"/>
+  <notation:Diagram xmi:id="_PRoIMF4REea4bLzKfwAjjA" type="CompositeStructure" name="M2MTransformations" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_QQfkMF4REea4bLzKfwAjjA" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QQgLQF4REea4bLzKfwAjjA" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_QQgLQV4REea4bLzKfwAjjA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QQgLQl4REea4bLzKfwAjjA" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QQgyUF4REea4bLzKfwAjjA" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_rJr0MF4REea4bLzKfwAjjA" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_rJsbQF4REea4bLzKfwAjjA" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_rJsbQV4REea4bLzKfwAjjA" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_rJsbQl4REea4bLzKfwAjjA" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_rJsbQ14REea4bLzKfwAjjA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_rJsbRF4REea4bLzKfwAjjA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rJsbRV4REea4bLzKfwAjjA"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_2K4zkF7cEea8XJaWsCzA1A" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="trafos.uml#_rJqmEF4REea4bLzKfwAjjA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rJr0MV4REea4bLzKfwAjjA" x="14" y="18" width="361" height="41"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_uYpqkF4REea4bLzKfwAjjA" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_uYqRoF4REea4bLzKfwAjjA" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_uYqRoV4REea4bLzKfwAjjA" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_uYqRol4REea4bLzKfwAjjA" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_uYqRo14REea4bLzKfwAjjA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_uYqRpF4REea4bLzKfwAjjA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uYqRpV4REea4bLzKfwAjjA"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_3Px_EF7cEea8XJaWsCzA1A" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="trafos.uml#_uYn1YF4REea4bLzKfwAjjA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uYpqkV4REea4bLzKfwAjjA" x="14" y="198" width="361" height="41"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_bTJ2cGnwEead2IFRwKRBMw" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_bTJ2cmnwEead2IFRwKRBMw" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_bTKdgGnwEead2IFRwKRBMw" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_bTKdgWnwEead2IFRwKRBMw" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_bTKdgmnwEead2IFRwKRBMw" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_bTKdg2nwEead2IFRwKRBMw"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bTKdhGnwEead2IFRwKRBMw"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_exvdMGnwEead2IFRwKRBMw" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="trafos.uml#_bTGMEGnwEead2IFRwKRBMw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bTJ2cWnwEead2IFRwKRBMw" x="14" y="258" width="361"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_yhsfAGoDEeaDvKuEhyP_8g" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_yhsfAmoDEeaDvKuEhyP_8g" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_yhtGEGoDEeaDvKuEhyP_8g" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_yhtGEWoDEeaDvKuEhyP_8g" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_yhtGEmoDEeaDvKuEhyP_8g" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_yhtGE2oDEeaDvKuEhyP_8g"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhtGFGoDEeaDvKuEhyP_8g"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_00zxIGoDEeaDvKuEhyP_8g" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="trafos.uml#_yhiuAGoDEeaDvKuEhyP_8g"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhsfAWoDEeaDvKuEhyP_8g" x="15" y="318" width="360"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XocZ0G-DEea89JTVlr8RHA" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_XodA4G-DEea89JTVlr8RHA" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_XodA4W-DEea89JTVlr8RHA" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_XodA4m-DEea89JTVlr8RHA" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_XodA42-DEea89JTVlr8RHA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_XodA5G-DEea89JTVlr8RHA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XodA5W-DEea89JTVlr8RHA"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_KQJ3UG-1Eea89JTVlr8RHA" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="trafos.uml#_XobLsG-DEea89JTVlr8RHA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XocZ0W-DEea89JTVlr8RHA" x="14" y="78" width="361" height="41"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kKyvcF4REea4bLzKfwAjjA" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_kKyvcl4REea4bLzKfwAjjA" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_kKyvc14REea4bLzKfwAjjA" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_kKyvdF4REea4bLzKfwAjjA" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_kKyvdV4REea4bLzKfwAjjA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_kKyvdl4REea4bLzKfwAjjA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKyvd14REea4bLzKfwAjjA"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_2uTCoF7cEea8XJaWsCzA1A" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="trafos.uml#_kKwTMF4REea4bLzKfwAjjA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kKyvcV4REea4bLzKfwAjjA" x="14" y="138" width="361" height="41"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QQgyUV4REea4bLzKfwAjjA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QQgyUl4REea4bLzKfwAjjA"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_Ck0eYF4REea4bLzKfwAjjA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QQfkMV4REea4bLzKfwAjjA" x="100" y="120" width="401" height="421"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_QQmR414REea4bLzKfwAjjA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_QQmR5F4REea4bLzKfwAjjA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_QQmR5l4REea4bLzKfwAjjA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_Ck0eYF4REea4bLzKfwAjjA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QQmR5V4REea4bLzKfwAjjA" x="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_atOBwF4REea4bLzKfwAjjA" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_atOBwl4REea4bLzKfwAjjA" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_atOBw14REea4bLzKfwAjjA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_atOBxF4REea4bLzKfwAjjA" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_atOBxV4REea4bLzKfwAjjA" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_atOBxl4REea4bLzKfwAjjA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_atOBx14REea4bLzKfwAjjA"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_atMMkF4REea4bLzKfwAjjA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_atOBwV4REea4bLzKfwAjjA" x="100" y="632" width="401" height="81"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_eEMkoF4REea4bLzKfwAjjA" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_eEMkol4REea4bLzKfwAjjA" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_eEMko14REea4bLzKfwAjjA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_eEMkpF4REea4bLzKfwAjjA" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_eENLsF4REea4bLzKfwAjjA" visible="false" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_eENLsV4REea4bLzKfwAjjA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eENLsl4REea4bLzKfwAjjA"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_eELWgF4REea4bLzKfwAjjA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eEMkoV4REea4bLzKfwAjjA" x="100" y="20" width="201" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ofv9gF4REea4bLzKfwAjjA" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ofv9gl4REea4bLzKfwAjjA" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ofv9g14REea4bLzKfwAjjA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ofv9hF4REea4bLzKfwAjjA" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ofv9hV4REea4bLzKfwAjjA" visible="false" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ofv9hl4REea4bLzKfwAjjA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ofv9h14REea4bLzKfwAjjA"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_ofuIUF4REea4bLzKfwAjjA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ofv9gV4REea4bLzKfwAjjA" x="340" y="20" width="201" height="59"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_s7lPoF4REea4bLzKfwAjjA" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_s7lPol4REea4bLzKfwAjjA" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_s7lPo14REea4bLzKfwAjjA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_s7lPpF4REea4bLzKfwAjjA" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_s7lPpV4REea4bLzKfwAjjA" visible="false" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_s7lPpl4REea4bLzKfwAjjA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s7lPp14REea4bLzKfwAjjA"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_s7jacF4REea4bLzKfwAjjA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s7lPoV4REea4bLzKfwAjjA" x="580" y="20" width="201" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_W3pI8mk2EearUflqhq5Pgw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_W3pI82k2EearUflqhq5Pgw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_W3pI9Wk2EearUflqhq5Pgw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_eELWgF4REea4bLzKfwAjjA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W3pI9Gk2EearUflqhq5Pgw" x="847" y="52"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Y485YGk2EearUflqhq5Pgw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Y485YWk2EearUflqhq5Pgw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Y485Y2k2EearUflqhq5Pgw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_ofuIUF4REea4bLzKfwAjjA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y485Ymk2EearUflqhq5Pgw" x="851" y="182"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_cuDitmk2EearUflqhq5Pgw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_cuDit2k2EearUflqhq5Pgw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cuDiuWk2EearUflqhq5Pgw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_s7jacF4REea4bLzKfwAjjA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cuDiuGk2EearUflqhq5Pgw" x="850" y="348"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_KW-pMGnwEead2IFRwKRBMw" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_KXBFcGnwEead2IFRwKRBMw" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_KXBFcWnwEead2IFRwKRBMw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KXBFcmnwEead2IFRwKRBMw" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_KXBFc2nwEead2IFRwKRBMw" visible="false" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_KXBFdGnwEead2IFRwKRBMw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KXBFdWnwEead2IFRwKRBMw"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_KVyWYGnwEead2IFRwKRBMw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KW-pMWnwEead2IFRwKRBMw" x="820" y="20" width="201" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Vqgy8GnwEead2IFRwKRBMw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Vqgy8WnwEead2IFRwKRBMw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_VqhaAGnwEead2IFRwKRBMw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_KVyWYGnwEead2IFRwKRBMw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vqgy8mnwEead2IFRwKRBMw" x="860" y="340"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_sEAC0GoDEeaDvKuEhyP_8g" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_sECfEGoDEeaDvKuEhyP_8g" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_sECfEWoDEeaDvKuEhyP_8g" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_sEDGIGoDEeaDvKuEhyP_8g" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sEDGIWoDEeaDvKuEhyP_8g" visible="false" type="Class_StructureCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_sEDGImoDEeaDvKuEhyP_8g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sEDGI2oDEeaDvKuEhyP_8g"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_sCpX8GoDEeaDvKuEhyP_8g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sEAC0WoDEeaDvKuEhyP_8g" x="1060" y="20" width="201" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_vDmAcGoDEeaDvKuEhyP_8g" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_vDmAcWoDEeaDvKuEhyP_8g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_vDmngGoDEeaDvKuEhyP_8g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_sCpX8GoDEeaDvKuEhyP_8g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vDmAcmoDEeaDvKuEhyP_8g" x="860" y="360"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_3fHF4G-CEea89JTVlr8RHA" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3fKJMG-CEea89JTVlr8RHA" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_3fKwQG-CEea89JTVlr8RHA" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3fKwQW-CEea89JTVlr8RHA" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_3fKwQm-CEea89JTVlr8RHA" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_FS0tYG-DEea89JTVlr8RHA" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_FS0tYm-DEea89JTVlr8RHA" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_FS0tY2-DEea89JTVlr8RHA" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_FS1UcG-DEea89JTVlr8RHA" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_FS1UcW-DEea89JTVlr8RHA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_FS1Ucm-DEea89JTVlr8RHA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FS1Uc2-DEea89JTVlr8RHA"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_S6uGcG-DEea89JTVlr8RHA" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="trafos.uml#_FSvN0G-DEea89JTVlr8RHA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FS0tYW-DEea89JTVlr8RHA" x="14" y="18" width="361" height="41"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Oko3AG-DEea89JTVlr8RHA" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_Oko3Am-DEea89JTVlr8RHA" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Oko3A2-DEea89JTVlr8RHA" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_Oko3BG-DEea89JTVlr8RHA" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_Oko3BW-DEea89JTVlr8RHA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_Oko3Bm-DEea89JTVlr8RHA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Oko3B2-DEea89JTVlr8RHA"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_T_BcEG-DEea89JTVlr8RHA" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="trafos.uml#_Okno4G-DEea89JTVlr8RHA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Oko3AW-DEea89JTVlr8RHA" x="14" y="78" width="361" height="41"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_TUol0G-EEea89JTVlr8RHA" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_TUpM4G-EEea89JTVlr8RHA" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_TUpM4W-EEea89JTVlr8RHA" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_TUpM4m-EEea89JTVlr8RHA" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_TUpM42-EEea89JTVlr8RHA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_TUpM5G-EEea89JTVlr8RHA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TUpM5W-EEea89JTVlr8RHA"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_gL4lEG-EEea89JTVlr8RHA" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="trafos.uml#_TUnXsG-EEea89JTVlr8RHA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TUol0W-EEea89JTVlr8RHA" x="14" y="258" width="361" height="41"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_UCaR0G-EEea89JTVlr8RHA" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_UCaR0m-EEea89JTVlr8RHA" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_UCaR02-EEea89JTVlr8RHA" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_UCaR1G-EEea89JTVlr8RHA" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_UCaR1W-EEea89JTVlr8RHA" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_UCaR1m-EEea89JTVlr8RHA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UCaR12-EEea89JTVlr8RHA"/>
+          </children>
+          <styles xmi:type="notation:StringListValueStyle" xmi:id="_gs2kIG-EEea89JTVlr8RHA" name="maskLabel">
+            <stringListValue>name</stringListValue>
+            <stringListValue>type</stringListValue>
+            <stringListValue>derived</stringListValue>
+          </styles>
+          <element xmi:type="uml:Property" href="trafos.uml#_UCZDsG-EEea89JTVlr8RHA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UCaR0W-EEea89JTVlr8RHA" x="14" y="318" width="361" height="41"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Zu8QwHCKEeaAna84v3Lx-w" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_ZvEMkHCKEeaAna84v3Lx-w" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_ZvEzoHCKEeaAna84v3Lx-w" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_ZvEzoXCKEeaAna84v3Lx-w" y="5"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_ZvGBwHCKEeaAna84v3Lx-w" visible="false" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_ZvGBwXCKEeaAna84v3Lx-w"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZvGBwnCKEeaAna84v3Lx-w"/>
+          </children>
+          <element xmi:type="uml:Property" href="trafos.uml#_ZtOZgHCKEeaAna84v3Lx-w"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Zu8QwXCKEeaAna84v3Lx-w" x="14" y="138" width="361" height="41"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_3fKwQ2-CEea89JTVlr8RHA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3fKwRG-CEea89JTVlr8RHA"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_3e-jAG-CEea89JTVlr8RHA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3fHF4W-CEea89JTVlr8RHA" x="600" y="120" width="401" height="421"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_A8JBAG-DEea89JTVlr8RHA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_A8JBAW-DEea89JTVlr8RHA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_A8JBA2-DEea89JTVlr8RHA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_3e-jAG-CEea89JTVlr8RHA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A8JBAm-DEea89JTVlr8RHA" x="1140" y="40"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_PRoIMV4REea4bLzKfwAjjA" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_PRoIMl4REea4bLzKfwAjjA"/>
+    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_PRoIM14REea4bLzKfwAjjA">
+      <owner xmi:type="uml:Package" href="trafos.uml#_Ky7kwF4QEea4bLzKfwAjjA"/>
+    </styles>
+    <element xmi:type="uml:Package" href="trafos.uml#_Ky7kwF4QEea4bLzKfwAjjA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_QQm48F4REea4bLzKfwAjjA" type="StereotypeCommentLink" source="_QQfkMF4REea4bLzKfwAjjA" target="_QQmR414REea4bLzKfwAjjA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_QQm48V4REea4bLzKfwAjjA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_QQm49V4REea4bLzKfwAjjA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_Ck0eYF4REea4bLzKfwAjjA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QQm48l4REea4bLzKfwAjjA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QQm4814REea4bLzKfwAjjA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QQm49F4REea4bLzKfwAjjA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ch3PMF4REea4bLzKfwAjjA" type="Generalization_Edge" source="_atOBwF4REea4bLzKfwAjjA" target="_QQfkMF4REea4bLzKfwAjjA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ch32QF4REea4bLzKfwAjjA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_rSmYQF4UEea4bLzKfwAjjA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ch32QV4REea4bLzKfwAjjA" y="39"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_ch3PMV4REea4bLzKfwAjjA"/>
+      <element xmi:type="uml:Generalization" href="trafos.uml#_chwhgF4REea4bLzKfwAjjA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ch3PMl4REea4bLzKfwAjjA" points="[360, 383, -643984, -643984]$[360, 282, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ciHt4F4REea4bLzKfwAjjA" id="(0.49875311720698257,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ciHt4V4REea4bLzKfwAjjA" id="(0.49875311720698257,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_W3pI9mk2EearUflqhq5Pgw" type="StereotypeCommentLink" source="_eEMkoF4REea4bLzKfwAjjA" target="_W3pI8mk2EearUflqhq5Pgw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_W3pI92k2EearUflqhq5Pgw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_W3pI-2k2EearUflqhq5Pgw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_eELWgF4REea4bLzKfwAjjA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_W3pI-Gk2EearUflqhq5Pgw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W3pI-Wk2EearUflqhq5Pgw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W3pI-mk2EearUflqhq5Pgw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Y485ZGk2EearUflqhq5Pgw" type="StereotypeCommentLink" source="_ofv9gF4REea4bLzKfwAjjA" target="_Y485YGk2EearUflqhq5Pgw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Y485ZWk2EearUflqhq5Pgw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Y485aWk2EearUflqhq5Pgw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_ofuIUF4REea4bLzKfwAjjA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Y485Zmk2EearUflqhq5Pgw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y485Z2k2EearUflqhq5Pgw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y485aGk2EearUflqhq5Pgw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_cuDiumk2EearUflqhq5Pgw" type="StereotypeCommentLink" source="_s7lPoF4REea4bLzKfwAjjA" target="_cuDitmk2EearUflqhq5Pgw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_cuDiu2k2EearUflqhq5Pgw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cuEJwWk2EearUflqhq5Pgw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_s7jacF4REea4bLzKfwAjjA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cuDivGk2EearUflqhq5Pgw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cuDivWk2EearUflqhq5Pgw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cuEJwGk2EearUflqhq5Pgw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_VqiBEGnwEead2IFRwKRBMw" type="StereotypeCommentLink" source="_KW-pMGnwEead2IFRwKRBMw" target="_Vqgy8GnwEead2IFRwKRBMw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_VqiBEWnwEead2IFRwKRBMw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_VqioIGnwEead2IFRwKRBMw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_KVyWYGnwEead2IFRwKRBMw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VqiBEmnwEead2IFRwKRBMw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VqiBE2nwEead2IFRwKRBMw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VqiBFGnwEead2IFRwKRBMw"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_vDnOkGoDEeaDvKuEhyP_8g" type="StereotypeCommentLink" source="_sEAC0GoDEeaDvKuEhyP_8g" target="_vDmAcGoDEeaDvKuEhyP_8g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_vDnOkWoDEeaDvKuEhyP_8g"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_vDn1oWoDEeaDvKuEhyP_8g" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_sCpX8GoDEeaDvKuEhyP_8g"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vDnOkmoDEeaDvKuEhyP_8g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vDnOk2oDEeaDvKuEhyP_8g"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vDn1oGoDEeaDvKuEhyP_8g"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_A8JoEG-DEea89JTVlr8RHA" type="StereotypeCommentLink" source="_3fHF4G-CEea89JTVlr8RHA" target="_A8JBAG-DEea89JTVlr8RHA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_A8JoEW-DEea89JTVlr8RHA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_A8K2MG-DEea89JTVlr8RHA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_3e-jAG-CEea89JTVlr8RHA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_A8JoEm-DEea89JTVlr8RHA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_A8KPIG-DEea89JTVlr8RHA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_A8KPIW-DEea89JTVlr8RHA"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_SDMJwG6MEeaxr7fYazRp4A" type="PapyrusUMLClassDiagram" name="Binding helpers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_UWwu4G6MEeaxr7fYazRp4A" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_UWzLIG6MEeaxr7fYazRp4A" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_UWzLIW6MEeaxr7fYazRp4A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_UWzLIm6MEeaxr7fYazRp4A" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_UWzyMG6MEeaxr7fYazRp4A" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_UWzyMW6MEeaxr7fYazRp4A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_UWzyMm6MEeaxr7fYazRp4A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_UWzyM26MEeaxr7fYazRp4A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UWzyNG6MEeaxr7fYazRp4A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_UWzyNW6MEeaxr7fYazRp4A" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_UWzyNm6MEeaxr7fYazRp4A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_UWzyN26MEeaxr7fYazRp4A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_UWzyOG6MEeaxr7fYazRp4A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UWzyOW6MEeaxr7fYazRp4A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_UWzyOm6MEeaxr7fYazRp4A" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_UWzyO26MEeaxr7fYazRp4A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_UWzyPG6MEeaxr7fYazRp4A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_UWzyPW6MEeaxr7fYazRp4A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UWzyPm6MEeaxr7fYazRp4A"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_z2tyoHI3EeOCrdvV8oxOKA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UWwu4W6MEeaxr7fYazRp4A" x="60" y="40" width="261" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_UXQeIG6MEeaxr7fYazRp4A" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_UXQeIm6MEeaxr7fYazRp4A" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_UXQeI26MEeaxr7fYazRp4A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_UXQeJG6MEeaxr7fYazRp4A" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_UXRFMG6MEeaxr7fYazRp4A" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_UXRFMW6MEeaxr7fYazRp4A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_UXRFMm6MEeaxr7fYazRp4A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_UXRFM26MEeaxr7fYazRp4A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UXRFNG6MEeaxr7fYazRp4A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_UXRFNW6MEeaxr7fYazRp4A" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_UXRFNm6MEeaxr7fYazRp4A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_UXRFN26MEeaxr7fYazRp4A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_UXRFOG6MEeaxr7fYazRp4A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UXRFOW6MEeaxr7fYazRp4A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_UXRFOm6MEeaxr7fYazRp4A" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_UXRFO26MEeaxr7fYazRp4A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_UXRFPG6MEeaxr7fYazRp4A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_UXRFPW6MEeaxr7fYazRp4A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UXRFPm6MEeaxr7fYazRp4A"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_4H-ZoHkgEeOCpqruXGWNPw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UXQeIW6MEeaxr7fYazRp4A" x="60" y="120" width="261" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_UXqt0G6MEeaxr7fYazRp4A" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_UXqt0m6MEeaxr7fYazRp4A" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_UXrU4G6MEeaxr7fYazRp4A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_UXrU4W6MEeaxr7fYazRp4A" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_UXrU4m6MEeaxr7fYazRp4A" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_UXrU426MEeaxr7fYazRp4A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_UXrU5G6MEeaxr7fYazRp4A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_UXrU5W6MEeaxr7fYazRp4A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UXrU5m6MEeaxr7fYazRp4A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_UXrU526MEeaxr7fYazRp4A" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_UXrU6G6MEeaxr7fYazRp4A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_UXrU6W6MEeaxr7fYazRp4A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_UXrU6m6MEeaxr7fYazRp4A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UXrU626MEeaxr7fYazRp4A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_UXrU7G6MEeaxr7fYazRp4A" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_UXrU7W6MEeaxr7fYazRp4A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_UXrU7m6MEeaxr7fYazRp4A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_UXrU726MEeaxr7fYazRp4A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UXrU8G6MEeaxr7fYazRp4A"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_g8oe8LsMEeO0n5elMxN1LQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UXqt0W6MEeaxr7fYazRp4A" x="60" y="280" width="261" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dj5M0G6MEeaxr7fYazRp4A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_dj5M0W6MEeaxr7fYazRp4A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_dj5z4G6MEeaxr7fYazRp4A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_z2tyoHI3EeOCrdvV8oxOKA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dj5M0m6MEeaxr7fYazRp4A" x="260" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_e7pp8G6MEeaxr7fYazRp4A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_e7pp8W6MEeaxr7fYazRp4A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_e7pp826MEeaxr7fYazRp4A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_4H-ZoHkgEeOCpqruXGWNPw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e7pp8m6MEeaxr7fYazRp4A" x="260" y="140"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gKkUJm6MEeaxr7fYazRp4A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_gKkUJ26MEeaxr7fYazRp4A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_gKk7MG6MEeaxr7fYazRp4A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_g8oe8LsMEeO0n5elMxN1LQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gKkUKG6MEeaxr7fYazRp4A" x="260" y="240"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pvzmsG6lEea28Jw2WrLiEw" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_pvzmsW6lEea28Jw2WrLiEw" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_pvzmsm6lEea28Jw2WrLiEw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_pvzms26lEea28Jw2WrLiEw" y="5"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_pvzmtG6lEea28Jw2WrLiEw" visible="false" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_pvzmtW6lEea28Jw2WrLiEw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_pvzmtm6lEea28Jw2WrLiEw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_pvzmt26lEea28Jw2WrLiEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pvzmuG6lEea28Jw2WrLiEw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_pvzmuW6lEea28Jw2WrLiEw" visible="false" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_pvzmum6lEea28Jw2WrLiEw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_pvzmu26lEea28Jw2WrLiEw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_pvzmvG6lEea28Jw2WrLiEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pvzmvW6lEea28Jw2WrLiEw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_pvzmvm6lEea28Jw2WrLiEw" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_pvzmv26lEea28Jw2WrLiEw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_pvzmwG6lEea28Jw2WrLiEw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_pvzmwW6lEea28Jw2WrLiEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pvzmwm6lEea28Jw2WrLiEw"/>
+      </children>
+      <element xmi:type="uml:Class" href="trafos.uml#_pvv8UG6lEea28Jw2WrLiEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pvzm1W6lEea28Jw2WrLiEw" x="60" y="200" width="261" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pzRKYG6lEea28Jw2WrLiEw" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_pzRKYW6lEea28Jw2WrLiEw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pzRxcG6lEea28Jw2WrLiEw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_pvv8UG6lEea28Jw2WrLiEw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pzRKYm6lEea28Jw2WrLiEw" x="270" y="130"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_SDMJwW6MEeaxr7fYazRp4A" name="diagram_compatibility_version" stringValue="1.2.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_SDMJwm6MEeaxr7fYazRp4A"/>
+    <styles xmi:type="style:PapyrusViewStyle" xmi:id="_SDMJw26MEeaxr7fYazRp4A">
+      <owner xmi:type="uml:Package" href="trafos.uml#_tkiC4HI3EeOCrdvV8oxOKA"/>
+    </styles>
+    <element xmi:type="uml:Package" href="trafos.uml#_tkiC4HI3EeOCrdvV8oxOKA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_dj6a8G6MEeaxr7fYazRp4A" type="StereotypeCommentLink" source="_UWwu4G6MEeaxr7fYazRp4A" target="_dj5M0G6MEeaxr7fYazRp4A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_dj6a8W6MEeaxr7fYazRp4A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_dj7CAG6MEeaxr7fYazRp4A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_z2tyoHI3EeOCrdvV8oxOKA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dj6a8m6MEeaxr7fYazRp4A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dj6a826MEeaxr7fYazRp4A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dj6a9G6MEeaxr7fYazRp4A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_e7pp9G6MEeaxr7fYazRp4A" type="StereotypeCommentLink" source="_UXQeIG6MEeaxr7fYazRp4A" target="_e7pp8G6MEeaxr7fYazRp4A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_e7pp9W6MEeaxr7fYazRp4A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_e7qRAm6MEeaxr7fYazRp4A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_4H-ZoHkgEeOCpqruXGWNPw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e7pp9m6MEeaxr7fYazRp4A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e7qRAG6MEeaxr7fYazRp4A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e7qRAW6MEeaxr7fYazRp4A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_gKk7MW6MEeaxr7fYazRp4A" type="StereotypeCommentLink" source="_UXqt0G6MEeaxr7fYazRp4A" target="_gKkUJm6MEeaxr7fYazRp4A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_gKk7Mm6MEeaxr7fYazRp4A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_gKk7Nm6MEeaxr7fYazRp4A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_g8oe8LsMEeO0n5elMxN1LQ"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gKk7M26MEeaxr7fYazRp4A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gKk7NG6MEeaxr7fYazRp4A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gKk7NW6MEeaxr7fYazRp4A"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pzSYgG6lEea28Jw2WrLiEw" type="StereotypeCommentLink" source="_pvzmsG6lEea28Jw2WrLiEw" target="_pzRKYG6lEea28Jw2WrLiEw">
+      <styles xmi:type="notation:FontStyle" xmi:id="_pzSYgW6lEea28Jw2WrLiEw"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pzTmoG6lEea28Jw2WrLiEw" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="trafos.uml#_pvv8UG6lEea28Jw2WrLiEw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pzSYgm6lEea28Jw2WrLiEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pzS_kG6lEea28Jw2WrLiEw"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pzS_kW6lEea28Jw2WrLiEw"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/library/trafos.uml b/transformation/org.eclipse.papyrus.designer.transformation.library/models/library/trafos.uml
new file mode 100644
index 0000000..88471dd
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/library/trafos.uml
@@ -0,0 +1,640 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:SW_Concurrency="http://www.eclipse.org/papyrus/SW_Concurrency/1" xmlns:Transformation="http://www.eclipse.org/papyrus/Transformation/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:standard="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/SW_Concurrency/1 http://www.eclipse.org/papyrus/MARTE/1#//SRM/SW_Concurrency">
+  <uml:Model xmi:id="_Q6TiIDLUEd26WNosUASSSw" name="trafos" viewpoint="">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_clzbsC3xEd6OqY3qskOtLQ">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_TRAFO/sysinterfaces.uml#_RodVAAweEd6it_RkGhz_AA"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_K9IBUP-FEd6628OhKk_dpg">
+      <importedPackage xmi:type="uml:Model" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_DV8nkBv8EduZN5aJJITI5w"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_mXnzUPQdEeCIC-7tA9lfzA">
+      <importedPackage xmi:type="uml:Model" href="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml#_ROTQYC-OEdySSa8YESkO2w"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_byX0EG-5Eea89JTVlr8RHA">
+      <importedPackage xmi:type="uml:Model" href="pathmap://DML_TRAFO/statemachine.uml#_ago_QOUTEd-P08Bciq_LqQ"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_TFq8cOy6Ed2UrumbR9YAVg" name="composites">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_hGEOAMT8Ed-zx4a_r4xAYw" annotatedElement="_SiY_AP-EEd6628OhKk_dpg">
+        <body>A thread service supporting the LifeCycle port. Once started, it calls the activate operation (via the required port rLC) of a connected component in a new thread of a specific priority (a configuration attribute). This C++ implementation is based on the POSIX pthread library. It will further assume that the execution is done with root privileges, since these are required to set the thread priority. The thread properties assume round-robin (SCHED_RR) scheduling.
+</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_EuvHYCXREeGX6PuSE-DJlQ">
+        <body> Interceptor variant of thread (inherits all, only difference to Thread superclass: tagged as connector)</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Class" xmi:id="_SiY_AP-EEd6628OhKk_dpg" name="Thread">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_lCtoICnOEeGxrprK9wB9iA" annotatedElement="_rVfYoMGJEd-Mveea1W_olA">
+          <body>Priority of the thread. The interpretation of the value is OS specific. In case of POSIX; priorities are only taken into account for threads with a FIFO and round-robin scheduliung policy.</body>
+        </ownedComment>
+        <generalization xmi:type="uml:Generalization" xmi:id="_6bsEkARAEd--t-uhRn9OBA" general="_-WNegNtxEd6nqsBVkgJEEA"/>
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_ZjdOAP-EEd6628OhKk_dpg" name="rRun" aggregation="composite"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_rVfYoMGJEd-Mveea1W_olA" name="priority" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_e6XsEFjmEeKaM_PspnG53g" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_e6ckkFjmEeKaM_PspnG53g" value="1"/>
+        </ownedAttribute>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_lrFSQDz9Ed-v9PxuTj6Elw" name="derived realization of ILifeCycle" client="_SiY_AP-EEd6628OhKk_dpg">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+          <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+        </interfaceRealization>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_MWW4MAQyEd--t-uhRn9OBA" name="staticAct" specification="_yv198P-EEd6628OhKk_dpg">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_FSlvUMUKEeWfEYAFL-UFuw" name="arg">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FSmWYMUKEeWfEYAFL-UFuw" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FSmWYcUKEeWfEYAFL-UFuw" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_FSoLkcUKEeWfEYAFL-UFuw" name="ret" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FSoyoMUKEeWfEYAFL-UFuw" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FSoyocUKEeWfEYAFL-UFuw" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>((Thread*) arg)->rRun->run();
+return NULL;
+</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_oP6UcED4Ed-_DOja_sRgWA" name="activate" specification="_JmxyMD16Ed-Bk-AHd6yyoA">
+          <language>C/C++</language>
+          <body>// create thread
+pthread_t pt;
+pthread_create (&amp;pt, NULL, staticAct, (void *) this);
+
+// set priority of thread
+struct sched_param schedParam;
+schedParam.sched_priority = priority;
+pthread_setschedparam (pt, SCHED_RR, &amp;schedParam);
+// TODO: check return code (in particular, SCHED_RR only works for root)
+</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_-9Gu0H2KEeWV7cfiwPN21w" name="configuration_complete" specification="_TBScwCxyEeOMQpc6Y-MAJw">
+          <language>C/C++</language>
+          <body></body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Bxe68H2LEeWV7cfiwPN21w" name="deactivate" specification="_JqB6gD16Ed-Bk-AHd6yyoA">
+          <language>C/C++</language>
+          <body></body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_yv198P-EEd6628OhKk_dpg" name="staticAct" isStatic="true" method="_MWW4MAQyEd--t-uhRn9OBA">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_1TXqoP-EEd6628OhKk_dpg" name="arg">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3MCccP-EEd6628OhKk_dpg" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3MDDgP-EEd6628OhKk_dpg" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_BywjgP-FEd6628OhKk_dpg" name="ret" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_JmxyMD16Ed-Bk-AHd6yyoA" name="activate" method="_oP6UcED4Ed-_DOja_sRgWA"/>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_JqB6gD16Ed-Bk-AHd6yyoA" name="deactivate" method="_Bxe68H2LEeWV7cfiwPN21w"/>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_TBScwCxyEeOMQpc6Y-MAJw" name="configuration_complete" method="_-9Gu0H2KEeWV7cfiwPN21w"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_xtlE8ARAEd--t-uhRn9OBA" name="dataTypes">
+      <packagedElement xmi:type="uml:Class" xmi:id="_WkkjoPNUEeCovO8AYZymZQ" name="CallEvent_">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_YKtbAPNUEeCovO8AYZymZQ" name="operationID" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aDHHEPNUEeCovO8AYZymZQ" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aDIVMPNUEeCovO8AYZymZQ" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_aDKxcPNUEeCovO8AYZymZQ">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_gQGNwPNUEeCovO8AYZymZQ" name="kind" visibility="public" type="_jQjHAPNUEeCovO8AYZymZQ">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_imLUUPNUEeCovO8AYZymZQ" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_imL7YPNUEeCovO8AYZymZQ" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_imuG4PNUEeCovO8AYZymZQ">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_-_HCMBI0EeGU49ezpRnvLg" name="portID">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-_LToBI0EeGU49ezpRnvLg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-_L6sBI0EeGU49ezpRnvLg" value="1"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_qzHgkPNUEeCovO8AYZymZQ" name="params" visibility="public" type="_OU5asFaNEeKxltxu9uR4dg">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sMOBgPNUEeCovO8AYZymZQ"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sMPPoPNUEeCovO8AYZymZQ" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_sMRE0PNUEeCovO8AYZymZQ">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_JRmo0PNAEeCovO8AYZymZQ" name="EventPool">
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_MzO8gPNAEeCovO8AYZymZQ" name="control" visibility="public" type="_omxU4PNAEeCovO8AYZymZQ" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_N-OI8PNAEeCovO8AYZymZQ" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_N-PXEPNAEeCovO8AYZymZQ" value="1"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_k-OpoPN8EeCovO8AYZymZQ" name="events" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mr7hkPN8EeCovO8AYZymZQ" value="20"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mr-k4PN8EeCovO8AYZymZQ" value="20"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="__a1A0PQXEeCovO8AYZymZQ" name="m_size" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_A1N7MPQYEeCovO8AYZymZQ" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_A1OiQPQYEeCovO8AYZymZQ" value="1"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_KnS5QPQYEeCovO8AYZymZQ" name="m_cond" visibility="public">
+          <type xmi:type="uml:Class" href="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml#_QWlVgPRTEeCUGrV0Hl4JwQ"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KyZ9EPQYEeCovO8AYZymZQ" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KyakIPQYEeCovO8AYZymZQ" value="1"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_Ig_MUCSlEeG6GJ4vU06VYQ" name="ID_TIMEOUT" isStatic="true">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IjAlkCSlEeG6GJ4vU06VYQ" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IjCawCSlEeG6GJ4vU06VYQ" value="1"/>
+          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_SjUM4CSlEeG6GJ4vU06VYQ" name="" value="-1"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_aY-AcNhrEeSAk4H5GXhpNA" name="readIndex" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aY-AcdhrEeSAk4H5GXhpNA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aY-ActhrEeSAk4H5GXhpNA" value="1"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_dllGYNhrEeSAk4H5GXhpNA" name="writeIndex" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dllGYdhrEeSAk4H5GXhpNA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dlltcNhrEeSAk4H5GXhpNA" value="1"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_YHC5wNhuEeSqPLTzapTtmQ" name="POOL_SIZE" isStatic="true">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YHC5wdhuEeSqPLTzapTtmQ" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YHC5wthuEeSqPLTzapTtmQ" value="1"/>
+          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_YHC5w9huEeSqPLTzapTtmQ" name="" value="20"/>
+        </ownedAttribute>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_mI0xEPQXEeCovO8AYZymZQ" name="derived realization of IPoolControl" client="_JRmo0PNAEeCovO8AYZymZQ" supplier="_omxU4PNAEeCovO8AYZymZQ" contract="_omxU4PNAEeCovO8AYZymZQ"/>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_2HjeoPQXEeCovO8AYZymZQ" name="writeEvent" specification="_f1HmEPQREeCovO8AYZymZQ0">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_y_tvwH2KEeWV7cfiwPN21w" name="event" type="_WkkjoPNUEeCovO8AYZymZQ">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_y_uW0H2KEeWV7cfiwPN21w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_y_uW0X2KEeWV7cfiwPN21w" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>if (m_size &lt; POOL_SIZE) {
+	events[writeIndex] = event;
+	writeIndex = (writeIndex + 1) % POOL_SIZE;
+	m_size++;
+	if (m_size == 1) {
+		// was 0 before, notify waiting clients
+		m_cond.signal();
+	}
+}
+
+</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_5Sw2YPQXEeCovO8AYZymZQ" name="size" specification="_FBMo4PQXEeCovO8AYZymZQ0">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_y_u94H2KEeWV7cfiwPN21w" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_y_vk8H2KEeWV7cfiwPN21w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_y_vk8X2KEeWV7cfiwPN21w" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>return m_size;</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_9xRCAPQXEeCovO8AYZymZQ" name="readEvent" specification="_tK0poPQWEeCovO8AYZymZQ0">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_y_wMAH2KEeWV7cfiwPN21w" name="timeout">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_y_wMAX2KEeWV7cfiwPN21w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_y_wzEH2KEeWV7cfiwPN21w" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_y_wzEX2KEeWV7cfiwPN21w" type="_WkkjoPNUEeCovO8AYZymZQ" direction="return">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_y_xaIH2KEeWV7cfiwPN21w" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_y_xaIX2KEeWV7cfiwPN21w" value="1"/>
+          </ownedParameter>
+          <language>C/C++</language>
+          <body>if (m_size == 0) {
+	// no element is in pool. Wait until it is placed inside
+	// TODO: potential race condition
+	OS_AL::Time::TimeVal wakeup = OS_AL::Time::TimeVal::current();
+	wakeup += timeout;
+	int retCode = m_cond.waitUpto (wakeup);
+	if (retCode == ETIMEDOUT) {
+		CallEvent_ event;
+		event.operationID = ID_TIMEOUT;
+		return event;
+	}
+}
+int current = readIndex;
+readIndex = (readIndex+1) % POOL_SIZE;
+m_size--;
+return events[current];</body>
+        </ownedBehavior>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_JoG14PRUEeCKVJwdD4MMsg" name="EventPool" specification="_lrF08PRTEeCUGrV0Hl4JwQ">
+          <language>C/C++</language>
+          <body>m_cond.lock();
+readIndex = 0;
+writeIndex = 0;
+m_size = 0;</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_tK0poPQWEeCovO8AYZymZQ0" name="readEvent" method="_9xRCAPQXEeCovO8AYZymZQ">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_HUTnoCVyEeGaL60JjVj19Q" name="timeout">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUWq8CVyEeGaL60JjVj19Q" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUXSACVyEeGaL60JjVj19Q" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_HUZHMCVyEeGaL60JjVj19Q" type="_WkkjoPNUEeCovO8AYZymZQ" direction="return">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUbjcCVyEeGaL60JjVj19Q" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUcxkCVyEeGaL60JjVj19Q" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_FBMo4PQXEeCovO8AYZymZQ0" name="size" method="_5Sw2YPQXEeCovO8AYZymZQ">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mKtAYPQXEeCovO8AYZymZQ" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mKvcoPQXEeCovO8AYZymZQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mKwqwPQXEeCovO8AYZymZQ" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_f1HmEPQREeCovO8AYZymZQ0" name="writeEvent" method="_2HjeoPQXEeCovO8AYZymZQ">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_HRdvACVyEeGaL60JjVj19Q" name="event" type="_WkkjoPNUEeCovO8AYZymZQ">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUNhACVyEeGaL60JjVj19Q" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUOvICVyEeGaL60JjVj19Q" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_lrF08PRTEeCUGrV0Hl4JwQ" name="EventPool" method="_JoG14PRUEeCKVJwdD4MMsg"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Interface" xmi:id="_elkpwPQREeCovO8AYZymZQ" name="IWriteEvent">
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_f1HmEPQREeCovO8AYZymZQ" name="writeEvent" visibility="public" isAbstract="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_wAdzUPQREeCovO8AYZymZQ">
+            <body>&lt;&lt;TextualRepresentation>>public abstract writeEvent (in event:BasicCalls::ContainerServices::Event) ;</body>
+          </ownedComment>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="__4qMgCUQEeGXBt65HZzY7g" name="event" type="_WkkjoPNUEeCovO8AYZymZQ">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__4raoCUQEeGXBt65HZzY7g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__4sowCUQEeGXBt65HZzY7g" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Enumeration" xmi:id="_jQjHAPNUEeCovO8AYZymZQ" name="EventKind">
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_jv4uYPNUEeCovO8AYZymZQ" name="CallEvent"/>
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_kuDm0PNUEeCovO8AYZymZQ" name="SignalEvent"/>
+        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_ljD8MPNUEeCovO8AYZymZQ" name="TimeEvent"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Interface" xmi:id="_omxU4PNAEeCovO8AYZymZQ" name="IPoolControl">
+        <generalization xmi:type="uml:Generalization" xmi:id="_feaHgPQXEeCovO8AYZymZQ" general="_elkpwPQREeCovO8AYZymZQ"/>
+        <generalization xmi:type="uml:Generalization" xmi:id="_GwxT0CUREeGXBt65HZzY7g" general="_DY2VwCUREeGXBt65HZzY7g"/>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_FBMo4PQXEeCovO8AYZymZQ" name="size" visibility="public" isAbstract="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_NaRMoPQXEeCovO8AYZymZQ">
+            <body>&lt;&lt;TextualRepresentation>>public abstract size () : BasicCalls::Long ;</body>
+          </ownedComment>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_RlkvcPQXEeCovO8AYZymZQ" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rll9kPQXEeCovO8AYZymZQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RlmkoPQXEeCovO8AYZymZQ" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Interface" xmi:id="_DY2VwCUREeGXBt65HZzY7g" name="IReadEvent">
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_tK0poPQWEeCovO8AYZymZQ" name="readEvent" visibility="public" isAbstract="true">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_xPdjwPQWEeCovO8AYZymZQ">
+            <body>&lt;&lt;TextualRepresentation>>public abstract readEvent(in timeout : BasicCalls::Long) : BasicCalls::ContainerServices::Event ;</body>
+          </ownedComment>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_PnwykPRREeCUGrV0Hl4JwQ" name="timeout">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PofyYPRREeCUGrV0Hl4JwQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Pow4IPRREeCUGrV0Hl4JwQ" value="1"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_Po7QMPRREeCUGrV0Hl4JwQ" type="_WkkjoPNUEeCovO8AYZymZQ" direction="return">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PpWG8PRREeCUGrV0Hl4JwQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ppl-kPRREeCUGrV0Hl4JwQ" value="1"/>
+          </ownedParameter>
+        </ownedOperation>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_9V8OQCjYEeGFbebITJYb9g" name="PeriodicTimer">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_zLeSkCnOEeGxrprK9wB9iA" annotatedElement="_tmNeoCjbEeGFbebITJYb9g">
+          <body>The period length of the perdioci timer in ticks. Currently, a tick corresponds to 1 ms (simulation time in the underlying OS abstraction layer). It is planned to support VSL expressions, i.e. a value/unit pair.</body>
+        </ownedComment>
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_ATRiECjZEeGFbebITJYb9g" name="tick" visibility="public" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_E3y2ICjZEeGFbebITJYb9g" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_E30EQCjZEeGFbebITJYb9g" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_E33HkCjZEeGFbebITJYb9g">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_tmNeoCjbEeGFbebITJYb9g" name="periodLength" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tmmgMCjbEeGFbebITJYb9g" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tmnHQCjbEeGFbebITJYb9g" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_w262ACnOEeGxrprK9wB9iA">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_pMOMQMTiEeWfEYAFL-UFuw" name="derived realization of IRunnable" client="_9V8OQCjYEeGFbebITJYb9g">
+          <supplier xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
+          <contract xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
+        </interfaceRealization>
+        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_rmAHEMTiEeWfEYAFL-UFuw" name="run" specification="_pMrfQMTiEeWfEYAFL-UFuw">
+          <language>C/C++</language>
+          <body>OS_AL::Time::Timer timer;
+OS_AL::Time::TimeVal time = OS_AL::Time::TimeVal::current();
+OS_AL::Time::TimeVal period(periodLength);
+for (;;) {
+	tick->tick();
+	time += period;
+	timer.wakeUp(time);
+}</body>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_pMrfQMTiEeWfEYAFL-UFuw" name="run" method="_rmAHEMTiEeWfEYAFL-UFuw"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_-X6zMCjZEeGFbebITJYb9g" name="PeriodicTimerWithThread">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_ARs_UCjaEeGFbebITJYb9g" name="timer" visibility="public" type="_9V8OQCjYEeGFbebITJYb9g" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_k_FtQCjaEeGFbebITJYb9g" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_k_G7YCjaEeGFbebITJYb9g" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_k_J-sCjaEeGFbebITJYb9g">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_RMqEkCjaEeGFbebITJYb9g" name="thread" visibility="public" type="_SiY_AP-EEd6628OhKk_dpg" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_j8bWYCjaEeGFbebITJYb9g" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_j8ckgCjaEeGFbebITJYb9g" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_j8eZsCjaEeGFbebITJYb9g">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Port" xmi:id="_3NSGwCkAEeGDDbdzqSb4UA" name="tick" visibility="public" aggregation="composite">
+          <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_30IrYCkAEeGDDbdzqSb4UA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_30LusCkAEeGDDbdzqSb4UA" value="1"/>
+        </ownedAttribute>
+        <ownedConnector xmi:type="uml:Connector" xmi:id="_iDCL0CjaEeGFbebITJYb9g" name="Connector1">
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_iDCy4CjaEeGFbebITJYb9g" partWithPort="_RMqEkCjaEeGFbebITJYb9g" role="_ZjdOAP-EEd6628OhKk_dpg">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iDCy4ijaEeGFbebITJYb9g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iDCy4SjaEeGFbebITJYb9g" value="1"/>
+          </end>
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_iDCy4yjaEeGFbebITJYb9g" partWithPort="_ARs_UCjaEeGFbebITJYb9g" role="__SLXgNtxEd6nqsBVkgJEEA">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iDCy5SjaEeGFbebITJYb9g" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iDCy5CjaEeGFbebITJYb9g" value="1"/>
+          </end>
+        </ownedConnector>
+        <ownedConnector xmi:type="uml:Connector" xmi:id="_84IJsCkAEeGDDbdzqSb4UA" name="Connector2">
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_84JX0CkAEeGDDbdzqSb4UA" partWithPort="_ARs_UCjaEeGFbebITJYb9g" role="_ATRiECjZEeGFbebITJYb9g">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_84JX0ikAEeGDDbdzqSb4UA" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_84JX0SkAEeGDDbdzqSb4UA" value="1"/>
+          </end>
+          <end xmi:type="uml:ConnectorEnd" xmi:id="_84L0ECkAEeGDDbdzqSb4UA" role="_3NSGwCkAEeGDDbdzqSb4UA">
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_84L0EikAEeGDDbdzqSb4UA" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_84L0ESkAEeGDDbdzqSb4UA" value="1"/>
+          </end>
+        </ownedConnector>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Dependency" xmi:id="_SXkHQCo0EeGxrprK9wB9iA" name="Dependency1" client="_9V8OQCjYEeGFbebITJYb9g">
+        <supplier xmi:type="uml:Class" href="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml#_ETakYDj8Edy0Rd6V_tf1-Q"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:DataType" xmi:id="_OU5asFaNEeKxltxu9uR4dg" name="ParamValues">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_RW82cFaNEeKxltxu9uR4dg" name="values" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_IYEXcB-VEd6nGq8wpI2tjg"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TAmU0FaNEeKxltxu9uR4dg" value="200"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TAqmQFaNEeKxltxu9uR4dg" value="200"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_TCDGUFaNEeKxltxu9uR4dg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:DataType" xmi:id="_Y8dPQFaNEeKxltxu9uR4dg" name="QoS">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_fYeQcFaNEeKxltxu9uR4dg" name="deadline" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gFUvYFaNEeKxltxu9uR4dg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gFYZwFaNEeKxltxu9uR4dg" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_gFfHcFaNEeKxltxu9uR4dg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_oUVYMFaNEeKxltxu9uR4dg" name="period" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rUQF8FaNEeKxltxu9uR4dg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rUSiMFaNEeKxltxu9uR4dg" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_rW6_cFaNEeKxltxu9uR4dg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_xXGZMFaNEeKxltxu9uR4dg" name="readyTime" visibility="public">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PDML_IDL/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yjbCYFaNEeKxltxu9uR4dg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yjcQgFaNEeKxltxu9uR4dg" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_yjeswFaNEeKxltxu9uR4dg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_-WNegNtxEd6nqsBVkgJEEA" name="LifeCycle" isAbstract="true">
+        <ownedAttribute xmi:type="uml:Port" xmi:id="__SLXgNtxEd6nqsBVkgJEEA" name="lc" aggregation="composite">
+          <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_57__MCS-Ed-A_I32T0fkaA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_58tJ0CS-Ed-A_I32T0fkaA" value="1"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Dependency" xmi:id="_xsB0QL4KEeWvxpnDGpErAg" client="_JRmo0PNAEeCovO8AYZymZQ">
+        <supplier xmi:type="uml:Class" href="pathmap://PapyrusC_Cpp_LIBRARIES/osal.uml#_FuKEEDj8Edy0Rd6V_tf1-Q"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_y4qB4ARJEd--t-uhRn9OBA" name="containerRules">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_q-kFUMTJEd-cLazKlAeYsQ" annotatedElement="_14WtMARJEd--t-uhRn9OBA">
+        <body>This rule adds an interceptor for the lifecycle (lc) port. It will use the Thread implementation that executes the activate method in a new thread of a given priority (property of the interceptor implementation)</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="_H0IrsDbgEeGdqp2YT1LwWw" annotatedElement="_1sCBICjZEeGFbebITJYb9g">
+        <body>Adds a periodic timer to the container</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Class" xmi:id="_14WtMARJEd--t-uhRn9OBA" name="runStartThread">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_mvN04PTWEeCn1-FCrfecFg" name="start" visibility="public" aggregation="composite">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nPVfYPTWEeCn1-FCrfecFg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nPXUkPTWEeCn1-FCrfecFg" value="1"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="__4GvgPQTEeCovO8AYZymZQ" name="AddEventPool"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_1sCBICjZEeGFbebITJYb9g" name="PeriodicTimerRule">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_6yVMkCjZEeGFbebITJYb9g" name="timer" visibility="public" type="_9V8OQCjYEeGFbebITJYb9g">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_54aFgCjaEeGFbebITJYb9g" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_54bToCjaEeGFbebITJYb9g" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_54eW8CjaEeGFbebITJYb9g">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_wSPIcF0NEd-12d_h0i1xhQ" name="deployment">
+      <packagedElement xmi:type="uml:Package" xmi:id="_dKFEcCp9EeG1Y7BvjQ0T-w" name="operatingSystems">
+        <packagedElement xmi:type="uml:Class" xmi:id="_17yx8F0NEd-12d_h0i1xhQ" name="vxWorks"/>
+        <packagedElement xmi:type="uml:Class" xmi:id="_zVs5cF0NEd-12d_h0i1xhQ" name="Linux"/>
+        <packagedElement xmi:type="uml:Class" xmi:id="_4RuHgF0NEd-12d_h0i1xhQ" name="ose/ck"/>
+        <packagedElement xmi:type="uml:Class" xmi:id="__1uEcF0NEd-12d_h0i1xhQ" name="OSEK"/>
+        <packagedElement xmi:type="uml:Class" xmi:id="_onKy0Cp9EeG1Y7BvjQ0T-w" name="Cygwin"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Package" xmi:id="_f2AfMCp9EeG1Y7BvjQ0T-w" name="architectures">
+        <packagedElement xmi:type="uml:Class" xmi:id="_PFcW8F0OEd-12d_h0i1xhQ" name="GenericPowerPC"/>
+        <packagedElement xmi:type="uml:Class" xmi:id="_CxQBcF0OEd-12d_h0i1xhQ" name="StandardPC"/>
+        <packagedElement xmi:type="uml:Class" xmi:id="_KjufQF0OEd-12d_h0i1xhQ" name="GenericARM7"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_tkiC4HI3EeOCrdvV8oxOKA" name="bindingHelpers">
+      <packagedElement xmi:type="uml:Class" xmi:id="_z2tyoHI3EeOCrdvV8oxOKA" name="LoopOperations"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_4H-ZoHkgEeOCpqruXGWNPw" name="BindOperation"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_g8oe8LsMEeO0n5elMxN1LQ" name="BindCppIncludeToFirstActual"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_pvv8UG6lEea28Jw2WrLiEw" name="BindOpaqueBehavior"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_Ky7kwF4QEea4bLzKfwAjjA" name="m2mtransformations">
+      <packagedElement xmi:type="uml:Class" xmi:id="_Ck0eYF4REea4bLzKfwAjjA" name="Standard">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_rJqmEF4REea4bLzKfwAjjA" name="manualTransformations" type="_ofuIUF4REea4bLzKfwAjjA"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_XobLsG-DEea89JTVlr8RHA" name="statemachine" visibility="public">
+          <type xmi:type="uml:Class" href="pathmap://DML_TRAFO/statemachine.uml#_6-9EUCPoEeauR8esGjVxRA"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_kKwTMF4REea4bLzKfwAjjA" name="deployToNodes" type="_eELWgF4REea4bLzKfwAjjA"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_uYn1YF4REea4bLzKfwAjjA" name="bootloaderCreation" type="_s7jacF4REea4bLzKfwAjjA"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_bTGMEGnwEead2IFRwKRBMw" name="generateCode" type="_KVyWYGnwEead2IFRwKRBMw"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_yhiuAGoDEeaDvKuEhyP_8g" name="configureProject" type="_sCpX8GoDEeaDvKuEhyP_8g"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_atMMkF4REea4bLzKfwAjjA" name="Tracing">
+        <generalization xmi:type="uml:Generalization" xmi:id="_chwhgF4REea4bLzKfwAjjA" general="_Ck0eYF4REea4bLzKfwAjjA"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_eELWgF4REea4bLzKfwAjjA" name="DeployToNodes"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_ofuIUF4REea4bLzKfwAjjA" name="M2MFromStereotype"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_s7jacF4REea4bLzKfwAjjA" name="BootLoaderGen"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_KVyWYGnwEead2IFRwKRBMw" name="GenerateCode"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_sCpX8GoDEeaDvKuEhyP_8g" name="ConfigureProject"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_3e-jAG-CEea89JTVlr8RHA" name="Simple">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_FSvN0G-DEea89JTVlr8RHA" name="m2MFromStereotype" type="_ofuIUF4REea4bLzKfwAjjA"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_Okno4G-DEea89JTVlr8RHA" name="statemachine" visibility="public">
+          <type xmi:type="uml:Class" href="pathmap://DML_TRAFO/statemachine.uml#_6-9EUCPoEeauR8esGjVxRA"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_ZtOZgHCKEeaAna84v3Lx-w" name="deployToNodes" type="_eELWgF4REea4bLzKfwAjjA"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_TUnXsG-EEea89JTVlr8RHA" name="generateCode" type="_KVyWYGnwEead2IFRwKRBMw"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_UCZDsG-EEea89JTVlr8RHA" name="configureProject" type="_sCpX8GoDEeaDvKuEhyP_8g"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_d5c-0HCJEeaAna84v3Lx-w" name="defaultPlatform">
+      <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_iE2oQHCJEeaAna84v3Lx-w" name="defaultNode" classifier="_mhxfgHCJEeaAna84v3Lx-w"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_mhxfgHCJEeaAna84v3Lx-w" name="DefaultNode"/>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ugrx4AHIEd6pm-KfUZMnnQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ugztsAHIEd6pm-KfUZMnnQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_u03PkFRxEd6GqrP6fkWBoQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u1sWAFRxEd6GqrP6fkWBoQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_0x8woBn3EeONpa5JgejICQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_01dXoBn3EeONpa5JgejICQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//SRM/SW_Concurrency"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_A_vtYBJeEdy3Td9UhuLFPg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_Ids9UF4REea4bLzKfwAjjA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IduygF4REea4bLzKfwAjjA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Transformation/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://TRAFO_PROFILE/Transformation.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/>
+    </profileApplication>
+  </uml:Model>
+  <FCM:Port xmi:id="__SL-kNtxEd6nqsBVkgJEEA" base_Port="__SLXgNtxEd6nqsBVkgJEEA">
+    <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:Port>
+  <FCM:Port xmi:id="_Zjd1EP-EEd6628OhKk_dpg" base_Port="_ZjdOAP-EEd6628OhKk_dpg">
+    <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_BHFPQJsqEd61Eo3nmu3JhQ"/>
+  </FCM:Port>
+  <C_Cpp:Ptr xmi:id="_Aw8hMP-FEd6628OhKk_dpg" base_parameter="_1TXqoP-EEd6628OhKk_dpg"/>
+  <C_Cpp:Ptr xmi:id="_NjCToP-FEd6628OhKk_dpg" base_parameter="_BywjgP-FEd6628OhKk_dpg"/>
+  <FCM:ContainerRule xmi:id="_3Jq5MARLEd-OidZzGKCpzg" base_Class="_14WtMARJEd--t-uhRn9OBA"/>
+  <C_Cpp:Include xmi:id="_Q7TVYBJcEd-QgZm_R1AKbA" body="#include &lt;pthread.h>" base_class="_SiY_AP-EEd6628OhKk_dpg"/>
+  <FCM:DerivedElement xmi:id="_JqAFUD16Ed-Bk-AHd6yyoA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_JqEWwD16Ed-Bk-AHd6yyoA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_RTu-gED2Ed-_DOja_sRgWA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_RUIAEED2Ed-_DOja_sRgWA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_xsrykEJFEd-Ps4Bfh0j9LQ" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_xs0VcEJFEd-Ps4Bfh0j9LQ" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_qBaUMFJEEd-OfYmxqPWG5g" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_qBeloFJEEd-OfYmxqPWG5g" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_t--FUF0NEd-12d_h0i1xhQ" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_t_EzAF0NEd-12d_h0i1xhQ" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:OperatingSystem xmi:id="_1eULwF0NEd-12d_h0i1xhQ" base_Class="_zVs5cF0NEd-12d_h0i1xhQ"/>
+  <FCM:OperatingSystem xmi:id="_3MI_gF0NEd-12d_h0i1xhQ" base_Class="_17yx8F0NEd-12d_h0i1xhQ"/>
+  <FCM:OperatingSystem xmi:id="_8h8mkF0NEd-12d_h0i1xhQ" base_Class="_4RuHgF0NEd-12d_h0i1xhQ"/>
+  <FCM:OperatingSystem xmi:id="_BL7pcF0OEd-12d_h0i1xhQ" base_Class="__1uEcF0NEd-12d_h0i1xhQ"/>
+  <FCM:TargetArchitecture xmi:id="_FYOqwF0OEd-12d_h0i1xhQ" base_Class="_CxQBcF0OEd-12d_h0i1xhQ"/>
+  <FCM:TargetArchitecture xmi:id="_W5gJIF0OEd-12d_h0i1xhQ" base_Class="_KjufQF0OEd-12d_h0i1xhQ"/>
+  <FCM:TargetArchitecture xmi:id="_YHIZ4F0OEd-12d_h0i1xhQ" base_Class="_PFcW8F0OEd-12d_h0i1xhQ"/>
+  <FCM:DerivedElement xmi:id="_FWe6IG4sEd-0rs2VEGIwsA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_FWlAwG4sEd-0rs2VEGIwsA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_9Kl8IG4-Ed-J1L578xi-WA" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_9K4QAG4-Ed-J1L578xi-WA" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_Si_2kG5fEd-5CZIeuHpHAg" base_Element="_JmxyMD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:DerivedElement xmi:id="_SjXqAG5fEd-5CZIeuHpHAg" base_Element="_JqB6gD16Ed-Bk-AHd6yyoA">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
+  </FCM:DerivedElement>
+  <FCM:ConfigurationProperty xmi:id="_s0fGMMGJEd-Mveea1W_olA" base_Property="_rVfYoMGJEd-Mveea1W_olA"/>
+  <FCM:Port xmi:id="_MzPjkPNAEeCovO8AYZymZQ" base_Port="_MzO8gPNAEeCovO8AYZymZQ" type="_omxU4PNAEeCovO8AYZymZQ"/>
+  <FCM:ContainerRule xmi:id="_F1wZsPQUEeCovO8AYZymZQ" base_Class="__4GvgPQTEeCovO8AYZymZQ"/>
+  <FCM:DerivedElement xmi:id="_mKpWAPQXEeCovO8AYZymZQ" base_Element="_tK0poPQWEeCovO8AYZymZQ0" source="_tK0poPQWEeCovO8AYZymZQ"/>
+  <FCM:DerivedElement xmi:id="_mK0VIPQXEeCovO8AYZymZQ" base_Element="_FBMo4PQXEeCovO8AYZymZQ0" source="_FBMo4PQXEeCovO8AYZymZQ"/>
+  <FCM:DerivedElement xmi:id="_mK7C0PQXEeCovO8AYZymZQ" base_Element="_f1HmEPQREeCovO8AYZymZQ0" source="_f1HmEPQREeCovO8AYZymZQ"/>
+  <standard:Create xmi:id="_o4VNAPRTEeCUGrV0Hl4JwQ" base_BehavioralFeature="_lrF08PRTEeCUGrV0Hl4JwQ"/>
+  <FCM:InterceptionRule xmi:id="_qlcF8AJzEeG0Lb1KYG16fA" interceptionSet="__SLXgNtxEd6nqsBVkgJEEA" base_Property="_mvN04PTWEeCn1-FCrfecFg"/>
+  <C_Cpp:Const xmi:id="_MGjk0CSlEeG6GJ4vU06VYQ" base_property="_Ig_MUCSlEeG6GJ4vU06VYQ"/>
+  <C_Cpp:Include xmi:id="_Yx49gCaeEeG4fZdVXNtoOQ" body="#include &lt;errno.h>" base_class="_JRmo0PNAEeCovO8AYZymZQ"/>
+  <FCM:Port xmi:id="_ATRiESjZEeGFbebITJYb9g" base_Port="_ATRiECjZEeGFbebITJYb9g">
+    <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
+  </FCM:Port>
+  <FCM:ContainerRule xmi:id="_MS45QCjaEeGFbebITJYb9g" base_Class="_1sCBICjZEeGFbebITJYb9g"/>
+  <FCM:ConfigurationProperty xmi:id="_zVumMCjbEeGFbebITJYb9g" base_Property="_tmNeoCjbEeGFbebITJYb9g"/>
+  <FCM:Port xmi:id="_3NSGwSkAEeGDDbdzqSb4UA" base_Port="_3NSGwCkAEeGDDbdzqSb4UA">
+    <type xmi:type="uml:Interface" href="pathmap://DML_TRAFO/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
+  </FCM:Port>
+  <FCM:OperatingSystem xmi:id="_r4nVcCp9EeG1Y7BvjQ0T-w" base_Class="_onKy0Cp9EeG1Y7BvjQ0T-w"/>
+  <SW_Concurrency:SwSchedulableResource xmi:id="_42YPYBn3EeONpa5JgejICQ" base_Classifier="_SiY_AP-EEd6628OhKk_dpg" priorityElements="_rVfYoMGJEd-Mveea1W_olA"/>
+  <FCM:DerivedElement xmi:id="_TJO30CxyEeOMQpc6Y-MAJw" base_Element="_TBScwCxyEeOMQpc6Y-MAJw">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_ns4qsClUEeO4bs_nkcnKOg"/>
+  </FCM:DerivedElement>
+  <C_Cpp:Const xmi:id="_YKw8INhuEeSqPLTzapTtmQ" base_property="_YHC5wNhuEeSqPLTzapTtmQ"/>
+  <FCM:DerivedElement xmi:id="_pMuikMTiEeWfEYAFL-UFuw" base_Element="_pMrfQMTiEeWfEYAFL-UFuw">
+    <source xmi:type="uml:Operation" href="pathmap://DML_TRAFO/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
+  </FCM:DerivedElement>
+  <C_Cpp:Ptr xmi:id="_FSoLkMUKEeWfEYAFL-UFuw" base_parameter="_FSlvUMUKEeWfEYAFL-UFuw"/>
+  <C_Cpp:Ptr xmi:id="_FSqn0MUKEeWfEYAFL-UFuw" base_parameter="_FSoLkcUKEeWfEYAFL-UFuw"/>
+  <Transformation:M2MTrafoChain xmi:id="_LUPFkF4REea4bLzKfwAjjA" base_Class="_Ck0eYF4REea4bLzKfwAjjA"/>
+  <Transformation:M2MTrafo xmi:id="_W3afcGk2EearUflqhq5Pgw" base_Class="_eELWgF4REea4bLzKfwAjjA"/>
+  <Transformation:M2MTrafo xmi:id="_Y4j30Gk2EearUflqhq5Pgw" base_Class="_ofuIUF4REea4bLzKfwAjjA"/>
+  <Transformation:M2MTrafo xmi:id="_ctvZoGk2EearUflqhq5Pgw" base_Class="_s7jacF4REea4bLzKfwAjjA"/>
+  <Transformation:M2MTrafo xmi:id="_VpopMGnwEead2IFRwKRBMw" base_Class="_KVyWYGnwEead2IFRwKRBMw"/>
+  <Transformation:M2MTrafo xmi:id="_vCaUsGoDEeaDvKuEhyP_8g" base_Class="_sCpX8GoDEeaDvKuEhyP_8g"/>
+  <Transformation:M2MTrafo xmi:id="_djuNsG6MEeaxr7fYazRp4A" base_Class="_z2tyoHI3EeOCrdvV8oxOKA"/>
+  <Transformation:M2MTrafo xmi:id="_e7aZYG6MEeaxr7fYazRp4A" base_Class="_4H-ZoHkgEeOCpqruXGWNPw"/>
+  <Transformation:M2MTrafo xmi:id="_gKYt8G6MEeaxr7fYazRp4A" base_Class="_g8oe8LsMEeO0n5elMxN1LQ"/>
+  <Transformation:M2MTrafo xmi:id="_pytwwG6lEea28Jw2WrLiEw" base_Class="_pvv8UG6lEea28Jw2WrLiEw"/>
+  <Transformation:M2MTrafoChain xmi:id="_A7oqsG-DEea89JTVlr8RHA" base_Class="_3e-jAG-CEea89JTVlr8RHA"/>
+</xmi:XMI>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/wizardTemplates/DesignerCBModel.di b/transformation/org.eclipse.papyrus.designer.transformation.library/models/wizardTemplates/DesignerCBModel.di
new file mode 100644
index 0000000..61f9c2f
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/wizardTemplates/DesignerCBModel.di
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ASCII"?>
+<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi" xmi:id="_FvVgcPjQEd-QxdT_yarEKQ">
+  <pageList xmi:id="_FvVgcfjQEd-QxdT_yarEKQ">
+    <availablePage xmi:id="_FvVgcvjQEd-QxdT_yarEKQ">
+      <emfPageIdentifier href="QompassModel.notation#__buPcGmXEd-z7r5RKMpEpA"/>
+    </availablePage>
+    <availablePage>
+      <emfPageIdentifier href="QompassModel.notation#_nAvkcFM2EeGB_eR1RCgBpw"/>
+    </availablePage>
+  </pageList>
+  <sashModel xmi:id="_FvWHgPjQEd-QxdT_yarEKQ" currentSelection="_FvWHgvjQEd-QxdT_yarEKQ">
+    <windows xmi:id="_FvWHgfjQEd-QxdT_yarEKQ">
+      <children xsi:type="di:TabFolder" xmi:id="_FvWHgvjQEd-QxdT_yarEKQ">
+        <children xmi:id="_FvWHg_jQEd-QxdT_yarEKQ">
+          <emfPageIdentifier href="QompassModel.notation#__buPcGmXEd-z7r5RKMpEpA"/>
+        </children>
+        <children>
+          <emfPageIdentifier href="QompassModel.notation#_nAvkcFM2EeGB_eR1RCgBpw"/>
+        </children>
+      </children>
+    </windows>
+  </sashModel>
+</di:SashWindowsMngr>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/wizardTemplates/DesignerCBModel.notation b/transformation/org.eclipse.papyrus.designer.transformation.library/models/wizardTemplates/DesignerCBModel.notation
new file mode 100644
index 0000000..fbdd5d4
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/wizardTemplates/DesignerCBModel.notation
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML">
+  <notation:Diagram xmi:id="__buPcGmXEd-z7r5RKMpEpA" type="PapyrusUMLClassDiagram" name="Class diagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_z01l4GnZEd-Ptdbbm65sVA" type="2005" fontName="Sans Serif" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z02M8GnZEd-Ptdbbm65sVA" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z02M8WnZEd-Ptdbbm65sVA" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z020AGnZEd-Ptdbbm65sVA" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z020AWnZEd-Ptdbbm65sVA" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z020AmnZEd-Ptdbbm65sVA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z020A2nZEd-Ptdbbm65sVA" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_z020BGnZEd-Ptdbbm65sVA" type="5020"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_z020BWnZEd-Ptdbbm65sVA" type="7009">
+        <children xmi:type="notation:Shape" xmi:id="_Fd1c4GnaEd-Ptdbbm65sVA" type="3009" fontName="Sans Serif" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fd2D8GnaEd-Ptdbbm65sVA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fd2D8WnaEd-Ptdbbm65sVA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fd2D8mnaEd-Ptdbbm65sVA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fd2D82naEd-Ptdbbm65sVA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fd2D9GnaEd-Ptdbbm65sVA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fd2D9WnaEd-Ptdbbm65sVA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Fd2D9mnaEd-Ptdbbm65sVA" type="5017"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Fd2D92naEd-Ptdbbm65sVA" type="7010">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Fd2D-GnaEd-Ptdbbm65sVA"/>
+          </children>
+          <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_Fd1c4WnaEd-Ptdbbm65sVA"/>
+          <element xmi:type="uml:Package" href="DesignerCBModel.uml#_FdsS8GnaEd-Ptdbbm65sVA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Fd1c4mnaEd-Ptdbbm65sVA" x="44" y="17"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_JQ2bgGnaEd-Ptdbbm65sVA" type="3009" fontName="Sans Serif" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JQ3CkGnaEd-Ptdbbm65sVA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JQ3CkWnaEd-Ptdbbm65sVA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JQ3CkmnaEd-Ptdbbm65sVA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JQ3Ck2naEd-Ptdbbm65sVA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JQ3ClGnaEd-Ptdbbm65sVA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JQ3ClWnaEd-Ptdbbm65sVA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_JQ3ClmnaEd-Ptdbbm65sVA" type="5017"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_JQ3Cl2naEd-Ptdbbm65sVA" type="7010">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JQ3CmGnaEd-Ptdbbm65sVA"/>
+          </children>
+          <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_JQ2bgWnaEd-Ptdbbm65sVA"/>
+          <element xmi:type="uml:Package" href="DesignerCBModel.uml#_JQvt0GnaEd-Ptdbbm65sVA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JQ2bgmnaEd-Ptdbbm65sVA" x="44" y="130"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_P1qMUGnaEd-Ptdbbm65sVA" type="3009" fontName="Sans Serif" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P1qzYGnaEd-Ptdbbm65sVA" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P1qzYWnaEd-Ptdbbm65sVA" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P1qzYmnaEd-Ptdbbm65sVA" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P1qzY2naEd-Ptdbbm65sVA" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P1racGnaEd-Ptdbbm65sVA" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P1racWnaEd-Ptdbbm65sVA" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_P1racmnaEd-Ptdbbm65sVA" type="5017"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_P1rac2naEd-Ptdbbm65sVA" type="7010">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P1radGnaEd-Ptdbbm65sVA"/>
+          </children>
+          <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_P1qMUWnaEd-Ptdbbm65sVA"/>
+          <element xmi:type="uml:Package" href="DesignerCBModel.uml#_P1nJAGnaEd-Ptdbbm65sVA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P1qMUmnaEd-Ptdbbm65sVA" x="44" y="247"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z020BmnZEd-Ptdbbm65sVA" x="-23" y="20" width="412" height="373"/>
+      </children>
+      <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_z01l4WnZEd-Ptdbbm65sVA"/>
+      <element xmi:type="uml:Model" href="DesignerCBModel.uml#__brzMGmXEd-z7r5RKMpEpA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z01l4mnZEd-Ptdbbm65sVA" x="118" y="98" width="359" height="396"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="__buPcWmXEd-z7r5RKMpEpA"/>
+    <element xmi:type="uml:Model" href="DesignerCBModel.uml#__brzMGmXEd-z7r5RKMpEpA"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_nAvkcFM2EeGB_eR1RCgBpw" type="CompositeStructure" name="Platform" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_nkwQcFM2EeGB_eR1RCgBpw" type="2073" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nkw3gFM2EeGB_eR1RCgBpw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nkw3gVM2EeGB_eR1RCgBpw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nkw3glM2EeGB_eR1RCgBpw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nkw3g1M2EeGB_eR1RCgBpw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nkw3hFM2EeGB_eR1RCgBpw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nkw3hVM2EeGB_eR1RCgBpw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_nkw3hlM2EeGB_eR1RCgBpw" type="5156"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_nkw3h1M2EeGB_eR1RCgBpw" type="7073">
+        <children xmi:type="notation:Shape" xmi:id="_pkGSAFM2EeGB_eR1RCgBpw" type="3070" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pkG5EFM2EeGB_eR1RCgBpw" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pkG5EVM2EeGB_eR1RCgBpw" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pkG5ElM2EeGB_eR1RCgBpw" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pkG5E1M2EeGB_eR1RCgBpw" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pkG5FFM2EeGB_eR1RCgBpw" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pkG5FVM2EeGB_eR1RCgBpw" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_pkG5FlM2EeGB_eR1RCgBpw" type="5126"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_pkG5F1M2EeGB_eR1RCgBpw" visible="false" type="7077">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_pkG5GFM2EeGB_eR1RCgBpw" showTitle="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pkG5GVM2EeGB_eR1RCgBpw"/>
+          </children>
+          <element xmi:type="uml:Property" href="DesignerCBModel.uml#_pkDOsFM2EeGB_eR1RCgBpw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pkGSAVM2EeGB_eR1RCgBpw" x="26" y="9" width="125"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_nkw3iFM2EeGB_eR1RCgBpw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nkw3iVM2EeGB_eR1RCgBpw"/>
+      </children>
+      <element xmi:type="uml:Class" href="DesignerCBModel.uml#_l0_jAFM2EeGB_eR1RCgBpw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nkwQcVM2EeGB_eR1RCgBpw" x="97" y="92" width="273" height="143"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_nAvkcVM2EeGB_eR1RCgBpw"/>
+    <element xmi:type="uml:Package" href="DesignerCBModel.uml#_JQvt0GnaEd-Ptdbbm65sVA"/>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/wizardTemplates/DesignerCBModel.uml b/transformation/org.eclipse.papyrus.designer.transformation.library/models/wizardTemplates/DesignerCBModel.uml
new file mode 100644
index 0000000..e460876
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/wizardTemplates/DesignerCBModel.uml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <uml:Model xmi:id="__brzMGmXEd-z7r5RKMpEpA" name="Qompassmodel">
+    <packageImport xmi:id="_8AZ5IGnZEd-Ptdbbm65sVA">
+      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/core.uml#_O6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packageImport xmi:id="_0gF6ADehEeGPyrZ5I3hMlA">
+      <importedPackage xmi:type="uml:Model" href="pathmap://PDML_IDL/corba.uml#_DtQEwDLdEd2_U4efLnjQIw"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_FdsS8GnaEd-Ptdbbm65sVA" name="components"/>
+    <packagedElement xmi:type="uml:Package" xmi:id="_JQvt0GnaEd-Ptdbbm65sVA" name="Platform">
+      <packagedElement xmi:type="uml:Node" xmi:id="_Y0o9gCgcEeC4DoMvE4KnsQ" name="Node0"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_l0_jAFM2EeGB_eR1RCgBpw" name="HwArchitecture">
+        <ownedAttribute xmi:id="_pkDOsFM2EeGB_eR1RCgBpw" name="node0" visibility="public" type="_Y0o9gCgcEeC4DoMvE4KnsQ">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_q63QoFM2EeGB_eR1RCgBpw" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_q65F0FM2EeGB_eR1RCgBpw" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_q7b4YFM2EeGB_eR1RCgBpw">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_P1nJAGnaEd-Ptdbbm65sVA" name="deployment"/>
+    <profileApplication xmi:id="_8AagMWnZEd-Ptdbbm65sVA">
+      <eAnnotations xmi:id="_8AbHQGnZEd-Ptdbbm65sVA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
+    </profileApplication>
+    <profileApplication xmi:id="_8AbHQWnZEd-Ptdbbm65sVA">
+      <eAnnotations xmi:id="_8AbHQmnZEd-Ptdbbm65sVA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_yNSZIAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:id="_8AbuUGnZEd-Ptdbbm65sVA">
+      <eAnnotations xmi:id="_8AbuUWnZEd-Ptdbbm65sVA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//GCM"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_YgAioAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+    <profileApplication xmi:id="_98SbACgbEeC4DoMvE4KnsQ">
+      <eAnnotations xmi:id="_-ASxQCgbEeC4DoMvE4KnsQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:id="_AqXK0CgcEeC4DoMvE4KnsQ">
+      <eAnnotations xmi:id="_AukVYCgcEeC4DoMvE4KnsQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:id="_ippoYFM2EeGB_eR1RCgBpw">
+      <eAnnotations xmi:id="_jCEIYFM2EeGB_eR1RCgBpw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+  </uml:Model>
+  <FCM:Target xmi:id="_egftECgcEeC4DoMvE4KnsQ" base_Node="_Y0o9gCgcEeC4DoMvE4KnsQ"/>
+</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di b/transformation/org.eclipse.papyrus.designer.transformation.library/models/wizardTemplates/DesignerCBSimple.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di
copy to transformation/org.eclipse.papyrus.designer.transformation.library/models/wizardTemplates/DesignerCBSimple.di
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/wizardTemplates/DesignerCBSimple.notation b/transformation/org.eclipse.papyrus.designer.transformation.library/models/wizardTemplates/DesignerCBSimple.notation
new file mode 100644
index 0000000..3a60934
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/wizardTemplates/DesignerCBSimple.notation
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML">
+  <notation:Diagram xmi:id="_N-FYQFM2EeGB_eR1RCgBpw" type="CompositeStructure" name="Components" measurementUnit="Pixel">
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_N-FYQVM2EeGB_eR1RCgBpw"/>
+    <element xmi:type="uml:Package" href="DesignerCBSimple.uml#_FdsS8GnaEd-Ptdbbm65sVA"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_Pl_KMFM2EeGB_eR1RCgBpw" type="PapyrusUMLClassDiagram" name="Deployment" measurementUnit="Pixel">
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_Pl_KMVM2EeGB_eR1RCgBpw"/>
+    <element xmi:type="uml:Package" href="DesignerCBSimple.uml#_P1nJAGnaEd-Ptdbbm65sVA"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_Rot28FM2EeGB_eR1RCgBpw" type="CompositeStructure" name="Platform" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_U10sIFM2EeGB_eR1RCgBpw" type="2073" fontName="" fontHeight="10" lineColor="0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U10sIlM2EeGB_eR1RCgBpw" source="ShadowFigure">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U10sI1M2EeGB_eR1RCgBpw" key="ShadowFigure_Value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U11TMFM2EeGB_eR1RCgBpw" source="displayNameLabelIcon">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U11TMVM2EeGB_eR1RCgBpw" key="displayNameLabelIcon_value" value="false"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U11TMlM2EeGB_eR1RCgBpw" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_U11TM1M2EeGB_eR1RCgBpw" key="QualifiedNameDepth" value="1000"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_U11TNFM2EeGB_eR1RCgBpw" type="5156"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_U11TNVM2EeGB_eR1RCgBpw" type="7073">
+        <children xmi:type="notation:Shape" xmi:id="_Vn6QYFM2EeGB_eR1RCgBpw" type="3070" fontName="" fontHeight="10" lineColor="0">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vn63cFM2EeGB_eR1RCgBpw" source="ShadowFigure">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vn63cVM2EeGB_eR1RCgBpw" key="ShadowFigure_Value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vn63clM2EeGB_eR1RCgBpw" source="displayNameLabelIcon">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vn63c1M2EeGB_eR1RCgBpw" key="displayNameLabelIcon_value" value="false"/>
+          </eAnnotations>
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vn63dFM2EeGB_eR1RCgBpw" source="QualifiedName">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vn63dVM2EeGB_eR1RCgBpw" key="QualifiedNameDepth" value="1000"/>
+          </eAnnotations>
+          <children xmi:type="notation:DecorationNode" xmi:id="_Vn63dlM2EeGB_eR1RCgBpw" type="5126"/>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_Vn63d1M2EeGB_eR1RCgBpw" visible="false" type="7077">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_Vn63eFM2EeGB_eR1RCgBpw" showTitle="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vn63eVM2EeGB_eR1RCgBpw"/>
+          </children>
+          <element xmi:type="uml:Property" href="DesignerCBSimple.uml#_Vm8nEFM2EeGB_eR1RCgBpw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vn6QYVM2EeGB_eR1RCgBpw" x="35" y="21" width="123"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_U11TNlM2EeGB_eR1RCgBpw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U11TN1M2EeGB_eR1RCgBpw"/>
+      </children>
+      <element xmi:type="uml:Class" href="DesignerCBSimple.uml#_TAfiMFM2EeGB_eR1RCgBpw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U10sIVM2EeGB_eR1RCgBpw" x="99" y="102" width="235" height="142"/>
+    </children>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_Rot28VM2EeGB_eR1RCgBpw"/>
+    <element xmi:type="uml:Package" href="DesignerCBSimple.uml#_JQvt0GnaEd-Ptdbbm65sVA"/>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/models/wizardTemplates/DesignerCBSimple.uml b/transformation/org.eclipse.papyrus.designer.transformation.library/models/wizardTemplates/DesignerCBSimple.uml
new file mode 100644
index 0000000..3fa5771
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/models/wizardTemplates/DesignerCBSimple.uml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <uml:Model xmi:id="__brzMGmXEd-z7r5RKMpEpA" name="Qompassmodel">
+    <packageImport xmi:id="_8AZ5IGnZEd-Ptdbbm65sVA">
+      <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/core.uml#_O6TiIDLUEd26WNosUASSSw"/>
+    </packageImport>
+    <packageImport xmi:id="_9AGMMDehEeGPyrZ5I3hMlA">
+      <importedPackage xmi:type="uml:Model" href="pathmap://PDML_IDL/corba.uml#_DtQEwDLdEd2_U4efLnjQIw"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_FdsS8GnaEd-Ptdbbm65sVA" name="components"/>
+    <packagedElement xmi:type="uml:Package" xmi:id="_JQvt0GnaEd-Ptdbbm65sVA" name="Platform">
+      <packagedElement xmi:type="uml:Node" xmi:id="_ubZDgCgcEeC4DoMvE4KnsQ" name="Node0"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_TAfiMFM2EeGB_eR1RCgBpw" name="HwArchitecture">
+        <ownedAttribute xmi:id="_Vm8nEFM2EeGB_eR1RCgBpw" name="node0" visibility="public" type="_ubZDgCgcEeC4DoMvE4KnsQ">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WogKsFM2EeGB_eR1RCgBpw" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WouNIFM2EeGB_eR1RCgBpw" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_WpZikFM2EeGB_eR1RCgBpw">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_P1nJAGnaEd-Ptdbbm65sVA" name="deployment"/>
+    <profileApplication xmi:id="_8AagMWnZEd-Ptdbbm65sVA">
+      <eAnnotations xmi:id="_8AbHQGnZEd-Ptdbbm65sVA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
+    </profileApplication>
+    <profileApplication xmi:id="_pDULkCgcEeC4DoMvE4KnsQ">
+      <eAnnotations xmi:id="_pI-HoCgcEeC4DoMvE4KnsQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:id="_sitqoCgcEeC4DoMvE4KnsQ">
+      <eAnnotations xmi:id="_sm5AACgcEeC4DoMvE4KnsQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+    </profileApplication>
+    <profileApplication xmi:id="_ctGKYFM2EeGB_eR1RCgBpw">
+      <eAnnotations xmi:id="_dA53MFM2EeGB_eR1RCgBpw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/>
+    </profileApplication>
+  </uml:Model>
+  <FCM:Target xmi:id="_wgsjICgcEeC4DoMvE4KnsQ" base_Node="_ubZDgCgcEeC4DoMvE4KnsQ"/>
+</xmi:XMI>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/plugin.properties b/transformation/org.eclipse.papyrus.designer.transformation.library/plugin.properties
new file mode 100644
index 0000000..ac3c39c
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2013 CEA LIST.
+# All rights reserved. This program and the accompanying materials 
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     CEA LIST - initial API and implementation
+###############################################################################
+pluginName=Papyrus designer: core model library (Incubation)
+providerName=Eclipse Modeling Project
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/plugin.xml b/transformation/org.eclipse.papyrus.designer.transformation.library/plugin.xml
new file mode 100644
index 0000000..e7f71a2
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/plugin.xml
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+	<extension id="DML_TRAFO" point="org.eclipse.emf.ecore.uri_mapping">
+		<mapping source="pathmap://DML_TRAFO/" target="platform:/plugin/org.eclipse.papyrus.designer.transformation.library/models/library/">
+		</mapping>
+	</extension>
+    <extension name="Designer transformation library" point="org.eclipse.papyrus.uml.extensionpoints.UMLLibrary">
+		<library
+			description="Designer transformation library"
+			iconpath="platform:/plugin/org.eclipse.papyrus.designer.ui/icons/designer-16x16.gif"
+			name="Designer model library: M2M transformations"
+			path="pathmap://DML_TRAFO/trafos.uml"
+			provider="CEA LIST">
+		</library>
+	</extension>
+	<extension name="StateMachine" point="org.eclipse.papyrus.uml.extensionpoints.UMLLibrary">
+		<library
+			iconpath="platform:/plugin/org.eclipse.papyrus.designer.ui/icons/designer-16x16.gif"
+			name="Designer model library: State-machines"
+			path="pathmap://DML_TRAFO/statemachine.uml"
+			provider="CEA LIST">
+		</library>
+	</extension>
+	<extension point="org.eclipse.papyrus.uml.diagram.wizards.templates">
+		<template
+			id="org.eclipse.papyrus.designer.components.transformation.modelibs.core.wizardTemplates.DesignerCBForMARTE"
+			language="uml"
+			name="Papyrus Designer for MARTE (component based)"
+			file="models/wizardTemplates/DesignerCBModel.uml"
+			di_file="models/wizardTemplates/DesignerCBModel.di"
+			notation_file="models/wizardTemplates/DesignerCBModel.notation">
+		</template>
+		<template
+			id="org.eclipse.papyrus.designer.components.transformation.modelibs.core.wizardTemplates.DesignerCBSimple"
+			language="uml"
+			name="Designer without MARTE (component based)"
+			file="models/wizardTemplates/DesignerCBSimple.uml"
+			di_file="models/wizardTemplates/DesignerCBSimple.di"
+			notation_file="models/wizardTemplates/DesignerCBSimple.notation">
+		</template>
+	</extension>
+	<extension point="org.eclipse.papyrus.designer.transformation.extensions.instanceConfig">
+		<client class="org.eclipse.papyrus.designer.transformation.library.iconfigurators.CallEventConfigurator" configuratorID="CallEventConfigurator">
+		</client>
+	</extension>
+	<extension point="org.eclipse.papyrus.designer.transformation.extensions.instanceConfig">
+		<client class="org.eclipse.papyrus.designer.transformation.library.iconfigurators.AnimServiceConfigurator" configuratorID="AnimServiceConfigurator">
+		</client>
+	</extension>
+	<extension point="org.eclipse.ui.newWizards">
+		<wizard
+			category="org.eclipse.ui.Examples/org.eclipse.papyrus.examples"
+			class="org.eclipse.papyrus.designer.components.modellibs.core.wizards.HelloWorldModelWizard"
+			finalPerspective="org.eclipse.papyrus.infra.core.perspective"
+			icon="platform:/plugin/org.eclipse.papyrus.designer.ui/icons/designer-16x16.gif"
+			id="org.eclipse.papyrus.designer.components.modellibs.core.new.HelloWorld"
+			name="Papyrus Designer component-based hello world example">
+			<selection class="org.eclipse.core.resources.IResource"/>
+		</wizard>
+		<wizard
+			category="org.eclipse.ui.Examples/org.eclipse.papyrus.examples"
+			class="org.eclipse.papyrus.designer.components.modellibs.core.wizards.ProducerConsumerModelWizard"
+			finalPerspective="org.eclipse.papyrus.infra.core.perspective"
+			icon="platform:/plugin/org.eclipse.papyrus.designer.ui/icons/designer-16x16.gif"
+			id="org.eclipse.papyrus.designer.components.modellibs.core.new.ProducerConsumer"
+			name="Papyrus Designer component-based producer/comsumer example">
+			<selection class="org.eclipse.core.resources.IResource"/>
+		</wizard>
+		<wizard
+			category="org.eclipse.ui.Examples/org.eclipse.papyrus.examples"
+			class="org.eclipse.papyrus.designer.components.modellibs.core.wizards.SimpleSMModelWizard"
+			finalPerspective="org.eclipse.papyrus.infra.core.perspective"
+			icon="platform:/plugin/org.eclipse.papyrus.designer.ui/icons/designer-16x16.gif"
+			id="org.eclipse.papyrus.designer.components.modellibs.core.new.SimpleSM"
+			name="Papyrus Designer component-based example using a simple state machine">
+			<selection class="org.eclipse.core.resources.IResource"/>
+		</wizard>
+		<wizard
+			category="org.eclipse.ui.Examples/org.eclipse.papyrus.examples"
+			class="org.eclipse.papyrus.designer.components.modellibs.core.ABitComplexSMModelWizard"
+			finalPerspective="org.eclipse.papyrus.infra.core.perspective"
+			icon="platform:/plugin/org.eclipse.papyrus.designer.ui/icons/designer-16x16.gif"
+			id="org.eclipse.papyrus.designer.components.modellibs.core.new.ABitComplexSM"
+			name="Papyrus Designer component-based example using a bit more complex state machine">
+			<selection class="org.eclipse.core.resources.IResource"/>
+		</wizard>
+	</extension>
+	<extension point="org.eclipse.papyrus.designer.transformation.extensions.m2mTrafo">
+		<transformation
+			transformationID="trafos::bindingHelpers::LoopOperations"
+			class="org.eclipse.papyrus.designer.transformation.library.transformations.bindinghelpers.LoopOperations">
+		</transformation>
+	</extension>
+		<extension point="org.eclipse.papyrus.designer.transformation.extensions.m2mTrafo">
+		<transformation
+			transformationID="trafos::bindingHelpers::BindOpaqueBehavior"
+			class="org.eclipse.papyrus.designer.transformation.library.transformations.bindinghelpers.BindOpaqueBehavior">
+		</transformation>
+	</extension>
+	<extension point="org.eclipse.papyrus.designer.transformation.extensions.m2mTrafo">
+		<transformation
+			transformationID="trafos::bindingHelpers::BindOperation"
+			class="org.eclipse.papyrus.designer.transformation.library.transformations.bindinghelpers.BindOperation">
+		</transformation>
+	</extension>
+	<extension point="org.eclipse.papyrus.designer.transformation.extensions.m2mTrafo">
+		<transformation
+			transformationID="trafos::bindingHelpers::BindCppIncludeToFirstActual"
+			class="org.eclipse.papyrus.designer.transformation.library.transformations.bindinghelpers.BindCppIncludeToFirstActual">
+		</transformation>
+	</extension>
+
+	<extension point="org.eclipse.papyrus.designer.transformation.extensions.m2mTrafo">
+		<transformation
+			transformationID="trafos::m2mtransformations::M2MFromStereotype"
+			class="org.eclipse.papyrus.designer.transformation.library.transformations.M2MFromStereotype">
+		</transformation>
+	</extension>
+	<extension point="org.eclipse.papyrus.designer.transformation.extensions.m2mTrafo">
+		<transformation
+			transformationID="trafos::m2mtransformations::DeployToNodes"
+			class="org.eclipse.papyrus.designer.transformation.library.transformations.DeployToNodes">
+		</transformation>
+	</extension>
+	<extension point="org.eclipse.papyrus.designer.transformation.extensions.m2mTrafo">
+		<transformation
+			transformationID="trafos::m2mtransformations::MergeClass"
+			class="org.eclipse.papyrus.designer.transformation.library.transformations.MergeClass">
+		</transformation>
+	</extension>
+	<extension point="org.eclipse.papyrus.designer.transformation.extensions.m2mTrafo">
+		<transformation
+			transformationID="trafos::m2mtransformations::BootLoaderGen"
+			class="org.eclipse.papyrus.designer.transformation.library.transformations.BootLoaderGen">
+		</transformation>
+	</extension>
+	<extension point="org.eclipse.papyrus.designer.transformation.extensions.m2mTrafo">
+		<transformation
+			transformationID="trafos::m2mtransformations::GenerateCode"
+			class="org.eclipse.papyrus.designer.transformation.library.transformations.GenerateCode">
+		</transformation>
+	</extension>
+	<extension point="org.eclipse.papyrus.designer.transformation.extensions.m2mTrafo">
+		<transformation
+			transformationID="trafos::m2mtransformations::ConfigureProject"
+			class="org.eclipse.papyrus.designer.transformation.library.transformations.ConfigureProject">
+		</transformation>
+	</extension>
+	<extension point="org.eclipse.papyrus.designer.transformation.extensions.m2mTrafo">
+		<transformation
+			transformationID="statemachine::rules::CompleteSM"
+			class="org.eclipse.papyrus.designer.transformation.library.statemachine.CompleteStatemachine">
+		</transformation>
+	</extension>
+	
+	<extension
+			point="org.eclipse.help.toc">
+		<toc file="help/modellibs-core-examples.xml"/>
+		<toc file="help/modellibs-core-library.xml"/>
+	</extension>
+
+	<extension point="org.eclipse.papyrus.designer.transformation.extensions.textTemplate">
+		<template
+			class="org.eclipse.papyrus.designer.transformation.library.xtend.CppUtils"
+			templateID="CppUtils">
+		</template>
+ 	</extension>
+	<extension point="org.eclipse.papyrus.designer.transformation.extensions.textTemplate">
+		<template
+			class="org.eclipse.papyrus.designer.transformation.library.xtend.FIFO"
+			templateID="FIFO">
+		</template>
+	</extension>
+
+</plugin>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/pom.xml b/transformation/org.eclipse.papyrus.designer.transformation.library/pom.xml
new file mode 100644
index 0000000..b410bb1
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.designer</groupId>
+		<artifactId>org.eclipse.papyrus.designer.transformation</artifactId>
+		<version>0.7.5-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.designer.transformation.library</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This module contains a library of model-2-model transformations</description>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-clean-plugin</artifactId>
+				<configuration>
+					<filesets>
+						<fileset>
+							<directory>xtend-gen</directory>
+							<includes>
+								<include>**/*</include>
+							</includes>
+							<excludes>
+								<exclude>.gitignore</exclude>
+							</excludes>
+						</fileset>
+					</filesets>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.eclipse.xtend</groupId>
+				<artifactId>xtend-maven-plugin</artifactId>
+				<executions>
+					<execution>
+						<phase>generate-sources</phase>
+						<goals>
+							<goal>compile</goal>
+						</goals>
+					</execution>
+				</executions>
+				<configuration>
+					<outputDirectory>xtend-gen</outputDirectory>
+					<testOutputDirectory>${project.build.directory}/xtend-gen/test</testOutputDirectory>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+</project>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/Activator.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/Activator.java
new file mode 100644
index 0000000..4123084
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/Activator.java
@@ -0,0 +1,73 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.library;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.designer.transformation.library"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+
+	public static LogHelper log;
+
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+
+		// register the login helper
+		log = new LogHelper(plugin);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/Messages.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/Messages.java
new file mode 100644
index 0000000..bcf01b9
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/Messages.java
@@ -0,0 +1,31 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.library;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.eclipse.papyrus.designer.transformation.library.messages"; //$NON-NLS-1$
+
+	public static String MergeClass_CannotApply0;
+	public static String BootLoaderGen_AtLeastOneBlockingCall;
+
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/iconfigurators/AnimServiceConfigurator.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/iconfigurators/AnimServiceConfigurator.java
new file mode 100644
index 0000000..855dbbc
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/iconfigurators/AnimServiceConfigurator.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.library.iconfigurators;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.deployment.tools.AllocUtils;
+import org.eclipse.papyrus.designer.transformation.extensions.IInstanceConfigurator;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * Configurator for the Eclipse animation server. This instance is systematically
+ * allocated to a node named "Eclipse" call event (for a state machine): it sets the
+ * portID attribute of the call event interceptor. The interceptor uses this
+ * attribute to initialize the portID attribute within the produced CallEvent
+ * data structure.
+ *
+ * @author ansgar
+ *
+ */
+public class AnimServiceConfigurator implements IInstanceConfigurator {
+
+	public final static String eclipseAnimService = "Eclipse"; //$NON-NLS-1$
+
+	/**
+	 * Configure the instance of the animation service.
+	 *
+	 * @see org.eclipse.papyrus.designer.transformation.extensions.transformation.core.extensions.IInstanceConfigurator#configureInstance(org.eclipse.uml2.uml.InstanceSpecification, org.eclipse.uml2.uml.InstanceSpecification, org.eclipse.uml2.uml.Port)
+	 *
+	 * @param instance
+	 *            the instance that should be configured
+	 * @param componentPart
+	 *            the part representing this instance
+	 * @param parentInstance
+	 *            The instance specification for the parent (container). If null, no configuration is done (may indicates that the call is done from a lightweight container) 
+	 */
+	@Override
+	public void configureInstance(InstanceSpecification instance, Property componentPart, InstanceSpecification parentInstance)
+	{
+		if (parentInstance != null) {
+			EList<InstanceSpecification> nodes = AllocUtils.getAllNodesOrThreadsParent(parentInstance);
+			if (nodes.size() > 0) {
+				InstanceSpecification node = nodes.get(0);
+				// problem: instance specification is within intermediate model, thus incomplete.
+				// option: explicitly pre-create singletons (and allocate these?)
+				NamedElement animService = node.getNearestPackage().getMember(eclipseAnimService);
+				if (animService instanceof InstanceSpecification) {
+					AllocUtils.allocate(instance, (InstanceSpecification) animService);
+					return;
+				}
+			}
+		}
+		// throw new TransformationRTException(String.format("Cannot find node <%s> in platform definition", eclipseAnimService));
+	}
+
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/iconfigurators/CallEventConfigurator.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/iconfigurators/CallEventConfigurator.java
new file mode 100644
index 0000000..0df00c6
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/iconfigurators/CallEventConfigurator.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.library.iconfigurators;
+
+import org.eclipse.papyrus.designer.deployment.tools.DepPlanUtils;
+import org.eclipse.papyrus.designer.transformation.extensions.IInstanceConfigurator;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * Configurator of a call event (for a state machine): it sets the
+ * portID attribute of the call event interceptor. The interceptor uses this
+ * attribute to initialize the portID attribute within the produced CallEvent
+ * data structure.
+ *
+ * @author ansgar
+ *
+ */
+public class CallEventConfigurator implements IInstanceConfigurator {
+
+	public final static String portAttribute = "portID"; //$NON-NLS-1$
+
+	/**
+	 * Configure the instance of a CallEvent interceptor. The configuration parameter is the
+	 * index of the port which gets intercepted. It is obtained via an enumeration
+	 *
+	 * @see org.eclipse.papyrus.designer.transformation.extensions.transformation.core.extensions.IInstanceConfigurator#configureInstance(org.eclipse.uml2.uml.InstanceSpecification, org.eclipse.uml2.uml.InstanceSpecification, org.eclipse.uml2.uml.Port)
+	 *
+	 * @param instance
+	 *            the instance that should be configured
+	 * @param componentPart
+	 *            the part representing this instance
+	 * @param context
+	 *            container context
+	 */
+	@Override
+	public void configureInstance(InstanceSpecification instance, Property componentPart, InstanceSpecification parentInstance)
+	{
+		if (parentInstance != null) {
+			// make sure that there is an enum par port
+			// String literalName = "port_" + UMLTool.varName(context.port); //$NON-NLS-1$
+
+			// the associated enumeration is declared by the statemachine (which is included by the bootloader as well)
+
+			DepPlanUtils.configureProperty(instance, portAttribute, 0);
+		}
+	}
+
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/messages.properties b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/messages.properties
new file mode 100644
index 0000000..0951146
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/messages.properties
@@ -0,0 +1,2 @@
+BootLoaderGen_AtLeastOneBlockingCall=There must be at most one blocking "run" operation per node. Not adding "run" call for component instance %s. Existing invocations: %s
+MergeClass_CannotApply0=Cannot apply merging <%s>, since the type of one of its parts is undefined. Check for unresolved proxies in imports
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/CDefinitions.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/CDefinitions.xtend
new file mode 100644
index 0000000..3636a23
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/CDefinitions.xtend
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Van Cam Pham        <VanCam.PHAM@cea.fr>
+ *
+ *****************************************************************************/
+ 
+ package org.eclipse.papyrus.designer.transformation.library.statemachine
+
+import org.eclipse.uml2.uml.Class
+
+class CDefinitions {
+	new (Class contextClass) {
+		this.contextClass = contextClass;
+	}
+	Class contextClass
+	
+	public def String TIME_EVENT_LOWER_BOUND() {
+		macro("TIME_EVENT_LOWER_BOUND")
+	}
+	
+	public def String CHANGE_EVENT_LOWER_BOUND() {
+		macro("CHANGE_EVENT_LOWER_BOUND")
+	}
+	
+	public def String TE_INDEX() {
+		macro("TE_INDEX")
+	}
+	
+	public def String CHE_INDEX() {
+		macro("CHE_INDEX")
+	}
+	
+	/**
+	 * return "qualified" macro name, i.e. macro name prefixed with class name
+	 */
+	def macro(String shortMacroName) {
+		return contextClass.name.toUpperCase + "_" + shortMacroName
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/ChangeEventTransformation.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/ChangeEventTransformation.xtend
new file mode 100644
index 0000000..9bfc0b3
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/ChangeEventTransformation.xtend
@@ -0,0 +1,105 @@
+/**
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.eclipse.papyrus.designer.transformation.library.statemachine
+
+import org.eclipse.uml2.uml.ChangeEvent
+import org.eclipse.uml2.uml.Class
+import org.eclipse.uml2.uml.OpaqueExpression
+import org.eclipse.uml2.uml.Package
+
+import static org.eclipse.papyrus.designer.transformation.library.statemachine.SMCodeGeneratorConstants.*
+
+import static extension org.eclipse.papyrus.designer.transformation.library.statemachine.TransformationUtil.*
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Array
+import org.eclipse.uml2.uml.util.UMLUtil
+
+class ChangeEventTransformation {
+	protected extension CDefinitions cdefs;
+	private SM2ClassesTransformationCore core
+	PThreadTypes ptTypes
+	Class superContext
+	Package targetPack
+	new (SM2ClassesTransformationCore core) {
+		this.core = core
+		this.superContext = core.superContext
+		this.targetPack = core.targetPacket
+		this.ptTypes = core.ptTypes
+		this.cdefs = core.cdefs
+	}
+	
+	public def createChangeEvents() {
+		if (core.changeEvents.empty) {
+			return
+		}
+		
+		var threads = superContext.createOwnedAttribute(THREADS_CHANGE_EVENT, ptTypes.pthread)
+		StereotypeUtil.apply(threads, Array)
+		UMLUtil.getStereotypeApplication(threads, Array).definition = '''[«core.changeEvents.size»]'''
+		
+		var threadStructs = superContext.createOwnedAttribute(THREAD_STRUCTS_FOR_CHANGEEVENT, core.concurrency.threadStructType)
+		StereotypeUtil.apply(threadStructs, Array)
+		UMLUtil.getStereotypeApplication(threadStructs, Array).definition = '''[«core.changeEvents.size»]''' 
+		
+		var WAIT_TIME = "10" //ms
+		core.appendIncludeHeader('''
+		#ifdef WIN32
+		#include <windows.h>
+		#elif _POSIX_C_SOURCE >= 199309L
+		#include <time.h>   // for nanosleep
+		#else
+		#include <unistd.h> // for usleep
+		#endif''')
+		//create changeEvent function sleep during an amount of time and check values of boolean expressions
+		var changeEventOp = superContext.createOwnedOperation(CHANGE_EVENT_LISTEN_FUNCTION, null, null)
+		changeEventOp.createOwnedParameter("id", core.intType)
+		core.createOpaqueBehavior(superContext, changeEventOp, '''
+		struct timeval tv;
+		struct timespec ts;
+		bool oldValue;
+		bool newValue;
+		bool isFirstTime = true;
+		bool periodic = «WAIT_TIME»; //ms
+		while(true) {
+			switch(id) {
+				«FOR ch:core.changeEvents»
+					case «ch.eventID»:
+						newValue = «ch.changeEventExpression»;
+						break;
+				«ENDFOR»
+			}
+			if (isFirstTime) {
+				oldValue = newValue;
+				isFirstTime = false;
+			} else {
+				#ifdef WIN32
+					Sleep(periodic);
+				#elif _POSIX_C_SOURCE >= 199309L
+				    struct timespec ts;
+				    ts.tv_sec = periodic / 1000;
+				    ts.tv_nsec = (periodic % 1000) * 1000000;
+				    nanosleep(&ts, NULL);
+				#else
+				    usleep(periodic * 1000);
+				#endif
+			}
+			if (oldValue != newValue) {
+				//the expression is changed, push an event to the queue
+				«EVENT_QUEUE».push(statemachine::PRIORITY_2, NULL, id, statemachine::CHANGE_EVENT, 0);
+			}
+			oldValue = newValue;
+		}''')
+	}
+	
+	def String getChangeEventExpression(ChangeEvent e) {
+		if (e.changeExpression == null || !(e.changeExpression instanceof OpaqueExpression)) {
+			return "false"
+		} else {
+			return (e.changeExpression as OpaqueExpression).bodies.head
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/CompleteStatemachine.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/CompleteStatemachine.java
new file mode 100644
index 0000000..17cb776
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/CompleteStatemachine.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.library.statemachine;
+
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoElem;
+import org.eclipse.papyrus.designer.transformation.core.transformations.TransformationContext;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.Type;
+
+public class CompleteStatemachine implements IM2MTrafoElem {
+
+	public static final String THREAD_FUNCTIONS = "ThreadFunctions"; //$NON-NLS-1$
+	public static final String SYSTEM_STATE_ENUM_T = "SystemStateEnum_t"; //$NON-NLS-1$
+    public static final String STRUCT_FOR_THREAD = "StructForThread_t"; //$NON-NLS-1$
+
+	@Override
+	public void transformElement(M2MTrafo trafo, Element element) {
+		if (element instanceof Class) {
+			Class tmClass = (Class) element;
+			if (tmClass.getClassifierBehavior() instanceof StateMachine) {
+				StateMachine sm = (StateMachine) tmClass.getClassifierBehavior();
+				SM2ClassesTransformationCore trafoCore = new SM2ClassesTransformationCore(TransformationContext.current.copier, sm, tmClass);
+
+				Package smModel = (Package) trafo.getBase_Class().getPackage().getOwner();
+				NamedElement stateEnum = smModel.getPackagedElement(SYSTEM_STATE_ENUM_T);
+				NamedElement threadFuncEnum = smModel.getPackagedElement(THREAD_FUNCTIONS);
+				Type structForThread = (Type) smModel.getPackagedElement(STRUCT_FOR_THREAD);
+				trafoCore.setThreadStructType(structForThread);
+				trafoCore.setSmPack(smModel);
+				tmClass.createOwnedAttribute(SMCodeGeneratorConstants.SYSTEM_STATE_ATTR, (Type) stateEnum);
+				tmClass.createDependency(threadFuncEnum);
+				trafoCore.transform();
+			}
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/ConcurrencyGenerator.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/ConcurrencyGenerator.xtend
new file mode 100644
index 0000000..c031ed4
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/ConcurrencyGenerator.xtend
@@ -0,0 +1,331 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Van Cam Pham        <VanCam.PHAM@cea.fr>
+ *
+ *****************************************************************************/
+ 
+ package org.eclipse.papyrus.designer.transformation.library.statemachine
+
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Array
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Ptr
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Typedef
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
+import org.eclipse.uml2.uml.Class
+import org.eclipse.uml2.uml.Package
+import org.eclipse.uml2.uml.ParameterDirectionKind
+import org.eclipse.uml2.uml.Region
+import org.eclipse.uml2.uml.Transition
+import org.eclipse.uml2.uml.Type
+import org.eclipse.uml2.uml.UMLPackage
+import org.eclipse.uml2.uml.util.UMLUtil
+
+import static org.eclipse.papyrus.designer.transformation.library.statemachine.SMCodeGeneratorConstants.*
+import static extension org.eclipse.papyrus.designer.transformation.library.statemachine.TransformationUtil.*
+
+class ConcurrencyGenerator {
+	protected extension CDefinitions cdefs;
+	private SM2ClassesTransformationCore core
+	PThreadTypes ptTypes
+	public Type threadStructType
+	Class superContext
+	Package targetPack
+	
+	new (SM2ClassesTransformationCore core) {
+		this.core = core
+		this.superContext = core.superContext
+		this.targetPack = core.targetPacket
+		this.ptTypes = core.ptTypes
+		this.cdefs = core.cdefs
+	}
+	def createThreadBasedParallelism() {
+		//we should create wrapper functions (static) to create pthreads
+		//We should have: 1 wrapper for doActivity: DO_ACTIVITY_FOR_STATE
+		//1 wrapper for regions: WRAPPER_REGION: similar to DO_ACTIVITY_FOR_STATE
+		//1 wrapper for time event detection: WRAPPER_TIME_EVENT => run and wait as doActivity similar to DO_ACTIVITY_FOR_STATE
+		//1 wrapper for change event detection: WRAPPER_TIME_EVENT => run, check value difference, write event similar to DO_ACTIVITY_FOR_STATE
+		
+		core.appendIncludeHeader("#include \"time.h\"")
+		core.appendIncludeHeader("#include \"pthread.h\"")
+		
+		var threads = superContext.createOwnedAttribute(THREADS, ptTypes.pthread)
+		StereotypeUtil.apply(threads, Array)
+		UMLUtil.getStereotypeApplication(threads, Array).definition = '''[«STATE_MAX»]'''
+		
+		var flags = superContext.createOwnedAttribute(FLAGS_ACTIVITY, core.boolType)
+		StereotypeUtil.apply(flags, Array)
+		UMLUtil.getStereotypeApplication(flags, Array).definition = '''[«STATE_MAX»]'''
+		
+		var conds = superContext.createOwnedAttribute(CONDITIONS, ptTypes.pthreadCond)
+		StereotypeUtil.apply(conds, Array)
+		UMLUtil.getStereotypeApplication(conds, Array).definition = '''[«STATE_MAX»]'''
+		
+		var mutexes = superContext.createOwnedAttribute(MUTEXES, ptTypes.pthreadMutex)
+		StereotypeUtil.apply(mutexes, Array)
+		UMLUtil.getStereotypeApplication(mutexes, Array).definition = '''[«STATE_MAX»]'''
+		
+		threadStructType = core.threadStructType
+		//threadStructType = superContext.createNestedClassifier(STRUCT_FOR_THREAD, UMLPackage.Literals.PRIMITIVE_TYPE)
+//		StereotypeUtil.apply(threadStructType, Typedef)
+//		UMLUtil.getStereotypeApplication(threadStructType, Typedef).definition = '''
+//		struct «STRUCT_FOR_THREAD» {
+//			void* ptr;
+//			int id; //id or index used to specify the corresponding function in a table
+//			char enter_mode; //used for specifying how a region is entered
+//			char func_type; // doActivity/enter region/exit region/time event/change event/ transition
+//			int duration; //in millisecond which is used for time events
+//			«STRUCT_FOR_THREAD»(«superContext.name»* ptr, int id, char enter_mode, char func_type, int duration): ptr(ptr), id(id), enter_mode(enter_mode), func_type(func_type), duration(duration){}
+//			«STRUCT_FOR_THREAD»(){}
+//		} '''
+		
+		var threadStructs = superContext.createOwnedAttribute(THREAD_STRUCTS, threadStructType)
+		StereotypeUtil.apply(threadStructs, Array)
+		UMLUtil.getStereotypeApplication(threadStructs, Array).definition = '''[«STATE_MAX»]''' 
+		
+		var threadFuncWrapper = superContext.createOwnedOperation(THREAD_FUNC_WRAPPER, null, null)
+		threadFuncWrapper.isStatic = true
+		var inParam = threadFuncWrapper.createOwnedParameter("data", core.voidType)
+		StereotypeUtil.apply(inParam, Ptr)
+		var outParam = threadFuncWrapper.createOwnedParameter("ret", core.voidType)
+		StereotypeUtil.apply(outParam, Ptr)
+		outParam.direction = ParameterDirectionKind.RETURN_LITERAL
+		core.createOpaqueBehavior(superContext, threadFuncWrapper, '''
+		«STRUCT_FOR_THREAD»* cptr = («STRUCT_FOR_THREAD»*)data;
+		«superContext.name»* ptr = («superContext.name»*) cptr->ptr;
+		switch(cptr->func_type) {
+			«IF core.doActivityList.size > 0»
+				case «THREAD_FUNC_DOACTIVITY_TYPE»:
+					ptr->«DO_CALL_ACTIVITY»(cptr->id);
+					break;	
+			«ENDIF»
+			«IF core.timeEvents.size > 0»
+				case «THREAD_FUNC_TIMEEVENT_TYPE»:
+					ptr->«TIME_EVENT_LISTEN_FUNCTION»(«TE_INDEX»(cptr->id), cptr->duration);
+					break;
+				«ENDIF»
+			«IF core.orthogonalRegions.size > 0»
+				case «THREAD_FUNC_ENTER_REGION_TYPE»:
+					ptr->regionCall(cptr->id, cptr->enter_mode);
+					break;
+				case «THREAD_FUNC_EXIT_REGION_TYPE»:
+					ptr->exitRegionCall(cptr->id);
+					break;
+			«ENDIF»
+			«IF core.parallelTransitions.size > 0»
+				case «THREAD_FUNC_TRANSITION_TYPE»:
+					ptr->transitionCall(cptr->id);
+					break;
+			«ENDIF»
+			«IF core.changeEvents.size > 0»
+				case «THREAD_FUNC_CHANGEEVENT_TYPE»:
+					ptr->«CHANGE_EVENT_LISTEN_FUNCTION»(cptr->id);
+					break;
+			«ENDIF»
+				case «THREAD_FUNC_STATE_MACHINE_TYPE»:
+					ptr->«EVENT_DISPATCH»();
+					break;
+		}
+		return NULL;''')
+		
+		//function pointer
+		core.fptr = superContext.createNestedClassifier(FPT_POINTER_FOR_TABLE, UMLPackage.Literals.PRIMITIVE_TYPE)
+		StereotypeUtil.apply(core.fptr, Typedef)
+		UMLUtil.getStereotypeApplication(core.fptr, Typedef).definition = '''
+		void («superContext.name»::*typeName)()'''
+		
+		var doActivityTable = superContext.createOwnedAttribute(DO_ACTIVITY_TABLE, core.fptr)
+		StereotypeUtil.apply(doActivityTable, Array)
+		UMLUtil.getStereotypeApplication(doActivityTable, Array).definition = '''[«STATE_MAX»]'''
+		
+		var doCallActivity = superContext.createOwnedOperation(DO_CALL_ACTIVITY, null, null)
+		doCallActivity.createOwnedParameter("id", core.intType)
+		core.createOpaqueBehavior(superContext, doCallActivity, '''
+		«FLAGS_ACTIVITY»[id] = false;
+		while(true) {
+			pthread_mutex_lock(&«MUTEXES»[id]);
+			while(!flags[id]) {
+				pthread_cond_wait(&«CONDITIONS»[id], &«MUTEXES»[id]);
+			}
+			(this->*«DO_ACTIVITY_TABLE»[id])();
+			bool commitEvent = false;
+			if (flags[id]) {
+				commitEvent = true;
+				flags[id] = false;
+			}
+			pthread_cond_signal(&«CONDITIONS»[id]);
+			pthread_mutex_unlock(&«MUTEXES»[id]);
+			«IF core.states.filter[!it.composite && it.hasTriggerlessTransition].size > 0»
+			if (commitEvent) {
+				if(«FOR s:core.states.filter[!it.composite && it.hasTriggerlessTransition] SEPARATOR ' || '»id == «s.name.toUpperCase»_ID«ENDFOR») {
+					//processCompletionEvent();
+					«EVENT_QUEUE».push(statemachine::PRIORITY_1, NULL, COMPLETIONEVENT_ID, statemachine::COMPLETION_EVENT, id);
+				}
+			}
+			«ENDIF»
+		}''')
+		
+		var setFlag = superContext.createOwnedOperation(SET_FLAG, null, null)
+		setFlag.createOwnedParameter("id", core.intType)
+		setFlag.createOwnedParameter("func_type", core.charType)
+		setFlag.createOwnedParameter("value", core.boolType)
+		core.createOpaqueBehavior(superContext, setFlag, '''
+		//value = true => start activity
+		//value = false => stop activity
+		«IF core.timeEvents.size > 0»
+		if (func_type == «THREAD_FUNC_TIMEEVENT_TYPE») {
+			pthread_mutex_lock(&«MUTEXES_TIME_EVENT»[«TE_INDEX»(id)]);
+			«FLAGS_TIME_EVENT»[«TE_INDEX»(id)] = value;
+			pthread_cond_signal(&«CONDITIONS_TIME_EVENT»[«TE_INDEX»(id)]);
+			pthread_mutex_unlock(&«MUTEXES_TIME_EVENT»[«TE_INDEX»(id)]);
+			return;
+		}
+		«ENDIF»
+		if (func_type == «THREAD_FUNC_DOACTIVITY_TYPE») {
+			«IF core.doActivityList.size > 0»
+				if («STATE_ARRAY_ATTRIBUTE»[id].doActivity != &«superContext.name»::doActivity_dft) {
+					//state has doActivity => if value = true => should
+					pthread_mutex_lock(&«MUTEXES»[id]);
+					if (value) {
+						«FLAGS_ACTIVITY»[id] = true;
+					} else {
+						//wait until doActivity exit
+						while(«FLAGS_ACTIVITY»[id]) {
+							pthread_cond_wait(&«CONDITIONS»[id], &«MUTEXES»[id]);
+						}
+					}
+					pthread_cond_signal(&«CONDITIONS»[id]);
+					pthread_mutex_unlock(&«MUTEXES»[id]);
+				} else {
+					«IF core.states.filter[!it.composite && it.hasTriggerlessTransition].size > 0»
+					//push completion event
+					if (value) {
+						if(«FOR s:core.states.filter[!it.composite && it.hasTriggerlessTransition] SEPARATOR ' || '»id == «s.name.toUpperCase»_ID«ENDFOR») {
+							«EVENT_QUEUE».push(statemachine::PRIORITY_1, NULL, COMPLETIONEVENT_ID, statemachine::COMPLETION_EVENT, id);
+						}
+					}
+					«ENDIF»
+				}
+				return;
+			«ELSE»
+				«IF core.states.filter[!it.composite && it.hasTriggerlessTransition].size > 0»
+				//push completion event
+					if (value) {
+						if(«FOR s:core.states.filter[!it.composite && it.hasTriggerlessTransition] SEPARATOR ' || '»id == «s.name.toUpperCase»_ID«ENDFOR») {
+							«EVENT_QUEUE».push(statemachine::PRIORITY_1, NULL, COMPLETIONEVENT_ID, statemachine::COMPLETION_EVENT, id);
+						}
+						return;
+					} 
+				«ENDIF» 
+			«ENDIF»
+		}
+		''')
+		
+		
+		//create utility fork and join for regions
+		//fork has two parameters: threadId and data (thread struct)
+//		var forkOp = superContext.createOwnedOperation(FORK_NAME, null, null)
+//		var threadIdParam = forkOp.createOwnedParameter("tId", pThreadType)
+//		StereotypeUtil.apply(threadIdParam, Ptr)
+//		var data = forkOp.createOwnedParameter("data", core.voidType)
+//		StereotypeUtil.apply(data, Ptr)
+//		core.createOpaqueBehavior(superContext, forkOp, '''
+//		pthread_create(tId, NULL, &«superContext.name»::«THREAD_FUNC_WRAPPER», data);''')
+//		
+//		var joinOp = superContext.createOwnedOperation(JOIN_NAME, null, null)
+//		joinOp.createOwnedParameter("tId", pThreadType)
+//		core.createOpaqueBehavior(superContext, joinOp, '''
+//		pthread_join(tId, NULL);''')
+		new TimeEventTransformation(core).createTimeEvents
+		createRegionParallel
+	}
+	
+	def createRegionParallel() {
+		if (core.orthogonalRegions.empty)
+			return
+		var regionFptr = superContext.createNestedClassifier(REGION_FUNCTION_PTR, UMLPackage.Literals.PRIMITIVE_TYPE)
+		StereotypeUtil.apply(regionFptr, Typedef)
+		UMLUtil.getStereotypeApplication(regionFptr, Typedef).definition = '''
+		void («superContext.name»::*typeName)(char enter_mode)'''
+		
+		var regionTable = superContext.createOwnedAttribute(REGION_TABLE, regionFptr)
+		StereotypeUtil.apply(regionTable, Array)
+		UMLUtil.getStereotypeApplication(regionTable, Array).definition = '''[«core.orthogonalRegions.size»]'''
+		var regionCallOp = superContext.createOwnedOperation("regionCall", null, null)
+		regionCallOp.createOwnedParameter("id", core.intType)
+		regionCallOp.createOwnedParameter("enter_mode", core.charType)
+		core.createOpaqueBehavior(superContext, regionCallOp, '''
+		(this->*«REGION_TABLE»[id])(enter_mode);''')
+		
+		var regionExitTable = superContext.createOwnedAttribute(REGION_TABLE_EXIT, core.fptr)
+		StereotypeUtil.apply(regionExitTable, Array)
+		UMLUtil.getStereotypeApplication(regionExitTable, Array).definition = '''[«core.orthogonalRegions.size»]'''
+		var regionCallExitOp = superContext.createOwnedOperation("exitRegionCall", null, null)
+		regionCallExitOp.createOwnedParameter("id", core.charType)
+		core.createOpaqueBehavior(superContext, regionCallExitOp, '''
+		(this->*«REGION_TABLE_EXIT»[id])();''')
+	}
+	
+	def createConcurrencyForTransitions() {
+		if (core.parallelTransitions.empty) {
+			return
+		}
+		for(var i = 0; i < core.parallelTransitions.size; i++) {
+			core.appendIncludeHeader('''
+			#define «core.parallelTransitions.get(i).parallelTransitionId» («i»)''')
+			var op = superContext.createOwnedOperation(core.parallelTransitions.get(i).parallelTransitionMethodName, null, null)
+			core.createOpaqueBehavior(superContext, op, '''
+			«TransformationUtil.getTransitionEffect(core.parallelTransitions.get(i))»''')
+		}
+		
+		var transitionTable = superContext.createOwnedAttribute(PARALLEL_TRANSITION_TABLE, core.fptr)
+		StereotypeUtil.apply(transitionTable, Array)
+		UMLUtil.getStereotypeApplication(transitionTable, Array).definition = '''[«core.parallelTransitions.size»]'''
+		var transitionCallOp = superContext.createOwnedOperation("transitionCall", null, null)
+		transitionCallOp.createOwnedParameter("id", core.intType)
+		core.createOpaqueBehavior(superContext, transitionCallOp, '''
+		(this->*«PARALLEL_TRANSITION_TABLE»[id])();''')		
+	}
+	
+	def parallelTransitionMethodName(Transition t) {
+		return '''paralleTransition«core.parallelTransitions.indexOf(t)»'''
+	}
+	
+	def parallelTransitionId(Transition t) {
+		return '''PARALLEL_TRANSITION_ID_«core.parallelTransitions.indexOf(t)»'''
+	}
+	
+	def generateForkCall(Region r, boolean isEnter, String enteringMode) {
+		var paramThreadName = '''«r.state.name»_«r.name»_enter_thread'''
+		var threadStructParam = '''«r.state.name»_«r.name»_enter_thread_struct'''
+		if (!isEnter) {
+			paramThreadName = '''«r.state.name»_«r.name»_exit_thread'''
+			threadStructParam = '''«r.state.name»_«r.name»_exit_thread_struct'''
+		}
+//		«superContext.name»* ptr;
+//			int id; //id or index used to specify the corresponding function in a table
+//			char enter_mode; //used for specifying how a region is entered
+//			char func_type; // doActivity/enter region/exit region/time event/change event/ transition
+//			int duration; //in millisecond which is used for time events
+		var ret = '''
+			pthread_t «paramThreadName»;
+			«STRUCT_FOR_THREAD» «threadStructParam»(this, «core.getRegionMacroId(r)», «enteringMode», «IF isEnter»«THREAD_FUNC_ENTER_REGION_TYPE»«ELSE»«THREAD_FUNC_EXIT_REGION_TYPE»«ENDIF», 0);
+			«superContext.name»_THREAD_CREATE(«paramThreadName», «threadStructParam»)'''
+		return ret
+	}
+	
+	def generateJoinCall(Region r, boolean isEnter) {
+		var paramThreadName = '''«r.state.name»_«r.name»_enter_thread'''
+		if (!isEnter) {
+			paramThreadName = '''«r.state.name»_«r.name»_exit_thread'''
+		}
+		return '''«JOIN_NAME»(«paramThreadName», NULL);'''
+	}
+	
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/EventTransformation.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/EventTransformation.xtend
new file mode 100644
index 0000000..20f99b5
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/EventTransformation.xtend
@@ -0,0 +1,442 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Van Cam Pham        <VanCam.PHAM@cea.fr>
+ *
+ *****************************************************************************/
+ 
+ package org.eclipse.papyrus.designer.transformation.library.statemachine
+
+import java.util.ArrayList
+import java.util.HashMap
+import java.util.List
+import java.util.Map
+import org.eclipse.papyrus.designer.transformation.library.xtend.BehaviorUtil
+import org.eclipse.papyrus.designer.languages.cpp.codegen.utils.CppGenUtils
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Ref
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
+import org.eclipse.uml2.uml.CallEvent
+import org.eclipse.uml2.uml.Class
+import org.eclipse.uml2.uml.Event
+import org.eclipse.uml2.uml.FinalState
+import org.eclipse.uml2.uml.OpaqueBehavior
+import org.eclipse.uml2.uml.Package
+import org.eclipse.uml2.uml.Pseudostate
+import org.eclipse.uml2.uml.PseudostateKind
+import org.eclipse.uml2.uml.SignalEvent
+import org.eclipse.uml2.uml.State
+import org.eclipse.uml2.uml.Transition
+import org.eclipse.uml2.uml.TransitionKind
+import org.eclipse.uml2.uml.Vertex
+import static extension org.eclipse.papyrus.designer.transformation.library.statemachine.TransformationUtil.eventName
+import org.eclipse.papyrus.designer.transformation.library.xtend.BehaviorUtil
+import static extension org.eclipse.papyrus.designer.transformation.library.statemachine.SMCodeGeneratorConstants.*
+
+
+class EventTransformation {
+	protected extension CDefinitions cdefs;
+	SM2ClassesTransformationCore core
+	Class superContext
+	Package targetPack
+	new (SM2ClassesTransformationCore core) {
+		this.core = core
+		this.superContext = core.superContext
+		this.targetPack = core.targetPacket
+	}
+	
+	def List<Event> getDeferredEvents(State s) {
+		s.deferrableTriggers.map[it.event].toList
+	}
+	
+	def completionEventCheck(String eventName, String stateId) {
+		if (eventName == "CompletionEvent") {
+			return ''' && (currentEvent->associatedState == «stateId»)'''
+		}
+		return ''''''
+	}
+	
+	def createEventMethod(String eventName, List<Transition> transitions) {
+		var method = superContext.createOwnedOperation("process" + eventName, null, null)
+		val tempSources = transitions.map[it.source].filter(State).toList;
+		val sources = new ArrayList<State>
+		tempSources.forEach[
+			if (!sources.contains(it)) {
+				sources.add(it)
+			}
+		]
+		
+		val Map<State, List<State>> map = new HashMap
+		for(source:sources) {
+			if (source.container.state != null) {
+				if (!map.containsKey(source.container.state)) {
+					map.put(source.container.state, new ArrayList) 
+				}
+				//if (!map.get(source.container.state).contains(source)) {
+					map.get(source.container.state).add(source)
+				//}
+				
+			}
+		}
+		var arraySet = map.keySet.toList	
+		var size = arraySet.size
+		for(var i = 0; i < size; i++) {
+			for(var j = i + 1; j < size; j++) {
+				if (core.calculateDepth(arraySet.get(i)) <= core.calculateDepth(arraySet.get(j))) {
+					var tmp = arraySet.remove(j)
+					arraySet.add(i, tmp)
+				}
+			}
+		}
+		
+		var rootSourceStates = core.getRootStates(sources)
+		val passeds = new ArrayList<Transition>
+		var statesDeferredEvent = core.states.filter[it.deferredEvents.filter[it.name == eventName].size > 0]
+		var notInSources = statesDeferredEvent.filter[!sources.contains(it)]
+		val notInConcurrentState = notInSources.filter[it.container.state == null || it.container.state.orthogonal].toList
+		var inConcurrentState = notInSources.filter[!notInConcurrentState.contains(it)]
+		var isCallEvent = core.callEvents.filter[it.eventName == eventName].size > 0
+		var body = '''
+		«IF isCallEvent»
+			«superContext.name.toUpperCase»_GET_CONTROL
+		«ENDIF»
+		«SYSTEM_STATE_ATTR» = statemachine::EVENT_PROCESSING;
+		«FOR s:arraySet»
+			«IF s.orthogonal»
+				«FOR sub:map.get(s).getActualStateList(transitions)»
+					«IF transitions.filter[it.source == sub].filter[!passeds.contains(it)].size > 0»
+					«IF eventName == "CompletionEvent" && transitions.filter[it.source == sub && (it.target instanceof Pseudostate) && (it.target as Pseudostate).kind == PseudostateKind.JOIN_LITERAL].size > 0»
+						«var trans = transitions.filter[it.source == sub && (it.target instanceof Pseudostate) && (it.target as Pseudostate).kind == PseudostateKind.JOIN_LITERAL]»
+						«var join = trans.filter[!joins.contains(it.target)].map[it.target].head»
+						«var sourcesOfJoin = join.incomings.map[it.source]»
+						if («FOR src:sourcesOfJoin SEPARATOR ' || '»(currentEvent->associatedState == «src.name.toUpperCase»_ID)«ENDFOR») {
+							«FOR t:transitions.filter[it.source == sub].filter[!passeds.contains(it)]»
+								«var b = passeds.add(t)»
+								«generateTransitionCode(sub, t)»
+							«ENDFOR»
+						}
+					«ELSE»					
+						if («core.hasSubstatesAcceptingEvent(sub, sources)»«STATE_ARRAY_ATTRIBUTE»[«s.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«core.getRegionNumber(sub)»] == «sub.name.toUpperCase»_ID«completionEventCheck(eventName, sub.name.toUpperCase + "_ID")») {
+							«IF sub.deferredEvents.filter[it.name == eventName].size > 0»
+								«SYSTEM_STATE_ATTR» = statemachine::EVENT_DEFERRED;
+							«ELSE»
+							«FOR t:transitions.filter[it.source == sub].filter[!passeds.contains(it)]»
+								«var b = passeds.add(t)»
+								«generateTransitionCode(sub, t)»
+							«ENDFOR»
+							«ENDIF»
+						}
+					«ENDIF»
+					«ENDIF»
+				«ENDFOR»
+			«ELSE»
+				«FOR sub:map.get(s) SEPARATOR ' else '»
+				if («core.hasSubstatesAcceptingEvent(sub, sources)»«STATE_ARRAY_ATTRIBUTE»[«s.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0] == «sub.name.toUpperCase»_ID«completionEventCheck(eventName, sub.name.toUpperCase + "_ID")») {
+					«IF sub.deferredEvents.filter[it.name == eventName].size > 0»
+						«SYSTEM_STATE_ATTR» = statemachine::EVENT_DEFERRED;
+					«ELSE»
+						«var hasGuards = transitions.filter[it.source == sub && it.guard != null]»
+						«FOR t:transitions.filter[it.source == sub && it.guard != null] SEPARATOR ' else '»
+						«generateTransitionCode(sub, t)»
+						«ENDFOR»
+						«IF hasGuards.empty» 
+							«generateTransitionCode(sub, transitions.filter[it.source == sub && it.guard == null].head)»
+						«ELSEIF transitions.filter[it.source == sub && it.guard == null].head != null»
+							else {
+								«generateTransitionCode(sub, transitions.filter[it.source == sub && it.guard == null].head)»
+							}
+						«ENDIF»
+					«ENDIF»
+				}
+				«ENDFOR»
+			«ENDIF»
+		«ENDFOR»
+		«IF rootSourceStates.size > 0»
+			if («SYSTEM_STATE_ATTR» == statemachine::EVENT_PROCESSING«completionEventCheck(eventName, ACTIVE_ROOT_STATE_ID)») {
+				switch(«ACTIVE_ROOT_STATE_ID») {
+					«FOR root:rootSourceStates»
+						case «root.name.toUpperCase»_ID: 
+							«IF root.deferredEvents.filter[it.name == eventName].size > 0»
+								«SYSTEM_STATE_ATTR» = statemachine::EVENT_DEFERRED;
+							«ELSE»
+							«FOR t:transitions.filter[it.source == root] SEPARATOR ' else '»
+								«generateTransitionCode(root, t)»
+							«ENDFOR»
+							«ENDIF»
+							break;
+					«ENDFOR»
+					default:
+						//do nothing
+						break;
+				}
+			}
+		«ENDIF»
+		«IF isCallEvent»
+			«superContext.name.toUpperCase»_RELEASE_CONTROL
+		«ENDIF»'''
+		core.createOpaqueBehavior(superContext, method, body)
+		return method
+	}
+	
+	private def List<State> getActualStateList(List<State> l, List<Transition> trans) {
+		var transComingToJoin = trans.filter[(it.target instanceof Pseudostate) && (it.target as Pseudostate).kind == PseudostateKind.JOIN_LITERAL]
+		val ret = new ArrayList<State>
+		ret.addAll(l)
+		if (transComingToJoin.size > 0) {
+			val joins = new ArrayList<Pseudostate>
+			transComingToJoin.map[it.target].filter(Pseudostate).forEach[
+				if (!joins.contains(it)) {
+					joins.add(it)
+				}
+			]
+			joins.forEach[
+				var toRemoveds = it.incomings.map[source].filter(State).toList
+				toRemoveds.remove(toRemoveds.head)
+				ret.removeAll(toRemoveds)
+			]
+		}		
+		return ret
+	}
+	
+	def String generateTransitionCode(State s, Transition t) {
+		var ret = ''''''
+		var hasGuard = (t.guard != null)
+		if (t.target instanceof State) {
+			var callCompletionEvent = '''process«COMPLETION_EVENT»();'''
+			if (t.target instanceof FinalState) {
+				var composite = t.target.container.state
+				if (composite == null) {
+					callCompletionEvent = ''''''
+				} else {
+					callCompletionEvent = '''
+					if («FOR r:composite.regions SEPARATOR ' && '»(«STATE_ARRAY_ATTRIBUTE»[«composite.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«composite.regions.indexOf(r)»] == «STATE_MAX»)«ENDFOR») {
+						«EVENT_QUEUE».push(statemachine::PRIORITY_1, NULL, COMPLETIONEVENT_ID, statemachine::COMPLETION_EVENT, «composite.name.toUpperCase»_ID);
+					}'''
+				}
+			}
+			if (t.kind == TransitionKind.INTERNAL_LITERAL) {
+				ret = '''
+				«IF t.effect != null»
+				«(t.effect as OpaqueBehavior).bodies.head»
+				«ENDIF»'''
+			} else if (t.kind == TransitionKind.LOCAL_LITERAL) {
+				var State parent
+				var State child
+				if (TransformationUtil.transitiveSubStates(s).contains(t.target)) {
+					parent = s
+					child = t.target as State
+					val finalChild = child
+					ret = '''
+					«core.generateExitingSubStates(s, false)»
+					«TransformationUtil.getTransitionEffect(t)»
+					«IF t.target instanceof FinalState»
+						«IF t.target.container == core.topRegion»
+						«ACTIVE_ROOT_STATE_ID» = «STATE_MAX»;
+						«ELSE»
+						«STATE_ARRAY_ATTRIBUTE»[«t.target.container.state.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«t.target.container.state.regions.indexOf(t.target.container)»] = «STATE_MAX»;
+						«ENDIF»
+						«callCompletionEvent»;
+					«ELSE»
+						«var region = parent.regions.filter[core.allSubVertexes(it).contains(finalChild)].head»
+						«core.getRegionMethodName(region)»(«core.getVertexMacroName(child)»);
+					«ENDIF»
+					'''					
+				} else if (TransformationUtil.transitiveSubStates((t.target as State)).contains(s)) {
+					parent = t.target as State
+					child = s
+					val finalChild = child
+					ret = '''
+					«core.generateExitingSubStates(s, false)»
+					«TransformationUtil.getTransitionEffect(t)»
+					«IF t.target instanceof FinalState»
+						«IF t.target.container == core.topRegion»
+							«ACTIVE_ROOT_STATE_ID» = «STATE_MAX»;
+						«ELSE»
+							«STATE_ARRAY_ATTRIBUTE»[«t.target.container.state.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«t.target.container.state.regions.indexOf(t.target.container)»] = «STATE_MAX»;
+						«ENDIF»
+						«callCompletionEvent»;
+					«ELSE»
+						«var region = parent.regions.filter[core.allSubVertexes(it).contains(finalChild)].head»
+						«core.getRegionMethodName(region)»(«core.getInitialMacroName(region)»);
+					«ENDIF»
+					'''				
+				}				
+			} else {
+
+				ret = '''
+				«core.pseudostateGenerator.generateBetweenVertex(s, t.target, t)»'''
+			}
+			
+			ret = '''
+				//from «t.source.name» to «t.target.name»
+				if («IF hasGuard»«core.getGuard(t)»«ELSE»true«ENDIF») {
+				«ret»
+				«SYSTEM_STATE_ATTR» = statemachine::EVENT_CONSUMED;
+				}'''
+		} else {
+			ret = '''
+				//from «t.source.name» to «t.target.name»
+				if («IF hasGuard»«core.getGuard(t)»«ELSE»true«ENDIF») {
+				«generateTransitionGraphCode(s, t)»
+				«SYSTEM_STATE_ATTR» = statemachine::EVENT_CONSUMED;
+				}'''
+		}
+		
+		return ret
+	}
+	
+	def int getIndexOfUnguardTransition(Pseudostate junction) {
+		var ungaurds = junction.outgoings.filter[it.guard == null]
+		if (ungaurds.empty || ungaurds.size > 1) {
+			
+		}
+		var unguard = ungaurds.head
+		return junction.outgoings.indexOf(unguard)
+	}
+	
+	private List<Pseudostate> joins = new ArrayList
+	
+	def createEventMethod(Event e, List<Transition> transitions) {
+		var evMethod= createEventMethod(e.eventName, transitions)
+		if (e instanceof CallEvent) {
+			var op = core.copier.getCopy((e as CallEvent).operation)
+			core.copyParameters(op, evMethod, false)
+			var params = evMethod.ownedParameters
+			var body = '''
+					this->process«e.eventName»(«FOR p:params SEPARATOR ', '»«p.name»«ENDFOR»);'''
+			
+			var String existingBody = null
+			if (op.methods.size > 0) {
+				val existingMethod = op.methods.get(0)
+				existingBody = BehaviorUtil.body(existingMethod, "C++")
+				if (existingBody == null) {
+					// try C/C++ tag
+					existingBody = BehaviorUtil.body(existingMethod, "C/C++")
+				}
+			}
+			if (existingBody != null) {
+				body += "\n// original method code\n" + existingBody;
+			}
+			core.createOpaqueBehavior(superContext, op, body)
+		} else if (e instanceof SignalEvent) {
+			var send = superContext.createOwnedOperation("send" + e.name, null, null)
+			if (e.signal != null) {
+				StereotypeUtil.apply(send.createOwnedParameter("sig", core.copier.getCopy(e.signal)), Ref)
+				StereotypeUtil.apply(evMethod.createOwnedParameter("sig", core.copier.getCopy(e.signal)), Ref)
+				
+			}
+			core.createOpaqueBehavior(superContext, send, '''
+			«EVENT_QUEUE».push(statemachine::PRIORITY_2, «IF e.signal != null»&sig«ELSE»NULL«ENDIF», «e.name.toUpperCase»_ID, statemachine::SIGNAL_EVENT, 0«IF e.signal != null», sizeof(«CppGenUtils.cppQualifiedName(core.copier.getCopy(e.signal))»)«ENDIF»);''')
+		}		
+	}
+	
+	def String generateTransitionGraphCode(State s, Transition t) {
+		var graph = core.calculateTransitionGraphs(s, t)
+		var target = t.target as Pseudostate
+		var junctions = graph.P.filter[it.kind == PseudostateKind.JUNCTION_LITERAL].toList
+		var Pseudostate join = null
+		if (target.kind == PseudostateKind.JOIN_LITERAL) {
+			join = target
+		}
+		if (join != null && joins.contains(join)) {
+			return ''''''
+		}
+		joins.add(join)
+		var ret = ''''''
+		var exits = new ArrayList<Vertex>
+		var enters = new ArrayList<Vertex>
+		
+		calculateExitsEnters(t, exits, enters)
+		var cpEx = exits.last		
+		var cpEn = enters.last
+		var bodyInside = '''
+		«FOR junction:junctions»
+			«junction.name» = «getIndexOfUnguardTransition(junction)»;
+			«FOR tr:junction.outgoings.filter[it.guard != null] SEPARATOR ' else '»
+				if («core.getGuard(tr)») {
+					«junction.name» = «junction.outgoings.indexOf(tr)»;
+				}
+			«ENDFOR»
+		«ENDFOR»
+		«ret»
+		«IF cpEx instanceof State»
+			«core.generateExitingSubStates(cpEx as State, true)»
+		«ENDIF»
+		«IF join != null»
+			//TODO: concurrency
+			«FOR in:join.incomings»
+				«TransformationUtil.getTransitionEffect(in)»
+			«ENDFOR»
+		«ELSE»
+			«TransformationUtil.getTransitionEffect(t)»
+		«ENDIF»'''
+		
+		var innermost = enters.head
+		if (innermost instanceof State) {
+			bodyInside = '''
+			«bodyInside»
+			«IF innermost instanceof FinalState»
+				«IF innermost.container == core.topRegion»
+					«ACTIVE_ROOT_STATE_ID» = «STATE_MAX»;
+					«ELSE»
+					«STATE_ARRAY_ATTRIBUTE»[«ACTIVE_ROOT_STATE_ID»].«ACTIVE_SUB_STATES»[«innermost.container.state.regions.indexOf(innermost.container)»] = «STATE_MAX»;
+					«core.generateCompletionCall(innermost)»
+				«ENDIF»
+			«ELSE»
+				«core.generateEnteringOnSubVertex(cpEn as State, innermost)»
+			«ENDIF»'''
+		} else {
+			bodyInside = '''
+			«bodyInside»
+			«IF cpEn instanceof State»
+				«core.generateEnteringOnSubVertex(cpEn, innermost)»
+			«ELSE»
+				«core.pseudostateGenerator.generatePseudo(innermost as Pseudostate)»
+			«ENDIF»'''
+		}
+		
+		ret = '''
+		«IF join != null»
+		if («FOR src:join.incomings.map[it.source] SEPARATOR ' && '»(«STATE_ARRAY_ATTRIBUTE»[«src.container.state.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«src.container.state.regions.indexOf(src.container)»] == «src.name.toUpperCase»_ID)«ENDFOR») {
+		«ENDIF»
+			«bodyInside»
+		«IF join != null»
+		}
+		«ENDIF»'''
+		
+		return ret
+	}
+	
+	def calculateExitsEnters(Transition t, List<Vertex> exits, List<Vertex> enters) {
+		//step 1
+		var tp1 = new ArrayList<Vertex>
+		tp1.addAll(core.getTransitiveParentStates(t.source))
+		tp1.add(0, t.source)
+		
+		var tp2 = new ArrayList<Vertex>
+		tp2.addAll(core.getTransitiveParentStates(t.target))
+		tp2.add(0, t.target)
+		
+		//step2
+		var Vertex bound1 = null
+		var Vertex bound2 = null
+		for(v:tp1) {
+			var tp = tp2.filter[it.container == v.container].head
+			if (bound1 == null && bound2 == null && tp != null) {
+				bound1 = v
+				bound2 = tp
+			}
+		}
+		
+		var index1 = tp1.indexOf(bound1)
+		var index2 = tp2.indexOf(bound2)
+		exits.addAll(tp1.subList(0, index1 + 1))
+		enters.addAll(tp2.subList(0, index2 + 1))
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/PThreadTypes.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/PThreadTypes.xtend
new file mode 100644
index 0000000..dd041f3
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/PThreadTypes.xtend
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Van Cam Pham        <VanCam.PHAM@cea.fr>
+ *
+ *****************************************************************************/
+ 
+ package org.eclipse.papyrus.designer.transformation.library.statemachine
+
+import org.eclipse.uml2.uml.Type
+import org.eclipse.uml2.uml.Package
+
+class PThreadTypes {
+	Package target
+	
+	new (Package target) {
+		// thread pthread model is imported into state-machine, its members can be directly found. 
+		this.target = target;
+	}
+	
+	def public getPthreadCond() {
+		if (target != null) {
+			target.getMember("pthread_cond_t") as Type
+		}
+	}
+	
+	def public getPthreadMutex() {
+		if (target != null) {
+			target.getMember("pthread_mutex_t") as Type
+		}
+	}
+	
+	def public getPthread() {
+		if (target != null) {
+			target.getMember("pthread_t") as Type
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/PseudostateGenerator.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/PseudostateGenerator.xtend
new file mode 100644
index 0000000..90846f1
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/PseudostateGenerator.xtend
@@ -0,0 +1,326 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Van Cam Pham        <VanCam.PHAM@cea.fr>
+ *
+ *****************************************************************************/
+ 
+ package org.eclipse.papyrus.designer.transformation.library.statemachine
+
+import org.eclipse.uml2.uml.Pseudostate
+import org.eclipse.uml2.uml.PseudostateKind
+import org.eclipse.uml2.uml.Vertex
+import org.eclipse.uml2.uml.Transition
+import java.util.ArrayList
+import org.eclipse.uml2.uml.State
+import org.eclipse.uml2.uml.FinalState
+import org.eclipse.uml2.uml.Region
+import static extension org.eclipse.papyrus.designer.transformation.library.statemachine.SMCodeGeneratorConstants.*
+import java.util.List
+
+class PseudostateGenerator {
+	protected extension CDefinitions cdefs;
+	private SM2ClassesTransformationCore core
+	org.eclipse.uml2.uml.Class superContext
+	org.eclipse.uml2.uml.Package targetPack
+	new (SM2ClassesTransformationCore core) {
+		this.core = core
+		this.superContext = core.superContext
+		this.targetPack = core.targetPacket
+		this.cdefs = core.cdefs
+	}
+	
+	def String generatePseudo(Pseudostate p) {
+		var ret = ''''''
+		switch(p.kind) {
+			case PseudostateKind.JUNCTION_LITERAL: {
+				ret = p.generateJunction
+			}
+			
+			case PseudostateKind.JOIN_LITERAL: {
+				ret = p.generateJoin
+			}
+			case PseudostateKind.FORK_LITERAL: {
+				ret = p.generateFork
+			}
+			
+			case PseudostateKind.CHOICE_LITERAL: {
+				ret = p.generateChoice
+			}
+			
+			case PseudostateKind.SHALLOW_HISTORY_LITERAL: {
+				ret = p.generateShallowHistory
+			}
+			
+			case PseudostateKind.DEEP_HISTORY_LITERAL: {
+				ret = p.generateDeepHistory
+			}
+			
+			case PseudostateKind.ENTRY_POINT_LITERAL: {
+				ret = p.generateEntryPoint
+			}
+			
+			case PseudostateKind.EXIT_POINT_LITERAL: {
+				ret = p.generateExitPoint
+			}
+			case INITIAL_LITERAL: {
+			}
+			case TERMINATE_LITERAL: {
+			}
+		}
+		
+		return ret
+	}
+	
+	def String generateJunction(Pseudostate p) {
+		var ret = '''
+		«FOR out:p.outgoings SEPARATOR ' else '»
+		if («p.name» == «p.outgoings.indexOf(out)») {
+			«generateBetweenVertex(p, out.target, out)»
+		}
+		«ENDFOR»'''
+		return ret
+	}
+	
+	
+	def String generateBetweenVertex(Vertex v1, Vertex v2, Transition t) {
+		var exits = new ArrayList<Vertex>
+		var enters = new ArrayList<Vertex>
+		var ret = ''''''
+		core.eventTransform.calculateExitsEnters(t, exits, enters)
+		var cpEx = exits.last
+		ret = '''
+		«ret»
+		«IF cpEx instanceof State»
+		«core.generateExitingSubStates(cpEx as State, true)»
+		«ENDIF»
+		«TransformationUtil.getTransitionEffect(t)»'''
+		
+		var cpEn = enters.last
+		var innermost = enters.head
+		if (innermost instanceof State) {
+			ret = '''
+			«ret»
+			«IF innermost instanceof FinalState»
+				«IF innermost.container == core.topRegion»
+					«ACTIVE_ROOT_STATE_ID» = «STATE_MAX»;
+				«ELSE»
+					«STATE_ARRAY_ATTRIBUTE»[«ACTIVE_ROOT_STATE_ID»].«ACTIVE_SUB_STATES»[«innermost.container.state.regions.indexOf(innermost.container)»] = «STATE_MAX»;
+					«core.generateCompletionCall(innermost)»
+				«ENDIF»
+			«ELSE»
+				«core.generateEnteringOnSubVertex(cpEn as State, innermost)»
+			«ENDIF»'''
+		} else {
+			ret = '''
+			«ret»
+			«IF cpEn instanceof State»
+				«core.generateEnteringOnSubVertex(cpEn, innermost)»
+			«ELSE»
+				«generatePseudo(innermost as Pseudostate)»
+			«ENDIF»'''
+		}
+		return ret
+	}
+	
+	def String generateDeepHistory(Pseudostate p) {
+		var regionIndex = p.container.state.regions.indexOf(p.container)
+		var subCompositeStates = p.container.subvertices.filter(State).filter[!(it instanceof FinalState) && it.composite]
+		var parentId = p.container.state.name.toUpperCase + "_ID"
+		var subAtomics = p.container.subvertices.filter(State).filter[!(it instanceof FinalState) && !it.composite]
+		var atomicsWithTimeEvent = subAtomics.filter[core.states2TimeEvents.get(it) != null && !core.states2TimeEvents.get(it).empty]
+		var ret = '''
+		unsigned int «p.container.getDeepHistoryVariableName(p)»;
+		if («STATE_ARRAY_ATTRIBUTE»[«parentId»].«PREVIOUS_STATES»[«regionIndex»] != «STATE_MAX») {
+			//restore active sub-state of «p.container.state.name»
+			«p.container.getDeepHistoryVariableName(p)» = «STATE_ARRAY_ATTRIBUTE»[«parentId»].«PREVIOUS_STATES»[«regionIndex»];
+			(this->*«STATE_ARRAY_ATTRIBUTE»[«p.container.getDeepHistoryVariableName(p)»].«ENTRY_NAME»)();
+			«FOR a:atomicsWithTimeEvent SEPARATOR ' else '»
+				if («a.name.toUpperCase»_ID == «p.container.getDeepHistoryVariableName(p)») {
+					«core.generateActivateTimeEvent(a)»
+				}
+			«ENDFOR»
+			«SET_FLAG»(«p.container.getDeepHistoryVariableName(p)», «THREAD_FUNC_DOACTIVITY_TYPE», true);
+			«FOR comp:subCompositeStates SEPARATOR ' else '»
+				if («comp.name.toUpperCase»_ID == «p.container.getDeepHistoryVariableName(p)») {
+					«generateRestoreString(comp, p)»
+				}
+			«ENDFOR»
+		} else {
+			//for the first time, the history should be initialized
+			«IF p.outgoings.size > 0»
+				«generateBetweenVertex(p, p.outgoings.head.target, p.outgoings.head)»
+			«ELSE»
+				«core.getRegionMethodName(p.container)»(«core.getInitialMacroName(p.container)»);
+			«ENDIF»
+		}'''
+		return ret
+	}
+	
+	private def String generateRestoreString(State s, Pseudostate p) {
+		var subAtomics = p.container.subvertices.filter(State).filter[!(it instanceof FinalState) && !it.composite]
+		var atomicsWithTimeEvent = subAtomics.filter[core.states2TimeEvents.get(it) != null && !core.states2TimeEvents.get(it).empty]
+		var ret = '''
+		//restore active-stub state of «s.name»
+		«FOR r:s.regions»
+			unsigned int «r.getDeepHistoryVariableName(p)» = «STATE_ARRAY_ATTRIBUTE»[«s.name.toUpperCase»_ID].«PREVIOUS_STATES»[«s.regions.indexOf(r)»];
+			(this->*«STATE_ARRAY_ATTRIBUTE»[«r.getDeepHistoryVariableName(p)»].«ENTRY_NAME»)();
+			«FOR a:atomicsWithTimeEvent SEPARATOR ' else '»
+				if («a.name.toUpperCase»_ID == «r.getDeepHistoryVariableName(p)») {
+					«core.generateActivateTimeEvent(a)»
+				}
+			«ENDFOR»
+			«SET_FLAG»(«r.getDeepHistoryVariableName(p)», «THREAD_FUNC_DOACTIVITY_TYPE», true);
+			«var subCompositeStates = r.subvertices.filter(State).filter[!(it instanceof FinalState) && it.composite]»
+			«FOR comp:subCompositeStates SEPARATOR ' else '»
+				if («comp.name.toUpperCase»_ID == «r.getDeepHistoryVariableName(p)») {
+					«generateRestoreString(comp, p)»
+				}
+			«ENDFOR»
+		«ENDFOR»
+		'''
+		return ret
+	}
+	
+	def getDeepHistoryVariableName(Region r, Pseudostate p) {
+		return '''«r.state.name»_«r.name»_«p.name»'''
+	}
+	
+	def String generateShallowHistory(Pseudostate p) {
+		var regionIndex = p.container.state.regions.indexOf(p.container)
+		var subCompositeStates = p.container.subvertices.filter(State).filter[!(it instanceof FinalState) && it.composite]
+		var pseudoInitial = TransformationUtil.firstPseudoState(p.container, PseudostateKind.INITIAL_LITERAL)
+		var parentId = p.container.state.name.toUpperCase + "_ID"
+		var subAtomics = p.container.subvertices.filter(State).filter[!(it instanceof FinalState) && !it.composite]
+		var atomicsWithTimeEvent = subAtomics.filter[core.states2TimeEvents.get(it) != null && !core.states2TimeEvents.get(it).empty]
+		var ret = '''
+		unsigned int loc_ActiveId;
+		if («STATE_ARRAY_ATTRIBUTE»[«parentId»].«PREVIOUS_STATES»[«regionIndex»] != «STATE_MAX») {
+			loc_ActiveId = «STATE_ARRAY_ATTRIBUTE»[«parentId»].«PREVIOUS_STATES»[«regionIndex»];
+		} else {
+			//for the first time, the history should be initialized
+			«IF p.outgoings.size > 0»
+				«TransformationUtil.getTransitionEffect(p.outgoings.head)»
+				loc_ActiveId = «p.outgoings.head.target.name.toUpperCase»_ID;
+			«ELSE»
+				«TransformationUtil.getTransitionEffect(pseudoInitial.outgoings.head)»
+				loc_ActiveId = «pseudoInitial.outgoings.head.target.name.toUpperCase»_ID;
+			«ENDIF»
+		}
+		«STATE_ARRAY_ATTRIBUTE»[«parentId»].«ACTIVE_SUB_STATES»[«regionIndex»] = loc_ActiveId;
+		«FOR comp:subCompositeStates SEPARATOR ' else '»
+			if («comp.name.toUpperCase»_ID == loc_ActiveId) {
+				«core.generateEnteringOnSubVertex(comp, null)»
+			}
+		«ENDFOR» «IF subCompositeStates.size > 0» else { «ENDIF»
+			(this->*«STATE_ARRAY_ATTRIBUTE»[loc_ActiveId].«ENTRY_NAME»)();
+			«FOR a:atomicsWithTimeEvent SEPARATOR ' else '»
+			if («a.name.toUpperCase»_ID == loc_ActiveId) {
+				«core.generateActivateTimeEvent(a)»
+			}
+			«ENDFOR»
+			«SET_FLAG»(loc_ActiveId, «THREAD_FUNC_DOACTIVITY_TYPE», true);
+		«IF subCompositeStates.size > 0»}«ENDIF»'''
+		return ret
+	}
+	
+	def String generateChoice(Pseudostate p) {
+		var ret = '''
+		«FOR out:p.outgoings.filter[it.guard != null] SEPARATOR ' else '»
+		if («core.getGuard(out)») {
+			«generateBetweenVertex(p, out.target, out)»
+		}«ENDFOR» else {
+			«var t = p.outgoings.filter[it.guard == null].head»
+			«generateBetweenVertex(p, t.target, t)»
+		}'''
+		return ret
+	}
+	
+	def intersect(List<Vertex> l1, List<Vertex> l2) {
+		return l1.filter[l2.contains(it)].toList
+	}
+	
+	def String generateEntryPoint(Pseudostate p) {
+		var ret = '''
+		'''	
+		val targets = p.outgoings.map[it.target].toList
+		val enteredRegions = (p.eContainer as State).regions.filter[
+			core.allSubVertexes(it).toList.intersect(targets).size > 0
+		].toList
+		var defaultRegions = (p.eContainer as State).regions.filter[!enteredRegions.contains(it)]
+		ret = '''
+			«FOR out:p.outgoings»
+				«TransformationUtil.getTransitionEffect(out)»
+			«ENDFOR»
+			«FOR r:defaultRegions.filter[TransformationUtil.findInitialState(it) != null]»
+				«core.getRegionMethodName(r)»(«core.getInitialMacroName(r)»);
+			«ENDFOR»
+			«FOR r:enteredRegions»
+				«core.getRegionMethodName(r)»(«core.getVertexMacroName(targets.filter[r.allNamespaces.contains(it)].head)»);
+			«ENDFOR»'''		
+		return ret
+	}
+	
+	def String generateExitPoint(Pseudostate p) {
+		var ret = '''
+		'''	
+		ret = '''
+		«generateBetweenVertex(p, p.outgoings.head.target, p.outgoings.head)»
+		'''		
+		return ret
+	}
+	
+	def String generateFork(Pseudostate p) {
+		var targets = p.outgoings.map[it.target]
+		var ret = ''''''
+		//look for the orthogonal parent state
+		
+		var exits = new ArrayList<Vertex>
+		var enters = new ArrayList<Vertex>
+		core.eventTransform.calculateExitsEnters(p.outgoings.head, exits, enters)
+		var cpEx = exits.last
+		var parent = enters.last as State
+		if (!parent.orthogonal) {
+			throw new Exception("state machine is ill-formed")
+		}
+		
+		ret = '''
+		«ret»
+		«IF cpEx instanceof State»
+		«core.generateExitingSubStates(cpEx as State, true)»
+		«ENDIF»
+		//need to be concurrently executed
+		«FOR out:p.outgoings»
+		«TransformationUtil.getTransitionEffect(out)»
+		«ENDFOR»
+		'''
+		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
+		ret = '''
+		«ret»
+		«core.generateChangeState(parent)»
+		«core.getFptrCall(pAttr, false, ENTRY_NAME)»;
+		//start activity of «parent.name» by calling setFlag
+		«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
+		«FOR r:parent.regions»
+			«FOR target:targets»
+				«IF core.allSubVertexes(r).contains(target)»
+					«core.concurrency.generateForkCall(r, true, core.getVertexMacroName(target))»
+				«ENDIF»
+			«ENDFOR»
+		«ENDFOR»
+		'''		
+		return ret
+	}
+	
+	def String generateJoin(Pseudostate p) {
+		return '''
+		«generateBetweenVertex(p, p.outgoings.head.target, p.outgoings.head)»'''
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/SM2ClassesTransformationCore.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/SM2ClassesTransformationCore.xtend
new file mode 100644
index 0000000..35d9cb4
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/SM2ClassesTransformationCore.xtend
@@ -0,0 +1,1644 @@
+/**
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.eclipse.papyrus.designer.transformation.library.statemachine
+
+import java.util.ArrayList
+import java.util.HashMap
+import java.util.List
+import java.util.Map
+import java.util.Map.Entry
+import org.eclipse.emf.common.util.URI
+import org.eclipse.emf.common.util.UniqueEList
+import org.eclipse.emf.ecore.resource.ResourceSet
+import org.eclipse.papyrus.designer.languages.cpp.codegen.utils.CppGenUtils
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Array
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.External
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Include
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.NoCodeGen
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Ptr
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Typedef
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Virtual
+import org.eclipse.papyrus.designer.transformation.base.utils.OperationUtils
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement
+import org.eclipse.papyrus.designer.transformation.vsl.ParseVSL
+import org.eclipse.papyrus.uml.tools.utils.PackageUtil
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
+import org.eclipse.uml2.uml.AnyReceiveEvent
+import org.eclipse.uml2.uml.Behavior
+import org.eclipse.uml2.uml.CallEvent
+import org.eclipse.uml2.uml.ChangeEvent
+import org.eclipse.uml2.uml.Class
+import org.eclipse.uml2.uml.Element
+import org.eclipse.uml2.uml.Enumeration
+import org.eclipse.uml2.uml.Event
+import org.eclipse.uml2.uml.FinalState
+import org.eclipse.uml2.uml.OpaqueBehavior
+import org.eclipse.uml2.uml.OpaqueExpression
+import org.eclipse.uml2.uml.Operation
+import org.eclipse.uml2.uml.Package
+import org.eclipse.uml2.uml.ParameterDirectionKind
+import org.eclipse.uml2.uml.Profile
+import org.eclipse.uml2.uml.Pseudostate
+import org.eclipse.uml2.uml.PseudostateKind
+import org.eclipse.uml2.uml.Region
+import org.eclipse.uml2.uml.SignalEvent
+import org.eclipse.uml2.uml.State
+import org.eclipse.uml2.uml.StateMachine
+import org.eclipse.uml2.uml.TimeEvent
+import org.eclipse.uml2.uml.Transition
+import org.eclipse.uml2.uml.Trigger
+import org.eclipse.uml2.uml.Type
+import org.eclipse.uml2.uml.UMLPackage
+import org.eclipse.uml2.uml.Vertex
+import org.eclipse.uml2.uml.util.UMLUtil
+
+import static org.eclipse.papyrus.designer.transformation.library.statemachine.SMCodeGeneratorConstants.*
+
+import static extension org.eclipse.papyrus.designer.transformation.library.statemachine.TransformationUtil.*
+import static extension org.eclipse.papyrus.designer.transformation.library.statemachine.TransformationUtil.eventID
+
+class SM2ClassesTransformationCore {
+	protected extension CDefinitions cdefs;
+	public int MAX_NUMBER_ORTHOGONAL_REGIONS = 1
+	private StateMachine sm
+	public Type boolType
+	public Class superContext
+	private List<Transition> transitions = new ArrayList
+	private List<OpaqueBehavior> actions = new ArrayList
+	public Region topRegion
+	public List<State> states = new ArrayList
+	private List<Vertex> vertexes = new ArrayList
+	public LazyCopier copier
+	private String langID = "C++"
+	private Type stateStruct
+
+	public boolean generateActionLog = false
+	private boolean createDoActivity = true
+	private boolean useThreadCpp11 = true
+	Type threadCpp11
+	public Type voidType
+	private Enumeration stateIdEnum
+	public Type intType
+	public Type charType
+	Enumeration eventIdEnum
+	public Type fptr
+	public PThreadTypes ptTypes
+	
+	public List<TimeEvent> timeEvents = new ArrayList
+	public List<ChangeEvent> changeEvents = new ArrayList
+	public List<CallEvent> callEvents = new ArrayList
+	List<SignalEvent> signalEvents = new ArrayList
+	List<AnyReceiveEvent> anyEvents = new ArrayList
+	List<Pseudostate> junctions = new ArrayList
+	public ConcurrencyGenerator concurrency
+	public EventTransformation eventTransform
+	public PseudostateGenerator pseudostateGenerator
+	public static String ansiUri = "pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml"
+
+	public static String smLibraryUri = "platform:/resource/org.eclipse.papyrus.designer.codegen.statemachine/models/SmLibrary.uml"
+	public List<Behavior> doActivityList = new ArrayList
+	public Package smPack
+	private List<Region> regions = new ArrayList
+	public List<Transition> parallelTransitions = new ArrayList
+	public Map<State, List<TimeEvent>> states2TimeEvents = new HashMap
+	private Type threadStructType
+
+	new(LazyCopier copier, StateMachine sm, Class tmClass) {
+		this.copier = copier
+		this.superContext = tmClass
+		
+		// perClassPackage = copier.target.createNestedPackage("PerClass_" + mContainerClass.name)
+		// perClassPackage = copier.target
+		this.sm = sm
+		
+		val ResourceSet resourceSet = targetPacket.eResource.resourceSet
+		boolType = getPrimitiveType("bool", resourceSet)
+		voidType = getPrimitiveType("void", resourceSet)
+		intType = getPrimitiveType("int", resourceSet)
+		charType = getPrimitiveType("char", resourceSet)
+		ptTypes = new PThreadTypes(targetPacket)
+		this.cdefs = new CDefinitions(superContext)
+	}
+	
+	def setSmPack(Package smPack) {
+		this.smPack = smPack
+	}
+	
+	def getThreadStructType() {
+		return threadStructType
+	}
+	
+	def setThreadStructType(Type threadStructType) {
+		this.threadStructType = threadStructType;
+	}
+
+	def getPrimitiveType(String name, ResourceSet resourceSet) {
+		val Package ansiCLibrary = PackageUtil.loadPackage(URI.createURI("pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml"), resourceSet)
+		val Element element = ansiCLibrary.getPackagedElement(name)
+		if (element instanceof Type) {
+			return element
+		}
+		return null
+	}
+	
+	def getTargetPacket() {
+		copier.target;
+	}
+	
+	def getExternalPackage(Package parentPack) {
+		if (parentPack.getNestedPackage("external") == null) {
+			var createdPack = parentPack.createNestedPackage("external")
+			StereotypeUtil.apply(createdPack, NoCodeGen)
+		}
+		return parentPack.getNestedPackage("external")
+	}
+	
+	// each state class has a super context and ancestor context
+	def transform() {
+		val targetPack = getTargetPacket;
+		// copier = new SM2ClassCopier(mContainerClass.model, targetPack, false, true, mContainerClass, superContext, sm)
+		val ResourceSet resourceSet = targetPack.eResource.resourceSet
+		
+		PackageUtil.loadPackage(URI.createURI("pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml"), resourceSet)
+		val Package profile = PackageUtil.loadPackage(URI.createURI("pathmap://UML_PROFILES/Standard.profile.uml"), resourceSet)
+		if (profile instanceof Profile) {
+			PackageUtil.applyProfile(targetPack, profile as Profile, true)
+		}
+		
+		if (useThreadCpp11) {
+			var externalPackage = getExternalPackage(targetPack)
+			threadCpp11 = externalPackage.createOwnedType("std::thread", UMLPackage.Literals.DATA_TYPE)
+			StereotypeUtil.apply(threadCpp11, External)
+		}
+		topRegion = sm.regions.head
+		concurrency = new ConcurrencyGenerator(this)
+		eventTransform = new EventTransformation(this)
+		pseudostateGenerator = new PseudostateGenerator(this)
+		
+		var eventMap = topRegion.allEvents
+		eventMap.forEach[e, k|
+			if (e instanceof TimeEvent) {
+				timeEvents.add(e)
+			} else if (e instanceof CallEvent) {
+				callEvents.add(e)
+			} else if (e instanceof SignalEvent) {
+				signalEvents.add(e)
+			} else if (e instanceof ChangeEvent) {
+				changeEvents.add(e)
+			} else if (e instanceof AnyReceiveEvent) {
+				anyEvents.add(e)
+			}
+		]
+		eventIdEnum = superContext.createNestedClassifier(EVENT_ID, UMLPackage.Literals.ENUMERATION) as Enumeration
+
+		appendIncludeHeader('''#define «TIME_EVENT_LOWER_BOUND» (0)''')
+		timeEvents.forEach[
+			eventIdEnum.createOwnedLiteral(it.eventID)
+		]		
+		changeEvents.forEach[
+			eventIdEnum.createOwnedLiteral(it.eventID)
+		]			
+		appendIncludeHeader('''#define «CHANGE_EVENT_LOWER_BOUND» («timeEvents.size»)''')
+		
+		appendIncludeHeader('''#define «TE_INDEX»(id) (id - «TIME_EVENT_LOWER_BOUND»)''')
+		appendIncludeHeader('''#define «CHE_INDEX»(id) (id - «CHANGE_EVENT_LOWER_BOUND»)''')
+		
+		signalEvents.forEach[
+			eventIdEnum.createOwnedLiteral(it.eventID)
+		]	
+		callEvents.forEach[
+			eventIdEnum.createOwnedLiteral(it.eventID)
+		]		
+		anyEvents.forEach[
+			eventIdEnum.createOwnedLiteral(it.eventID)
+		]	
+		
+		eventIdEnum.createOwnedLiteral(COMPLETION_EVENT.toUpperCase + "_ID")
+		
+		topRegion.allActionsTransitionsStates
+		states.filter[it.orthogonal].forEach[
+			if (it.regions.size > MAX_NUMBER_ORTHOGONAL_REGIONS) {
+				MAX_NUMBER_ORTHOGONAL_REGIONS = it.regions.size 
+			}
+		]
+		
+		states.forEach[
+			val triggers = new ArrayList<Trigger>
+			it.outgoings.forEach[
+				triggers.addAll(it.triggers)
+			]
+			val events = triggers.map[it.event]
+			val timeEvents = events.filter(TimeEvent).toList
+			states2TimeEvents.put(it, timeEvents)
+		]
+		
+		vertexes.filter(Pseudostate).forEach[
+			if (it.kind == PseudostateKind.JUNCTION_LITERAL) {
+				junctions.add(it)
+			}
+		]
+		
+		//for each junction, create a class variable
+		junctions.forEach[
+			superContext.createOwnedAttribute(it.name, intType)
+		]
+		
+		//create state ID enumeration
+		//val stateIdEnum = targetPack.createOwnedEnumeration("StateIDEnum") as Enumeration
+		stateIdEnum = superContext.createNestedClassifier("StateIDEnum", UMLPackage.Literals.ENUMERATION) as Enumeration
+		
+		//create state struct
+		createStateStruct		
+
+		var stateArrayAttr = superContext.createOwnedAttribute(STATE_ARRAY_ATTRIBUTE, stateStruct)
+		StereotypeUtil.apply(stateArrayAttr, Array)
+		//StereotypeUtil.apply(stateArrayAttr, Ptr)
+		UMLUtil.getStereotypeApplication(stateArrayAttr, Array).definition = '''[«states.size»]'''
+		//create root active state ID
+		superContext.createOwnedAttribute(ACTIVE_ROOT_STATE_ID, stateIdEnum)
+		
+		createRegionMethods
+				
+		var sourceCtors = superContext.ownedOperations.filter[StereotypeUtil.isApplied(it, "StandardProfile::Create") && it.name == superContext.name]
+		var targetCtors = sourceCtors.map[copier.getCopy(it)]	
+		if (targetCtors.empty) {
+			//create constructor
+			var ctor = superContext.createOwnedOperation(superContext.name, null, null)
+			StereotypeUtil.apply(ctor, "StandardProfile::Create")
+			superContext.createOpaqueBehavior(ctor, '''startBehavior();''')
+		} else {
+			targetCtors.forEach[
+				var opaque = it.methods.head as OpaqueBehavior
+				if (opaque != null) {
+					var body = opaque.bodies.get(0)
+					superContext.createOpaqueBehavior(it, '''
+					«body»
+					startBehavior();''')
+				} else {
+					superContext.createOpaqueBehavior(it, '''startBehavior();''')
+				}
+			]
+		}	
+		
+		var startBehavior = superContext.createOwnedOperation("startBehavior", null, null)
+		superContext.createOpaqueBehavior(startBehavior, '''
+		«SYSTEM_STATE_ATTR» = statemachine::IDLE;
+		«FOR s:states»
+			«IF s.entry.isBehaviorExist»
+				«STATE_ARRAY_ATTRIBUTE»[«s.name.toUpperCase»_ID].«ENTRY_NAME» = &«superContext.name»::«s.name + "_" + ENTRY_NAME»;
+			«ENDIF»
+			«IF s.exit.isBehaviorExist»
+				«STATE_ARRAY_ATTRIBUTE»[«s.name.toUpperCase»_ID].«EXIT_NAME» = &«superContext.name»::«s.name + "_" + EXIT_NAME»;
+			«ENDIF»
+			«IF s.doActivity.isBehaviorExist»
+				«STATE_ARRAY_ATTRIBUTE»[«s.name.toUpperCase»_ID].«DO_ACTIVITY_NAME» = &«superContext.name»::«s.name + "_" + DO_ACTIVITY_NAME»;
+			«ENDIF»		
+			«DO_ACTIVITY_TABLE»[«s.name.toUpperCase»_ID] =  «STATE_ARRAY_ATTRIBUTE»[«s.name.toUpperCase»_ID].«DO_ACTIVITY_NAME»;
+		«ENDFOR»
+		
+		// initialize all threads, the threads wait until the associated flag is set
+		for(int i = 0; i < (int) «STATE_MAX»; i++) {
+			if («STATE_ARRAY_ATTRIBUTE»[i].«DO_ACTIVITY_NAME» != &«superContext.name»::doActivity_dft) {
+				«THREAD_STRUCTS»[i].id = i;
+				«THREAD_STRUCTS»[i].ptr = this;
+				«THREAD_STRUCTS»[i].func_type = «THREAD_FUNC_DOACTIVITY_TYPE»;
+				«MUTEXES»[i] = PTHREAD_MUTEX_INITIALIZER;
+				«CONDITIONS»[i] = PTHREAD_COND_INITIALIZER;
+				«FORK_NAME»(&«THREADS»[i], NULL, &«superContext.name»::«THREAD_FUNC_WRAPPER», &«THREAD_STRUCTS»[i]);
+			}
+		}
+		
+		«IF timeEvents.size > 0»
+			«FOR e:timeEvents»
+				«var duration = ParseVSL.getMsDurationFromVSL((e.when.expr as OpaqueExpression).bodies.get(0))»
+				«THREAD_STRUCTS_FOR_TIMEEVENT»[«TE_INDEX»(«e.eventID»)].duration = «duration»;
+			«ENDFOR»
+			for(int i = «TIME_EVENT_LOWER_BOUND»; i < «timeEvents.size»; i++) {
+				«THREAD_STRUCTS_FOR_TIMEEVENT»[«TE_INDEX»(i)].id = i;
+				«THREAD_STRUCTS_FOR_TIMEEVENT»[«TE_INDEX»(i)].ptr = this;
+				«THREAD_STRUCTS_FOR_TIMEEVENT»[«TE_INDEX»(i)].func_type = «THREAD_FUNC_TIMEEVENT_TYPE»;
+				«MUTEXES_TIME_EVENT»[«TE_INDEX»(i)] = PTHREAD_MUTEX_INITIALIZER;
+				«CONDITIONS_TIME_EVENT»[«TE_INDEX»(i)] = PTHREAD_COND_INITIALIZER;
+				«FORK_NAME»(&«THREADS_TIME_EVENT»[«TE_INDEX»(i)], NULL, &«superContext.name»::«THREAD_FUNC_WRAPPER», &«THREAD_STRUCTS_FOR_TIMEEVENT»[«TE_INDEX»(i)]);
+				while(«FLAGS_TIME_EVENT»[«TE_INDEX»(i)]) {}
+			}
+		«ENDIF»
+		
+		«IF !orthogonalRegions.empty»
+			«FOR r:orthogonalRegions»
+				«REGION_TABLE»[«r.regionMacroId»] = &«superContext.name»::«r.regionMethodName»;
+				«REGION_TABLE_EXIT»[«r.regionMacroId»] = &«superContext.name»::«r.regionMethodExitName»;
+			«ENDFOR»
+		«ENDIF»
+		
+		«IF !parallelTransitions.empty»
+			«FOR t:parallelTransitions»
+				«PARALLEL_TRANSITION_TABLE»[«concurrency.parallelTransitionId(t)»] = &«superContext.name»::«concurrency.parallelTransitionMethodName(t)»;
+			«ENDFOR»
+		«ENDIF»
+		
+		«RUN_TO_COMPLETION_MUTEX» = PTHREAD_MUTEX_INITIALIZER;
+		«RUN_TO_COMPLETION_COND» = PTHREAD_COND_INITIALIZER;
+		
+		dispatchStruct = «STRUCT_FOR_THREAD»(this, 0, 0, «THREAD_FUNC_STATE_MACHINE_TYPE», 0);
+		«superContext.name»_THREAD_CREATE(dispatchThread, dispatchStruct)
+		while(!dispatchFlag) {}
+		
+		«IF changeEvents.size > 0»
+			// threads for changeEvent
+			for(int i = «CHANGE_EVENT_LOWER_BOUND»; i < «CHANGE_EVENT_LOWER_BOUND» + «changeEvents.size»; i++) {
+				«THREAD_STRUCTS_FOR_CHANGEEVENT»[«CHE_INDEX»(i)].id = i;
+				«THREAD_STRUCTS_FOR_CHANGEEVENT»[«CHE_INDEX»(i)].ptr = this;
+				«THREAD_STRUCTS_FOR_CHANGEEVENT»[«CHE_INDEX»(i)].func_type = «THREAD_FUNC_CHANGEEVENT_TYPE»;
+				«FORK_NAME»(&«THREADS_CHANGE_EVENT»[«CHE_INDEX»(i)], NULL, &«superContext.name»::«THREAD_FUNC_WRAPPER», &«THREAD_STRUCTS_FOR_CHANGEEVENT»[«CHE_INDEX»(i)]);
+			}
+		«ENDIF»
+		
+		//initialze root active state
+		//execute initial effect
+		«getRegionMethodName(topRegion)»(«topRegion.initialMacroName»);
+		''')
+		
+		superContext.createOwnedAttribute("dispatchFlag", boolType)
+		
+		
+		eventMap.forEach[e, trans|
+			eventTransform.createEventMethod(e, trans)
+		]
+		
+		val autoTrans = new ArrayList<Transition>
+		transitions.forEach[
+			if (it.source instanceof State && it.triggers.map[it.event].size == 0) {
+				autoTrans.add(it)
+			}
+		]
+		
+		eventTransform.createEventMethod(COMPLETION_EVENT, autoTrans)
+		
+		//create entry/exit/doactivity of each state
+		states.forEach[
+			stateIdEnum.createOwnedLiteral(it.name.toUpperCase + "_ID")
+			if (it.entry.isBehaviorExist) {
+				var entry = superContext.createOwnedOperation(it.name + "_" + ENTRY_NAME, null, null)
+				var opaque = superContext.createOpaqueBehavior(entry, (it.entry as OpaqueBehavior).bodies.head)
+				opaque.languages.add(langID)
+			}
+			if (it.exit.isBehaviorExist) {
+				var exit = superContext.createOwnedOperation(it.name + "_" + EXIT_NAME, null, null)
+				var opaque = superContext.createOpaqueBehavior(exit, (it.exit as OpaqueBehavior).bodies.head)
+				opaque.languages.add(langID)
+			}
+			if (it.doActivity.isBehaviorExist) {
+				doActivityList.add(it.doActivity)
+				var doActivity = superContext.createOwnedOperation(it.name + "_" + DO_ACTIVITY_NAME, null, null)
+				var callCompletionEvent = ''''''
+				if (!it.composite) {
+					//callCompletionEvent = '''process«COMPLETION_EVENT»();'''
+				}
+				var opaque = superContext.createOpaqueBehavior(doActivity, (it.doActivity as OpaqueBehavior).bodies.head + "\n" + callCompletionEvent)
+				opaque.languages.add(langID)
+			} else {
+//				var doActivity = superContext.createOwnedOperation(it.name + "_" + DO_ACTIVITY_NAME, null, null)
+//				var callCompletionEvent = ''''''
+//				if (!it.composite) {
+//					//callCompletionEvent = '''process«COMPLETION_EVENT»();'''
+//				}
+//				var opaque = superContext.createOpaqueBehavior(doActivity, callCompletionEvent)
+//				opaque.languages.add(langID)
+			}
+		]
+		stateIdEnum.createOwnedLiteral(STATE_MAX)
+		concurrency.createThreadBasedParallelism
+		
+		appendIncludeHeader('''
+		#define CHECKPOINT if («SYSTEM_STATE_ATTR» == statemachine::EVENT_PROCESSING) {return;}
+		#define «superContext.name»_THREAD_CREATE(thThread, str) «FORK_NAME»(&thThread, NULL, &«superContext.name»::«THREAD_FUNC_WRAPPER», &str);
+		#define «superContext.name.toUpperCase»_GET_CONTROL /*mutex synchronization to protect run-to-completion semantics*/ \
+				pthread_mutex_lock(&«RUN_TO_COMPLETION_MUTEX»); \
+				while («SYSTEM_STATE_ATTR» != statemachine::IDLE) {\
+					pthread_cond_wait(&«RUN_TO_COMPLETION_COND», &«RUN_TO_COMPLETION_MUTEX»);\
+				}
+		#define «superContext.name.toUpperCase»_RELEASE_CONTROL «SYSTEM_STATE_ATTR» = statemachine::IDLE; pthread_cond_signal(&«RUN_TO_COMPLETION_COND»); \
+						pthread_mutex_unlock(&«RUN_TO_COMPLETION_MUTEX»);''')
+		
+		var eventClass = smPack.getOwnedType("Event_t")
+		var copiedType = copier.copy(eventClass) as Type
+		var eventQueueClass = smPack.getOwnedType("EventPriorityQueue")
+		var copiedEventQueueType = copier.copy(eventQueueClass) as Type
+		superContext.createOwnedAttribute(EVENT_QUEUE, copiedEventQueueType)
+		StereotypeUtil.apply(superContext.createOwnedAttribute("currentEvent", copiedType), Ptr);
+		
+		
+		var eventDispatch = superContext.createOwnedOperation(EVENT_DISPATCH, null, null)
+		superContext.createOpaqueBehavior(eventDispatch, '''
+		bool popDeferred = false;
+		while(true) {
+			//run-to-completion: need to have a mutex here
+			currentEvent = «EVENT_QUEUE».pop(popDeferred);
+			dispatchFlag = true;
+			if (currentEvent != NULL) {
+				«superContext.name.toUpperCase»_GET_CONTROL
+				switch(currentEvent->eventID) {
+					«FOR e:eventMap.keySet.filter[!(it instanceof CallEvent)]»
+						case «e.eventID»:
+							«IF e instanceof SignalEvent»
+								«IF e.signal != null»
+									«CppGenUtils.cppQualifiedName(copier.getCopy(e.signal))» sig_«e.eventID»;
+									memcpy(&sig_«e.eventID», currentEvent->data, sizeof(«CppGenUtils.cppQualifiedName(copier.getCopy(e.signal))»));
+									process«e.eventName»(sig_«e.eventID»);
+								«ELSE»
+									process«e.eventName»();
+								«ENDIF»
+							«ELSE»
+							process«e.eventName»();
+							«ENDIF»
+							break;
+					«ENDFOR»
+						case COMPLETIONEVENT_ID: 
+							processCompletionEvent();
+						break;
+				}
+				if («SYSTEM_STATE_ATTR» == statemachine::EVENT_DEFERRED) {
+					«EVENT_QUEUE».saveDeferred(*currentEvent);
+				}
+				popDeferred = («SYSTEM_STATE_ATTR» != statemachine::EVENT_DEFERRED);
+				«SYSTEM_STATE_ATTR» = statemachine::IDLE;
+				«superContext.name.toUpperCase»_RELEASE_CONTROL
+			}
+		}''')
+		
+		concurrency.createConcurrencyForTransitions
+		superContext.createOwnedAttribute("dispatchThread", ptTypes.pthread)
+		superContext.createOwnedAttribute("dispatchStruct", concurrency.threadStructType)
+		
+		superContext.createOwnedAttribute(RUN_TO_COMPLETION_MUTEX, ptTypes.pthreadMutex)
+		superContext.createOwnedAttribute(RUN_TO_COMPLETION_COND, ptTypes.pthreadCond)
+		createChangeEvents
+	}
+	
+	
+	
+	def appendIncludeHeader(String appended) {
+		if (UMLUtil.getStereotypeApplication(superContext, Include) == null) {
+			StereotypeUtil.apply(superContext, Include)
+		}
+		var header = UMLUtil.getStereotypeApplication(superContext, Include).header
+		header = '''
+		«header»
+		«appended»'''
+		UMLUtil.getStereotypeApplication(superContext, Include).header = header
+	}
+	
+	
+	
+	private def createChangeEvents() {
+		new ChangeEventTransformation(this).createChangeEvents
+	}
+	
+	def String generateChangeState(State s) {
+		if (s.container == topRegion) {
+			return '''«ACTIVE_ROOT_STATE_ID» = «s.name.toUpperCase»_ID;'''
+		}
+		var rIndex = s.container.state.regions.indexOf(s.container)
+		return '''«STATE_ARRAY_ATTRIBUTE»[«s.container.state.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«rIndex»] = «s.name.toUpperCase»_ID;'''
+	}
+	
+	
+	
+	def String generateExitingSubStates(State parent, boolean exitParent) {
+		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
+		return '''
+		«IF parent.orthogonal»
+			//exiting concurrent state «parent.name»
+			«FOR r:parent.regions»
+				«concurrency.generateForkCall(r, false, "0")»
+			«ENDFOR»
+			«FOR r:parent.regions»
+				«concurrency.generateJoinCall(r, false)»
+			«ENDFOR»
+		«ELSEIF parent.composite»
+			«parent.regions.head.regionMethodExitName»();
+		«ELSE»
+		«ENDIF»
+		«IF exitParent»
+			«IF parent.doActivity.isBehaviorExist»
+			//signal to exit the doActivity of «parent.name»
+			«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», false);
+			«ENDIF»
+			«parent.generateDeactivateTimeEvent»
+			«IF parent.exit.isBehaviorExist»
+			//exit action of «parent.name»
+			«getFptrCall(pAttr, false, EXIT_NAME)»;
+			«ENDIF»
+		«ENDIF»'''
+	}
+	
+	public def generateActivateTimeEvent(State s) {
+		if (states2TimeEvents.get(s) == null) {
+			return ''''''
+		}
+		return '''
+		«FOR te:states2TimeEvents.get(s)»
+			«SET_FLAG»(«TE_INDEX»(«te.eventID»), «THREAD_FUNC_TIMEEVENT_TYPE», true);
+		«ENDFOR»'''
+	}
+	
+	def generateDeactivateTimeEvent(State s) {
+		if (states2TimeEvents.get(s) == null) {
+			return ''''''
+		}
+		return '''
+		«FOR te:states2TimeEvents.get(s)»
+			«SET_FLAG»(«TE_INDEX»(«te.eventID»), «THREAD_FUNC_TIMEEVENT_TYPE», false);
+		«ENDFOR»'''
+	}
+	
+	@Deprecated
+	def String generateExitingSubStatesWithTransition(State parent, boolean exitParent, Transition t) {
+		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
+		return '''
+		«IF parent.orthogonal»
+		«FOR r:parent.regions»
+			«FOR s:r.subvertices.filter(State).filter[!(it instanceof FinalState) && it.composite] SEPARATOR ' else '»
+				if («STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«parent.regions.indexOf(r)»] == &«STATE_ARRAY_ATTRIBUTE»[«s.name.toUpperCase»_ID]) {
+					«generateExitingSubStates(s, true)»
+				}
+			«ENDFOR»
+			if («STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«parent.regions.indexOf(r)»] != NULL) {
+				«FOR sub:r.subvertices.filter(State).filter[!(it instanceof FinalState)] SEPARATOR ' else '»
+				if («STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«parent.regions.indexOf(r)»] == &«STATE_ARRAY_ATTRIBUTE»[«sub.name.toUpperCase»_ID]) {
+					«SET_FLAG»(«sub.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», false);
+				}
+				«ENDFOR»
+				«getFptrCall(STATE_ARRAY_ATTRIBUTE+"["+parent.name.toUpperCase+"_ID]."+ACTIVE_SUB_STATES+"["+parent.regions.indexOf(r)+"]", true, EXIT_NAME)»;
+			}
+			«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«parent.regions.indexOf(r)»] = NULL;
+		«ENDFOR»
+		«ELSEIF parent.composite»
+			«FOR s:parent.regions.head.subvertices.filter(State).filter[!(it instanceof FinalState) && it.composite] SEPARATOR ' else '»
+				if («STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0] == &«STATE_ARRAY_ATTRIBUTE»[«s.name.toUpperCase»_ID]) {
+					«generateExitingSubStates(s, true)»
+				}
+			«ENDFOR»
+			if («STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0] != NULL) {
+				«FOR sub:parent.regions.head.subvertices.filter(State).filter[!(it instanceof FinalState)] SEPARATOR ' else '»
+				if («STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0] == &«STATE_ARRAY_ATTRIBUTE»[«sub.name.toUpperCase»_ID]) {
+					«SET_FLAG»(«sub.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», false);
+				}
+				«ENDFOR»
+				«getFptrCall(STATE_ARRAY_ATTRIBUTE+"["+parent.name.toUpperCase+"_ID]."+ACTIVE_SUB_STATES+"[0]", true, EXIT_NAME)»;
+			}
+			«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0] = NULL;
+		«ELSE»
+		«ENDIF»
+		«IF exitParent»
+		«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», false);
+		«getFptrCall(pAttr, false, EXIT_NAME)»;
+		«ENDIF»
+		«TransformationUtil.getTransitionEffect(t)»'''
+	}
+	
+	@Deprecated
+	def String generateEnteringSubStates(State parent, boolean enterParent) {
+		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
+		return '''
+		«IF enterParent»
+		«generateChangeState(parent)»
+		«getFptrCall(pAttr, false, ENTRY_NAME)»;
+		//start activity of «parent.name» by calling setFlag
+		«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
+		«ENDIF»
+		«IF parent.orthogonal»
+		«FOR r:parent.regions»
+			«IF TransformationUtil.findInitialState(r) != null»
+				«TransformationUtil.getInitialEffect(r)»
+				«generateEnteringSubStates(TransformationUtil.findInitialState(r), true)»
+			«ENDIF»
+		«ENDFOR»
+		«ELSEIF parent.composite»
+			«IF TransformationUtil.findInitialState(parent.regions.head) != null»
+				«TransformationUtil.getInitialEffect(parent.regions.head)»
+				«generateEnteringSubStates(TransformationUtil.findInitialState(parent.regions.head), true)»
+			«ENDIF»
+		«ELSE»
+		«ENDIF»'''
+	}
+	
+	@Deprecated
+	def String generateEnteringSubStates(State parent, State child, boolean enterParent, boolean gotoSubstate) {
+		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
+		return '''
+		«IF enterParent»
+		«generateChangeState(parent)»
+		«getFptrCall(pAttr, false, ENTRY_NAME)»;
+		//start activity of «parent.name» by calling setFlag
+		«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
+		«ENDIF»
+		«IF parent.orthogonal»
+		«FOR r:parent.regions»
+			«IF child.container == r»
+				«IF gotoSubstate»
+				«generateEnteringSubStates(child, true)»
+				«ENDIF»
+			«ELSEIF TransformationUtil.findInitialState(r) != null»
+				«TransformationUtil.getInitialEffect(r)»
+				«generateEnteringSubStates(TransformationUtil.findInitialState(r), true)»
+			«ENDIF»
+		«ENDFOR»
+		«ELSEIF parent.composite»
+			//«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0] = &«STATE_ARRAY_ATTRIBUTE»[«child.name.toUpperCase»_ID];
+			«generateEnteringSubStates(child, true)»
+		«ELSE»
+		«ENDIF»'''
+	}
+	
+	@Deprecated
+	def String generateEnteringTransitiveSubStates(State parent, State child) {
+		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
+		return '''
+		«generateChangeState(parent)»
+		«getFptrCall(pAttr, false, ENTRY_NAME)»;
+		//start activity of «parent.name» by calling setFlag
+		«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
+		«IF parent.orthogonal»
+		«FOR r:parent.regions»
+			«IF child.container == r»
+				«generateEnteringSubStates(child, true)»
+			«ELSEIF TransformationUtil.transitiveSubStates(r).contains(child)»
+				«var nextParent = r.subvertices.filter(State).filter[TransformationUtil.transitiveSubStates(it).contains(child)].head»
+				«generateEnteringTransitiveSubStates(nextParent, child)»
+			«ELSEIF TransformationUtil.findInitialState(r) != null»
+				«TransformationUtil.getInitialEffect(r)»
+				«generateEnteringSubStates(TransformationUtil.findInitialState(r), true)»
+			«ENDIF»
+		«ENDFOR»
+		«ELSEIF parent.composite»
+			«IF child.container.state == parent»
+				«generateEnteringSubStates(parent, child, false, false)»
+			«ELSE»
+				«var nextParent = parent.regions.head.subvertices.filter(State).filter[TransformationUtil.transitiveSubStates(it).contains(child)].head»
+				«generateEnteringTransitiveSubStates(nextParent, child)»
+			«ENDIF»
+		«ELSE»
+		«ENDIF»'''
+	}
+	
+	@Deprecated
+	def String generateEnteringTransitiveSubStates(State parent, State child, boolean enterParent, boolean gotoChild) {
+		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
+		return '''
+		«IF enterParent»
+		«generateChangeState(parent)»
+		«getFptrCall(pAttr, false, ENTRY_NAME)»;
+		//start activity of «parent.name» by calling setFlag
+		«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
+		«ENDIF»
+		«IF parent.orthogonal»
+		«FOR r:parent.regions»
+			«IF child.container == r»
+				«IF gotoChild»
+				«generateEnteringSubStates(child, true)»
+				«ENDIF»
+			«ELSEIF TransformationUtil.transitiveSubStates(r).contains(child)»
+				«var nextParent = r.subvertices.filter(State).filter[TransformationUtil.transitiveSubStates(it).contains(child)].head»
+				«generateEnteringTransitiveSubStates(nextParent, child)»
+			«ELSEIF TransformationUtil.findInitialState(r) != null»
+				«TransformationUtil.getInitialEffect(r)»
+				«generateEnteringSubStates(TransformationUtil.findInitialState(r), true)»
+			«ENDIF»
+		«ENDFOR»
+		«ELSEIF parent.composite»
+			«IF child.container.state == parent»
+				«IF gotoChild»
+				«generateEnteringSubStates(parent, child, enterParent, false)»
+				«ENDIF»
+			«ELSE»
+				«var nextParent = parent.regions.head.subvertices.filter(State).filter[TransformationUtil.transitiveSubStates(it).contains(child)].head»
+				«generateEnteringTransitiveSubStates(nextParent, child)»
+			«ENDIF»
+		«ELSE»
+		«ENDIF»'''
+	}
+		
+	
+	
+	def String hasSubstatesAcceptingEvent(State parent, List<State> states) {
+		var transitives = TransformationUtil.transitiveSubStates(parent)
+		var intersects = transitives.filter[states.contains(it)]
+		if (intersects.size > 0) {
+			return '!isProcessed && '
+		} else {
+			return ''''''
+		}
+	}
+	
+	
+	@Deprecated
+	def String generateEntryWithPseudo(State cp, Pseudostate p, List<Vertex> enters) {
+		var ret = ''''''
+		if (cp == p) {
+			ret = pseudostateGenerator.generatePseudo(p)
+		} else {
+			ret = generateEnteringSpecial(cp, p)
+		}
+	}
+	
+	private def transitiveSubStates(Region r) {
+		return TransformationUtil.transitiveSubStates(r)
+	}
+	
+	private def transitiveSubStates(State s) {
+		return TransformationUtil.transitiveSubStates(s)
+	}
+	
+	@Deprecated
+	def String generateEnteringSpecial(State parent, Pseudostate child) {
+		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
+		return '''
+		«generateChangeState(parent)»
+		«getFptrCall(pAttr, false, ENTRY_NAME)»;
+		//start activity of «parent.name» by calling setFlag
+		«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
+		«IF parent.orthogonal»
+		«FOR r:parent.regions»
+			«IF child.container == r»
+				«pseudostateGenerator.generatePseudo(child)»
+			«ELSEIF r.transitiveSubStates.contains(child)»
+				«var nextParent = r.subvertices.filter(State).filter[it.transitiveSubStates.contains(child)].head»
+				«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«parent.regions.indexOf(r)»] = «nextParent.name.toUpperCase»_ID;
+				«generateEnteringSpecial(nextParent, child)»
+			«ELSEIF TransformationUtil.findInitialState(r) != null»
+				«TransformationUtil.getInitialEffect(r)»
+				«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«parent.regions.indexOf(r)»] = «TransformationUtil.findInitialState(r).name.toUpperCase»_ID;
+				«generateEnteringSubStates(TransformationUtil.findInitialState(r), true)»
+			«ENDIF»
+		«ENDFOR»
+		«ELSEIF parent.composite»
+			«IF child.container.state == parent»
+				«pseudostateGenerator.generatePseudo(child)»
+			«ELSE»
+				«var nextParent = parent.regions.head.subvertices.filter(State).filter[it.transitiveSubStates.contains(child)].head»
+				«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0] = «nextParent.name.toUpperCase»_ID;
+				«generateEnteringSpecial(nextParent, child)»
+			«ENDIF»
+		«ELSE»
+		«ENDIF»'''
+	}
+	
+	@Deprecated
+	def String generateEnteringSpecial(State parent, Pseudostate child, Transition t) {
+		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
+		return '''
+		«generateChangeState(parent)»
+		«TransformationUtil.getTransitionEffect(t)»
+		«getFptrCall(pAttr, false, ENTRY_NAME)»;
+		//start activity of «parent.name» by calling setFlag
+		«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
+		
+		«IF parent.orthogonal»
+		«FOR r:parent.regions»
+			«IF child.container == r»
+				«pseudostateGenerator.generatePseudo(child)»
+			«ELSEIF r.transitiveSubStates.contains(child)»
+				«var nextParent = r.subvertices.filter(State).filter[it.transitiveSubStates.contains(child)].head»
+				«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«parent.regions.indexOf(r)»] = «nextParent.name.toUpperCase»_ID;
+				«generateEnteringSpecial(nextParent, child)»
+			«ELSEIF TransformationUtil.findInitialState(r) != null»
+				«TransformationUtil.getInitialEffect(r)»
+				«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«parent.regions.indexOf(r)»] = «TransformationUtil.findInitialState(r).name.toUpperCase»_ID;
+				«generateEnteringSubStates(TransformationUtil.findInitialState(r), true)»
+			«ENDIF»
+		«ENDFOR»
+		«ELSEIF parent.composite»
+			«IF child.container.state == parent»
+				«pseudostateGenerator.generatePseudo(child)»
+			«ELSE»
+				«var nextParent = parent.regions.head.subvertices.filter(State).filter[it.transitiveSubStates.contains(child)].head»
+				«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0] = «nextParent.name.toUpperCase»_ID;
+				«generateEnteringSpecial(nextParent, child)»
+			«ENDIF»
+		«ELSE»
+		«ENDIF»'''
+	}
+	
+	
+	
+	
+	def String generateCompletionCall(State state) {
+		var callCompletionEvent = ''''''
+		var composite = state.container.state
+		if (composite == null) {
+			callCompletionEvent = ''''''
+		} else {
+			callCompletionEvent = '''
+			if («FOR r:composite.regions SEPARATOR ' && '»(«STATE_ARRAY_ATTRIBUTE»[«composite.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«composite.regions.indexOf(r)»] == «STATE_MAX»)«ENDFOR») {
+				«EVENT_QUEUE».push(statemachine::PRIORITY_1, NULL, COMPLETIONEVENT_ID, statemachine::COMPLETION_EVENT, «composite.name.toUpperCase»_ID);
+			}'''
+		}
+		return callCompletionEvent
+	}
+	
+	def TransitionGraph calculateTransitionGraphs(State s, Transition t) {
+		var ret = new TransitionGraph
+		ret.P.add(t.target as Pseudostate)
+		ret.T.add(t)
+		ret.S.add(s)
+		var target = t.target as Pseudostate
+		if (target.kind == PseudostateKind.JOIN_LITERAL) {
+			var ins = target.incomings.filter[it.source.container.state == s.container.state].toList
+			ret.S.addAll(ins.map[it.source].filter(State))
+			ret.T.addAll(ins)
+		}
+		var nexts = t.target.findTrans
+		ret.T.addAll(nexts)
+		var H = nexts.map[t.target].filter(Pseudostate).filter[
+			it.kind == PseudostateKind.DEEP_HISTORY_LITERAL || it.kind == PseudostateKind.SHALLOW_HISTORY_LITERAL
+		]
+		ret.P.addAll(H)
+		ret.P.addAll(nexts.map[it.source].filter(Pseudostate))
+		ret.L.addAll(nexts.map[it.target].filter(State))
+		return ret
+	}
+	
+	def List<Transition> findTrans(Vertex v) {
+		var ret= new UniqueEList<Transition>
+		ret.addAll(v.outgoings)
+		for(out:v.outgoings) {
+			if (!(out.target instanceof State)) {
+				ret.addAll(out.target.findTrans)
+			}
+		}
+		return ret
+	}
+	
+	def List<State> getRootStates(List<State> states) {
+		val ret = new ArrayList<State>
+		ret.addAll(states.filter[it.container == topRegion])
+		return ret
+	}
+	
+	def State getRootState(State state) {
+		var ret = state
+		while (ret.container.state != null) {
+			ret = ret.container.state
+		}
+		return ret
+	}
+	
+	
+	def getRegionNumber(State child) {
+		if (child.container == topRegion) {
+			return 0
+		}
+		return child.container.state.regions.indexOf(child.container)
+	}
+	
+	@Deprecated
+	def String generateHierarchy(List<State> hie, List<State> ins, int mode, List<Transition> ts) {
+		var ret = ""
+		var tmpHie = new ArrayList<State>
+		tmpHie.addAll(hie)
+		if (tmpHie.size == 1) {
+			if (mode == 0) {
+				ret = '''
+				«FOR s:ins SEPARATOR ' else '»
+				if (!isProcessed && «STATE_ARRAY_ATTRIBUTE»[«tmpHie.head.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«s.regionNumber»] == «s.name.toUpperCase»_ID) {
+					«eventTransform.generateTransitionCode(s, ts.filter[it.source == s].head)»
+				}
+				«ENDFOR»
+				'''
+			} else {
+				ret = '''
+				if (isProcessed) {
+					«FOR s:ins SEPARATOR ' else '»
+					if («STATE_ARRAY_ATTRIBUTE»[«tmpHie.head.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«s.regionNumber»] == «s.name.toUpperCase»_ID) {
+						«eventTransform.generateTransitionCode(s, ts.filter[it.source == s].head)»
+					}
+					«ENDFOR»
+				}
+				'''
+			}
+			
+		} else if (tmpHie.size > 1) {
+			var head = tmpHie.head
+			tmpHie.remove(head)
+			ret = '''
+			if (!isProcessed && «STATE_ARRAY_ATTRIBUTE»[«head.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«tmpHie.head.regionNumber»] == «tmpHie.head.name.toUpperCase»_ID) {
+				«generateHierarchy(tmpHie, ins, mode, ts)»
+			}'''
+		} else {
+			ret = '''«FOR s:ins SEPARATOR ' else '»
+					«eventTransform.generateTransitionCode(s, ts.filter[it.source == s].head)»
+				«ENDFOR»'''
+		}
+		return ret
+	}
+	
+	//get transitive parent states
+	def List<State> getTransitiveParentStates(Vertex s) {
+		var ret = new ArrayList<State>
+		var parent = s.container.state
+		while(parent != null) {
+			ret.add(parent)
+			parent = parent.container.state
+		}
+		return ret
+	}
+	
+	def List<State> getStateHierarchy(State s) {
+		var ret = new ArrayList<State>
+		var parent = s.container.state
+		while(parent != null && parent.container != topRegion) {
+			ret.add(0, parent)
+			parent = parent.container.state
+		}
+		return ret
+	}
+	
+	def List<Entry<List<State>, Integer>> calculateAcceptingStates(State parent, List<State> acceptingStates) {
+		var transitiveSubstates = parent.transitiveSubStates
+		val retTmp = new ArrayList<State>
+		transitiveSubstates.forEach[
+			if (acceptingStates.contains(it)) {
+				retTmp.add(it)
+			}
+		]
+		
+		//0->sequential, 1->parallel
+		val List<Entry<List<State>, Integer>> ret = new ArrayList
+		//sorting the result, the first item is the deepest state
+		val Map<Integer, List<State>> map = new HashMap
+		retTmp.forEach[
+			var depth = it.calculateDepth
+			if (!map.containsKey(depth)) {
+				map.put(depth, new ArrayList)
+			}
+			map.get(depth).add(it)
+		]		
+		
+		var maxDepth = findMax(map.keySet.toList)
+		for(var i = 0; i <= maxDepth; i++) {
+			if (map.containsKey(i)) {
+				if (map.get(i).size == 1) {
+					var newList = new ArrayList<State>
+					newList.addAll(map.get(i))
+					var mapEntry = new HashMap<List<State>, Integer>
+					mapEntry.put(newList, 0)
+					ret.addAll(mapEntry.entrySet)
+				} else {
+					val Map<State, List<State>> m = new HashMap
+					for(s:map.get(i)) {
+						if (!m.containsKey(s.container.state)) {
+							m.put(s.container.state, new ArrayList)
+						}
+						m.get(s.container.state).add(s)
+					}
+					for(en:m.entrySet) {
+						var mapEntry = new HashMap<List<State>, Integer>
+						var newList = new ArrayList<State>
+						newList.addAll(en.value)
+						if (en.key.orthogonal) {
+							mapEntry.put(newList, 1)
+							ret.addAll(mapEntry.entrySet)
+						} else {
+							mapEntry.put(newList, 0)
+							ret.addAll(mapEntry.entrySet)
+						}
+					}
+				}
+			}
+		}
+		
+		return ret
+	}
+	
+	private def int findMax(List<Integer> l) {
+		var ret = l.head
+		for (i : l) {
+			if (i > ret) {
+				ret = i
+			}
+		}
+		return ret
+	}
+
+	def int calculateDepth(State s) {
+		if (s.container == topRegion) {
+			return 1
+		} else {
+			return 1 + s.container.state.calculateDepth
+		}
+	}
+	
+	def generateDelegation(State s, List<Transition> transitions) {
+		return '''
+		«IF checkTransitiveSubStatesAcceptEvent(s, transitions)»
+		«IF s.orthogonal»
+		«ELSE»
+		
+		«ENDIF»
+		«ENDIF»'''
+	}
+	
+	//check whether the substate of a parent state accepts the event
+	def checkSubStatesAcceptEvent(State parent, List<Transition> transitions) {
+		val substates = new ArrayList<State>
+		parent.regions.forEach[
+			substates.addAll(it.subvertices.filter(State))
+		]
+		var ret = false
+		for(t:transitions) {
+			if (!ret && substates.contains(t.source)) {
+				ret = true
+			}
+		}
+		return ret
+	}
+	
+	//check whether the transitive substates of a parent state accepts the event
+	def checkTransitiveSubStatesAcceptEvent(State parent, List<Transition> transitions) {
+		val substates = TransformationUtil.transitiveSubStates(parent)
+		var ret = false
+		for(t:transitions) {
+			if (!ret && substates.contains(t.source)) {
+				ret = true
+			}
+		}
+		return ret
+	}
+	
+	//create State_t struct
+	def createStateStruct() {
+		superContext.createOwnedOperation("entry_dft", null, null)
+		superContext.createOwnedOperation("exit_dft", null, null)
+		superContext.createOwnedOperation("doActivity_dft", null, null)
+		
+		//stateStruct = targetPack.createOwnedPrimitiveType(STATE_STRUCT_NAME)
+		stateStruct = superContext.createNestedClassifier(STATE_STRUCT_NAME, UMLPackage.Literals.PRIMITIVE_TYPE)
+		StereotypeUtil.apply(stateStruct, Typedef)
+		UMLUtil.getStereotypeApplication(stateStruct, Typedef).definition = '''
+		struct «STATE_STRUCT_NAME» {
+			//«MAX_NUMBER_ORTHOGONAL_REGIONS» is configured as the maximum number of orthogonal regions a composite states can have
+			unsigned int /*«STATE_ID_ENUM»*/ «PREVIOUS_STATES»[«MAX_NUMBER_ORTHOGONAL_REGIONS»]; //for history states
+			unsigned int /*«STATE_ID_ENUM»*/ «ACTIVE_SUB_STATES»[«MAX_NUMBER_ORTHOGONAL_REGIONS»];
+			void («superContext.name»::*entry)();
+			void («superContext.name»::*exit)();
+			void («superContext.name»::*doActivity)();
+			«STATE_STRUCT_NAME»() {
+				entry = &«superContext.name»::entry_dft;
+				exit = &«superContext.name»::exit_dft;
+				doActivity = &«superContext.name»::doActivity_dft;
+				for(int i = 0; i < «MAX_NUMBER_ORTHOGONAL_REGIONS»; i++) {
+					«PREVIOUS_STATES»[i] = «STATE_MAX»;
+					«ACTIVE_SUB_STATES»[i] = «STATE_MAX»;
+				}
+			}
+		} '''
+		stateStruct.createDependency(stateIdEnum)
+	}
+	
+	def getFptrCall(String attr, boolean isPointer, String fptrName) {
+		if (isPointer) {
+			return '''(this->*«attr»->«fptrName»)()'''
+		} 
+		return '''(this->*«attr».«fptrName»)()'''
+	}
+
+	private def Map<Event, List<Transition>> getAllEvents(Region region) {
+		val Map<Event, List<Transition>> ret = new HashMap
+		var subVertices = region.subvertices
+		var transitions = region.transitions
+
+		transitions.forEach [
+			for (trigger : it.triggers) {
+				if (trigger.event != null) {
+					if (!ret.containsKey(trigger.event)) {
+						ret.put(trigger.event, new ArrayList)
+					}
+					if (!ret.get(trigger.event).contains(it)) {
+						ret.get(trigger.event).add(it)
+					}
+				}
+			}
+		]
+
+		subVertices.filter(typeof(State)).forEach [
+			for (subRe : it.regions) {
+				var m = subRe.allEvents
+				for (e : m.entrySet) {
+					if (!ret.containsKey(e.key)) {
+						ret.put(e.key, e.value)
+					} else {
+						ret.get(e.key).addAll(e.value)
+					}
+				}
+
+			}
+		]
+
+		return ret
+	}
+
+	private def void getAllActionsTransitionsStates(Region region) {
+		if (!regions.contains(region)) {
+			regions.add(region)
+		}
+		transitions.addAll(region.transitions.filter[it.source != null && it.target != null])
+		
+		transitions.filter[!parallelTransitions.contains(it)].forEach[
+			if (it.source instanceof Pseudostate) {
+				if ((it.source as Pseudostate).kind == PseudostateKind.FORK_LITERAL && it.effect != null) {
+					parallelTransitions.add(it)
+				}  
+			}
+			
+			if (it.target instanceof Pseudostate) {
+				if ((it.target as Pseudostate).kind == PseudostateKind.JOIN_LITERAL && it.effect != null) {
+					parallelTransitions.add(it)
+				}
+			}
+		]
+		
+		for (s : region.subvertices) {
+			vertexes.add(s)
+			if (s instanceof State) {
+				if (!(s instanceof FinalState)) {
+					states.add(s)
+				}
+				
+				if (s.entry != null && s.entry instanceof OpaqueBehavior) {
+					actions.add(s.entry as OpaqueBehavior)
+				}
+
+				if (s.exit != null && s.exit instanceof OpaqueBehavior) {
+					actions.add(s.exit as OpaqueBehavior)
+				}
+
+				if (createDoActivity && s.doActivity != null && s.doActivity instanceof OpaqueBehavior) {
+					actions.add(s.doActivity as OpaqueBehavior)
+				}
+
+				s.regions.forEach [
+					it.getAllActionsTransitionsStates
+				]
+			}
+
+		}
+	}
+	
+	public List<Region> orthogonalRegions = new ArrayList
+	
+	private def createRegionMethods() {
+		//create macro for regions
+		//regions.remove(topRegion)
+		var macros = ''''''
+		for(var i = 0; i < regions.size; i++) {
+			macros = '''
+			«macros»
+			#define «regions.get(i).regionMacroName» («i»)'''
+			regions.get(i).createRegionMethod
+			createRegionMethodExit(regions.get(i))
+			
+			if (regions.get(i).state != null && regions.get(i).state.orthogonal) {
+				orthogonalRegions.add(regions.get(i))
+			}
+		}
+		
+		for(var i = 0; i < orthogonalRegions.size; i++) {
+			appendIncludeHeader('''
+			#define «orthogonalRegions.get(i).regionMacroId» («i»)''')
+		}
+		
+		if (!StereotypeUtil.isApplied(superContext, Include)) {
+			StereotypeUtil.apply(superContext, Include)
+		}
+		var header = UMLUtil.getStereotypeApplication(superContext, Include).header
+		UMLUtil.getStereotypeApplication(superContext, Include).header = '''
+		«header»
+		«macros»'''
+		
+	}
+	
+	def getRegionMacroId(Region r) {
+		return '''REGION_ID_«r.state.name.toUpperCase»_«r.name.toUpperCase»'''
+	}
+	
+	def getRegionMethodName(Region r) {
+		if (r == topRegion) {
+			return '''«r.stateMachine.name»_«r.name»_Enter'''
+		}
+		return '''«r.state.name»_«r.name»_Enter'''
+	}
+	
+	def getRegionMacroName(Region r) {
+		if (r == topRegion) {
+			return '''«r.stateMachine.name.toUpperCase»_«r.name.toUpperCase»'''
+		}
+		return '''«r.state.name.toUpperCase»_«r.name.toUpperCase»'''
+	}
+	
+	def getVertexMacroName(Vertex v) {
+		if (v.container == topRegion) {
+			return '''«topRegion.stateMachine.name.toUpperCase»_«v.container.name.toUpperCase»_«v.name.toUpperCase»'''
+		}
+		return '''«v.container.state.name.toUpperCase»_«v.container.name.toUpperCase»_«v.name.toUpperCase»'''
+	}
+	
+	def getInitialMacroName(Region r) {
+		if (r == topRegion) {
+			return '''«r.stateMachine.name.toUpperCase»_«r.name.toUpperCase»_DEFAULT'''
+		}
+		return '''«r.state.name.toUpperCase»_«r.name.toUpperCase»_DEFAULT'''
+	}
+	
+	private String paramName = "enter_mode"
+	
+	private def getSubVertexes(State state) {
+		val ret = new ArrayList<Vertex>
+		state.regions.forEach[
+			ret.addAll(it.subvertices)
+		]
+		return ret
+	}
+	
+	private def void createRegionMethod(Region r) {
+		var endVertexs = new ArrayList<Vertex>
+		
+		//state2TransSubVertices maps from a sub-state sub of r to its sub-vertices (of sub) which
+		// have incoming transitions outgoing from a vertex which is not a transitive sub-vertex of r 
+		var Map<State, List<Vertex>> state2TransSubVertices = new HashMap
+		//looking for vertexes having transitions incoming from vertexes which are not direct or indirect sub-vertex of r
+		for(v:r.subvertices) {
+			val incomings = v.incomings.filter[it.container != v.container || (it.source instanceof State && (it.source as State).subVertexes.contains(it.target))]
+			val sources = incomings.map[it.source]
+			if (sources.size > 0) {
+				if (!endVertexs.contains(v)) {
+					endVertexs.add(v)
+				}
+			}
+			
+			//looking for vertex
+			
+			if (v instanceof State) {
+				val subvertices = new ArrayList<Vertex>
+				v.regions.forEach[subvertices.addAll(it.allSubVertexes)]
+				for(subV:subvertices) {
+					var sourcesOfIncomings = subV.incomings.map[it.source]
+					
+					//sourcesOutSideOfR is a list of vertices having transitions targeting subV
+					var sourcesOutSideOfR = sourcesOfIncomings.filter[!subvertices.contains(it)]
+					if (sourcesOutSideOfR.size > 0) {
+						if (!state2TransSubVertices.containsKey(v)) {
+							state2TransSubVertices.put(v, new ArrayList)
+						}
+						state2TransSubVertices.get(v).add(subV)
+					}
+				}
+			}
+		}
+		var switchBody = ''''''
+		var body = ''''''
+		var macros = ''''''
+		//create macros for vertexes which are used to differentiate ways entering the region/state
+		if (TransformationUtil.firstPseudoState(r, PseudostateKind.INITIAL_LITERAL) != null) {
+			var initialP = TransformationUtil.firstPseudoState(r, PseudostateKind.INITIAL_LITERAL)
+			var initialState = initialP.outgoings.head.target as State
+			var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«initialState.name.toUpperCase»_ID]'''
+			macros = '''
+			«macros»
+			#define «r.initialMacroName» (0)'''
+			body = '''
+			«body»
+			case «r.initialMacroName»:
+				«TransformationUtil.getTransitionEffect(initialP.outgoings.head)»
+				«generateChangeState(initialState)»
+				
+				«IF initialState.entry.isBehaviorExist»
+				«getFptrCall(pAttr, false, ENTRY_NAME)»;
+				//starting the counters for time events
+				«ENDIF»
+				«generateActivateTimeEvent(initialState)»
+				
+				«IF initialState.doActivity.isBehaviorExist || initialState.hasTriggerlessTransition»
+				//start activity of «initialState.name» by calling setFlag
+				«SET_FLAG»(«initialState.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
+				«ENDIF»
+				«IF initialState.composite»
+					«IF initialState.orthogonal»
+					//TODO: fork region funtions
+					«FOR subRegion: initialState.regions»
+						//«subRegion.regionMethodName»(«subRegion.initialMacroName»);
+						«concurrency.generateForkCall(subRegion, true, subRegion.initialMacroName)»
+					«ENDFOR»
+					//TODO: join region functions
+					«FOR subRegion: initialState.regions»
+						//«subRegion.regionMethodName»(«subRegion.initialMacroName»);
+						«concurrency.generateJoinCall(subRegion, true)»
+					«ENDFOR»
+					«ELSE»
+						«initialState.regions.head.regionMethodName»(«initialState.regions.head.initialMacroName»);
+					«ENDIF»
+				«ENDIF»
+				//TODO: set systemState to EVENT_CONSUMED
+				break;'''
+		}
+		for(var i = 0; i < endVertexs.size; i++) {
+			macros = '''
+			«macros»
+			#define «endVertexs.get(i).vertexMacroName» («i + 1»)'''
+		}
+		if (UMLUtil.getStereotypeApplication(superContext, Include) == null) {
+			StereotypeUtil.apply(superContext, Include)
+		}
+		var header = UMLUtil.getStereotypeApplication(superContext, Include).header
+		UMLUtil.getStereotypeApplication(superContext, Include).header = '''
+		«header»
+		«macros»'''
+		
+		
+		var regionMethod = superContext.createOwnedOperation(r.regionMethodName, null, null)
+		regionMethod.createOwnedParameter(paramName, charType)
+		for(v:endVertexs) {
+			if (v instanceof State) {
+				var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«v.name.toUpperCase»_ID]'''
+				body = '''
+				«body»
+				case «v.vertexMacroName»:
+					«generateChangeState(v)»
+					«IF v.entry.isBehaviorExist»
+					«getFptrCall(pAttr, false, ENTRY_NAME)»;
+					«ENDIF»
+					//starting the counters for time events
+					«generateActivateTimeEvent(v)»
+					«IF v.doActivity.isBehaviorExist || v.hasTriggerlessTransition»
+					//start activity of «v.name» by calling setFlag
+					«SET_FLAG»(«v.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
+					«ENDIF»
+					«IF v.composite»
+						«IF v.orthogonal»
+						//TODO: fork region funtions
+						«FOR subRegion: v.regions»
+							//«subRegion.regionMethodName»(«subRegion.initialMacroName»);
+							«concurrency.generateForkCall(subRegion, true, subRegion.initialMacroName)»
+						«ENDFOR»
+						//TODO: join region functions
+						«FOR subRegion: v.regions»
+							//«subRegion.regionMethodName»(«subRegion.initialMacroName»);
+							«concurrency.generateJoinCall(subRegion, true)»
+						«ENDFOR»
+						«ELSE»
+							«v.regions.head.regionMethodName»(«v.regions.head.initialMacroName»);
+						«ENDIF»
+					«ENDIF»
+					//TODO: set systemState to EVENT_CONSUMED
+					break;'''
+			} else {
+				body = '''
+				«body»
+				case «v.vertexMacroName»: 
+					«pseudostateGenerator.generatePseudo(v as Pseudostate)»
+					//TODO: set systemState to EVENT_CONSUMED
+					break;'''
+			}
+		}
+		if (r != topRegion) {
+			for(e:state2TransSubVertices.entrySet) {
+				var state = e.key
+				for(transitiveSubVertex:e.value) {
+					body = '''
+					«body»
+					case «transitiveSubVertex.vertexMacroName»:
+						«generateEnteringOnSubVertex(state, transitiveSubVertex)»
+						break;'''
+				}
+			}
+		}
+		switchBody = '''
+		switch(«paramName») {
+			«body»
+		}'''
+		superContext.createOpaqueBehavior(regionMethod, switchBody)
+	}
+	
+	def generateEnteringOnSubVertex(State parent, Vertex subVertex) {
+		var pAttr = '''«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID]'''
+		return '''
+		«generateChangeState(parent)»
+		«IF parent.entry.isBehaviorExist»
+			«getFptrCall(pAttr, false, ENTRY_NAME)»;
+		«ENDIF»
+		//starting the counters for time events
+		«generateActivateTimeEvent(parent)»
+		«IF parent.doActivity.isBehaviorExist || parent.hasTriggerlessTransition»
+			//start activity of «parent.name» by calling setFlag
+			«SET_FLAG»(«parent.name.toUpperCase»_ID, «THREAD_FUNC_DOACTIVITY_TYPE», true);
+		«ENDIF»
+		«IF parent.composite && parent != subVertex»
+			«IF parent.orthogonal»
+				«var toJoinList = new ArrayList<Region>»
+				«FOR r:parent.regions»
+					«IF subVertex != null»
+						«IF subVertex.container == r»
+							«var b = toJoinList.add(r)»
+							//«getRegionMethodName(r)»(«subVertex.vertexMacroName»);
+							«concurrency.generateForkCall(r, true, subVertex.vertexMacroName)»
+						«ELSEIF r.allSubVertexes.contains(subVertex)»
+							«var b = toJoinList.add(r)»
+							//«getRegionMethodName(r)»(«subVertex.vertexMacroName»);
+							«concurrency.generateForkCall(r, true, subVertex.vertexMacroName)»
+						«ELSEIF TransformationUtil.findInitialState(r) != null»
+							«var b = toJoinList.add(r)»
+							//«getRegionMethodName(r)»(«r.initialMacroName»);
+							«concurrency.generateForkCall(r, true, r.initialMacroName)»
+						«ENDIF»
+					«ELSEIF subVertex != null && subVertex.container == null»
+						«IF subVertex.eContainer == parent»
+							«var b = toJoinList.add(r)»
+							«concurrency.generateForkCall(r, true, subVertex.vertexMacroName)»
+						«ELSE»
+							«var b = toJoinList.add(r)»
+							«concurrency.generateForkCall(r, true, subVertex.vertexMacroName)»
+						«ENDIF»
+					«ELSE»
+						«IF TransformationUtil.findInitialState(r) != null»
+							«var b = toJoinList.add(r)»
+							//«getRegionMethodName(r)»(«r.initialMacroName»);
+							«concurrency.generateForkCall(r, true, r.initialMacroName)»
+						«ENDIF»
+					«ENDIF»
+				«ENDFOR»
+				«FOR r:toJoinList»
+					«concurrency.generateJoinCall(r, true)»
+				«ENDFOR»
+			«ELSEIF parent.composite»
+				«IF subVertex != null»
+					«IF subVertex.container == null && subVertex.eContainer instanceof State»
+						«getRegionMethodName(parent.regions.head)»(«subVertex.vertexMacroName»);
+					«ELSEIF subVertex.container.state == parent»
+						«getRegionMethodName(parent.regions.head)»(«subVertex.vertexMacroName»);
+					«ELSE»
+						«var containingRegion = parent.regions.filter[it.allSubVertexes.contains(subVertex)].head»
+						«getRegionMethodName(containingRegion)»(«subVertex.vertexMacroName»);
+					«ENDIF»
+				«ELSE»
+					«getRegionMethodName(parent.regions.head)»(«parent.regions.head.initialMacroName»);
+				«ENDIF»
+			«ELSE»
+			«ENDIF»
+		«ELSEIF parent.composite && parent == subVertex»
+			«IF parent.orthogonal»
+				«var toJoinList = new ArrayList<Region>»
+				«FOR r:parent.regions»
+					«IF TransformationUtil.findInitialState(r) != null»
+						«var b = toJoinList.add(r)»
+						//«getRegionMethodName(r)»(«r.initialMacroName»);
+						«concurrency.generateForkCall(r, true, r.initialMacroName)»
+					«ENDIF»
+				«ENDFOR»
+				«FOR r:toJoinList»
+					«concurrency.generateJoinCall(r, true)»
+				«ENDFOR»
+			«ELSE»
+				«IF TransformationUtil.findInitialState(parent.regions.head) != null»
+					«getRegionMethodName(parent.regions.head)»(«parent.regions.head.initialMacroName»);
+				«ENDIF»
+			«ENDIF»
+		«ENDIF»'''
+		
+	}
+	
+	private def createRegionMethodExit(Region r) {
+		if (r.state == null || !r.state.composite) {
+			return
+		}
+		
+		//todo: save states for history
+		
+		var parent = r.state
+		var body = '''
+		//exiting region «r.name»
+		«var regionIndex = r.state.regions.indexOf(r)»
+		«FOR s:r.subvertices.filter(State).filter[!(it instanceof FinalState) && it.composite] SEPARATOR ' else '»
+			if («STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«regionIndex»] == «s.name.toUpperCase»_ID) {
+				«IF s.orthogonal»
+				«FOR subRegion:s.regions»
+					«concurrency.generateForkCall(subRegion, false, "0")»
+				«ENDFOR»
+				«FOR subRegion:s.regions»
+					«concurrency.generateJoinCall(subRegion, false)»
+				«ENDFOR»
+				«ELSE»
+					«getRegionMethodExitName(s.regions.head)»();
+				«ENDIF»
+			}
+		«ENDFOR»
+		if («STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«regionIndex»] != «STATE_MAX») {
+			//signal to exit the doActivity of sub-state of «parent.name»
+			«SET_FLAG»(«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0], «THREAD_FUNC_DOACTIVITY_TYPE», false);
+			«FOR sub:r.subvertices.filter(State) SEPARATOR ' else '»
+				«IF states2TimeEvents.get(sub) != null»
+				if («sub.name.toUpperCase»_ID == «STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«regionIndex»]) {
+					«sub.generateDeactivateTimeEvent»
+				}
+				«ENDIF»	
+			«ENDFOR»
+			//exit action of sub-state of «parent.name»
+			(this->*«STATE_ARRAY_ATTRIBUTE»[«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[0]].«EXIT_NAME»)();
+			«IF TransformationUtil.isSavehistory(topRegion, r)»
+				//save history region «r.name» of state «parent.name»
+				«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«PREVIOUS_STATES»[«regionIndex»] = «STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«regionIndex»];
+			«ENDIF»
+			//set active sub-state of «parent.name» to «STATE_MAX» meaning NULL
+			«STATE_ARRAY_ATTRIBUTE»[«parent.name.toUpperCase»_ID].«ACTIVE_SUB_STATES»[«regionIndex»] = «STATE_MAX»;
+		}'''
+		var exitOp = superContext.createOwnedOperation(r.regionMethodExitName, null, null)
+		superContext.createOpaqueBehavior(exitOp, body)
+	}
+	
+	
+	
+	private def getRegionMethodExitName(Region r) {
+		if (r == topRegion) {
+			return '''«r.stateMachine.name»_«r.name»_Exit'''
+		}
+		return '''«r.state.name»_«r.name»_Exit'''
+	}
+	
+	def List<Vertex> allSubVertexes(Region r) {
+		val ret = new ArrayList<Vertex>
+		ret.addAll(r.subvertices)
+		r.subvertices.filter(State).forEach[
+			it.regions.forEach[
+				ret.addAll(it.allSubVertexes)
+			]
+		] 
+		return ret
+	}
+	
+	private def List<Vertex> allSubVertexes(State s) {
+		val ret = new ArrayList<Vertex>
+		s.regions.forEach[
+			ret.addAll(it.allSubVertexes)
+		]
+		return ret
+	}
+
+	private def createOpaqueBehavior(Class container, Operation op) {
+		var opaque = op.methods.filter(typeof(OpaqueBehavior)).head
+		if (opaque == null) {
+			opaque = container.createClassifierBehavior(op.name, UMLPackage.Literals.OPAQUE_BEHAVIOR) as OpaqueBehavior
+			op.methods.add(opaque)
+			opaque.languages.add(langID)
+		}
+		return opaque
+	}
+
+	def createOpaqueBehavior(Class container, Operation op, String body) {
+		var opaque = container.createOpaqueBehavior(op)
+		if (opaque.bodies.size > 0) {
+			opaque.bodies.set(0, body)
+		} else {
+			opaque.languages.add(langID)
+			opaque.bodies.add(body)
+		}
+		return opaque
+	}
+
+	public def createDerivedOperation(Class clz, Operation source) {
+		var name = source.name
+		var derivedOp = clz.createOwnedOperation(name, null, null)
+		OperationUtils.syncOperation(source, derivedOp)
+		derivedOp.name = name
+		StereotypeUtil.apply(derivedOp, DerivedElement)
+		UMLUtil.getStereotypeApplication(derivedOp, DerivedElement).source = source
+		derivedOp.setVirtual
+		derivedOp
+
+	}
+	
+	public def copyParameters(Operation source, Operation target, boolean isCopyReturn) {
+		var name = target.name
+		OperationUtils.syncOperation(source, target)
+		if (!isCopyReturn) {
+			var ret = target.ownedParameters.filter[it.direction == ParameterDirectionKind.RETURN_LITERAL]
+			target.ownedParameters.removeAll(ret)
+		}
+		for(stt:target.stereotypeApplications) {
+			StereotypeUtil.applyApp(target, stt.class)
+		}
+		target.name = name
+	}
+
+	private def setVirtual(Operation op) {
+		StereotypeUtil.apply(op, Virtual)
+	}
+	
+	def getGuard(Transition t) {
+		return (t.guard.specification as OpaqueExpression).bodies.head
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/SMCodeGeneratorConstants.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/SMCodeGeneratorConstants.xtend
new file mode 100644
index 0000000..4dfe9f1
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/SMCodeGeneratorConstants.xtend
@@ -0,0 +1,127 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Van Cam Pham        <VanCam.PHAM@cea.fr>
+ *
+ *****************************************************************************/
+ 
+ package org.eclipse.papyrus.designer.transformation.library.statemachine
+
+class SMCodeGeneratorConstants {
+	public static String PROCESSFROM = "processFrom"
+	public static String PROCESSEVENT = "processEvent"
+	public static String ACTIVE_SUB_STATE = "activeSubState"
+	public static String PREVIOUS_SUB_STATE = "previouSubState"
+	public static String RESTORE_DEEP_HISTORY_FUNC_NAME = "restoreDeepHistory"
+	public static String RESTORE_SHALLOW_HISTORY_FUNC_NAME = "restoreShallowHistory"
+	public static String ON_ENTRY_ACTION_FUNC_NAME = "onEntryAction"
+	public static String ON_EXIT_ACTION_FUNC_NAME = "onExitAction"
+	public static String SET_INIDEFAULT_STATE_FUNC_NAME = "setInitDefaultState"
+	public static String SET_SHALLOW_HISTORY_DEFAULT_STATE_FUNC_NAME = "setShallowHistoryDefaultState"
+	public static String SET_DEEP_HISTORY_DEFAULT_STATE_FUNC_NAME = "setDeepHistoryDefaultState"
+	public static String CONTEXT = "context"
+	public static String ANCESTOR = "ancestor"
+	public static String ASSIGNMENT_OPERATOR = "operator="
+	public static String ORTHOGONAL_STATE_CLASS_NAME = "OrthogonalState"
+	public static String ENTRY_COMPOSITE_ON_HISTORY = "entryCompositeOnHistory"
+	public static String ENTRY_COMPOSITE_ON_PARTICULAR_SUBSTATE = "entryCompositeOnSubState"
+	public static String TIMED_STATE_INTERFACE_NAME = "TimedState"
+	public static String TIMER_CLASS_NAME = "Timer"
+	public static String TIMEOUT_NAME = "timeout"
+	public static String TIMEOUT_MILISECOND_NAME = "milisec"
+	public static String TIMED_STATE_ATTR_NAME = "timedState"
+	public static String START_THREAD_FUNC_NAME = "startThread"
+	public static String WAIT_THREAD_FUNC_NAME = "waitThread"
+	public static String START_INTERNAL_THREAD_NAME = "startInternalThread"
+	public static String INTERNAL_THREAD_ENTRY_NAME = "startInternalThreadEntry"
+	public static String PTHREAD_ATTR_NAME = "mThread"
+	public static String EVENT_POOL_NAME = "eventPool"
+	public static String TIMER_POOL_NAME = "timerPool"
+	public static String MAX_NUMER_EVENT = "50"
+	public static String MAX_NUMBER_TIME_EVENT = "50"
+	public static String MAX_NUMBER_EVENT_NAME = "MAX_EVENT"
+	public static String MAX_NUMBER_TIME_EVENT_NAME = "MAX_TIME_EVENT"
+	public static String NUMBER_EVENT_NAME = "numberEvent"
+	public static String NUMBER_TIME_EVENT_NAME = "numberTimeEvent"
+	public static String EVENT_READ_POS_NAME = "eventReadPos"
+	public static String TIME_EVENT_READ_POS_NAME = "timeEventReadPos"
+	public static String EVENT_WRITE_POS_NAME = "eventWritePos"
+	public static String TIME_EVENT_WRITE_POS_NAME = "timeEventWritePos"
+	public static String POP_EVENT = "popEvent"
+	public static String POP_TIME_EVENT = "popTimeEvent"
+	public static String PROCESSTIMEEVENT = "processTimeEvent"
+	public static String SIGNAL_EVENT_NAME = "signal_name"
+	public static String CALL_OPERATION_NAME = "operation_name"
+	public static String ENTRY_COMPOSITE_ON_POINT = "entryOn_"
+	public static String EXIT_COMPOSITE_ON_POINT = "exitOn_"
+	public static String TRANSITION_ON_EXP = "transitionOn_"
+	public static String ENTRY_ON_FORK = "entryOn_"
+	public static String DO_ACTIVITY_NAME = "doActivity"
+	public static String ON_ACTIVITY_THREAD = "onActivityThread"
+	public static String TRIGGERLESS_TRANSITION = "triggerlessTransition"
+	public static String ENTRY_NAME = "entry"
+	public static String EXIT_NAME = "exit"
+	public static String STATE_STRUCT_NAME = "State_t"
+
+	public static String ON_ACTIVITY_ACTION_NAME = "onActivityAction"
+	public static String ON_EXIT_ACTIVITY = "onExitActivity"
+	public static String cpp11ThreadAttributeName = "theThread"
+	public static String STATE_ARRAY_ATTRIBUTE = "states"
+	public static String ACTIVE_ROOT_STATE_ID = "activeStateID"
+	public static String STATE_MAX = "STATE_MAX"
+	public static String PREVIOUS_STATES = "previousStates"
+	public static String ACTIVE_SUB_STATES = "actives"
+	public static String COMPLETION_EVENT = "CompletionEvent"
+	public static String THREADS = "threads"
+	public static String THREADS_TIME_EVENT = "timeEventThreads"
+	public static String THREADS_CHANGE_EVENT = "changeEventThreads"
+	public static String FLAGS_ACTIVITY = "flags"
+	public static String FLAGS_TIME_EVENT = "timeEventFlags"
+	
+	public static String MUTEXES = "mutexes"
+	public static String MUTEXES_TIME_EVENT = "timeEventMutexes"
+	public static String CONDITIONS = "conds"
+	public static String CONDITIONS_TIME_EVENT = "timeEventConds"
+	public static String STRUCT_FOR_THREAD_SHORTN = "StructForThread_t"
+	public static String STRUCT_FOR_THREAD = "statemachine::StructForThread_t"
+	public static String THREAD_STRUCTS = "threadStructs"
+	public static String THREAD_STRUCTS_FOR_TIMEEVENT = "timeEventThreadStructs"
+	public static String THREAD_STRUCTS_FOR_CHANGEEVENT = "changeEventThreadStructs"
+	public static String THREAD_FUNC_WRAPPER = "thread_func_wrapper"
+	public static String FPT_POINTER_FOR_TABLE = "FptPointer"
+	public static String DO_ACTIVITY_TABLE = "doActivityTable"
+	public static String TIME_EVENT_TABLE = "timeEventTable"
+	public static String REGION_TABLE = "regionTable"
+	public static String PARALLEL_TRANSITION_TABLE = "transitionTable"
+	public static String REGION_TABLE_EXIT = "regionExitTable"
+	public static String REGION_FUNCTION_PTR = "RegionFunctionPtr_t"
+	public static String CHANGE_EVENT_TABLE = "changeEventTable"
+	public static String DO_CALL_ACTIVITY = "doCallActivity"
+	public static String SET_FLAG = "setFlag"
+	public static String STATE_ID_ENUM = "StateIDEnum"
+	public static String FORK_NAME = "pthread_create"
+	public static String JOIN_NAME = "pthread_join"
+	public static String EVENT_ID = "EventId_t"
+	public static String THREAD_FUNC_TIMEEVENT_TYPE = "statemachine::TF_TIME_EVENT"
+	public static String THREAD_FUNC_CHANGEEVENT_TYPE = "statemachine::TF_CHANGE_EVENT"
+	public static String THREAD_FUNC_DOACTIVITY_TYPE = "statemachine::TF_DO_ACTIVITY"
+	public static String THREAD_FUNC_ENTER_REGION_TYPE = "statemachine::TF_ENTER_REGION"
+	public static String THREAD_FUNC_EXIT_REGION_TYPE = "statemachine::TF_EXIT_REGION"
+	public static String THREAD_FUNC_TRANSITION_TYPE = "statemachine::TF_TRANSITION"
+	
+	public static String TIME_EVENT_LISTEN_FUNCTION = "listenTimeEvent"
+	public static String CHANGE_EVENT_LISTEN_FUNCTION = "listenChangeEvent"
+	public static String SYSTEM_STATE_ATTR = "systemState"
+	public static String EVENT_DISPATCH = "dispatchEvent"
+	public static String THREAD_FUNC_STATE_MACHINE_TYPE = "statemachine::TF_STATE_MACHINE_TYPE"
+	public static String EVENT_QUEUE = "eventQueue"
+	public static String RUN_TO_COMPLETION_MUTEX = "runToCompletionMutex"
+	public static String RUN_TO_COMPLETION_COND = "runToCompletionCond"
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/TimeEventTransformation.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/TimeEventTransformation.xtend
new file mode 100644
index 0000000..82b41ce
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/TimeEventTransformation.xtend
@@ -0,0 +1,102 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Van Cam Pham        <VanCam.PHAM@cea.fr>
+ *
+ *****************************************************************************/
+ 
+ package org.eclipse.papyrus.designer.transformation.library.statemachine
+
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
+import org.eclipse.uml2.uml.util.UMLUtil
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Array
+import static extension org.eclipse.papyrus.designer.transformation.library.statemachine.SMCodeGeneratorConstants.*
+
+class TimeEventTransformation {
+	protected extension CDefinitions cdefs;
+	private SM2ClassesTransformationCore core
+	PThreadTypes ptTypes
+	org.eclipse.uml2.uml.Class superContext
+	org.eclipse.uml2.uml.Package targetPack
+	new (SM2ClassesTransformationCore core) {
+		this.core = core
+		this.superContext = core.superContext
+		this.targetPack = core.targetPacket
+		this.ptTypes = core.ptTypes
+		this.cdefs = core.cdefs
+	}
+	
+	public def createTimeEvents() {
+		if (core.timeEvents.empty) {
+			return
+		}
+		core.appendIncludeHeader('''#include "time.h"
+		#include "sys/time.h"''')
+		var timeEventTable = superContext.createOwnedAttribute(TIME_EVENT_TABLE, core.fptr)
+		StereotypeUtil.apply(timeEventTable, Array)
+		UMLUtil.getStereotypeApplication(timeEventTable, Array).definition = '''[«core.timeEvents.size»]'''
+		
+		var threads = superContext.createOwnedAttribute(THREADS_TIME_EVENT, ptTypes.pthread)
+		StereotypeUtil.apply(threads, Array)
+		UMLUtil.getStereotypeApplication(threads, Array).definition = '''[«core.timeEvents.size»]'''
+		
+		var timeEventFlags = superContext.createOwnedAttribute(FLAGS_TIME_EVENT, core.boolType)
+		StereotypeUtil.apply(timeEventFlags, Array)
+		UMLUtil.getStereotypeApplication(timeEventFlags, Array).definition = '''[«core.timeEvents.size»]'''
+		
+		var timeEvnetConds = superContext.createOwnedAttribute(CONDITIONS_TIME_EVENT, ptTypes.pthreadCond)
+		StereotypeUtil.apply(timeEvnetConds, Array)
+		UMLUtil.getStereotypeApplication(timeEvnetConds, Array).definition = '''[«core.timeEvents.size»]'''
+		
+		var timeEventMutexes = superContext.createOwnedAttribute(MUTEXES_TIME_EVENT, ptTypes.pthreadMutex)
+		StereotypeUtil.apply(timeEventMutexes, Array)
+		UMLUtil.getStereotypeApplication(timeEventMutexes, Array).definition = '''[«core.timeEvents.size»]'''
+		
+		var threadStructs = superContext.createOwnedAttribute(THREAD_STRUCTS_FOR_TIMEEVENT, core.concurrency.threadStructType)
+		StereotypeUtil.apply(threadStructs, Array)
+		UMLUtil.getStereotypeApplication(threadStructs, Array).definition = '''[«core.timeEvents.size»]''' 
+		
+		//create timeEvent function sleep during an amount of time
+		var timeEventOp = superContext.createOwnedOperation(TIME_EVENT_LISTEN_FUNCTION, null, null)
+		timeEventOp.createOwnedParameter("id", core.intType)
+		timeEventOp.createOwnedParameter("duration", core.intType)
+		core.createOpaqueBehavior(superContext, timeEventOp, '''
+		struct timeval tv;
+		struct timespec ts;
+		int timedWaitResult;
+		while(true) {
+			pthread_mutex_lock(&«MUTEXES_TIME_EVENT»[id]);
+			while(!«FLAGS_TIME_EVENT»[id]) {
+				pthread_cond_wait(&«CONDITIONS_TIME_EVENT»[id], &«MUTEXES_TIME_EVENT»[id]);
+			}
+			
+			gettimeofday(&tv, NULL);
+			ts.tv_sec = time(NULL) + duration / 1000;
+			ts.tv_nsec = tv.tv_usec * 1000 + 1000 * 1000 * (duration % 1000);
+			ts.tv_sec += ts.tv_nsec / (1000 * 1000 * 1000);
+			ts.tv_nsec %= (1000 * 1000 * 1000);
+			
+			timedWaitResult = pthread_cond_timedwait(&«CONDITIONS_TIME_EVENT»[id], &«MUTEXES_TIME_EVENT»[id], &ts);
+			
+		  	bool commitEvent = false;
+		  	if (timedWaitResult != 0) {
+		  		//timeout
+		  		commitEvent = true;
+		  	}
+			«FLAGS_TIME_EVENT»[id] = false;
+			pthread_cond_signal(&«CONDITIONS_TIME_EVENT»[id]);
+			pthread_mutex_unlock(&«MUTEXES_TIME_EVENT»[id]);
+			if (commitEvent) {
+				//the state does not change, push time event to the queue
+				«EVENT_QUEUE».push(statemachine::PRIORITY_2, NULL, id, statemachine::TIME_EVENT, id);
+			}
+		}''')
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/TransformationUtil.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/TransformationUtil.xtend
new file mode 100644
index 0000000..2fde19f
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/TransformationUtil.xtend
@@ -0,0 +1,193 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Van Cam Pham        <VanCam.PHAM@cea.fr>
+ *
+ *****************************************************************************/
+ 
+ package org.eclipse.papyrus.designer.transformation.library.statemachine
+
+import java.util.Map
+import org.eclipse.uml2.uml.StateMachine
+import java.util.HashMap
+import org.eclipse.uml2.uml.Class
+import org.eclipse.uml2.uml.Pseudostate
+import org.eclipse.uml2.uml.Vertex
+import org.eclipse.uml2.uml.Region
+import org.eclipse.uml2.uml.PseudostateKind
+import java.util.List
+import org.eclipse.uml2.uml.State
+import java.util.ArrayList
+import org.eclipse.uml2.uml.OpaqueBehavior
+import org.eclipse.uml2.uml.Transition
+import org.eclipse.uml2.uml.FinalState
+import org.eclipse.uml2.uml.Event
+import org.eclipse.uml2.uml.Behavior
+
+class TransformationUtil {
+
+	static def getStateMachineClass(org.eclipse.uml2.uml.Package pack) {
+		val Map<Class, StateMachine> map = new HashMap
+		
+		pack.ownedElements.filter(typeof(Class)).forEach[
+			var behavior = it.ownedBehaviors.filter(typeof(StateMachine)).head
+			if (behavior != null) {
+				map.put(it, behavior)
+			}
+		]
+		
+		return map
+	}
+	
+	public static def Pseudostate firstPseudoState(Region region, PseudostateKind kind) {
+		for (Vertex vertex : region.getSubvertices()) {
+			if (vertex instanceof Pseudostate) {
+				var pseudoState = vertex as Pseudostate
+				if (pseudoState.getKind() == kind) {
+					return pseudoState;
+				}
+			}
+		}
+		return null;
+	}
+	
+	public static def List<State> findCompositeStatesInRegion(Vertex des1, Vertex des2) {
+		var ret = new ArrayList<State>
+		val path1 = new ArrayList<State>
+		if (des1 instanceof State) {
+			path1.add(des1)
+		}
+		var owner1 = des1.container.state
+		while(owner1 != null) {
+			path1.add(owner1)
+			owner1 = owner1.container.state
+		}
+
+		var owner2 = des2
+		while(owner2 != null && ret.empty) {
+			for(s:path1) {
+				if (s.container == owner2.container && owner2 instanceof State) {
+					ret.add(s)
+					ret.add(owner2 as State)
+				}
+			}
+			owner2 = owner2.container.state
+		}
+
+		return ret
+	}
+	
+	def static State findInitialState(Region r) {
+		var pseudoDefault = TransformationUtil.firstPseudoState(r, PseudostateKind.INITIAL_LITERAL)
+		if (pseudoDefault != null) {
+			return pseudoDefault.outgoings.head.target as State
+		}
+		return null
+	}
+	
+	def static String getInitialEffect(Region r) {
+		var pseudoDefault = TransformationUtil.firstPseudoState(r, PseudostateKind.INITIAL_LITERAL)
+		if (pseudoDefault != null) {
+			var t = pseudoDefault.outgoings.head
+			if (t.effect != null && t.effect instanceof OpaqueBehavior) {
+				return (t.effect as OpaqueBehavior).bodies.head
+			}
+		}
+		return "//no initial effect is defined"
+	}
+	
+	def static String getTransitionEffect(Transition t) {
+		if (t.effect != null && t.effect instanceof OpaqueBehavior) {
+			return (t.effect as OpaqueBehavior).bodies.head
+		}
+		return ''''''
+	}
+	
+	def static List<State> transitiveSubStates(State parent) {
+		val ret = new ArrayList<State>
+		if (parent.composite) {
+			for(r:parent.regions) {
+				ret.addAll(r.subvertices.filter(State))
+				r.subvertices.filter(State).forEach[
+					ret.addAll(it.transitiveSubStates)
+				]
+			}
+		}
+		return ret
+	}
+	
+	def static List<State> transitiveSubStates(Region parent) {
+		val ret = new ArrayList<State>
+		parent.subvertices.filter(State).filter[!(it instanceof FinalState)].forEach[
+			ret.add(it)
+			ret.addAll(it.transitiveSubStates)
+		]
+		return ret
+	}
+
+	/**
+	 * Return the name of an event (remove non-ASCII characters)
+	 */
+	public def static eventName(Event event) {
+		var name = ""
+		var repeat = false
+		for (c : event.name.toCharArray) {
+			if (Character.isAlphabetic(c) || Character.isDigit(c)) {
+				name += c
+				repeat = false;
+			}
+			else if (!repeat) {
+				name += "_";
+				repeat = true;
+			}
+		}
+		name
+	}
+
+	/**
+	 * Return the ID of an event
+	 */
+	public def static eventID(Event event) {
+		event.eventName.toUpperCase + "_ID"
+	}
+	
+	def static isSavehistory(Region topRegion, Region r) {
+		if (r.subvertices.filter(Pseudostate).filter[it.kind == PseudostateKind.SHALLOW_HISTORY_LITERAL].size > 0) {
+			return true
+		}
+		
+		return topRegion.isSaveDeepHistory(r)
+	}
+	
+	def static isBehaviorExist(Behavior b) {
+		var ret = false
+		if (b != null && b instanceof OpaqueBehavior) {
+			if (!(b as OpaqueBehavior).bodies.head.trim.empty) {
+				ret = true
+			}
+		}
+		return ret
+	}
+	
+	def static hasTriggerlessTransition(State s) {
+		return s.outgoings.filter[it.triggers.map[it.event].empty].size > 0
+	}
+	
+	def static boolean isSaveDeepHistory(Region topRegion, Region r) {
+		if (r.subvertices.filter(Pseudostate).filter[it.kind == PseudostateKind.DEEP_HISTORY_LITERAL].size > 0) {
+			return true
+		}
+		if (r != topRegion) {
+			var nextRegion = r.state.container
+			return topRegion.isSaveDeepHistory(nextRegion)
+		}		
+		return false
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/TransitionGraph.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/TransitionGraph.xtend
new file mode 100644
index 0000000..f8980c2
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/statemachine/TransitionGraph.xtend
@@ -0,0 +1,28 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Van Cam Pham        <VanCam.PHAM@cea.fr>
+ *
+ *****************************************************************************/
+ 
+ package org.eclipse.papyrus.designer.transformation.library.statemachine
+
+import org.eclipse.uml2.uml.State
+import java.util.List
+import org.eclipse.uml2.uml.Pseudostate
+import org.eclipse.uml2.uml.Transition
+import org.eclipse.emf.common.util.UniqueEList
+
+class TransitionGraph {
+	public List<State> S = new UniqueEList
+	public List<State> L = new UniqueEList
+	public List<Pseudostate> P = new UniqueEList<Pseudostate>
+	public List<Transition> T = new UniqueEList
+}
\ No newline at end of file
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/AbstractBootLoaderGen.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/AbstractBootLoaderGen.java
new file mode 100644
index 0000000..efda397
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/AbstractBootLoaderGen.java
@@ -0,0 +1,516 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.library.transformations;
+
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Stack;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.InitPrecedence;
+import org.eclipse.papyrus.designer.deployment.tools.AllocUtils;
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoCDP;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.designer.transformation.library.Messages;
+import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InterfaceRealization;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * The task of the boot-loader is twofold: create the instances of all
+ * implementations (non-recursive).
+ * - create Connections: what should be done?
+ *
+ * TODO: factor out common code (TemplateInstantiation mechanism & createConnections below)
+ * Split between C++ specific and C++ independent aspects
+ */
+abstract public class AbstractBootLoaderGen implements IM2MTrafoCDP {
+
+	protected static final String SYSINTERFACES_ISTART = "sysinterfaces::IStart"; //$NON-NLS-1$
+
+	protected static final String INIT_OP = "init"; //$NON-NLS-1$
+
+	protected static final String I_LIFE_CYCLE = "ILifeCycle"; //$NON-NLS-1$
+
+	protected static final String EMPTYSTR = ""; //$NON-NLS-1$
+
+	protected static final String NODE_INFO = "NodeInfo"; //$NON-NLS-1$
+
+	protected static final String NL = "\n"; //$NON-NLS-1$
+
+	protected static final String EOL = ";\n"; //$NON-NLS-1$
+
+	/**
+	 * language specific initialization code
+	 */
+	public abstract void languageInit();
+	
+	/**
+	 * language specific activation
+	 * @param activationKeys set of keys 
+	 * @return
+	 */
+	public abstract String languageActivation(Class[] activationKeys);
+	
+	public abstract String languageDeactivation(Class[] activationKeys);
+
+	public abstract String languageDefaultExecCode();
+
+	public abstract String languageCreateInstance(InstanceSpecification is, Class implementation);
+	
+	public abstract String languageCreateConn(String varName);
+
+	public abstract String languageRunStart(String varName, boolean useOO);
+		
+	public abstract String languageAssignRef(String accessName, String referenceVarName);
+	 
+	/**
+	 * Create a new boot-loader in a specific package
+	 * (which represents a node of the system).
+	 *
+	 * @param copier a lazy copier
+	 * @param nodeIndex the index of the node
+	 * @param numberOfNodes the number of nodes
+	 * @throws TransformationException
+	 */
+	public void init(LazyCopier copier, int nodeIndex, int numberOfNodes)
+			throws TransformationException {
+
+		// m_bootLoader = TransformationContext.current.modelRoot.createOwnedClass(BOOTLOADER_NAME, false);
+		outputSizeof = false;
+		m_copier = copier;
+
+		m_initCode = EMPTYSTR;
+		m_initCodeRun = EMPTYSTR;
+		m_activation = new HashMap<Class, EList<String>>();
+		m_initCodeCConnections = EMPTYSTR;
+		m_initCodeCConfig = EMPTYSTR;
+
+		// indexMap = new HashMap<String, Integer>();
+	}
+
+	/**
+	 * Return the path from the main instance towards a sub-instance using the proper dereference
+	 * operators (only relevant in case of C++)
+	 *
+	 * @param slotPath
+	 * @param instance
+	 * @param accessName
+	 *            return the name to access the feature. Returns access path to instance, not
+	 *            the name of the variable for this instance (if instantiated by bootloader)
+	 * @return
+	 */
+	public String getPath(Stack<Slot> slotPath, InstanceSpecification instance, boolean accessName) {
+		if (slotPath.size() > 0) {
+			// start with first instance
+			String path = slotPath.get(0).getOwningInstance().getName();
+			boolean previousInstantiatedByBL = false;
+			for (Slot pathElement : slotPath) {
+				if (pathElement != null) {
+					if (previousInstantiatedByBL && accessName) {
+						// If an instance is instantiated by the bootloader, it is only referenced via its type in the
+						// owning composite. Thus, configuration (and activation calls) might fail as the type might not
+						// have these configuration properties or operations.
+						// Therefore, configuration and initial calls use
+						// - the path, if instantiated by the composite
+						// - the variable name, if done by the bootloader
+						path = ElementUtils.varName(path); // use variable name instead.
+					}
+					path += "." + pathElement.getDefiningFeature().getName(); //$NON-NLS-1$
+					previousInstantiatedByBL = instantiateViaBootloader(pathElement.getDefiningFeature());
+				}
+			}
+			if (previousInstantiatedByBL && !accessName) {
+				// name of the variable for this expression instantiated by the bootloader
+				path = ElementUtils.varName(path);
+			}
+			return path;
+		}
+		else {
+			return instance.getName(); // instance has no path via slots, it is a top level instance
+		}
+	}
+
+	/**
+	 * Check whether the passed implementation has an unconnected start port.
+	 * This information is required, since only unconnected start ports are automatically called by the
+	 * bootloader, in particular we want to avoid calling a start port of an executor (which is connected)
+	 * and its container.
+	 *
+	 * @param implementation
+	 * @param containerSlot
+	 * @return
+	 */
+	public boolean hasUnconnectedStartRoutine(LazyCopier copier, Class implementation, Slot containerSlot) {
+		Port startPort = AllocUtils.getStartPort(implementation);
+		if (startPort != null) {
+			return !isConnected(copier, containerSlot, startPort);
+		}
+		return false;
+	}
+	
+	public boolean implementsIStart(Class implementation) {
+		Port startPort = AllocUtils.getStartPort(implementation);
+		if (startPort == null) {
+			// OO case
+			for (InterfaceRealization ir : implementation.getInterfaceRealizations()) {
+				if (ir.getContract().getQualifiedName().equals(SYSINTERFACES_ISTART)) {
+					return true;
+				}
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * Check, if the passed implementation has an unconnected life-cycle interface (activate/deactivate).
+	 * This information is required, since only unconnected life cycle ports are automatically called by the
+	 * bootloader, in particular we want to avoid calling a life cycle port of an executor (which is connected)
+	 * and its container.
+	 *
+	 * @param implementation
+	 * @param name
+	 * @return
+	 */
+	public static boolean hasUnconnectedLifeCycle(LazyCopier copy, Class implementation, Slot containerSlot) {
+		if (implementation != null) {
+			Element lcPortElem = ElementUtils.getNamedElementFromList(implementation.getAllAttributes(), "lc"); //$NON-NLS-1$
+			if (lcPortElem instanceof Port) {
+				Port lcPort = (Port) lcPortElem;
+				// check, if port typed with ILifeCycle interface
+				if (lcPort.getType().getName().equals(I_LIFE_CYCLE)) {
+					return !isConnected(copy, containerSlot, lcPort);
+				}
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * The check verifies whether the passed port is connected within
+	 * the context of the composite represented by the passed slot
+	 *
+	 * @param containerSlot
+	 *            a slot within an instance that represents a composite class
+	 * @Param a port that is checked for being connected
+	 * @return true, if connected
+	 */
+	private static boolean isConnected(LazyCopier copier, Slot containerSlot, Port port) {
+		if (containerSlot != null) {
+			StructuralFeature sf = containerSlot.getDefiningFeature();
+			if (sf instanceof Property) {
+				Property part = (Property) sf;
+				Class composite = part.getClass_();
+				for (Connector connector : composite.getOwnedConnectors()) {
+					// must assure same connector end connects part & port
+					ConnectorEnd end = ConnectorUtil.connEndForPart(connector, part);
+					if ((end != null) && (end.getRole() == port)) {
+						return true;
+					}
+				}
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * Add the configuration code for an instance
+	 * 
+	 * @param slotPath
+	 * @param instance
+	 * @throws TransformationException
+	 */
+	public void instanceConfig(Stack<Slot> slotPath, InstanceSpecification instance) throws TransformationException {
+		Slot slot = slotPath.peek();
+		// String varName = getPath(slotPath, instance, false);
+		StructuralFeature sf = slot.getDefiningFeature();
+		if (sf == null) {
+			throw new TransformationException(String.format("A slot for instance %s has no defining feature", instance.getName())); //$NON-NLS-1$
+		}
+
+		String varName = instance.getName() + "." + sf.getName(); //$NON-NLS-1$
+		for (ValueSpecification value : slot.getValues()) {
+
+			// only set value, if not null
+			if (value.stringValue() != null) {
+				m_initCodeCConfig += varName + " = " + value.stringValue() + EOL; //$NON-NLS-1$
+			}
+		}
+	}
+
+	/**
+	 * add the initialize operation. Must be called after a set of addInstance invocations
+	 * @param language programming language to use (in the opaque behavior creation)
+	 */
+	public void addInit(String language) {
+		Operation initOp = m_bootLoader.getOwnedOperation(INIT_OP, null, null);
+
+		OpaqueBehavior initBehavior = (OpaqueBehavior)
+				m_bootLoader.createOwnedBehavior(initOp.getName(), UMLPackage.eINSTANCE.getOpaqueBehavior());
+		initOp.getMethods().add(initBehavior);
+
+		String code = m_initCode;
+		if (m_initCodeCConfig.length() > 0) {
+			code += m_initCodeCConfig;
+		}
+		if (m_initCodeCConnections.length() > 0) {
+			code += m_initCodeCConnections;
+		}
+		Comparator<Class> comparator = new Comparator<Class>() {
+
+			@Override
+			public int compare(Class clazz1, Class clazz2) {
+
+				InitPrecedence precedenceC1 = UMLUtil.getStereotypeApplication(clazz1, InitPrecedence.class);
+				InitPrecedence precedenceC2 = UMLUtil.getStereotypeApplication(clazz2, InitPrecedence.class);
+				if (precedenceC1 != null) {
+					// need to use named comparison instead of precedenceC1.getInvokeAfter ().contains (clazz2)
+					// since class referenced by stereotype attribute still points to element in source model
+					if (ElementUtils.getNamedElementFromList(precedenceC1.getInvokeAfter(), clazz2.getName()) != null) {
+						return 1;
+					}
+					else if (ElementUtils.getNamedElementFromList(precedenceC1.getInvokeBefore(), clazz2.getName()) != null) {
+						return -1;
+					}
+				}
+				else if (precedenceC2 != null) {
+					if (ElementUtils.getNamedElementFromList(precedenceC2.getInvokeAfter(), clazz1.getName()) != null) {
+						return -1;
+					}
+					else if (ElementUtils.getNamedElementFromList(precedenceC2.getInvokeBefore(), clazz1.getName()) != null) {
+						return 1;
+					}
+				}
+				// singletons have precedence over "normal" classes
+				boolean ci1IsSingleton = DepUtils.isSingleton(clazz1);
+				boolean ci2IsSingleton = DepUtils.isSingleton(clazz2);
+				if (ci1IsSingleton) {
+					if (!ci2IsSingleton) {
+						// not both are singletons
+						return -1;
+					}
+				}
+				else if (ci2IsSingleton) {
+					return 1;
+				}
+				return 0;
+			}
+		};
+		Class[] activationKeys = m_activation.keySet().toArray(new Class[0]);
+
+		if (activationKeys.length > 0) {
+			Arrays.sort(activationKeys, comparator);
+			code += languageActivation(activationKeys);
+		}
+		
+		if (m_initCodeRun != null) {
+			code+= m_initCodeRun;
+		}
+		else {
+			code += languageDefaultExecCode();
+		}
+		
+		if (activationKeys.length > 0) {
+			code += languageDeactivation(activationKeys);
+		}
+
+		initBehavior.getLanguages().add(language);
+		initBehavior.getBodies().add(code);
+	}
+
+	/**
+	 * Normally, a composite instantiates its children. However, we want to enable the possibility
+	 * to type a part in a composite with an abstract class and choose the concrete implementation
+	 * in the moment of the deployment. In this case, the bootloader needs to perform the instantiation. 
+	 * @param structuralFeature a structural feature in a composition (typically an attribute)
+	 * @return true, if the boot loader should instantiate the associated component.
+	 */
+	protected boolean instantiateViaBootloader(StructuralFeature structuralFeature) {
+		if (structuralFeature.getType() instanceof Classifier) {
+			return ((Classifier) structuralFeature.getType()).isAbstract();
+		}
+		// should not happen (all UML types are classifiers)
+		return false;
+	}
+
+	public Class getUML() {
+		return m_bootLoader;
+	}
+
+	protected Class m_bootLoader;
+
+	/**
+	 * Initialization code, in particular assignment of part properties within composites
+	 */
+	protected String m_initCode;
+
+	/**
+	 * Init code for create connections calls in composites with at least one assembly
+	 * connector
+	 */
+	protected String m_initCodeCConfig;
+
+	/**
+	 * Init code for create connections calls in composites with at least one assembly
+	 * connector
+	 */
+	protected String m_initCodeCConnections;
+
+	/**
+	 * Init code for blocking "run" calls (related to CStart system component)
+	 */
+	protected String m_initCodeRun;
+
+	/**
+	 * Map containing activations/de-activations
+	 */
+	protected Map<Class, EList<String>> m_activation;
+
+	protected boolean outputSizeof;
+
+	/**
+	 * copier variable (instances still point to non-copied classes)
+	 */
+	protected LazyCopier m_copier;
+
+	public Property addInstance(Stack<Slot> slotPath, InstanceSpecification instance, Class implementation)
+			throws TransformationException
+	{
+		// TODO: comments not clear. seems unnecessary complex. Problem in general is that access to
+		// shared instances needs to be configured.
+		// It should always be possible to configure this instance via a path w/o sharing.
+		String accessName = getPath(slotPath, instance, true);
+		final String varName = getPath(slotPath, instance, false);
+
+		Property implemPart = null;
+
+		// containing instance not null (=> neither main instance nor singleton)
+		Slot containerSlot = null;
+		if (slotPath.size() > 0) {
+			containerSlot = slotPath.peek();
+
+			// initialize part/property in containing instance. The containing instance itself is accessed
+			// via the naming of the associated instance, the part itself via the name of the defining feature.
+			if (DepUtils.isShared(containerSlot)) {
+				// we need to initialize the property (a reference) with the given instance
+				Stack<Slot> referencePath = DepUtils.getAccessPath(instance);
+				final String referenceVarName = getPath(referencePath, instance, false);
+
+				// add code for initialization
+				m_initCode += languageAssignRef(accessName, referenceVarName);
+						
+				// is a reference which should not be called via activation & start
+				// return now and skip code below
+				return implemPart;
+			}
+			else if (instantiateViaBootloader(containerSlot.getDefiningFeature())) {
+				// let bootloader instantiate
+				implemPart = m_bootLoader.createOwnedAttribute(/* "i_" + */varName, implementation);
+				// add code for initialization (TODO: specific to C++!)
+				m_initCode += accessName + " = &" + varName + EOL; //$NON-NLS-1$
+				implemPart.setIsComposite(true);
+			}
+		}
+		else {
+			// top level instance => bootloader instantiates, create attribute
+			implemPart = m_bootLoader.createOwnedAttribute(/* "i_" + */varName, implementation);
+			implemPart.setIsComposite(true);
+			// depending on the programming language, the created attribute is a reference and additional
+			// code is required to create the instance
+			m_initCode += languageCreateInstance(instance, implementation);
+		}
+		if (outputSizeof) {
+			// TODO - specific for C++
+			m_initCode += "cout << \"sizeof " + implementation.getName() + ": \" << sizeof (" + varName + ") << endl;" + EOL; //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
+		}
+
+		// Need to check whether implementation is an executor which is encapsulated in a container. In this case, only
+		// the method of the container and not the method of the executor (which owns the same port) maybe called.
+		// Currently, this check is based on the use of "executor" as reserved part name (validation checks that the
+		// user does not use this name for application components)
+		boolean unconnectedStart = hasUnconnectedStartRoutine(m_copier, implementation, containerSlot);
+		boolean implementsIStart = implementsIStart(implementation);
+		if (unconnectedStart || implementsIStart) {
+			// check if already assigned earlier
+			if (m_initCodeRun.equals(EMPTYSTR)) {
+				// call start's run method
+				// TODO: Need path that uses the right dereference operator ("->" or ".")
+				m_initCodeRun = languageRunStart(varName, implementsIStart);
+			} else {
+				throw new TransformationException(String.format(
+						Messages.BootLoaderGen_AtLeastOneBlockingCall,
+						varName, m_initCodeRun));
+			}
+		}
+		if (hasUnconnectedLifeCycle(m_copier, implementation, containerSlot)) {
+			// precedence is checked below (when code is actually produced)
+			// multiple varNames might share the same implementation. Put a list of variable names into the table
+			EList<String> varNameList = m_activation.get(implementation);
+			if (varNameList == null) {
+				varNameList = new BasicEList<String>();
+			}
+			varNameList.add(varName + "."); //$NON-NLS-1$
+			m_activation.put(implementation, varNameList);
+		}
+
+		// check, if implementation contains a composite with assembly connectors
+		for (Connector connector : implementation.getOwnedConnectors()) {
+			if (ConnectorUtil.isAssembly(connector)) {
+				m_initCodeCConnections += languageCreateConn(varName);
+				break;
+			}
+		}
+
+		return implemPart;
+	}
+	
+	public void addInstance(InstanceSpecification is, Stack<Slot> slotPath) throws TransformationException {
+		Classifier implementation = DepUtils.getClassifier(is);
+		if (implementation instanceof Class) {
+			addInstance(slotPath, is, (Class) implementation);
+		}
+		for (Slot slot : is.getSlots()) {
+			InstanceSpecification subIS = DepUtils.getInstance(slot);
+			slotPath.push(slot);
+			if (subIS != null) {
+				addInstance(subIS, slotPath);
+			}
+			else {
+				instanceConfig(slotPath, is);
+			}
+			slotPath.pop();	
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/AddMethodInterceptors.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/AddMethodInterceptors.java
new file mode 100644
index 0000000..ca9dd33
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/AddMethodInterceptors.java
@@ -0,0 +1,240 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.library.transformations;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.papyrus.designer.deployment.tools.ConfigUtils;
+import org.eclipse.papyrus.designer.deployment.tools.DepCreation;
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.StUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoElem;
+import org.eclipse.papyrus.designer.transformation.core.templates.TextTemplateBinding;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.designer.transformation.core.transformations.TransformationContext;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.profile.standard.Create;
+import org.eclipse.uml2.uml.profile.standard.Destroy;
+
+/**
+ * A model-2-model transformation that merges a class with another.
+ * different cases: (1) merge only
+ * (2) some methods in the template intercept all operations of the other. This is required for instance for the state machine.
+ * This class focuses on the interception utility
+ * TODO: complete and test M2M transformation
+ */
+public class AddMethodInterceptors implements IM2MTrafoElem {
+
+	private static final String XTEND_CPP_UTILS_CPP_CALL = "!template CppUtils.cppCall"; //$NON-NLS-1$
+
+	public final String origOpPrefix = "orig_"; //$NON-NLS-1$
+
+	LazyCopier copier;
+	
+	Package tmCDP;
+	
+	Class tmClass;
+	
+	/**
+	 * Constructor
+	 *
+	 * @param copier
+	 *            copier from source to target model
+	 * @param tmCDP
+	 *            deployment plan within target model
+	 */
+	public AddMethodInterceptors(LazyCopier copier, Package tmCDP) {
+		this.copier = copier;
+		this.tmCDP = tmCDP;
+		interceptionOpMap = new HashMap<Operation, Operation>();
+	}
+
+	/**
+	 * original operation => operation gets interception prefix
+	 *
+	 * Objectives: existing call operations call interception operation. Existing operations include CallOperationActions as well as calls within
+	 * opaque behavior
+	 * This is assured by keeping same model reference for the operation, but associating a new interception behavior, existing behavior will be
+	 * associated
+	 * with a new renamed operation
+	 *
+	 * @param operation
+	 */
+	protected Operation createInterceptionOperation(Operation operation) throws TransformationException {
+		// create copy of operation
+		Operation copiedOperation = EcoreUtil.copy(operation);
+		tmClass.getOwnedOperations().add(copiedOperation);
+		StUtils.copyStereotypes(operation, copiedOperation);
+
+		copiedOperation.setName(origOpPrefix + operation.getName());
+
+		// create interception code
+		OpaqueBehavior b = (OpaqueBehavior) tmClass.createOwnedBehavior(operation.getName(), UMLPackage.eINSTANCE.getOpaqueBehavior());
+		// TODO: solution is specific to C++ (and creates implicit dependency to modellibs.core which defines the C++ utils class)
+		String body = TextTemplateBinding.bind(XTEND_CPP_UTILS_CPP_CALL, copiedOperation);
+		body += ";";
+		b.getLanguages().add("C/C++"); //$NON-NLS-1$
+		b.getBodies().add(body);
+		// copy existing methods into new operation, copy method list,
+		// since adding the method to copied operation will remove these from original operation)
+		EList<Behavior> methods = new BasicEList<Behavior>(operation.getMethods());
+		for (Behavior behavior : methods) {
+			copiedOperation.getMethods().add(behavior);
+		}
+		// new behavior is associated with existing call.
+		b.setSpecification(operation);
+		return copiedOperation;
+	}
+	
+	/**
+	 * Add interception code to all operations of the lwContainer.
+	 * Can be called several times with different interception operations (which will then be concatenated)
+	 *
+	 * @throws TransformationException
+	 */
+	EList<Property> expandInterceptorExtension(Class mergeTemplateClass, Operation interceptionOperationInRule)
+			throws TransformationException
+	{
+		for (Operation smOperation : operations) {
+			Operation tmOperation = copier.getCopy(smOperation);
+			String interceptionBody = getBody(interceptionOperationInRule);
+			if (StereotypeUtil.isApplied(interceptionOperationInRule, Create.class) !=
+				StereotypeUtil.isApplied(smOperation, Create.class)) {
+				// if the intercepting operation is a constructor, the intercepted operation must also be a constructor
+				continue;
+			}
+			if (StereotypeUtil.isApplied(interceptionOperationInRule, Destroy.class) !=
+				StereotypeUtil.isApplied(smOperation, Destroy.class)) {
+				// if the intercepting operation is a destructor, the intercepted operation must also be a destructor
+				continue;
+			}
+			if (StereotypeUtil.isApplied(interceptionOperationInRule, ApplyTransformation.class)) {
+				// pass operation in source model, since this enables Xtend code to check
+				// for markers on model
+				TransformationContext.current.classifier = tmClass;
+				interceptionBody = TextTemplateBinding.bind(interceptionBody, smOperation, null);
+			}
+			if (interceptionBody.length() > 0) {
+				// only add interception operation, if the interception is not empty
+				interceptionBody = "// --- interception code from rule <" + mergeTemplateClass.getName() + "> ---\n" + //$NON-NLS-1$ //$NON-NLS-2$
+						interceptionBody;
+				Operation interceptionOpInClass = interceptionOpMap.get(tmOperation);
+				if (interceptionOpInClass == null) {
+					Operation copiedOperation = createInterceptionOperation(tmOperation);
+					// the copied operation has all stereotypes of the original one, but it is
+					// not a con/destructor (it is called by the con/destructor)
+					if (StereotypeUtil.isApplied(copiedOperation, Create.class)) {
+						StereotypeUtil.unapply(copiedOperation, Create.class);
+					}
+					if (StereotypeUtil.isApplied(copiedOperation, Destroy.class)) {
+						StereotypeUtil.unapply(copiedOperation, Destroy.class);
+					}
+					// existing operation becomes interception operation (by assigning it a new behavior and moving its behavior to a new operation
+					interceptionOpInClass = tmOperation;
+					interceptionOpMap.put(tmOperation, interceptionOpInClass);
+				}
+				String newBody = interceptionBody + "\n" + //$NON-NLS-1$
+						getBody(interceptionOpInClass);
+				setBody(interceptionOpInClass, newBody);
+			}
+		}
+		return null;
+	}
+
+	public static String getBody(Operation op) {
+		for (Behavior behavior : op.getMethods()) {
+			if (behavior instanceof OpaqueBehavior) {
+				EList<String> bodies = ((OpaqueBehavior) behavior).getBodies();
+				if (bodies.size() > 0) {
+					// always take first
+					return bodies.get(0);
+				}
+			}
+		}
+		return ""; //$NON-NLS-1$
+	}
+
+	public static void setBody(Operation op, String body) {
+		for (Behavior behavior : op.getMethods()) {
+			if (behavior instanceof OpaqueBehavior) {
+				EList<String> bodies = ((OpaqueBehavior) behavior).getBodies();
+				if (bodies.size() > 0) {
+					// always take first
+					bodies.set(0, body);
+					break;
+				}
+			}
+		}
+	}
+
+	// protected InstanceSpecification tmClassIS;
+	protected Class smClass;
+
+	protected EList<Operation> operations;
+
+	protected Map<Operation, Operation> interceptionOpMap;
+
+	/**
+	 * @see AbstractContainerTrafo.createContainerInstance
+	 *      In case of the lightweight container, there is no separate container instance. It is identical with the
+	 *      executor instance (container and executor are merged).
+	 *      The purpose of this operation is therefore the configuration of the instance rather than its creation
+	 */
+	public InstanceSpecification createContainerInstance(Class tmComponent, InstanceSpecification tmExecutorIS) throws TransformationException {
+		InstanceSpecification containerIS = tmExecutorIS;
+		// InstanceConfigurator.configureInstance(smContainerRule, containerIS, null, context);
+
+		// now create instances for the contained elements
+		// TODO: why not limits to parts?
+		// TODO: risk of concurrent modification, if an additional attribute is created as a side effect
+		for (Property extensionPart : tmComponent.getAttributes()) {
+			Type tmContainerExtImpl = extensionPart.getType();
+			if (tmContainerExtImpl instanceof Class) {
+				if (DepUtils.getSlot(tmExecutorIS, extensionPart) == null) {
+					// no slot for part exists => assume that the part has been added by the container and create an instance specification for it.
+					InstanceSpecification containerExtIS = DepCreation.createDepPlan(tmCDP, (Class) tmContainerExtImpl, containerIS.getName() + "." + //$NON-NLS-1$
+							extensionPart.getName(), false);
+					// configure extension
+					ConfigUtils.configureInstance(containerExtIS, extensionPart, null);
+					DepCreation.createSlot(containerIS, containerExtIS, extensionPart);
+				}
+			}
+		}
+		return containerIS;
+	}
+
+	@Override
+	public void transformElement(M2MTrafo trafo, Element element) throws org.eclipse.papyrus.designer.transformation.base.utils.TransformationException {
+		// TODO Auto-generated method stub
+		
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/BootLoaderGen.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/BootLoaderGen.java
new file mode 100644
index 0000000..63521b7
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/BootLoaderGen.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.library.transformations;
+
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoCDP;
+import org.eclipse.papyrus.designer.transformation.extensions.IM2MTrafo;
+import org.eclipse.papyrus.designer.transformation.extensions.M2MTrafoExt;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.uml2.uml.Package;
+
+/**
+ * The task of the boot-loader is twofold: create the instances of all
+ * implementations (non-recursive).
+ *
+ */
+public class BootLoaderGen implements IM2MTrafoCDP {
+
+	@Override
+	public void applyTrafo(M2MTrafo trafo, Package deploymentPlan) throws TransformationException {
+		// delegate to language specific variant
+		String language = DepUtils.getLanguageFromElement(deploymentPlan);
+		IM2MTrafo trafo2 = M2MTrafoExt.getM2MTrafo(trafo.getBase_Class().getQualifiedName() + "::" + language); //$NON-NLS-1$
+		if (trafo2 instanceof IM2MTrafoCDP) {
+			((IM2MTrafoCDP) trafo2).applyTrafo(trafo, deploymentPlan);
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/ConfigureProject.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/ConfigureProject.java
new file mode 100644
index 0000000..cfb9f30
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/ConfigureProject.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.library.transformations;
+
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.OperatingSystem;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.Target;
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.languages.common.extensionpoints.AbstractSettings;
+import org.eclipse.papyrus.designer.languages.common.extensionpoints.ILangProjectSupport;
+import org.eclipse.papyrus.designer.transformation.base.UIContext;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoCDP;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoElem;
+import org.eclipse.papyrus.designer.transformation.core.transformations.ApplyRecursive;
+import org.eclipse.papyrus.designer.transformation.core.transformations.TransformationContext;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+public class ConfigureProject implements IM2MTrafoCDP {
+
+	/**
+	 * Gather configuration data for a code generation project
+	 * In particular, a class might be stereotyped to provide additional information
+	 * about required compilation options (in case of C++ include paths, libraries, ...)
+	 */
+	public class GatherConfigData implements IM2MTrafoElem {
+
+		@Override
+		public void transformElement(M2MTrafo trafo, Element element) throws TransformationException {
+			if (element instanceof Classifier) {
+				projectSupport.gatherConfigData((Classifier) element, settings);
+			}
+		}
+	}
+
+	protected String getTargetOS(InstanceSpecification node) {
+		Target target = UMLUtil.getStereotypeApplication(node, Target.class);
+		if (target == null) {
+			// get information from node referenced by the instance
+			target = UMLUtil.getStereotypeApplication(DepUtils.getClassifier(node), Target.class);
+		}
+		if (target != null) {
+			OperatingSystem os = target.getUsedOS();
+			if (os != null) {
+				return os.getBase_Class().getName();
+			}
+		}
+		return null;
+	}
+
+	protected AbstractSettings settings;
+
+	protected ILangProjectSupport projectSupport;
+
+	@Override
+	public void applyTrafo(M2MTrafo trafo, Package deploymentPlan) throws TransformationException {
+		if (UIContext.configureProject) {
+			projectSupport = TransformationContext.current.projectSupport;
+			GatherConfigData gatherData = new GatherConfigData();
+			settings = projectSupport.initialConfigurationData();
+			AbstractSettings settings = projectSupport.initialConfigurationData();
+			if (settings != null) {
+				settings.targetOS = getTargetOS(TransformationContext.current.node);
+			}
+			ApplyRecursive ar = new ApplyRecursive(trafo, gatherData);
+			ar.applyRecursive(PackageUtil.getRootPackage(deploymentPlan));
+			projectSupport.setSettings(TransformationContext.current.project, settings);
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/DeployToNodes.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/DeployToNodes.java
new file mode 100644
index 0000000..0f9022a
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/DeployToNodes.java
@@ -0,0 +1,287 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.library.transformations;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan;
+import org.eclipse.papyrus.designer.deployment.tools.AllocUtils;
+import org.eclipse.papyrus.designer.deployment.tools.ConfigUtils;
+import org.eclipse.papyrus.designer.deployment.tools.DepCreation;
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.languages.common.extensionpoints.ILangProjectSupport;
+import org.eclipse.papyrus.designer.languages.common.extensionpoints.LanguageProjectSupport;
+import org.eclipse.papyrus.designer.transformation.base.UIContext;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.ModelManagement;
+import org.eclipse.papyrus.designer.transformation.base.utils.ProjectManagement;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.Messages;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoModelSplit;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.designer.transformation.core.transformations.TransformationContext;
+import org.eclipse.papyrus.designer.transformation.core.transformations.filters.FilterM2MTrafo;
+import org.eclipse.papyrus.designer.transformation.core.transformations.filters.FilterStateMachines;
+import org.eclipse.papyrus.designer.transformation.core.transformations.filters.FilterTemplateBinding;
+import org.eclipse.papyrus.designer.transformation.extensions.InstanceConfigurator;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * This class executes all transformations during the instantiation of a
+ * deployment plan, i.e. 1. The reification of connectors (including template
+ * instantiation). This transformation targets a new model 2. Adding
+ * get_p/connect_q operations to a class (transformation within same model) 3.
+ * Remove all component types 4. distribute to nodes
+ */
+public class DeployToNodes implements IM2MTrafoModelSplit {
+
+	public static final String TRAFOS_DEFAULT_PLATFORM_DEFAULT_NODE = "trafos::defaultPlatform::defaultNode"; //$NON-NLS-1$
+
+	@Override
+	public EList<TransformationContext> splitModel(M2MTrafo trafo, Package deploymentPlan) throws TransformationException {
+	// public void deployOnNodes(Map<InstanceSpecification, InstanceSpecification> instanceMap, Model existingModel, Model tmpModel) throws TransformationException, InterruptedException {
+		
+		EList<InstanceSpecification> topLevelInstances = 
+				DepUtils.getTopLevelInstances(TransformationContext.current.deploymentPlan);
+		// now deploy on each node
+		DepCreation.initAutoValues(topLevelInstances);
+
+		EList<InstanceSpecification> nodes = AllocUtils.getAllNodes(topLevelInstances);
+		EList<TransformationContext> splitModels = new BasicEList<TransformationContext>();
+		InstanceConfigurator.onNodeModel = true;
+		if (nodes.size() > 0) {
+			for (int nodeIndex = 0; nodeIndex < nodes.size(); nodeIndex++) {
+				InstanceSpecification node = nodes.get(nodeIndex);
+
+				try {
+					splitModels.add(
+							deployNode(topLevelInstances, TransformationContext.current.modelRoot, nodes, nodeIndex, node, false));
+				}
+				catch (InterruptedException e) {
+					throw new TransformationException(e.getMessage());
+				}
+			}
+		}
+		else {
+			InstanceSpecification defaultNode = (InstanceSpecification)
+					ElementUtils.getQualifiedElementFromRS(TransformationContext.initialSourceRoot, TRAFOS_DEFAULT_PLATFORM_DEFAULT_NODE);
+			if (defaultNode == null) {
+				throw new TransformationException(String.format("Can not find default node (%s)", TRAFOS_DEFAULT_PLATFORM_DEFAULT_NODE));
+			}
+			try {
+				splitModels.add(
+					deployNode(topLevelInstances, PackageUtil.getRootPackage(deploymentPlan), nodes, 0, defaultNode, true));
+			}
+			catch (InterruptedException e) {
+				throw new TransformationException(e.getMessage());
+			}
+		}
+		return splitModels;
+	}
+
+	private TransformationContext deployNode(EList<InstanceSpecification> topLevelInstances, Package existingModel, EList<InstanceSpecification> nodes, int nodeIndex, InstanceSpecification node, boolean allocAll)
+			throws TransformationException, InterruptedException {
+		ModelManagement genModelManagement = ModelManagement.createNewModel(existingModel, existingModel.getName(), false); //$NON-NLS-1$
+		Package generatedModel = genModelManagement.getModel();
+		
+		// --------------------------------------------------------------------
+		checkProgressStatus();
+		// --------------------------------------------------------------------
+
+		// new model has name "root" and contains a package with the
+		// existing model
+		// Package originalRoot = genModel.createNestedPackage
+		// (existingModel.getName ());
+		LazyCopier targetCopier = new LazyCopier(existingModel, generatedModel, true, true);
+
+		// register additional "roots" for multi-root models
+		// TODO: cleaner solution
+		/*
+		for (EObject sourcePkg : existingModel.eResource().getContents()) {
+			if (sourcePkg instanceof Package && sourcePkg != existingModel)  {
+				Package targetPkg;
+				if (sourcePkg instanceof Model) {
+					targetPkg = UMLFactory.eINSTANCE.createModel();
+				}
+				else {
+					targetPkg = UMLFactory.eINSTANCE.createPackage();		
+				}
+				targetPkg.setName(((Package) sourcePkg).getName()); 
+				generatedModel.eResource().getContents().add(targetPkg);
+				targetCopier.put(sourcePkg, targetPkg);
+			}
+		}
+		*/
+		targetCopier.preCopyListeners.add(FilterStateMachines.getInstance());
+		targetCopier.preCopyListeners.add(FilterTemplateBinding.getInstance());
+		targetCopier.preCopyListeners.add(FilterM2MTrafo.getInstance());
+
+		UIContext.monitor.setTaskName(String.format(Messages.InstantiateDepPlan_InfoDeployingForNode, node.getName()));
+
+		TransformationContext tc = new TransformationContext();
+		
+		tc.modelRoot = generatedModel;
+		tc.copier = targetCopier;
+		tc.mm = genModelManagement;
+
+		this.node = node;
+		for (InstanceSpecification is : topLevelInstances) {
+			distributeToNode(targetCopier, allocAll, is);
+		}
+		tc.deploymentPlan = (Package) targetCopier.get(TransformationContext.current.deploymentPlan);
+		
+		// get first language (restricted to single target language, acceptable?)
+		String targetLanguage = DepUtils.getTargetLanguage(topLevelInstances.iterator().next());
+		String projectName = getProjectName(existingModel, node);
+		ILangProjectSupport projectSupport = LanguageProjectSupport.getProjectSupport(targetLanguage);
+		IProject genProject = getOrCreateProject(projectSupport, projectName);
+		if (genProject == null) {
+			throw new TransformationException(String.format(Messages.DeployToNodes_CouldNotCreateProject, targetLanguage));
+		}
+		tc.projectSupport = projectSupport;
+		tc.project = genProject;
+		tc.node = node;
+
+		return tc;
+	}
+
+	/**
+	 * Get an existing or create a new project for a given language
+	 * @param projectSupport project support instance (for a given programming language)
+	 * @param projectName the name of the project to create (or get, if it already exists)
+	 * @return the project or null, if no project creation support is available for the target language
+	 * @throws TransformationException
+	 */
+	protected IProject getOrCreateProject(ILangProjectSupport projectSupport, String projectName) throws TransformationException {
+		IProject genProject = ProjectManagement.getNamedProject(projectName);
+		if ((genProject == null) || !genProject.exists()) {
+			genProject = projectSupport.createProject(projectName);
+			if (!genProject.getName().equals(projectName)) {
+				// updateProjectMapping(projectName, genProject.getName());
+			}
+			// project is new, force re-write of settings
+			UIContext.configureProject = true;
+		}
+		return genProject;
+	}
+
+	/**
+	 * Return the name of a project that is associated with a model that
+	 * is deployed on a node (in the context of a deployment plan)
+	 * 
+	 * @param model
+	 *            The model that is deployed
+	 * @param node
+	 *            The node onto which the software is deployed
+	 * @return The resulting project name
+	 */
+	public String getProjectName(Package model, InstanceSpecification node) {
+		String projectName = model.getName() + "_" + node.getName(); //$NON-NLS-1$
+		projectName += "_" + TransformationContext.current.deploymentPlan.getName(); //$NON-NLS-1$
+		DeploymentPlan depPlan = UMLUtil.getStereotypeApplication(TransformationContext.current.deploymentPlan, DeploymentPlan.class);
+		if (depPlan != null) {
+			for (String mapping : depPlan.getProjectMappings()) {
+				if (mapping.startsWith(projectName)) {
+					int index = mapping.indexOf("="); //$NON-NLS-1$
+					if (index != -1) {
+						return mapping.substring(index + 1);
+					}
+				}
+			}
+		}
+		return projectName;
+	}
+
+	/**
+	 * Distribute an instance specification to the node by this
+	 *
+	 * @param allocAll
+	 * @param slotPath
+	 * @param instance
+	 * @throws TransformationException
+	 */
+	public InstanceSpecification distributeToNode(LazyCopier targetCopier, boolean allocAll, InstanceSpecification instance)
+			throws TransformationException {
+
+		// once an instance is explicitly allocated on a partition (use of getNodes instead of getAllNodes)
+		// all of its sub-instances are allocated on the node as well
+
+		if (AllocUtils.getNodesOrThreads(instance).contains(node)) {
+			allocAll = true;
+		}
+
+		// obtain implementation within source model
+		Classifier smImplementation = DepUtils.getClassifier(instance);
+		if (smImplementation == null) {
+			throw new TransformationException(String.format(
+					Messages.Deploy_0, instance.getName()));
+		}
+
+		// copy instance to node specific model, no allocation-check is required, since it is done by recursive calls
+		InstanceSpecification tmInstance = targetCopier.getCopy(instance);
+
+		for (Slot slot : instance.getSlots()) {
+			InstanceSpecification containedInstance = DepUtils.getInstance(slot);
+
+			if (containedInstance != null) {
+				if (!DepUtils.isShared(slot)) {
+					StructuralFeature sf = slot.getDefiningFeature();
+					if (allocAll || AllocUtils.getAllNodes(containedInstance).contains(node)) {
+						// distribute subInstance
+						InstanceSpecification tmContainedInstance = distributeToNode(targetCopier, allocAll, containedInstance);
+						if (sf instanceof Property) {
+							// execute configurator after recursive call on target model instance
+							ConfigUtils.configureInstance(tmContainedInstance, (Property) sf, tmInstance);
+						}
+					
+					}
+				}
+			}
+		}
+
+		return tmInstance;
+	}
+
+	private void initiateProgressMonitor(boolean generateCode, EList<InstanceSpecification> nodes) {
+		// -- calc # of steps for progress TransformationContext.monitor
+		// 1 (tmpModel creation) + 1 (reification) + 1 (tmpModel save)
+		// 5x on each deployed node (see below)
+		// problem? Connector reification is a single, relatively long step
+		int steps = 3;
+		steps += 5 * nodes.size();
+		if (generateCode) {
+			steps += nodes.size();
+		}
+		UIContext.monitor.beginTask(Messages.InstantiateDepPlan_InfoGeneratingModel, steps);
+	}
+
+	private void checkProgressStatus() throws InterruptedException {
+		if (UIContext.monitor.isCanceled()) {
+			throw new InterruptedException();
+		}
+		UIContext.monitor.worked(1);
+	}
+	
+	InstanceSpecification node;
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/GenerateCode.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/GenerateCode.java
new file mode 100644
index 0000000..c82e0c4
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/GenerateCode.java
@@ -0,0 +1,140 @@
+/**
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.eclipse.papyrus.designer.transformation.library.transformations;
+
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.papyrus.designer.deployment.tools.Activator;
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.languages.common.extensionpoints.ILangCodegen;
+import org.eclipse.papyrus.designer.languages.common.extensionpoints.LanguageCodegen;
+import org.eclipse.papyrus.designer.transformation.base.UIContext;
+import org.eclipse.papyrus.designer.transformation.base.utils.ModelManagement;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.Messages;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoCDP;
+import org.eclipse.papyrus.designer.transformation.core.transformations.TransformationContext;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageableElement;
+
+public class GenerateCode implements IM2MTrafoCDP {
+
+	public void generate(InstanceSpecification node, String targetLanguage)
+			throws TransformationException, InterruptedException
+	{
+		IProgressMonitor monitor = UIContext.monitor;
+		IProject genProject = TransformationContext.current.project;
+		
+		Package genModel = TransformationContext.current.mm.getModel();
+
+		monitor.worked(1);
+		if (genProject == null) {
+			return;
+		}
+
+		if (node == null) {
+			monitor.setTaskName(String.format(Messages.GenerateCode_GeneratingCode, targetLanguage));
+		}
+		else {
+			monitor.setTaskName(String.format(Messages.GenerateCode_GeneratingCodeForNode, targetLanguage, node.getName()));
+		}
+		// TODO: ineffective, since folder name is not used by generated code
+		IFolder folder = genProject.getFolder(genModel.getName());
+		try {
+			folder.delete(true, null);
+		} catch (CoreException e) {
+			throw new TransformationException(String.format(Messages.GenerateCode_CouldNotDeleteOldCode, e.getMessage()));
+		}
+		ILangCodegen codegen = LanguageCodegen.getGenerator(targetLanguage);
+	
+		codegen.generateCode(genProject, genModel, monitor);
+
+		// the generated model can contain more than one top-level element due to copied external model references
+		for (ModelManagement mm : TransformationContext.current.copier.getAdditionalRootPkgs()) {
+			codegen.generateCode(genProject, mm.getModel(), monitor);
+	}
+
+		if (monitor.isCanceled()) {
+			return;
+		}
+		monitor.worked(1);
+	}
+
+	/**
+	 * @param element
+	 * @return
+	 */
+	public PackageableElement getNearestClassifierOrPackage(Element element) {
+		while (element != null) {
+			if (element instanceof Classifier) {
+				return (Classifier) element;
+			}
+			if (element instanceof Package) {
+				return (Package) element;
+			}
+			element = element.getOwner();
+		}
+		return null;
+	}
+
+	/*
+	 * public void deleteRemovedClasses(EObject diffModelOrElement) throws TransformationException {
+	 * EList<DiffElement> diffs;
+	 * if(diffModelOrElement instanceof DiffModel) {
+	 * diffs = ((DiffModel)diffModelOrElement).getDifferences();
+	 * }
+	 * else if(diffModelOrElement instanceof DiffElement) {
+	 * diffs = ((DiffElement)diffModelOrElement).getSubDiffElements();
+	 * }
+	 * else {
+	 * return;
+	 * }
+	 * for(DiffElement diff : diffs) {
+	 * EObject modifiedEObj = null;
+	 *
+	 * if(diff.getKind() == DifferenceKind.DELETION) {
+	 * if(diff instanceof AttributeChange) {
+	 * modifiedEObj = ((AttributeChange)diff).getRightElement();-
+	 * }
+	 * else if(diff instanceof ModelElementChangeRightTarget) {
+	 * modifiedEObj = ((ModelElementChangeRightTarget)diff).getRightElement();
+	 * }
+	 * }
+	 * else if(diff.getKind() == DifferenceKind.CHANGE) {
+	 * if(diff instanceof AttributeChange) {
+	 * modifiedEObj = ((AttributeChange)diff).getRightElement();
+	 * }
+	 * }
+	 * if(modifiedEObj instanceof PackageableElement) {
+	 * // => delete tree
+	 * langSupport.cleanCode(monitor, (PackageableElement)modifiedEObj);
+	 * }
+	 * // no recursion needed?
+	 * // deleteRemovedClasses(diff);
+	 * }
+	 * }
+	 */
+
+	@Override
+	public void applyTrafo(M2MTrafo trafo, Package deploymentPlan) throws TransformationException {
+		// get first language (restricted to single target language, acceptable?)
+
+		String targetLanguage = DepUtils.getTargetLanguage(DepUtils.getTopLevelInstances(deploymentPlan).iterator().next());
+		try {
+			generate(null, targetLanguage);
+		}
+		catch (InterruptedException e) {
+			Activator.log.error(e);
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/M2MFromStereotype.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/M2MFromStereotype.java
new file mode 100644
index 0000000..7558ffd
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/M2MFromStereotype.java
@@ -0,0 +1,44 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.library.transformations;
+
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoElem;
+import org.eclipse.papyrus.designer.transformation.extensions.IM2MTrafo;
+import org.eclipse.papyrus.designer.transformation.extensions.M2MTrafoExt;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Apply the set of transformations that are specified by the "ApplyTransformation" stereotype
+ * on an element
+ */
+public class M2MFromStereotype implements IM2MTrafoElem {
+	
+	@Override
+	public void transformElement(M2MTrafo trafo, Element element) throws TransformationException {
+		ApplyTransformation applyTrafo = UMLUtil.getStereotypeApplication(element, ApplyTransformation.class);
+		if (applyTrafo != null) {
+			// execute the set of transformations applied to the element
+			for (M2MTrafo stTrafoOnElem : applyTrafo.getTrafo()) {
+				IM2MTrafo trafoOnElem = M2MTrafoExt.getM2MTrafo(stTrafoOnElem);
+				if (trafoOnElem instanceof IM2MTrafoElem) {
+					((IM2MTrafoElem) trafoOnElem).transformElement(stTrafoOnElem, element);
+				}
+			}
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/MergeClass.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/MergeClass.java
new file mode 100644
index 0000000..8a71af1
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/MergeClass.java
@@ -0,0 +1,211 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.library.transformations;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.papyrus.designer.deployment.tools.ConfigUtils;
+import org.eclipse.papyrus.designer.deployment.tools.DepCreation;
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.OperationUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.StUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.m2minterfaces.IM2MTrafoElem;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier.CopyStatus;
+import org.eclipse.papyrus.designer.transformation.library.Messages;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.profile.standard.Create;
+import org.eclipse.uml2.uml.profile.standard.Destroy;
+
+/**
+ * A model-2-model transformation that merges a class with another.
+ */
+public class MergeClass implements IM2MTrafoElem {
+
+	LazyCopier copier;
+
+	/**
+	 * Merge a class
+	 *
+	 * @param mergeTemplateClass
+	 *            the class to merge into an existing class
+	 * @param tmClass
+	 *            the class which should be merged
+	 * @throws TransformationException
+	 */
+	public void mergeClass(Class mergeTemplateClass, Class tmClass) throws TransformationException {
+		// dependencies of the rule become dependencies of the class that applies this rule.
+		for (Dependency dependency : mergeTemplateClass.getClientDependencies()) {
+			Dependency dependencyCopy = EcoreUtil.copy(dependency);
+			tmClass.getClientDependencies().add(dependencyCopy);
+		}
+
+		boolean hasConstructor = OperationUtils.isOperationStereotypeApplied(tmClass, Create.class);
+		boolean hasDestructor = OperationUtils.isOperationStereotypeApplied(tmClass, Destroy.class);
+
+		// register relation to facilitate attribute copy
+		copier.setPackageTemplate(mergeTemplateClass, tmClass);
+		// reset status to in-progress. Otherwise, the copier will not properly add new
+		// elements.
+		copier.setStatus(tmClass, CopyStatus.INPROGRESS);
+
+		for (Operation templateOperation : mergeTemplateClass.getOperations()) {
+			// Need a specific treatment of Constructor/destructor: if original class has a
+			// constructor, must add to all constructors, if it has none, copy constructor
+			boolean templateOpIsConstructor = StereotypeUtil.isApplied(templateOperation, Create.class);
+			boolean templateOpIsDestructor = StereotypeUtil.isApplied(templateOperation, Destroy.class);
+
+			boolean needsMerge = (templateOpIsConstructor && hasConstructor) || (templateOpIsDestructor && hasDestructor);
+			if (needsMerge) {
+				// reset package template. Make sure not to use template map, otherwise methods of original class might be duplicated
+				copier.setPackageTemplate(null, null);
+
+				mergeOperations(tmClass, mergeTemplateClass, templateOperation);
+
+			} else {
+				copier.setPackageTemplate(mergeTemplateClass, tmClass);
+				// normal operation. Copy from container to class
+				// TODO: C++/Java specific
+				Operation newOperation = copier.getCopy(templateOperation);
+				if (templateOpIsConstructor) {
+					newOperation.setName(tmClass.getName());
+				} else if (templateOpIsConstructor) {
+					newOperation.setName("~" + tmClass.getName()); //$NON-NLS-1$
+				}
+			}
+		}
+
+		copier.setPackageTemplate(mergeTemplateClass, tmClass);
+
+		for (Property part : mergeTemplateClass.getAllAttributes()) {
+			Type type = part.getType();
+			if (type == null) {
+				String ruleName = (mergeTemplateClass.getName() != null) ? mergeTemplateClass.getName() : "undefined"; //$NON-NLS-1$
+				throw new TransformationException(String.format(Messages.MergeClass_CannotApply0, ruleName));
+			}
+			Property newPart = EcoreUtil.copy(part);
+			StUtils.copyStereotypes(part, newPart);
+			tmClass.getOwnedAttributes().add(newPart);
+		}
+	}
+
+	
+	/**
+	 * Merge an operation of the template with all operations in a class.
+	 * This is primarily used for merging constructor and destructors, but can also be used to get inject common code
+	 * into all operations.
+	 *
+	 * @throws TransformationException
+	 */
+	void mergeOperations(Class tmClass, Class mergeTemplateClass, Operation mergeOperation) throws TransformationException {
+		for (Operation tmOperation : tmClass.getOwnedOperations()) {
+			String mergeBody = getBody(mergeOperation);
+			if (StereotypeUtil.isApplied(mergeOperation, Create.class) != StereotypeUtil.isApplied(tmOperation, Create.class)) {
+				// if the merge operation is a constructor, the intercepted operation must also be a constructor
+				continue;
+			}
+			if (StereotypeUtil.isApplied(mergeOperation, Destroy.class) != StereotypeUtil.isApplied(tmOperation, Destroy.class)) {
+				// if the merge operation is a destructor, the intercepted operation must also be a destructor
+				continue;
+			}
+			if (mergeBody.length() > 0) {
+				// only add merge body, if not empty, TODO: C++/Java specific comment
+				mergeBody = "// --- merged from template <" + mergeTemplateClass.getName() + "> ---\n" + //$NON-NLS-1$ //$NON-NLS-2$
+						mergeBody;
+				String newBody = getBody(tmOperation) + mergeBody;
+				setBody(tmOperation, newBody);
+			}
+		}
+	}
+
+	public static String getBody(Operation op) {
+		for (Behavior behavior : op.getMethods()) {
+			if (behavior instanceof OpaqueBehavior) {
+				EList<String> bodies = ((OpaqueBehavior) behavior).getBodies();
+				if (bodies.size() > 0) {
+					// always take first
+					return bodies.get(0);
+				}
+			}
+		}
+		return ""; //$NON-NLS-1$
+	}
+
+	public static void setBody(Operation op, String body) {
+		for (Behavior behavior : op.getMethods()) {
+			if (behavior instanceof OpaqueBehavior) {
+				EList<String> bodies = ((OpaqueBehavior) behavior).getBodies();
+				if (bodies.size() > 0) {
+					// always take first
+					bodies.set(0, body);
+					break;
+				}
+			}
+		}
+	}
+
+	/**
+	 * Configure the merged instance, i.e. create subinstances for parts
+	 * @param mergedInstance
+	 * @throws TransformationException
+	 */
+
+	public void configureMergedInstance(InstanceSpecification mergedInstance, Class tmClass) throws TransformationException {
+
+		Package tmCDP = mergedInstance.getNearestPackage();
+		for (Property part : DepUtils.getParts(tmClass)) {
+			Type typeFromTemplate = part.getType();
+			if (typeFromTemplate instanceof Class) {
+				if (DepUtils.getSlot(mergedInstance, part) == null) {
+					// no slot for part exists => assume that the part has been added by the container and create an instance specification for it.
+					InstanceSpecification containerExtIS = DepCreation.createDepPlan(tmCDP, (Class) typeFromTemplate, mergedInstance.getName() + "." + //$NON-NLS-1$
+							part.getName(), false);
+					// configure extension (TODO required, since instance configurators will be called anyway later?)
+					ConfigUtils.configureInstance(containerExtIS, part, null);
+					DepCreation.createSlot(mergedInstance, containerExtIS, part);
+				}
+			}
+		}
+	}
+
+	@Override
+	public void transformElement(M2MTrafo trafo, Element element) throws org.eclipse.papyrus.designer.transformation.base.utils.TransformationException {
+		// TODO Auto-generated method stub
+		if (element instanceof Class) {
+			Class tmClass = (Class) element;
+			mergeClass(trafo.getBase_Class(), tmClass);
+		}
+		else if (element instanceof InstanceSpecification) {
+			InstanceSpecification is = (InstanceSpecification) element;
+			Classifier cl = DepUtils.getClassifier(is);
+			if (cl instanceof Class) {
+				configureMergedInstance(is, (Class) cl);
+			}
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/bindinghelpers/BindCppIncludeToFirstActual.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/bindinghelpers/BindCppIncludeToFirstActual.java
new file mode 100644
index 0000000..8b4a080
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/bindinghelpers/BindCppIncludeToFirstActual.java
@@ -0,0 +1,67 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.library.transformations.bindinghelpers;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Include;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.copylisteners.PostCopyListener;
+import org.eclipse.papyrus.designer.transformation.core.templates.TemplateInstantiation;
+import org.eclipse.papyrus.designer.transformation.core.templates.TemplateUtils;
+import org.eclipse.papyrus.designer.transformation.core.templates.TextTemplateBinding;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.designer.transformation.core.transformations.TransformationContext;
+import org.eclipse.papyrus.designer.transformation.extensions.IM2MTrafo;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Instantiate (bind via xtend template) the text within a C++Include stereotype.
+ *
+ * The actual is the first actual within the template binding. This function does not check
+ * whether the classifier has the template stereotype.
+ *
+ * Note: this function is C++ specific, but many parts of the model library are C++ specific as well
+ *
+ */
+public class BindCppIncludeToFirstActual implements PostCopyListener, IM2MTrafo {
+
+	@Override
+	public void postCopyEObject(LazyCopier copier, EObject targetEObj) {
+		// if (copy.get(sourceEObj) isWithinTemplate)
+		if (targetEObj instanceof Classifier) {
+
+			Classifier targetCl = (Classifier) targetEObj;
+			try {
+				TemplateBinding binding = TemplateInstantiation.context.getBinding();
+				Classifier actual = TemplateUtils.getFirstActualFromBinding(binding);
+				Include cppInclude = UMLUtil.getStereotypeApplication(targetCl, Include.class);
+				if ((actual != null) && (cppInclude != null)) {
+					TransformationContext.current.classifier = targetCl;
+					String newBody = TextTemplateBinding.bind(cppInclude.getBody(), actual, null);
+					String newPreBody = TextTemplateBinding.bind(cppInclude.getPreBody(), actual, null);
+					String newHeader = TextTemplateBinding.bind(cppInclude.getHeader(), actual, null);
+					cppInclude.setBody(newBody);
+					cppInclude.setPreBody(newPreBody);
+					cppInclude.setHeader(newHeader);
+				}
+			} catch (TransformationException e) {
+				// create nested exception
+				throw new RuntimeException(e);
+			}
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/bindinghelpers/BindOpaqueBehavior.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/bindinghelpers/BindOpaqueBehavior.java
new file mode 100644
index 0000000..c1b35c3
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/bindinghelpers/BindOpaqueBehavior.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.library.transformations.bindinghelpers;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.copylisteners.PostCopyListener;
+import org.eclipse.papyrus.designer.transformation.core.templates.BindingUtils;
+import org.eclipse.papyrus.designer.transformation.core.templates.TemplateInstantiation;
+import org.eclipse.papyrus.designer.transformation.core.templates.TemplateUtils;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.designer.transformation.extensions.IM2MTrafo;
+import org.eclipse.papyrus.designer.transformation.library.Activator;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.TemplateBinding;
+
+/**
+ * Bind an operation to an actual, i.e. evaluate the xtend template within the opaque behavior associated with
+ * the operation.
+ */
+public class BindOpaqueBehavior implements IM2MTrafo, PostCopyListener {
+
+	@Override
+	public void postCopyEObject(LazyCopier copier, EObject targetEObj) {
+
+		if (targetEObj instanceof OpaqueBehavior) {
+			try {
+				TemplateBinding binding = TemplateInstantiation.context.getBinding();
+				Classifier actual = TemplateUtils.getFirstActualFromBinding(binding);
+				BindingUtils.instantiateBehavior(actual, (OpaqueBehavior) targetEObj);
+			}
+			catch (TransformationException e) {
+				Activator.log.error(e);
+			}
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/bindinghelpers/BindOperation.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/bindinghelpers/BindOperation.java
new file mode 100644
index 0000000..8445108
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/bindinghelpers/BindOperation.java
@@ -0,0 +1,44 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.library.transformations.bindinghelpers;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.designer.transformation.core.copylisteners.PostCopyListener;
+import org.eclipse.papyrus.designer.transformation.core.templates.BindingUtils;
+import org.eclipse.papyrus.designer.transformation.core.templates.TemplateInstantiation;
+import org.eclipse.papyrus.designer.transformation.core.templates.TemplateUtils;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.designer.transformation.extensions.IM2MTrafo;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.TemplateBinding;
+
+/**
+ * Bind an operation to an actual, i.e. evaluate the xtend template within the opaque behavior associated with
+ * the operation.
+ */
+public class BindOperation implements IM2MTrafo, PostCopyListener {
+
+	@Override
+	public void postCopyEObject(LazyCopier copier, EObject targetEObj) {
+
+		if (targetEObj instanceof Operation) {
+			Operation operation = (Operation) targetEObj;
+			TemplateBinding binding = TemplateInstantiation.context.getBinding();
+			Classifier actual = TemplateUtils.getFirstActualFromBinding(binding);
+
+			BindingUtils.instantiateOperation(actual, operation);
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/bindinghelpers/InstantiateCppIncludeWithItSelf.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/bindinghelpers/InstantiateCppIncludeWithItSelf.java
new file mode 100644
index 0000000..b31ba94
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/bindinghelpers/InstantiateCppIncludeWithItSelf.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.library.transformations.bindinghelpers;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Include;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.copylisteners.PostCopyListener;
+import org.eclipse.papyrus.designer.transformation.core.templates.TextTemplateBinding;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.designer.transformation.core.transformations.TransformationContext;
+import org.eclipse.papyrus.designer.transformation.extensions.IM2MTrafo;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Instantiate (bind Acceleo template) the text within a C++Include stereotype.
+ *
+ * Difference to InstantiateCppInclude: This function does not obtain the actual from a template
+ * binding. Instead it takes the classifier having the Template stereotype as actual.
+ * TODO: What's the use of this function. The classifier is known at this time - unless in a template?
+ *
+ * Note: this function is C++ specific, but many parts of the model library are C++ specific as well
+ *
+ */
+@Deprecated
+public class InstantiateCppIncludeWithItSelf implements PostCopyListener, IM2MTrafo {
+
+	@Override
+	public void postCopyEObject(LazyCopier copy, EObject targetEObj) {
+		// if (copy.get(sourceEObj) isWithinTemplate)
+		if (targetEObj instanceof Classifier) {
+			// TODO: C++ specific code!
+			Classifier targetCl = (Classifier) targetEObj;
+			// apply, in case of pass-classifier
+			try {
+				Include cppInclude = UMLUtil.getStereotypeApplication(targetCl, Include.class);
+				TransformationContext.current.classifier = targetCl;
+				String newBody = TextTemplateBinding.bind(cppInclude.getBody(), targetCl, null);
+				String newPreBody = TextTemplateBinding.bind(cppInclude.getPreBody(), targetCl, null);
+				String newHeader = TextTemplateBinding.bind(cppInclude.getHeader(), targetCl, null);
+				cppInclude.setBody(newBody);
+				cppInclude.setPreBody(newPreBody);
+				cppInclude.setHeader(newHeader);
+			} catch (TransformationException e) {
+				// create nested exception
+				throw new RuntimeException(e);
+			}
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/bindinghelpers/LoopOperations.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/bindinghelpers/LoopOperations.java
new file mode 100644
index 0000000..8c749d0
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/transformations/bindinghelpers/LoopOperations.java
@@ -0,0 +1,107 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.library.transformations.bindinghelpers;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.copylisteners.PostCopyListener;
+import org.eclipse.papyrus.designer.transformation.core.templates.BindingUtils;
+import org.eclipse.papyrus.designer.transformation.core.templates.TemplateInstantiation;
+import org.eclipse.papyrus.designer.transformation.core.templates.TemplateUtils;
+import org.eclipse.papyrus.designer.transformation.core.templates.TextTemplateBinding;
+import org.eclipse.papyrus.designer.transformation.core.transformations.LazyCopier;
+import org.eclipse.papyrus.designer.transformation.extensions.IM2MTrafo;
+import org.eclipse.papyrus.designer.transformation.library.Activator;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * This binding helper loops over all operations of the actual template parameter
+ * (an interface). For each, it creates a new copy of the operation and instantiates
+ * the operation name as well as the body (a text template) with the passed actual.
+ */
+public class LoopOperations implements IM2MTrafo, PostCopyListener {
+
+	@Override
+	public void postCopyEObject(LazyCopier copier, EObject targetEObj) {
+
+		if (targetEObj instanceof Operation) {
+			Operation operation = (Operation) targetEObj;
+
+			TemplateBinding binding = TemplateInstantiation.context.getBinding();
+			Classifier actual = TemplateUtils.getFirstActualFromBinding(binding);
+
+			if (!(actual instanceof Interface)) {
+				return;
+			}
+			Interface passedActualIntf = (Interface) actual;
+			Iterator<Operation> intfOperationIter = passedActualIntf.getAllOperations().iterator();
+			while (intfOperationIter.hasNext()) {
+				Operation intfOperation = intfOperationIter.next();
+				boolean last = intfOperationIter.hasNext();
+				// create a copy, unless last element
+				Operation operationCopy = last ? operation : EcoreUtil.copy(operation);
+				operation.getClass_().getOwnedOperations().add(operationCopy);
+				BindingUtils.instantiateOperation(intfOperation, operationCopy);
+				for (Behavior method : operation.getMethods()) {
+					if (method instanceof OpaqueBehavior) {
+						try {
+							OpaqueBehavior ob = (OpaqueBehavior) method;
+							OpaqueBehavior obCopy = last ? ob : EcoreUtil.copy(ob);
+							BindingUtils.instantiateBehavior(intfOperation, obCopy);
+							obCopy.setSpecification(operationCopy);
+						}
+						catch (TransformationException e) {
+							Activator.log.error(e);
+						}
+					}
+				}
+			}
+		}
+		else if (targetEObj instanceof EnumerationLiteral) {
+			EnumerationLiteral literal = (EnumerationLiteral) targetEObj;
+			TemplateBinding binding = TemplateInstantiation.context.getBinding();
+			Classifier actual = TemplateUtils.getFirstActualFromBinding(binding);
+			// Type passedActual = getPassedActual(template, actual, boundClass);
+			Type passedActual = actual;
+			if (!(passedActual instanceof Interface)) {
+				return;
+			}
+			Interface passedActualIntf = (Interface) passedActual;
+			Iterator<Operation> intfOperationIter = passedActualIntf.getAllOperations().iterator();
+			while (intfOperationIter.hasNext()) {
+				Operation intfOperation = intfOperationIter.next();
+				boolean last = intfOperationIter.hasNext();
+				// create a copy, unless last element
+				EnumerationLiteral listeralCopy = last ? literal : EcoreUtil.copy(literal);
+				try {
+					String newName = TextTemplateBinding.bind(literal.getName(), intfOperation, null);
+					listeralCopy.setName(newName);
+				} catch (TransformationException e) {
+					Activator.log.error(e);
+				}
+			}
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/wizards/ABitComplexSMModelWizard.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/wizards/ABitComplexSMModelWizard.java
new file mode 100644
index 0000000..883e398
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/wizards/ABitComplexSMModelWizard.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.library.wizards;
+
+import org.eclipse.papyrus.uml.diagram.wizards.wizards.ModelCopyWizard;
+
+/**
+ * Copy wizard for the ProducerConsumer example
+ */
+public class ABitComplexSMModelWizard extends ModelCopyWizard {
+
+	public ABitComplexSMModelWizard() {
+		super("ABitComplexSM"); //$NON-NLS-1$
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/wizards/HelloWorldModelWizard.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/wizards/HelloWorldModelWizard.java
new file mode 100644
index 0000000..53d82f0
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/wizards/HelloWorldModelWizard.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.library.wizards;
+
+import org.eclipse.papyrus.uml.diagram.wizards.wizards.ModelCopyWizard;
+
+/**
+ * Copy wizard for the HelloWorld example
+ */
+public class HelloWorldModelWizard extends ModelCopyWizard {
+
+	public HelloWorldModelWizard() {
+		super("HelloWorld"); //$NON-NLS-1$
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/wizards/ProducerConsumerModelWizard.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/wizards/ProducerConsumerModelWizard.java
new file mode 100644
index 0000000..0040143
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/wizards/ProducerConsumerModelWizard.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.library.wizards;
+
+import org.eclipse.papyrus.uml.diagram.wizards.wizards.ModelCopyWizard;
+
+/**
+ * Copy wizard for the ProducerConsumer example
+ */
+public class ProducerConsumerModelWizard extends ModelCopyWizard {
+
+	public ProducerConsumerModelWizard() {
+		super("ProducerConsumer"); //$NON-NLS-1$
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/wizards/SimpleSMModelWizard.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/wizards/SimpleSMModelWizard.java
new file mode 100644
index 0000000..6d8341e
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/wizards/SimpleSMModelWizard.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.library.wizards;
+
+import org.eclipse.papyrus.uml.diagram.wizards.wizards.ModelCopyWizard;
+
+/**
+ * Copy wizard for the ProducerConsumer example
+ */
+public class SimpleSMModelWizard extends ModelCopyWizard {
+
+	public SimpleSMModelWizard() {
+		super("SimpleSM"); //$NON-NLS-1$
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/AMIPull.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/AMIPull.xtend
new file mode 100644
index 0000000..a75d822
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/AMIPull.xtend
@@ -0,0 +1,34 @@
+package org.eclipse.papyrus.designer.transformation.library.xtend
+
+import org.eclipse.uml2.uml.Operation
+import static extension org.eclipse.papyrus.designer.transformation.library.xtend.Marshalling.*
+
+class AMIPull {
+	def operation_(Operation operation) '''
+		«IF operation.name.endsWith("Poll")»
+			// comment polling function
+			if (!resultArrived) {
+				// wait for result, condition will be fired upon arrival
+				TimeVal timeVal = TimeVal::current () + timeout;
+				m_cond.waitUpto (timeout);
+			}
+			«operation.unmarshall»
+			}
+			«IF operation.type != null»return retValue;«ENDIF»
+		«ELSE»
+			// TODO: need suitable constant dimensioning
+			pBuffer = &buffer[500];  // grows backwards
+			int operationID = ID_[operation.name/];
+
+			// now marshall in and inout parameters via ASN.1
+			«operation.marshall»
+			BEncAsnContent (&amp;pBuffer, &amp;operationID);
+
+			pthread_t pt;
+			pthread_create (&amp;pt, NULL, staticDispatch, (void *) this);
+			// TODO: add semaphore which assures that subsequent calls to [operation.name/] are not executed before dispatch
+			// has removed the parameters from the pBuffer stack (pBuffer can be corrupted).
+			// even worse: buffer will be deallocated even without a 2nd call!
+		«ENDIF»
+	'''
+}
\ No newline at end of file
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/AsyncCalls.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/AsyncCalls.xtend
new file mode 100644
index 0000000..d81329b
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/AsyncCalls.xtend
@@ -0,0 +1,57 @@
+package org.eclipse.papyrus.designer.transformation.library.xtend
+
+import org.eclipse.uml2.uml.Operation
+import org.eclipse.uml2.uml.Class
+import static extension org.eclipse.papyrus.designer.transformation.library.xtend.CppUtils.*
+import static extension org.eclipse.papyrus.designer.transformation.library.xtend.Marshalling.*
+
+class AsyncCalls {
+	def asyncCall(Operation operation) '''
+		// TODO: need suitable constant dimensioning
+		pBuffer = &buffer[500];  // grows backwards
+		«operation.marshall»
+		int operationID = ID_[operation.name/];
+		BEncAsnContent (&amp;pBuffer, &amp;operationID);
+
+		pthread_t pt;
+		pthread_create (&amp;pt, NULL, staticDispatch, (void *) this);
+		// TODO: add semaphore which assures that subsequent calls to «operation.name» are not executed before dispatch
+		// has removed the parameters from the pBuffer stack (pBuffer can be corrupted).
+	'''
+
+	def dispatch_(Class clazz) '''
+		int operationID;
+		BDecAsnContent (&pBuffer, operationID);
+		switch (operationID) {
+			«FOR operation : clazz.ownedOperations»
+			case ID_«operation.name»
+			{
+				
+				// delegate call to executor
+				rconn->«operation.cppCall»;
+				break;
+			}
+			«ENDFOR»
+		}
+ 	'''
+
+	def dispatchWithThreadPool(Class clazz) '''
+		int operationID;
+		BDecAsnContent (&pBuffer, operationID);
+		switch (operationID) {
+			«FOR operation : clazz.ownedOperations»
+			case ID_«operation.name»
+			{
+				«operation.unmarshall»
+				// delegate call to executor
+				rconn->«operation.cppCall»;
+				«IF operation.type != null»«operation.type.cppType» ret = «ENDIF»rconn->«operation.cppCall»;
+				«operation.marshallOutInout»
+				resultsReady = 1;
+				break;
+			}
+			«ENDFOR»
+		}
+	}
+	'''
+}
\ No newline at end of file
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/BehaviorUtil.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/BehaviorUtil.java
new file mode 100644
index 0000000..759026c
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/BehaviorUtil.java
@@ -0,0 +1,117 @@
+/**
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.eclipse.papyrus.designer.transformation.library.xtend;
+
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.BehavioredClassifier;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterDirectionKind;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+
+public class BehaviorUtil {
+	private static final String DEFAULT_LANGUAGE = "C++"; //$NON-NLS-1$
+
+	public static void set(Behavior behavior, String selectLanguage, String textblock) {
+		if (behavior instanceof OpaqueBehavior) {
+			OpaqueBehavior ob = (OpaqueBehavior) behavior;
+			if (ob.getLanguages().size() == 0) {
+				ob.getLanguages().add(DEFAULT_LANGUAGE);
+				ob.getBodies().add(textblock);
+			}
+			else {
+				int i = 0;
+				for (String language : ob.getLanguages()) {
+					if (selectLanguage.equals(language)) {
+						if (i < ob.getBodies().size()) {
+							ob.getBodies().set(i, textblock);
+						}
+						break;
+					}
+				}
+			}
+		}
+	}
+
+	public static void set(Behavior behavior, String textblock) {
+		set(behavior, DEFAULT_LANGUAGE, textblock);
+	}
+	
+	public static OpaqueBehavior createOpaqueBehavior(BehavioredClassifier clazz, Operation operation) {
+		OpaqueBehavior ob = (OpaqueBehavior)
+				clazz.createOwnedBehavior(operation.getName(), UMLPackage.eINSTANCE.getOpaqueBehavior());
+		ob.setSpecification(operation);
+		return ob;
+	}
+
+	public static OpaqueBehavior createOpaqueEffect(Transition transition) {
+		OpaqueBehavior ob = (OpaqueBehavior)
+				transition.createEffect("", UMLPackage.eINSTANCE.getOpaqueBehavior()); //$NON-NLS-1$
+		return ob;
+	}
+
+	public static OpaqueExpression createOpaqueExpression(Constraint constraint, String guardCode) {
+		OpaqueExpression oe = (OpaqueExpression)
+				constraint.createSpecification("", null, UMLPackage.eINSTANCE.getOpaqueExpression()); //$NON-NLS-1$
+		oe.getLanguages().add(DEFAULT_LANGUAGE);
+		oe.getBodies().add(guardCode);
+		return oe;
+	}
+	
+	public static String body(Constraint constraint) {
+		if (constraint.getSpecification() instanceof OpaqueExpression) {
+			OpaqueExpression oe = (OpaqueExpression) constraint.getSpecification();
+			if (oe.getBodies().size() > 0)  {
+				return oe.getBodies().get(0);
+			}
+		}
+		return constraint.getSpecification().stringValue();
+	}
+
+	/**
+	 * Create an operation with an operation return type
+	 * 
+	 * @param clazz
+	 * @param name
+	 * @param retType
+	 * @return
+	 */
+	public static Operation createOperation(Class clazz, String name, Type retType) {
+		Operation operation = clazz.createOwnedOperation(name, null, null);
+		if (retType != null) {
+			Parameter parameter = operation.createOwnedParameter("ret", retType); //$NON-NLS-1$
+			parameter.setDirection(ParameterDirectionKind.RETURN_LITERAL);
+		}
+		return operation;
+	}
+
+	public static String body(Behavior behavior) {
+		return body(behavior, DEFAULT_LANGUAGE);
+	}
+
+	public static String body(Behavior behavior, String selectLanguage) {
+		if (behavior instanceof OpaqueBehavior) {
+			OpaqueBehavior ob = (OpaqueBehavior) behavior;
+			int i = 0;
+			for (String language : ob.getLanguages()) {
+				if (selectLanguage.equals(language)) {
+					if (i < ob.getBodies().size()) {
+						return ob.getBodies().get(i);
+					}
+					break;
+				}
+			}
+		}
+		return null;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/CppUtils.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/CppUtils.xtend
new file mode 100644
index 0000000..f9eea9f
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/CppUtils.xtend
@@ -0,0 +1,84 @@
+package org.eclipse.papyrus.designer.transformation.library.xtend
+
+import org.eclipse.uml2.uml.NamedElement
+import org.eclipse.uml2.uml.Operation
+import org.eclipse.uml2.uml.Parameter
+import org.eclipse.uml2.uml.ParameterDirectionKind
+import org.eclipse.uml2.uml.Type
+import static extension org.eclipse.papyrus.designer.transformation.base.utils.OperationUtils.parametersNonRet
+import static extension org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils.usedNamespaces
+import static extension org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils.dereferenceTypedef
+import org.eclipse.papyrus.designer.transformation.extensions.ITextTemplate
+
+class CppUtils implements ITextTemplate {
+
+	/**
+	 * create the C++ signature for an operation (including parenthesis)
+	 */
+	public static def cppSignature(Operation operation) '''
+		«operation.name»(«FOR parameter : operation.ownedParameters SEPARATOR(', ')»
+			«parameter.cppParameter»
+		«ENDFOR»
+	'''
+
+
+	/**
+	 * make a C++ call, pass all parameters except the return parameter
+	 */
+	 public static def cppCall(Operation operation) '''
+		«operation.name»(«FOR parameter : operation.parametersNonRet SEPARATOR(', ')»
+			«parameter.name»
+		«ENDFOR»)
+	'''
+
+	/**
+	 * make a C++ call, pass all parameters except the return parameter, prefix with "return",
+	 * if there is a return type in the operations declaration
+	 */
+	public static def returnCppCall(Operation operation) '''
+		«IF (operation.type != null)»return «ENDIF»«operation.cppCall»
+	'''
+	
+	public static def cppParameter(Parameter parameter) '''
+		«parameter.type»«IF (parameter.direction == ParameterDirectionKind.OUT)»_out«ENDIF» «parameter.name»
+	'''
+
+	public static def cppType(Type type) '''
+		«IF (type.qualifiedName == 'UMLPrimitiveTypes::Boolean')»
+			bool
+		«ELSEIF (type.qualifiedName == 'UMLPrimitiveTypes::Integer')»
+			int
+		«ELSE»
+			«dereferenceTypedef(type)»
+		«ENDIF»
+	'''
+
+
+	public static def cppRetType(Operation operation) '''
+		«IF (operation.type == null)»
+			void
+		«ELSE»
+			«operation.type.cppType»
+		«ENDIF»
+	'''
+
+	/**
+	 * Open a set of C++ namespaces associated with the packages of of the passed named element
+	 * TODO: use indentTab? => requires making this script recursive
+	 * Need to include referenced types (assuming a naming convention?
+	 */
+	public static def openNamespace(NamedElement namedElement) '''
+		«FOR ns : namedElement.usedNamespaces.reverse»
+			namespace «ns.name»
+		«ENDFOR»
+	'''
+
+	/**
+	 * Close a set of C++ namespaces associated with the packages of of the passed named element
+	 */
+	public static def closeNamespace(NamedElement namedElement) '''
+		«FOR ns : namedElement.usedNamespaces»
+			}; // of namespace [ns.name/]
+		«ENDFOR»
+	'''
+}
\ No newline at end of file
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/FIFO.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/FIFO.xtend
new file mode 100644
index 0000000..f02e507
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/FIFO.xtend
@@ -0,0 +1,14 @@
+package org.eclipse.papyrus.designer.transformation.library.xtend
+
+import org.eclipse.uml2.uml.DataType
+import org.eclipse.papyrus.designer.transformation.core.templates.TemplateInstantiation
+import org.eclipse.papyrus.designer.transformation.extensions.ITextTemplate
+
+public class FIFO implements ITextTemplate {
+	def activate(DataType datatype) '''
+		if (m_size == 0) {
+			cerr << "Warning: size of FIFO is not properly configured (size = 0)" << endl;
+		}
+		m_fifo = new «TemplateInstantiation.context.pkgTemplateParameter("T")»[m_size];
+	'''
+}
\ No newline at end of file
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/Marshalling.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/Marshalling.xtend
new file mode 100644
index 0000000..8080138
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/Marshalling.xtend
@@ -0,0 +1,65 @@
+package org.eclipse.papyrus.designer.transformation.library.xtend
+
+import org.eclipse.uml2.uml.Operation
+import org.eclipse.uml2.uml.Class
+import static extension org.eclipse.papyrus.designer.transformation.library.xtend.CppUtils.cppType
+import org.eclipse.uml2.uml.Parameter
+import static extension org.eclipse.papyrus.designer.transformation.base.utils.OperationUtils.*
+
+class Marshalling {
+	def static marshall(Operation operation) '''
+		// now marshall in and inout parameters via ASN.1
+		«FOR parameter : operation.parametersInInout»
+			«parameter.marshall»
+		«ENDFOR»
+	'''
+
+	def static marshallOutInout(Operation operation) '''
+		// now marshall out and inout parameters via ASN.1
+		«FOR parameter : operation.parametersOutInout»
+			«parameter.marshall»
+		«ENDFOR»
+	'''
+
+	def static marshall(Parameter parameter) '''
+		{
+			«parameter.type.cppType» varName_ASN = «parameter.name»;
+			BEncAsnContent (&pBuffer, &varName_ASN);
+		}
+	'''
+	
+	def static unmarshall(Operation operation) '''
+		«FOR parameter : operation.parametersInInout.reverse»
+			«parameter.unmarshall»
+		«ENDFOR»
+	'''
+	
+	def static unmarshallOutInout(Operation operation) '''
+		«FOR parameter : operation.parametersOutInout.reverse»
+			«parameter.unmarshall»
+		«ENDFOR»
+	'''
+
+	def static unmarshall(Parameter parameter) '''
+		«parameter.type.cppType» «parameter.name»
+		{
+			«parameter.type.cppType» varName_ASN;
+			BDecAsnContent (&pBuffer, &varName_ASN);
+			«parameter.name» = varName_ASN;
+		}
+	'''	
+
+	/**
+	 * Used in a union that contains a struct for each operation. This allows for
+	 * a parameter marshalling in which ... 
+	 */
+	def static cppParameterStorage(Class clazz) '''
+		«FOR operation : clazz.ownedOperations»
+			struct Op_«operation.name» {
+				«FOR parameter : operation.ownedParameters»
+					«parameter.type.cppType» «parameter.name»;
+				«ENDFOR»
+			} op_«operation.name»;
+		«ENDFOR»
+	'''
+}
\ No newline at end of file
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/MultipleReceptacle.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/MultipleReceptacle.xtend
new file mode 100644
index 0000000..bc393fb
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/MultipleReceptacle.xtend
@@ -0,0 +1,14 @@
+package org.eclipse.papyrus.designer.transformation.library.xtend
+
+import org.eclipse.uml2.uml.Operation
+import static extension org.eclipse.papyrus.designer.transformation.library.xtend.CppUtils.cppCall
+
+class MultipleReceptacle {
+	def operation_(Operation operation) '''
+		for (int i=0; i&lt;9; i++) {
+			if (rconn[i] != 0) {
+				rconn[i]->«operation.cppCall»;
+			}
+		}
+	'''
+}
\ No newline at end of file
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/StateMachineUtil.java b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/StateMachineUtil.java
new file mode 100644
index 0000000..7974aec
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/StateMachineUtil.java
@@ -0,0 +1,265 @@
+/**
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.eclipse.papyrus.designer.transformation.library.xtend;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.designer.transformation.core.templates.TemplateUtils;
+import org.eclipse.papyrus.designer.transformation.core.transformations.TransformationContext;
+import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.PseudostateKind;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.StateMachine;
+import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.Vertex;
+
+
+public class StateMachineUtil {
+	public static Region region(State state) {
+		EList<Region> regions = state.getRegions();
+		if (regions.size() > 0) {
+			return regions.get(0);
+		}
+		return null;
+	}
+
+	public static Region region(StateMachine stateMachine) {
+		EList<Region> regions = stateMachine.getRegions();
+		if (regions.size() > 0) {
+			return regions.get(0);
+		}
+		return null;
+	}
+
+	public static EList<State> subStates(State state) {
+		Region region = region(state);
+		return (region != null) ? states(region) : new BasicEList<State>();
+	}
+
+	public static EList<State> states(StateMachine stateMachine) {
+		Region region = region(stateMachine);
+		return (region != null) ? states(region) : new BasicEList<State>();
+	}
+
+	public static EList<State> states(Region region) {
+		EList<State> states = new BasicEList<State>();
+		for (org.eclipse.uml2.uml.Vertex vertex : region.getSubvertices()) {
+			if (vertex instanceof State) {
+				states.add((State) vertex);
+			}
+		}
+		return states;
+	}
+
+	public static EList<Pseudostate> entryPoints(State state) {
+		EList<Pseudostate> pseudoStates = new BasicEList<Pseudostate>();
+		for (Pseudostate pseudoState : state.getConnectionPoints()) {
+			if (pseudoState.getKind() == PseudostateKind.ENTRY_POINT_LITERAL) {
+				pseudoStates.add(pseudoState);
+			}
+		}
+		return pseudoStates;
+	}
+
+	public static EList<Pseudostate> exitPoints(State state) {
+		EList<Pseudostate> pseudoStates = new BasicEList<Pseudostate>();
+		for (Pseudostate pseudoState : state.getConnectionPoints()) {
+			if (pseudoState.getKind() == PseudostateKind.EXIT_POINT_LITERAL) {
+				pseudoStates.add(pseudoState);
+			}
+		}
+		return pseudoStates;
+	}
+
+	public static EList<Pseudostate> junctionPoints(Region region) {
+		return filteredPseudoStates(region, PseudostateKind.JUNCTION_LITERAL);
+	}
+
+	public static EList<Pseudostate> choicePoints(Region region) {
+		return filteredPseudoStates(region, PseudostateKind.CHOICE_LITERAL);
+	}
+
+	public static EList<Pseudostate> filteredPseudoStates(Region region, PseudostateKind kind) {
+		EList<Pseudostate> pseudoStates = new BasicEList<Pseudostate>();
+		for (Vertex vertex : region.getSubvertices()) {
+			if (vertex instanceof Pseudostate) {
+				Pseudostate pseudoState = (Pseudostate) vertex;
+				if (pseudoState.getKind() == kind) {
+					pseudoStates.add(pseudoState);
+				}
+			}
+		}
+		return pseudoStates;
+	}
+
+	public static Pseudostate firstPseudoState(Region region, PseudostateKind kind) {
+		for (Vertex vertex : region.getSubvertices()) {
+			if (vertex instanceof Pseudostate) {
+				Pseudostate pseudoState = (Pseudostate) vertex;
+				if (pseudoState.getKind() == kind) {
+					return pseudoState;
+				}
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * @return The set of all transitions ending indirectly on the state.
+	 *         This is, those which end on one of the state's entry points.
+	 */
+	public static Collection<Transition> indirectIncomings(State state) {
+		EList<Transition> indirectIncoming = new BasicEList<Transition>();
+		for (Pseudostate p : entryPoints(state)) {
+			for (Transition t : p.getIncomings()) {
+				indirectIncoming.add(t);
+			}
+		}
+		return indirectIncoming;
+	}
+
+	/**
+	 * @return The set of all transitions ending indirectly on the state.
+	 *         This is, those which end on one of the state's entry points.
+	 */
+	public static Collection<Transition> indirectOutgoings(State state) {
+		EList<Transition> indirectIncoming = new BasicEList<Transition>();
+		for (Pseudostate p : entryPoints(state)) {
+			for (Transition t : p.getIncomings()) {
+				indirectIncoming.add(t);
+			}
+		}
+		return indirectIncoming;
+	}
+
+
+	/**
+	 * @return The set of all direct and indirect incoming transitions to the state.
+	 */
+	public static Collection<Transition> allIncomings(State state) {
+		EList<Transition> allIncoming = new BasicEList<Transition>();
+		for (Transition t : state.getIncomings()) {
+			allIncoming.add(t);
+		}
+		allIncoming.addAll(indirectIncomings(state));
+		return allIncoming;
+	}
+
+	/**
+	 * @return The set of all direct and indirect incoming transitions to the state.
+	 */
+	public static Collection<Transition> allOutgoings(State state) {
+		EList<Transition> allIncoming = new BasicEList<Transition>();
+		for (Transition t : state.getIncomings()) {
+			allIncoming.add(t);
+		}
+		allIncoming.addAll(indirectOutgoings(state));
+		return allIncoming;
+	}
+
+	/**
+	 * Adds all the inner elements of a composite state to self, except for the
+	 * initial, entry, exit and history pseudo-states.
+	 *
+	 * This operation moves those elements, as it removes them from their
+	 * original container and sets their owner to the recipient.
+	 */
+	public static void moveContents(Region targetRegion, State source) {
+		Region sourceRegion = region(source);
+		EList<Vertex> vertices = new BasicEList<Vertex>(sourceRegion.getSubvertices());
+		for (Vertex v : vertices) {
+			// move states and pseudostates
+			targetRegion.getSubvertices().add(v);
+		}
+		EList<Transition> transitions = new BasicEList<Transition>(sourceRegion.getTransitions());
+		for (Transition t : transitions) {
+			targetRegion.getTransitions().add(t);
+		}
+	}
+
+	public static Pseudostate initialState(Region region) {
+		return firstPseudoState(region, PseudostateKind.INITIAL_LITERAL);
+	}
+
+	public static Pseudostate deepHistory(Region region) {
+		return firstPseudoState(region, PseudostateKind.DEEP_HISTORY_LITERAL);
+	}
+
+	public static State createState(Region region, String name) {
+		return (State) region.createSubvertex(name, UMLPackage.eINSTANCE.getState());
+	}
+
+	public static Pseudostate createPseudostate(Region region, String name) {
+		return (Pseudostate) region.createSubvertex(name, UMLPackage.eINSTANCE.getPseudostate());
+	}
+	
+	/**
+	 * Return the bound package in the context of template instantiation for a given actual.
+	 *
+	 * This is required by the state machine template which needs to access operation IDs
+	 * provided by the call interceptor.
+	 *
+	 * @param actual
+	 *            The actual for template binding
+	 * @return
+	 */
+	public static Package boundPackageRef(Type actual) {
+		for (Package nestedPkg : PackageUtil.getRootPackage(actual).getNestedPackages()) {
+			// search for bound package templates who are bound to the same actual
+			// TODO: search is ambiguous, if same actual is used more than once
+			if (nestedPkg.getTemplateBindings().size() > 0) {
+				TemplateBinding binding = nestedPkg.getTemplateBindings().get(0);
+				if (actual == TemplateUtils.getFirstActualFromBinding(binding)) {
+					return nestedPkg;
+				}
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Declares a dependency from the current classifier which is produced by template instantiation
+	 * to the element (enum) "OperationIDs", if found within the passed package.
+	 *
+	 * @param pkg
+	 * @return
+	 */
+	public static void declareDependencyToOperationIDs(Package pkg) {
+		PackageableElement type = pkg.getPackagedElement("OperationIDs"); //$NON-NLS-1$
+		if (type instanceof Type) {
+			ElementUtils.declareDependency(TransformationContext.current.classifier, (Type) type);
+		}
+	}
+
+	/**
+	 * Declares a dependency from the current classifier which is produced by template instantiation
+	 * to the element (enum) "SignalIDs", if found within the passed package.
+	 *
+	 * @param pkg
+	 *            the package in which an enumeration is looked up
+	 * @return
+	 */
+	public static void declareDependencyToSignalIDs(Package pkg) {
+		NamedElement type = ElementUtils.getQualifiedElement(pkg, "globalenums::" + SIGNAL_ENUM); //$NON-NLS-1$
+		if (type instanceof Type) {
+			ElementUtils.declareDependency(TransformationContext.current.classifier, (Type) type);
+		}
+	}
+	
+	static final String SIGNAL_ENUM = "SignalIDs";  //$NON-NLS-1$
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/StructBasedMarshalling.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/StructBasedMarshalling.xtend
new file mode 100644
index 0000000..98b7f3a
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/StructBasedMarshalling.xtend
@@ -0,0 +1,25 @@
+package org.eclipse.papyrus.designer.transformation.library.xtend
+
+import org.eclipse.uml2.uml.Operation
+import static extension org.eclipse.papyrus.designer.transformation.library.xtend.CppUtils.cppType
+import static extension org.eclipse.papyrus.designer.transformation.base.utils.OperationUtils.parametersInInout
+
+// TODO: original model code does effectively do more than marshalling
+class StructBasedMarshalling {
+	def static marshall(Operation operation) '''
+		struct ParamData {
+			«FOR parameter : operation.parametersInInout»
+				«parameter.type.cppType» «parameter.name»;
+			«ENDFOR»
+		};
+		Event event;
+		event.ID = [operation.name/];
+		event.kind = CallEvent;
+		ParamData * data = &event.params;
+		«FOR parameter : operation.parametersInInout»
+		data->[parameter.name/] = [parameter.name/];
+		«ENDFOR»
+		out->dispatch(event);
+	'''
+	
+}
\ No newline at end of file
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/SyncCalls.xtend b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/SyncCalls.xtend
new file mode 100644
index 0000000..fd9fb3f
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/src/org/eclipse/papyrus/designer/transformation/library/xtend/SyncCalls.xtend
@@ -0,0 +1,13 @@
+package org.eclipse.papyrus.designer.transformation.library.xtend
+
+import org.eclipse.uml2.uml.Operation
+import static extension org.eclipse.papyrus.designer.transformation.library.xtend.CppUtils.cppCall
+
+class SyncCalls {
+	def syncCall(Operation operation) '''
+		// put pre-interceptors here
+		[comment type is a derived property containing the operations return type/]
+		«IF operation.type != null»return «ENDIF»rconn->«operation.cppCall»;
+		// put post-interceptors here
+	'''
+}
\ No newline at end of file
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.library/xtend-gen/.gitignore b/transformation/org.eclipse.papyrus.designer.transformation.library/xtend-gen/.gitignore
new file mode 100644
index 0000000..c96a04f
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.library/xtend-gen/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
\ No newline at end of file
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/.classpath b/transformation/org.eclipse.papyrus.designer.transformation.profile/.classpath
new file mode 100644
index 0000000..c22d3b3
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="src-gen"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/.project b/transformation/org.eclipse.papyrus.designer.transformation.profile/.project
new file mode 100644
index 0000000..b9b244c
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.transformation.profile</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/transformation/org.eclipse.papyrus.designer.transformation.profile/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to transformation/org.eclipse.papyrus.designer.transformation.profile/.settings/org.eclipse.core.resources.prefs
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/.settings/org.eclipse.jdt.core.prefs b/transformation/org.eclipse.papyrus.designer.transformation.profile/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..a6a6e82
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,309 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=99
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/.settings/org.eclipse.jdt.ui.prefs b/transformation/org.eclipse.papyrus.designer.transformation.profile/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..954281d
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *   CEA LIST - Initial API and implementation\n *   \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/transformation/org.eclipse.papyrus.designer.transformation.profile/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to transformation/org.eclipse.papyrus.designer.transformation.profile/.settings/org.eclipse.m2e.core.prefs
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/META-INF/MANIFEST.MF b/transformation/org.eclipse.papyrus.designer.transformation.profile/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..113e9a0
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.uml2.types;visibility:=reexport,
+ org.eclipse.uml2.uml;bundle-version="5.0.0";visibility:=reexport
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Version: 0.7.5.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.designer.transformation.profile.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.designer.transformation.profile;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.eclipse.papyrus.designer.transformation.profile,
+ org.eclipse.papyrus.designer.transformation.profile.Transformation,
+ org.eclipse.papyrus.designer.transformation.profile.Transformation.impl,
+ org.eclipse.papyrus.designer.transformation.profile.Transformation.util
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/about.html b/transformation/org.eclipse.papyrus.designer.transformation.profile/about.html
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/about.html
copy to transformation/org.eclipse.papyrus.designer.transformation.profile/about.html
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/build.properties b/transformation/org.eclipse.papyrus.designer.transformation.profile/build.properties
new file mode 100644
index 0000000..20522e2
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/build.properties
@@ -0,0 +1,9 @@
+source.. = src/,\
+           src-gen/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               model/,\
+               about.html,\
+               plugin.properties
+src.includes = about.html
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/model/Transformation.ecore b/transformation/org.eclipse.papyrus.designer.transformation.profile/model/Transformation.ecore
new file mode 100644
index 0000000..60cb07e
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/model/Transformation.ecore
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="Transformation" nsURI="http://www.eclipse.org/papyrus/Transformation/1"
+    nsPrefix="Transformation">
+  <eClassifiers xsi:type="ecore:EClass" name="M2MTrafo">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="Represents a M2M transformation. Such a M2M is directly associated with a Java implementation (via an extension point) "/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="M2MTrafoChain">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="Represents a M2M transformation chain: a class whoses attributes are typed with M2M transformations&#xA;"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ApplyTransformation">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="trafo" ordered="false"
+        upperBound="-1" eType="#//M2MTrafo"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Element" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="DerivedElement">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Element" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+  </eClassifiers>
+</ecore:EPackage>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di b/transformation/org.eclipse.papyrus.designer.transformation.profile/model/Transformation.profile.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/osal.di
copy to transformation/org.eclipse.papyrus.designer.transformation.profile/model/Transformation.profile.di
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/model/Transformation.profile.genmodel b/transformation/org.eclipse.papyrus.designer.transformation.profile/model/Transformation.profile.genmodel
new file mode 100644
index 0000000..82f7ece
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/model/Transformation.profile.genmodel
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/uml2/2.2.0/GenModel"
+    modelDirectory="/org.eclipse.papyrus.designer.transformation.profile/src-gen"
+    editDirectory="/org.eclipse.papyrus.designer.transformation.profile.edit/src"
+    editorDirectory="/org.eclipse.papyrus.designer.transformation.profile.editor/src"
+    modelPluginID="org.eclipse.papyrus.designer.transformation.profile" modelName="Transformation"
+    modelPluginClass="" editPluginClass="org.eclipse.papyrus.designer.transformation.profile.Codegen.provider.TransformationEditPlugin"
+    editorPluginClass="org.eclipse.papyrus.designer.transformation.profile.Codegen.presentation.TransformationEditorPlugin"
+    rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" testSuiteClass="org.eclipse.papyrus.designer.transformation.profile.Transformation.tests.TransformationAllTests"
+    importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="6.0" copyrightFields="false"
+    editPluginID="org.eclipse.papyrus.designer.transformation.profile.edit" editorPluginID="org.eclipse.papyrus.designer.transformation.profile.editor"
+    usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.uml2.types/model/Types.genmodel#//types ../../org.eclipse.uml2.uml/model/UML.genmodel#//uml"
+    operationReflection="true" importOrganizing="true">
+  <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
+    <details key="OPPOSITE_ROLE_NAMES" value="IGNORE"/>
+    <details key="DUPLICATE_FEATURES" value="DISCARD"/>
+    <details key="ANNOTATION_DETAILS" value="PROCESS"/>
+    <details key="PROPERTY_DEFAULT_EXPRESSIONS" value="IGNORE"/>
+    <details key="DUPLICATE_FEATURE_INHERITANCE" value="DISCARD"/>
+    <details key="COMMENTS" value="PROCESS"/>
+    <details key="DERIVED_FEATURES" value="PROCESS"/>
+    <details key="SUPER_CLASS_ORDER" value="PROCESS"/>
+    <details key="DUPLICATE_OPERATION_INHERITANCE" value="DISCARD"/>
+    <details key="REDEFINING_OPERATIONS" value="REPORT"/>
+    <details key="INVARIANT_CONSTRAINTS" value="PROCESS"/>
+    <details key="UNION_PROPERTIES" value="REPORT"/>
+    <details key="DUPLICATE_OPERATIONS" value="DISCARD"/>
+    <details key="NON_API_INVARIANTS" value="IGNORE"/>
+    <details key="CAMEL_CASE_NAMES" value="IGNORE"/>
+    <details key="SUBSETTING_PROPERTIES" value="REPORT"/>
+    <details key="OPERATION_BODIES" value="IGNORE"/>
+    <details key="ECORE_TAGGED_VALUES" value="PROCESS"/>
+    <details key="UNTYPED_PROPERTIES" value="REPORT"/>
+    <details key="REDEFINING_PROPERTIES" value="REPORT"/>
+    <details key="INVOCATION_DELEGATES" value="IGNORE"/>
+    <details key="VALIDATION_DELEGATES" value="IGNORE"/>
+  </genAnnotations>
+  <foreignModel>Transformation.profile.uml</foreignModel>
+  <genPackages xsi:type="genmodel:GenPackage" prefix="Transformation" basePackage="org.eclipse.papyrus.designer.transformation.profile"
+      disposableProviderFactory="true" ecorePackage="Transformation.ecore#/">
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="Transformation.ecore#//M2MTrafo">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Transformation.ecore#//M2MTrafo/base_Class"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="Transformation.ecore#//M2MTrafoChain">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Transformation.ecore#//M2MTrafoChain/base_Class"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="Transformation.ecore#//ApplyTransformation">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Transformation.ecore#//ApplyTransformation/trafo"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Transformation.ecore#//ApplyTransformation/base_Element"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="Transformation.ecore#//DerivedElement">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Transformation.ecore#//DerivedElement/base_Element"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Transformation.ecore#//DerivedElement/source"/>
+    </genClasses>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/model/Transformation.profile.notation b/transformation/org.eclipse.papyrus.designer.transformation.profile/model/Transformation.profile.notation
new file mode 100644
index 0000000..0e7f10c
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/model/Transformation.profile.notation
@@ -0,0 +1,231 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_Cur4kD3yEeajPtol9OalIw" type="PapyrusUMLProfileDiagram" name="M2Mtransformations" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_YcPxMD3yEeajPtol9OalIw" type="Class_MetaclassShape">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YcRmYD3yEeajPtol9OalIw" source="Stereotype_Annotation">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YcSNcD3yEeajPtol9OalIw" key="StereotypeWithQualifiedNameList" value=""/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YcSNcT3yEeajPtol9OalIw" key="StereotypeList" value="StandardProfile::Metaclass"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YcSNcj3yEeajPtol9OalIw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YcSNcz3yEeajPtol9OalIw" key="PropStereoDisplay" value=""/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YcSNdD3yEeajPtol9OalIw" key="StereotypePropertyLocation" value="Compartment"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_YcQYQD3yEeajPtol9OalIw" type="Class_MetaclassNameLabel"/>
+    <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YcQYQT3yEeajPtol9OalIw" x="80" y="20" width="381" height="61"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_YeLD0D3yEeajPtol9OalIw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_YeLD0T3yEeajPtol9OalIw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YeLD0z3yEeajPtol9OalIw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YeLD0j3yEeajPtol9OalIw" x="380" y="20"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_g-sTYD3yEeajPtol9OalIw" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_g-sTYj3yEeajPtol9OalIw" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_g-sTYz3yEeajPtol9OalIw" type="Stereotype_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_vNX_oD3yEeajPtol9OalIw" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_1NERMD3yEeajPtol9OalIw" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Property" href="Transformation.profile.uml#_vNRR8D3yEeajPtol9OalIw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vNX_oT3yEeajPtol9OalIw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_g-sTZD3yEeajPtol9OalIw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_g-sTZT3yEeajPtol9OalIw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_g-sTZj3yEeajPtol9OalIw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g-sTZz3yEeajPtol9OalIw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_g-sTaD3yEeajPtol9OalIw" visible="false" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_g-sTaT3yEeajPtol9OalIw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_g-sTaj3yEeajPtol9OalIw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_g-sTaz3yEeajPtol9OalIw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g-sTbD3yEeajPtol9OalIw"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="Transformation.profile.uml#_g-p3ID3yEeajPtol9OalIw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g-sTYT3yEeajPtol9OalIw" x="760" y="120" width="161" height="81"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_w_ZW4D3yEeajPtol9OalIw" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_w_ZW4j3yEeajPtol9OalIw" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_w_ZW4z3yEeajPtol9OalIw" type="Stereotype_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_w_ZW5D3yEeajPtol9OalIw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_w_ZW5T3yEeajPtol9OalIw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_w_ZW5j3yEeajPtol9OalIw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w_ZW5z3yEeajPtol9OalIw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_w_Z98D3yEeajPtol9OalIw" visible="false" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_w_Z98T3yEeajPtol9OalIw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_w_Z98j3yEeajPtol9OalIw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_w_Z98z3yEeajPtol9OalIw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w_Z99D3yEeajPtol9OalIw"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="Transformation.profile.uml#_w_XhsD3yEeajPtol9OalIw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w_ZW4T3yEeajPtol9OalIw" x="80" y="120" width="161" height="81"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_tl0pwEFlEeaVWaGMtmQuJw" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_tl3GAEFlEeaVWaGMtmQuJw" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_tl3tEEFlEeaVWaGMtmQuJw" type="Stereotype_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_tl3tEUFlEeaVWaGMtmQuJw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_tl3tEkFlEeaVWaGMtmQuJw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_tl3tE0FlEeaVWaGMtmQuJw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tl3tFEFlEeaVWaGMtmQuJw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_tl3tFUFlEeaVWaGMtmQuJw" visible="false" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_tl3tFkFlEeaVWaGMtmQuJw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_tl3tF0FlEeaVWaGMtmQuJw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_tl3tGEFlEeaVWaGMtmQuJw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tl3tGUFlEeaVWaGMtmQuJw"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="Transformation.profile.uml#_tlAxcEFlEeaVWaGMtmQuJw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tl0pwUFlEeaVWaGMtmQuJw" x="300" y="120" width="161" height="81"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_gnufcEOFEea4W-lfO7m_3g" type="Class_MetaclassShape">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gnxiwEOFEea4W-lfO7m_3g" source="Stereotype_Annotation">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gnxiwUOFEea4W-lfO7m_3g" key="StereotypeWithQualifiedNameList" value=""/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gnxiwkOFEea4W-lfO7m_3g" key="StereotypeList" value="StandardProfile::Metaclass"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gnxiw0OFEea4W-lfO7m_3g" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gnxixEOFEea4W-lfO7m_3g" key="PropStereoDisplay" value=""/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gnxixUOFEea4W-lfO7m_3g" key="StereotypePropertyLocation" value="Compartment"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_gnw7sEOFEea4W-lfO7m_3g" type="Class_MetaclassNameLabel"/>
+    <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gnw7sUOFEea4W-lfO7m_3g" x="540" y="20" width="381" height="61"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_goO1wEOFEea4W-lfO7m_3g" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_goO1wUOFEea4W-lfO7m_3g"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_goO1w0OFEea4W-lfO7m_3g" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_goO1wkOFEea4W-lfO7m_3g" x="280" y="540"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_iwuzUEOFEea4W-lfO7m_3g" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_iwvaYEOFEea4W-lfO7m_3g" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_iwvaYUOFEea4W-lfO7m_3g" type="Stereotype_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_oK6kEEOFEea4W-lfO7m_3g" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:StringListValueStyle" xmi:id="_rL_IYEOFEea4W-lfO7m_3g" name="maskLabel">
+          <stringListValue>name</stringListValue>
+          <stringListValue>type</stringListValue>
+          <stringListValue>derived</stringListValue>
+        </styles>
+        <element xmi:type="uml:Property" href="Transformation.profile.uml#_oKo3QEOFEea4W-lfO7m_3g"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_oK6kEUOFEea4W-lfO7m_3g"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_iwvaYkOFEea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_iwvaY0OFEea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_iwvaZEOFEea4W-lfO7m_3g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iwvaZUOFEea4W-lfO7m_3g"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_iwvaZkOFEea4W-lfO7m_3g" visible="false" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_iwvaZ0OFEea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_iwvaaEOFEea4W-lfO7m_3g"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_iwvaaUOFEea4W-lfO7m_3g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iwvaakOFEea4W-lfO7m_3g"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="Transformation.profile.uml#_iwtlMEOFEea4W-lfO7m_3g"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iwuzUUOFEea4W-lfO7m_3g" x="540" y="120" width="161" height="81"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="__1oGgF4LEea4bLzKfwAjjA" type="Comment_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="__1rw4F4LEea4bLzKfwAjjA" type="Comment_BodyLabel"/>
+    <element xmi:type="uml:Comment" href="Transformation.profile.uml#__1b5QF4LEea4bLzKfwAjjA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="__1oGgV4LEea4bLzKfwAjjA" x="80" y="240" width="161" height="121"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_ZJPm8G-_Eea89JTVlr8RHA" type="Comment_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_ZJQOAG-_Eea89JTVlr8RHA" type="Comment_BodyLabel"/>
+    <element xmi:type="uml:Comment" href="Transformation.profile.uml#_ZJNKsG-_Eea89JTVlr8RHA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZJPm8W-_Eea89JTVlr8RHA" x="300" y="240" width="161" height="121"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_nAKTcG-_Eea89JTVlr8RHA" type="Comment_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_nAKTcm-_Eea89JTVlr8RHA" type="Comment_BodyLabel"/>
+    <element xmi:type="uml:Comment" href="Transformation.profile.uml#_nAJsYG-_Eea89JTVlr8RHA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nAKTcW-_Eea89JTVlr8RHA" x="540" y="240" width="161" height="121"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_rieBAG-_Eea89JTVlr8RHA" type="Comment_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_rieoEG-_Eea89JTVlr8RHA" type="Comment_BodyLabel"/>
+    <element xmi:type="uml:Comment" href="Transformation.profile.uml#_ricy4G-_Eea89JTVlr8RHA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rieBAW-_Eea89JTVlr8RHA" x="760" y="240" width="161" height="121"/>
+  </children>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_Cur4kT3yEeajPtol9OalIw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_Cur4kj3yEeajPtol9OalIw"/>
+  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_Cur4kz3yEeajPtol9OalIw">
+    <owner xmi:type="uml:Profile" href="Transformation.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/>
+  </styles>
+  <element xmi:type="uml:Profile" href="Transformation.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/>
+  <edges xmi:type="notation:Connector" xmi:id="_YeLD1D3yEeajPtol9OalIw" type="StereotypeCommentLink" source="_YcPxMD3yEeajPtol9OalIw" target="_YeLD0D3yEeajPtol9OalIw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_YeLD1T3yEeajPtol9OalIw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_YeLq4j3yEeajPtol9OalIw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YeLD1j3yEeajPtol9OalIw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YeLq4D3yEeajPtol9OalIw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YeLq4T3yEeajPtol9OalIw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_79qbQD3yEeajPtol9OalIw" type="Extension_Edge" source="_w_ZW4D3yEeajPtol9OalIw" target="_YcPxMD3yEeajPtol9OalIw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_79qbQT3yEeajPtol9OalIw"/>
+    <element xmi:type="uml:Extension" href="Transformation.profile.uml#_78sK4D3yEeajPtol9OalIw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_79qbQj3yEeajPtol9OalIw" points="[360, 160, -643984, -643984]$[380, 70, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_796S4D3yEeajPtol9OalIw" id="(0.4968944099378882,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_796S4T3yEeajPtol9OalIw" id="(0.19950124688279303,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_ze4u4EFlEeaVWaGMtmQuJw" type="Extension_Edge" source="_tl0pwEFlEeaVWaGMtmQuJw" target="_YcPxMD3yEeajPtol9OalIw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_ze4u4UFlEeaVWaGMtmQuJw"/>
+    <element xmi:type="uml:Extension" href="Transformation.profile.uml#_zej-wEFlEeaVWaGMtmQuJw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ze4u4kFlEeaVWaGMtmQuJw" points="[600, 120, -643984, -643984]$[600, 70, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zfPUMEFlEeaVWaGMtmQuJw" id="(0.4968944099378882,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zfPUMUFlEeaVWaGMtmQuJw" id="(0.7874015748031497,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_goO1xEOFEea4W-lfO7m_3g" type="StereotypeCommentLink" source="_gnufcEOFEea4W-lfO7m_3g" target="_goO1wEOFEea4W-lfO7m_3g">
+    <styles xmi:type="notation:FontStyle" xmi:id="_goO1xUOFEea4W-lfO7m_3g"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_goPc0EOFEea4W-lfO7m_3g" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_goO1xkOFEea4W-lfO7m_3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_goO1x0OFEea4W-lfO7m_3g"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_goO1yEOFEea4W-lfO7m_3g"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_kLqgQEOFEea4W-lfO7m_3g" type="Extension_Edge" source="_iwuzUEOFEea4W-lfO7m_3g" target="_gnufcEOFEea4W-lfO7m_3g">
+    <styles xmi:type="notation:FontStyle" xmi:id="_kLqgQUOFEea4W-lfO7m_3g"/>
+    <element xmi:type="uml:Extension" href="Transformation.profile.uml#_kLVwIEOFEea4W-lfO7m_3g"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kLqgQkOFEea4W-lfO7m_3g" points="[620, 140, -643984, -643984]$[620, 81, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kMLdoEOFEea4W-lfO7m_3g" id="(0.4968944099378882,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kMMEsEOFEea4W-lfO7m_3g" id="(0.2099737532808399,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_BnGEIF4MEea4bLzKfwAjjA" type="Comment_AnnotatedElementEdge" source="__1oGgF4LEea4bLzKfwAjjA" target="_w_ZW4D3yEeajPtol9OalIw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_BnGEIV4MEea4bLzKfwAjjA"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BnGEIl4MEea4bLzKfwAjjA" points="[680, 340, -643984, -643984]$[660, 221, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BntvMF4MEea4bLzKfwAjjA" id="(0.5363984674329502,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BntvMV4MEea4bLzKfwAjjA" id="(0.4968944099378882,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_mSpNAG6JEeabY4GUQBuEyA" type="Extension_Edge" source="_g-sTYD3yEeajPtol9OalIw" target="_gnufcEOFEea4W-lfO7m_3g">
+    <styles xmi:type="notation:FontStyle" xmi:id="_mSpNAW6JEeabY4GUQBuEyA"/>
+    <element xmi:type="uml:Extension" href="Transformation.profile.uml#_mSKr4G6JEeabY4GUQBuEyA"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mSpNAm6JEeabY4GUQBuEyA" points="[820, 140, -643984, -643984]$[820, 81, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mTL_kG6JEeabY4GUQBuEyA" id="(0.4968944099378882,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mTL_kW6JEeabY4GUQBuEyA" id="(0.7874015748031497,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_luNjYG-_Eea89JTVlr8RHA" type="Comment_AnnotatedElementEdge" source="_ZJPm8G-_Eea89JTVlr8RHA" target="_tl0pwEFlEeaVWaGMtmQuJw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_luNjYW-_Eea89JTVlr8RHA"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_luNjYm-_Eea89JTVlr8RHA" points="[380, 240, -643984, -643984]$[380, 201, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_luoaIG-_Eea89JTVlr8RHA" id="(0.4968944099378882,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lupBMG-_Eea89JTVlr8RHA" id="(0.4968944099378882,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_wwLpwG_EEeaWnoc8dDCyEA" type="Comment_AnnotatedElementEdge" source="_nAKTcG-_Eea89JTVlr8RHA" target="_iwuzUEOFEea4W-lfO7m_3g">
+    <styles xmi:type="notation:FontStyle" xmi:id="_wwLpwW_EEeaWnoc8dDCyEA"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wwLpwm_EEeaWnoc8dDCyEA" points="[620, 240, -643984, -643984]$[620, 201, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wxf4YG_EEeaWnoc8dDCyEA" id="(0.4968944099378882,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wxgfcG_EEeaWnoc8dDCyEA" id="(0.4968944099378882,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_xYC7AG_EEeaWnoc8dDCyEA" type="Comment_AnnotatedElementEdge" source="_rieBAG-_Eea89JTVlr8RHA" target="_g-sTYD3yEeajPtol9OalIw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_xYC7AW_EEeaWnoc8dDCyEA"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xYC7Am_EEeaWnoc8dDCyEA" points="[840, 240, -643984, -643984]$[840, 201, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xZSRIG_EEeaWnoc8dDCyEA" id="(0.4968944099378882,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xZSRIW_EEeaWnoc8dDCyEA" id="(0.4968944099378882,1.0)"/>
+  </edges>
+</notation:Diagram>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/model/Transformation.profile.uml b/transformation/org.eclipse.papyrus.designer.transformation.profile/model/Transformation.profile.uml
new file mode 100644
index 0000000..0e291cc
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/model/Transformation.profile.uml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+  <uml:Profile xmi:id="_fPDsIBa-EearhdjjJ6cVzQ" name="Transformation" metaclassReference="_WWO_YBbAEearhdjjJ6cVzQ _LQB30CXmEea8zMl4rVTOhQ _bIj1ICi3EeaXvZJsTlfH8A _KjtPoEN6Eea4W-lfO7m_3g">
+    <ownedComment xmi:type="uml:Comment" xmi:id="__1b5QF4LEea4bLzKfwAjjA" annotatedElement="_w_XhsD3yEeajPtol9OalIw">
+      <body>Represents a M2M transformation. Such a M2M is directly associated with a Java implementation (via an extension point) </body>
+    </ownedComment>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_ZJNKsG-_Eea89JTVlr8RHA" annotatedElement="_tlAxcEFlEeaVWaGMtmQuJw">
+      <body>Represents a M2M transformation chain: a class whoses attributes are typed with M2M transformations
+</body>
+    </ownedComment>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_nAJsYG-_Eea89JTVlr8RHA" annotatedElement="_iwtlMEOFEea4W-lfO7m_3g">
+      <body>An element that is e result of a M2M transformation</body>
+    </ownedComment>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_ricy4G-_Eea89JTVlr8RHA" annotatedElement="_g-p3ID3yEeajPtol9OalIw">
+      <body>Force the application of a specific M2M transformtion on an element.</body>
+    </ownedComment>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_WWO_YBbAEearhdjjJ6cVzQ" alias="Model">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Model"/>
+    </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_LQB30CXmEea8zMl4rVTOhQ" alias="Element">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+    </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_bIj1ICi3EeaXvZJsTlfH8A" alias="Class">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+    </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_KjtPoEN6Eea4W-lfO7m_3g" alias="Property">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+    </elementImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_fTx0EBa-EearhdjjJ6cVzQ">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_g-p3ID3yEeajPtol9OalIw" name="ApplyTransformation">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_vNRR8D3yEeajPtol9OalIw" name="trafo" visibility="public" type="_w_XhsD3yEeajPtol9OalIw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MsMgAFjMEeanCpyPTMVlnA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MsQKYFjMEeanCpyPTMVlnA" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mSO9UG6JEeabY4GUQBuEyA" name="base_Element" association="_mSKr4G6JEeabY4GUQBuEyA">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_w_XhsD3yEeajPtol9OalIw" name="M2MTrafo">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_78sx8D3yEeajPtol9OalIw" name="base_Class" association="_78sK4D3yEeajPtol9OalIw">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_78sK4D3yEeajPtol9OalIw" name="E_M2MTrafo_Class1" memberEnd="_78sK4T3yEeajPtol9OalIw _78sx8D3yEeajPtol9OalIw">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_78sK4T3yEeajPtol9OalIw" name="extension_M2MTrafo" type="_w_XhsD3yEeajPtol9OalIw" aggregation="composite" association="_78sK4D3yEeajPtol9OalIw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_tlAxcEFlEeaVWaGMtmQuJw" name="M2MTrafoChain">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_zeqFYEFlEeaVWaGMtmQuJw" name="base_Class" association="_zej-wEFlEeaVWaGMtmQuJw">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_zej-wEFlEeaVWaGMtmQuJw" name="E_M2MTrafoChain_Class1" memberEnd="_zepeUEFlEeaVWaGMtmQuJw _zeqFYEFlEeaVWaGMtmQuJw">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_zepeUEFlEeaVWaGMtmQuJw" name="extension_M2MTrafoChain" type="_tlAxcEFlEeaVWaGMtmQuJw" aggregation="composite" association="_zej-wEFlEeaVWaGMtmQuJw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_iwtlMEOFEea4W-lfO7m_3g" name="DerivedElement">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_kLW-QEOFEea4W-lfO7m_3g" name="base_Element" association="_kLVwIEOFEea4W-lfO7m_3g">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_oKo3QEOFEea4W-lfO7m_3g" name="source" visibility="public">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_kLVwIEOFEea4W-lfO7m_3g" name="E_DerivedElement_Element1" memberEnd="_kLWXMEOFEea4W-lfO7m_3g _kLW-QEOFEea4W-lfO7m_3g">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_kLWXMEOFEea4W-lfO7m_3g" name="extension_DerivedElement" type="_iwtlMEOFEea4W-lfO7m_3g" aggregation="composite" association="_kLVwIEOFEea4W-lfO7m_3g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_mSKr4G6JEeabY4GUQBuEyA" name="E_ApplyTransformation_Element1" memberEnd="_mSOWQG6JEeabY4GUQBuEyA _mSO9UG6JEeabY4GUQBuEyA">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_mSOWQG6JEeabY4GUQBuEyA" name="extension_ApplyTransformation" type="_g-p3ID3yEeajPtol9OalIw" aggregation="composite" association="_mSKr4G6JEeabY4GUQBuEyA"/>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_QvyJsBa_EearhdjjJ6cVzQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qv1NABa_EearhdjjJ6cVzQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+    </profileApplication>
+  </uml:Profile>
+  <Ecore:EPackage xmi:id="_RPiAwBa_EearhdjjJ6cVzQ" base_Package="_fPDsIBa-EearhdjjJ6cVzQ" packageName="Transformation" nsPrefix="Transformation" nsURI="http://www.eclipse.org/papyrus/Transformation/1" prefix="Transformation"/>
+</xmi:XMI>
diff --git a/components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/sysinterfaces.di b/transformation/org.eclipse.papyrus.designer.transformation.profile/model/trafoKinds.di
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.modellibs.core/models/library/sysinterfaces.di
copy to transformation/org.eclipse.papyrus.designer.transformation.profile/model/trafoKinds.di
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/model/trafoKinds.notation b/transformation/org.eclipse.papyrus.designer.transformation.profile/model/trafoKinds.notation
new file mode 100644
index 0000000..b5bd6ca
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/model/trafoKinds.notation
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_in9FUD30EeajPtol9OalIw" type="PapyrusUMLClassDiagram" name="TrafoKinds" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_jzGp0D30EeajPtol9OalIw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jzH38D30EeajPtol9OalIw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_jzH38T30EeajPtol9OalIw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jzH38j30EeajPtol9OalIw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jzH38z30EeajPtol9OalIw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_jzH39D30EeajPtol9OalIw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jzH39T30EeajPtol9OalIw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jzH39j30EeajPtol9OalIw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jzH39z30EeajPtol9OalIw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jzH3-D30EeajPtol9OalIw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_jzH3-T30EeajPtol9OalIw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jzH3-j30EeajPtol9OalIw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jzH3-z30EeajPtol9OalIw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jzH3_D30EeajPtol9OalIw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jzH3_T30EeajPtol9OalIw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_jzH3_j30EeajPtol9OalIw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jzH3_z30EeajPtol9OalIw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jzH4AD30EeajPtol9OalIw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jzH4AT30EeajPtol9OalIw"/>
+    </children>
+    <element xmi:type="uml:Class" href="trafoKinds.uml#_jzFbsD30EeajPtol9OalIw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jzGp0T30EeajPtol9OalIw" x="159" y="57" width="135" height="144"/>
+  </children>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_in9FUT30EeajPtol9OalIw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_in9FUj30EeajPtol9OalIw"/>
+  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_in9FUz30EeajPtol9OalIw">
+    <owner xmi:type="uml:Model" href="trafoKinds.uml#_YhImUD30EeajPtol9OalIw"/>
+  </styles>
+  <element xmi:type="uml:Model" href="trafoKinds.uml#_YhImUD30EeajPtol9OalIw"/>
+</notation:Diagram>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/model/trafoKinds.uml b/transformation/org.eclipse.papyrus.designer.transformation.profile/model/trafoKinds.uml
new file mode 100644
index 0000000..7900188
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/model/trafoKinds.uml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_YhImUD30EeajPtol9OalIw" name="trafoKinds">
+  <packagedElement xmi:type="uml:Class" xmi:id="_jzFbsD30EeajPtol9OalIw" name="MergeTransformaiton"/>
+  <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_eNCZMD30EeajPtol9OalIw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eNDAQD30EeajPtol9OalIw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Codegen/1#/"/>
+    </eAnnotations>
+    <appliedProfile xmi:type="uml:Profile" href="pathmap://Codegen_PROFILES/Codegen.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/>
+  </profileApplication>
+</uml:Model>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/plugin.properties b/transformation/org.eclipse.papyrus.designer.transformation.profile/plugin.properties
new file mode 100644
index 0000000..2026301
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2016 CEA LIST.
+# All rights reserved. This program and the accompanying materials 
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     Shuai Li (CEA LIST) <shuai.li@cea.fr> - initial API and implementation
+###############################################################################
+pluginName=Papyrus Designer code generation profile (Incubation)
+providerName=Eclipse Modeling Project
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/plugin.xml b/transformation/org.eclipse.papyrus.designer.transformation.profile/plugin.xml
new file mode 100644
index 0000000..b989c4c
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/plugin.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated Transformation.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/Transformation/1"
+            class="org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage"
+            genModel="model/Transformation.profile.genmodel"/>
+   </extension>
+  
+  <extension point="org.eclipse.emf.ecore.uri_mapping">
+		<mapping
+			source="pathmap://TRAFO_PROFILE/"
+			target="platform:/plugin/org.eclipse.papyrus.designer.transformation.profile/model/"/>
+	</extension>
+  
+   	<extension point="org.eclipse.uml2.uml.generated_package">
+		<profile
+            uri="http://www.eclipse.org/papyrus/Transformation/1"
+			location="pathmap://TRAFO_PROFILE/Transformation.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/>
+	</extension>
+	
+   
+	<extension point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+		<profile
+			description="M2M transformation profile"
+			iconpath="icons/m2m.gif"
+			name="M2M trafo"
+			path="pathmap://TRAFO_PROFILE/Transformation.profile.uml"
+			provider="CEA LIST"/>
+	</extension>
+   
+</plugin>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/pom.xml b/transformation/org.eclipse.papyrus.designer.transformation.profile/pom.xml
new file mode 100644
index 0000000..dc64c47
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/pom.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.designer</groupId>
+		<artifactId>org.eclipse.papyrus.designer.transformation</artifactId>
+		<version>0.7.5-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.designer.transformation.profile</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This module contains the model-2-model transformation profile</description>
+</project>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/ApplyTransformation.java b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/ApplyTransformation.java
new file mode 100644
index 0000000..54162e6
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/ApplyTransformation.java
@@ -0,0 +1,69 @@
+/**
+ */
+package org.eclipse.papyrus.designer.transformation.profile.Transformation;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Apply Transformation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation#getTrafo <em>Trafo</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation#getBase_Element <em>Base Element</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage#getApplyTransformation()
+ * @model
+ * @generated
+ */
+public interface ApplyTransformation extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Trafo</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Trafo</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Trafo</em>' reference list.
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage#getApplyTransformation_Trafo()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<M2MTrafo> getTrafo();
+
+	/**
+	 * Returns the value of the '<em><b>Base Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Element</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Element</em>' reference.
+	 * @see #setBase_Element(Element)
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage#getApplyTransformation_Base_Element()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Element getBase_Element();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation#getBase_Element <em>Base Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Element</em>' reference.
+	 * @see #getBase_Element()
+	 * @generated
+	 */
+	void setBase_Element(Element value);
+
+} // ApplyTransformation
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/DerivedElement.java b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/DerivedElement.java
new file mode 100644
index 0000000..a91268b
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/DerivedElement.java
@@ -0,0 +1,79 @@
+/**
+ */
+package org.eclipse.papyrus.designer.transformation.profile.Transformation;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Derived Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement#getBase_Element <em>Base Element</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement#getSource <em>Source</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage#getDerivedElement()
+ * @model
+ * @generated
+ */
+public interface DerivedElement extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Element</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Element</em>' reference.
+	 * @see #setBase_Element(Element)
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage#getDerivedElement_Base_Element()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Element getBase_Element();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement#getBase_Element <em>Base Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Element</em>' reference.
+	 * @see #getBase_Element()
+	 * @generated
+	 */
+	void setBase_Element(Element value);
+
+	/**
+	 * Returns the value of the '<em><b>Source</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Source</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</em>' reference.
+	 * @see #setSource(Element)
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage#getDerivedElement_Source()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Element getSource();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement#getSource <em>Source</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Source</em>' reference.
+	 * @see #getSource()
+	 * @generated
+	 */
+	void setSource(Element value);
+
+} // DerivedElement
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/M2MTrafo.java b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/M2MTrafo.java
new file mode 100644
index 0000000..7ad59ad
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/M2MTrafo.java
@@ -0,0 +1,54 @@
+/**
+ */
+package org.eclipse.papyrus.designer.transformation.profile.Transformation;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>M2M Trafo</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Represents a M2M transformation. Such a M2M is directly associated with a Java implementation (via an extension point) 
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage#getM2MTrafo()
+ * @model
+ * @generated
+ */
+public interface M2MTrafo extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Class</em>' reference.
+	 * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage#getM2MTrafo_Base_Class()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo#getBase_Class <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Class</em>' reference.
+	 * @see #getBase_Class()
+	 * @generated
+	 */
+	void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+} // M2MTrafo
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/M2MTrafoChain.java b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/M2MTrafoChain.java
new file mode 100644
index 0000000..2dda5be
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/M2MTrafoChain.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.papyrus.designer.transformation.profile.Transformation;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>M2M Trafo Chain</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Represents a M2M transformation chain: a class whoses attributes are typed with M2M transformations
+ * 
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafoChain#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage#getM2MTrafoChain()
+ * @model
+ * @generated
+ */
+public interface M2MTrafoChain extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Class</em>' reference.
+	 * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage#getM2MTrafoChain_Base_Class()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafoChain#getBase_Class <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Class</em>' reference.
+	 * @see #getBase_Class()
+	 * @generated
+	 */
+	void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+} // M2MTrafoChain
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/TransformationFactory.java b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/TransformationFactory.java
new file mode 100644
index 0000000..17a3ac1
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/TransformationFactory.java
@@ -0,0 +1,69 @@
+/**
+ */
+package org.eclipse.papyrus.designer.transformation.profile.Transformation;
+
+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 org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage
+ * @generated
+ */
+public interface TransformationFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	TransformationFactory eINSTANCE = org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.TransformationFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Apply Transformation</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Apply Transformation</em>'.
+	 * @generated
+	 */
+	ApplyTransformation createApplyTransformation();
+
+	/**
+	 * Returns a new object of class '<em>M2M Trafo</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>M2M Trafo</em>'.
+	 * @generated
+	 */
+	M2MTrafo createM2MTrafo();
+
+	/**
+	 * Returns a new object of class '<em>M2M Trafo Chain</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>M2M Trafo Chain</em>'.
+	 * @generated
+	 */
+	M2MTrafoChain createM2MTrafoChain();
+
+	/**
+	 * Returns a new object of class '<em>Derived Element</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Derived Element</em>'.
+	 * @generated
+	 */
+	DerivedElement createDerivedElement();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	TransformationPackage getTransformationPackage();
+
+} //TransformationFactory
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/TransformationPackage.java b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/TransformationPackage.java
new file mode 100644
index 0000000..d983f0d
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/TransformationPackage.java
@@ -0,0 +1,444 @@
+/**
+ */
+package org.eclipse.papyrus.designer.transformation.profile.Transformation;
+
+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 org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface TransformationPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "Transformation";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/Transformation/1";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "Transformation";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	TransformationPackage eINSTANCE = org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.TransformationPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.ApplyTransformationImpl <em>Apply Transformation</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.ApplyTransformationImpl
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.TransformationPackageImpl#getApplyTransformation()
+	 * @generated
+	 */
+	int APPLY_TRANSFORMATION = 2;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.M2MTrafoImpl <em>M2M Trafo</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.M2MTrafoImpl
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.TransformationPackageImpl#getM2MTrafo()
+	 * @generated
+	 */
+	int M2M_TRAFO = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int M2M_TRAFO__BASE_CLASS = 0;
+
+	/**
+	 * The number of structural features of the '<em>M2M Trafo</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int M2M_TRAFO_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>M2M Trafo</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int M2M_TRAFO_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.M2MTrafoChainImpl <em>M2M Trafo Chain</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.M2MTrafoChainImpl
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.TransformationPackageImpl#getM2MTrafoChain()
+	 * @generated
+	 */
+	int M2M_TRAFO_CHAIN = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int M2M_TRAFO_CHAIN__BASE_CLASS = 0;
+
+	/**
+	 * The number of structural features of the '<em>M2M Trafo Chain</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int M2M_TRAFO_CHAIN_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>M2M Trafo Chain</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int M2M_TRAFO_CHAIN_OPERATION_COUNT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Trafo</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int APPLY_TRANSFORMATION__TRAFO = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int APPLY_TRANSFORMATION__BASE_ELEMENT = 1;
+
+	/**
+	 * The number of structural features of the '<em>Apply Transformation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int APPLY_TRANSFORMATION_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Apply Transformation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int APPLY_TRANSFORMATION_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.DerivedElementImpl <em>Derived Element</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.DerivedElementImpl
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.TransformationPackageImpl#getDerivedElement()
+	 * @generated
+	 */
+	int DERIVED_ELEMENT = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DERIVED_ELEMENT__BASE_ELEMENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Source</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DERIVED_ELEMENT__SOURCE = 1;
+
+	/**
+	 * The number of structural features of the '<em>Derived Element</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DERIVED_ELEMENT_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Derived Element</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DERIVED_ELEMENT_OPERATION_COUNT = 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation <em>Apply Transformation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Apply Transformation</em>'.
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation
+	 * @generated
+	 */
+	EClass getApplyTransformation();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation#getTrafo <em>Trafo</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Trafo</em>'.
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation#getTrafo()
+	 * @see #getApplyTransformation()
+	 * @generated
+	 */
+	EReference getApplyTransformation_Trafo();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation#getBase_Element <em>Base Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Element</em>'.
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation#getBase_Element()
+	 * @see #getApplyTransformation()
+	 * @generated
+	 */
+	EReference getApplyTransformation_Base_Element();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo <em>M2M Trafo</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>M2M Trafo</em>'.
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo
+	 * @generated
+	 */
+	EClass getM2MTrafo();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo#getBase_Class <em>Base Class</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Class</em>'.
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo#getBase_Class()
+	 * @see #getM2MTrafo()
+	 * @generated
+	 */
+	EReference getM2MTrafo_Base_Class();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafoChain <em>M2M Trafo Chain</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>M2M Trafo Chain</em>'.
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafoChain
+	 * @generated
+	 */
+	EClass getM2MTrafoChain();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafoChain#getBase_Class <em>Base Class</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Class</em>'.
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafoChain#getBase_Class()
+	 * @see #getM2MTrafoChain()
+	 * @generated
+	 */
+	EReference getM2MTrafoChain_Base_Class();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement <em>Derived Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Derived Element</em>'.
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement
+	 * @generated
+	 */
+	EClass getDerivedElement();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement#getBase_Element <em>Base Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Element</em>'.
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement#getBase_Element()
+	 * @see #getDerivedElement()
+	 * @generated
+	 */
+	EReference getDerivedElement_Base_Element();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement#getSource <em>Source</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Source</em>'.
+	 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement#getSource()
+	 * @see #getDerivedElement()
+	 * @generated
+	 */
+	EReference getDerivedElement_Source();
+
+	/**
+	 * 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
+	 */
+	TransformationFactory getTransformationFactory();
+
+	/**
+	 * <!-- 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 org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.ApplyTransformationImpl <em>Apply Transformation</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.ApplyTransformationImpl
+		 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.TransformationPackageImpl#getApplyTransformation()
+		 * @generated
+		 */
+		EClass APPLY_TRANSFORMATION = eINSTANCE.getApplyTransformation();
+
+		/**
+		 * The meta object literal for the '<em><b>Trafo</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference APPLY_TRANSFORMATION__TRAFO = eINSTANCE.getApplyTransformation_Trafo();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Element</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference APPLY_TRANSFORMATION__BASE_ELEMENT = eINSTANCE.getApplyTransformation_Base_Element();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.M2MTrafoImpl <em>M2M Trafo</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.M2MTrafoImpl
+		 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.TransformationPackageImpl#getM2MTrafo()
+		 * @generated
+		 */
+		EClass M2M_TRAFO = eINSTANCE.getM2MTrafo();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference M2M_TRAFO__BASE_CLASS = eINSTANCE.getM2MTrafo_Base_Class();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.M2MTrafoChainImpl <em>M2M Trafo Chain</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.M2MTrafoChainImpl
+		 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.TransformationPackageImpl#getM2MTrafoChain()
+		 * @generated
+		 */
+		EClass M2M_TRAFO_CHAIN = eINSTANCE.getM2MTrafoChain();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference M2M_TRAFO_CHAIN__BASE_CLASS = eINSTANCE.getM2MTrafoChain_Base_Class();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.DerivedElementImpl <em>Derived Element</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.DerivedElementImpl
+		 * @see org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.TransformationPackageImpl#getDerivedElement()
+		 * @generated
+		 */
+		EClass DERIVED_ELEMENT = eINSTANCE.getDerivedElement();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Element</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DERIVED_ELEMENT__BASE_ELEMENT = eINSTANCE.getDerivedElement_Base_Element();
+
+		/**
+		 * The meta object literal for the '<em><b>Source</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DERIVED_ELEMENT__SOURCE = eINSTANCE.getDerivedElement_Source();
+
+	}
+
+} //TransformationPackage
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/impl/ApplyTransformationImpl.java b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/impl/ApplyTransformationImpl.java
new file mode 100644
index 0000000..d5830df
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/impl/ApplyTransformationImpl.java
@@ -0,0 +1,196 @@
+/**
+ */
+package org.eclipse.papyrus.designer.transformation.profile.Transformation.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.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Apply Transformation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.ApplyTransformationImpl#getTrafo <em>Trafo</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.ApplyTransformationImpl#getBase_Element <em>Base Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ApplyTransformationImpl extends MinimalEObjectImpl.Container implements ApplyTransformation {
+	/**
+	 * The cached value of the '{@link #getTrafo() <em>Trafo</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTrafo()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<M2MTrafo> trafo;
+
+	/**
+	 * The cached value of the '{@link #getBase_Element() <em>Base Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Element()
+	 * @generated
+	 * @ordered
+	 */
+	protected Element base_Element;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ApplyTransformationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return TransformationPackage.Literals.APPLY_TRANSFORMATION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<M2MTrafo> getTrafo() {
+		if (trafo == null) {
+			trafo = new EObjectResolvingEList<M2MTrafo>(M2MTrafo.class, this, TransformationPackage.APPLY_TRANSFORMATION__TRAFO);
+		}
+		return trafo;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Element getBase_Element() {
+		if (base_Element != null && base_Element.eIsProxy()) {
+			InternalEObject oldBase_Element = (InternalEObject)base_Element;
+			base_Element = (Element)eResolveProxy(oldBase_Element);
+			if (base_Element != oldBase_Element) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, TransformationPackage.APPLY_TRANSFORMATION__BASE_ELEMENT, oldBase_Element, base_Element));
+			}
+		}
+		return base_Element;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Element basicGetBase_Element() {
+		return base_Element;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Element(Element newBase_Element) {
+		Element oldBase_Element = base_Element;
+		base_Element = newBase_Element;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TransformationPackage.APPLY_TRANSFORMATION__BASE_ELEMENT, oldBase_Element, base_Element));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case TransformationPackage.APPLY_TRANSFORMATION__TRAFO:
+				return getTrafo();
+			case TransformationPackage.APPLY_TRANSFORMATION__BASE_ELEMENT:
+				if (resolve) return getBase_Element();
+				return basicGetBase_Element();
+		}
+		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 TransformationPackage.APPLY_TRANSFORMATION__TRAFO:
+				getTrafo().clear();
+				getTrafo().addAll((Collection<? extends M2MTrafo>)newValue);
+				return;
+			case TransformationPackage.APPLY_TRANSFORMATION__BASE_ELEMENT:
+				setBase_Element((Element)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case TransformationPackage.APPLY_TRANSFORMATION__TRAFO:
+				getTrafo().clear();
+				return;
+			case TransformationPackage.APPLY_TRANSFORMATION__BASE_ELEMENT:
+				setBase_Element((Element)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case TransformationPackage.APPLY_TRANSFORMATION__TRAFO:
+				return trafo != null && !trafo.isEmpty();
+			case TransformationPackage.APPLY_TRANSFORMATION__BASE_ELEMENT:
+				return base_Element != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ApplyTransformationImpl
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/impl/DerivedElementImpl.java b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/impl/DerivedElementImpl.java
new file mode 100644
index 0000000..a40bfb8
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/impl/DerivedElementImpl.java
@@ -0,0 +1,218 @@
+/**
+ */
+package org.eclipse.papyrus.designer.transformation.profile.Transformation.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 org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage;
+
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Derived Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.DerivedElementImpl#getBase_Element <em>Base Element</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.DerivedElementImpl#getSource <em>Source</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DerivedElementImpl extends MinimalEObjectImpl.Container implements DerivedElement {
+	/**
+	 * The cached value of the '{@link #getBase_Element() <em>Base Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Element()
+	 * @generated
+	 * @ordered
+	 */
+	protected Element base_Element;
+
+	/**
+	 * The cached value of the '{@link #getSource() <em>Source</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSource()
+	 * @generated
+	 * @ordered
+	 */
+	protected Element source;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DerivedElementImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return TransformationPackage.Literals.DERIVED_ELEMENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Element getBase_Element() {
+		if (base_Element != null && base_Element.eIsProxy()) {
+			InternalEObject oldBase_Element = (InternalEObject)base_Element;
+			base_Element = (Element)eResolveProxy(oldBase_Element);
+			if (base_Element != oldBase_Element) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, TransformationPackage.DERIVED_ELEMENT__BASE_ELEMENT, oldBase_Element, base_Element));
+			}
+		}
+		return base_Element;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Element basicGetBase_Element() {
+		return base_Element;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Element(Element newBase_Element) {
+		Element oldBase_Element = base_Element;
+		base_Element = newBase_Element;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TransformationPackage.DERIVED_ELEMENT__BASE_ELEMENT, oldBase_Element, base_Element));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Element getSource() {
+		if (source != null && source.eIsProxy()) {
+			InternalEObject oldSource = (InternalEObject)source;
+			source = (Element)eResolveProxy(oldSource);
+			if (source != oldSource) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, TransformationPackage.DERIVED_ELEMENT__SOURCE, oldSource, source));
+			}
+		}
+		return source;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Element basicGetSource() {
+		return source;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSource(Element newSource) {
+		Element oldSource = source;
+		source = newSource;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TransformationPackage.DERIVED_ELEMENT__SOURCE, oldSource, source));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case TransformationPackage.DERIVED_ELEMENT__BASE_ELEMENT:
+				if (resolve) return getBase_Element();
+				return basicGetBase_Element();
+			case TransformationPackage.DERIVED_ELEMENT__SOURCE:
+				if (resolve) return getSource();
+				return basicGetSource();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case TransformationPackage.DERIVED_ELEMENT__BASE_ELEMENT:
+				setBase_Element((Element)newValue);
+				return;
+			case TransformationPackage.DERIVED_ELEMENT__SOURCE:
+				setSource((Element)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case TransformationPackage.DERIVED_ELEMENT__BASE_ELEMENT:
+				setBase_Element((Element)null);
+				return;
+			case TransformationPackage.DERIVED_ELEMENT__SOURCE:
+				setSource((Element)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case TransformationPackage.DERIVED_ELEMENT__BASE_ELEMENT:
+				return base_Element != null;
+			case TransformationPackage.DERIVED_ELEMENT__SOURCE:
+				return source != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //DerivedElementImpl
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/impl/M2MTrafoChainImpl.java b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/impl/M2MTrafoChainImpl.java
new file mode 100644
index 0000000..f17171e
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/impl/M2MTrafoChainImpl.java
@@ -0,0 +1,156 @@
+/**
+ */
+package org.eclipse.papyrus.designer.transformation.profile.Transformation.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 org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafoChain;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>M2M Trafo Chain</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.M2MTrafoChainImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class M2MTrafoChainImpl extends MinimalEObjectImpl.Container implements M2MTrafoChain {
+	/**
+	 * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Class()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Class base_Class;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected M2MTrafoChainImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return TransformationPackage.Literals.M2M_TRAFO_CHAIN;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getBase_Class() {
+		if (base_Class != null && base_Class.eIsProxy()) {
+			InternalEObject oldBase_Class = (InternalEObject)base_Class;
+			base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+			if (base_Class != oldBase_Class) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, TransformationPackage.M2M_TRAFO_CHAIN__BASE_CLASS, oldBase_Class, base_Class));
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+		org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+		base_Class = newBase_Class;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TransformationPackage.M2M_TRAFO_CHAIN__BASE_CLASS, oldBase_Class, base_Class));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case TransformationPackage.M2M_TRAFO_CHAIN__BASE_CLASS:
+				if (resolve) return getBase_Class();
+				return basicGetBase_Class();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case TransformationPackage.M2M_TRAFO_CHAIN__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case TransformationPackage.M2M_TRAFO_CHAIN__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case TransformationPackage.M2M_TRAFO_CHAIN__BASE_CLASS:
+				return base_Class != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //M2MTrafoChainImpl
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/impl/M2MTrafoImpl.java b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/impl/M2MTrafoImpl.java
new file mode 100644
index 0000000..41bf020
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/impl/M2MTrafoImpl.java
@@ -0,0 +1,156 @@
+/**
+ */
+package org.eclipse.papyrus.designer.transformation.profile.Transformation.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 org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>M2M Trafo</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.impl.M2MTrafoImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class M2MTrafoImpl extends MinimalEObjectImpl.Container implements M2MTrafo {
+	/**
+	 * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Class()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Class base_Class;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected M2MTrafoImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return TransformationPackage.Literals.M2M_TRAFO;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getBase_Class() {
+		if (base_Class != null && base_Class.eIsProxy()) {
+			InternalEObject oldBase_Class = (InternalEObject)base_Class;
+			base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+			if (base_Class != oldBase_Class) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, TransformationPackage.M2M_TRAFO__BASE_CLASS, oldBase_Class, base_Class));
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+		org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+		base_Class = newBase_Class;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TransformationPackage.M2M_TRAFO__BASE_CLASS, oldBase_Class, base_Class));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case TransformationPackage.M2M_TRAFO__BASE_CLASS:
+				if (resolve) return getBase_Class();
+				return basicGetBase_Class();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case TransformationPackage.M2M_TRAFO__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case TransformationPackage.M2M_TRAFO__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case TransformationPackage.M2M_TRAFO__BASE_CLASS:
+				return base_Class != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //M2MTrafoImpl
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/impl/TransformationFactoryImpl.java b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/impl/TransformationFactoryImpl.java
new file mode 100644
index 0000000..0db4279
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/impl/TransformationFactoryImpl.java
@@ -0,0 +1,128 @@
+/**
+ */
+package org.eclipse.papyrus.designer.transformation.profile.Transformation.impl;
+
+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 org.eclipse.papyrus.designer.transformation.profile.Transformation.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TransformationFactoryImpl extends EFactoryImpl implements TransformationFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static TransformationFactory init() {
+		try {
+			TransformationFactory theTransformationFactory = (TransformationFactory)EPackage.Registry.INSTANCE.getEFactory(TransformationPackage.eNS_URI);
+			if (theTransformationFactory != null) {
+				return theTransformationFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new TransformationFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TransformationFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case TransformationPackage.M2M_TRAFO: return createM2MTrafo();
+			case TransformationPackage.M2M_TRAFO_CHAIN: return createM2MTrafoChain();
+			case TransformationPackage.APPLY_TRANSFORMATION: return createApplyTransformation();
+			case TransformationPackage.DERIVED_ELEMENT: return createDerivedElement();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ApplyTransformation createApplyTransformation() {
+		ApplyTransformationImpl applyTransformation = new ApplyTransformationImpl();
+		return applyTransformation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public M2MTrafo createM2MTrafo() {
+		M2MTrafoImpl m2MTrafo = new M2MTrafoImpl();
+		return m2MTrafo;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public M2MTrafoChain createM2MTrafoChain() {
+		M2MTrafoChainImpl m2MTrafoChain = new M2MTrafoChainImpl();
+		return m2MTrafoChain;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DerivedElement createDerivedElement() {
+		DerivedElementImpl derivedElement = new DerivedElementImpl();
+		return derivedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TransformationPackage getTransformationPackage() {
+		return (TransformationPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static TransformationPackage getPackage() {
+		return TransformationPackage.eINSTANCE;
+	}
+
+} //TransformationFactoryImpl
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/impl/TransformationPackageImpl.java b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/impl/TransformationPackageImpl.java
new file mode 100644
index 0000000..6d595ee
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/impl/TransformationPackageImpl.java
@@ -0,0 +1,303 @@
+/**
+ */
+package org.eclipse.papyrus.designer.transformation.profile.Transformation.impl;
+
+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 org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafoChain;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationFactory;
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TransformationPackageImpl extends EPackageImpl implements TransformationPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass applyTransformationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass m2MTrafoEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass m2MTrafoChainEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass derivedElementEClass = 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 org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private TransformationPackageImpl() {
+		super(eNS_URI, TransformationFactory.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 TransformationPackage#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 TransformationPackage init() {
+		if (isInited) return (TransformationPackage)EPackage.Registry.INSTANCE.getEPackage(TransformationPackage.eNS_URI);
+
+		// Obtain or create and register package
+		TransformationPackageImpl theTransformationPackage = (TransformationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof TransformationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new TransformationPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		UMLPackage.eINSTANCE.eClass();
+
+		// Create package meta-data objects
+		theTransformationPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theTransformationPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theTransformationPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(TransformationPackage.eNS_URI, theTransformationPackage);
+		return theTransformationPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getApplyTransformation() {
+		return applyTransformationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getApplyTransformation_Trafo() {
+		return (EReference)applyTransformationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getApplyTransformation_Base_Element() {
+		return (EReference)applyTransformationEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getM2MTrafo() {
+		return m2MTrafoEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getM2MTrafo_Base_Class() {
+		return (EReference)m2MTrafoEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getM2MTrafoChain() {
+		return m2MTrafoChainEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getM2MTrafoChain_Base_Class() {
+		return (EReference)m2MTrafoChainEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDerivedElement() {
+		return derivedElementEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDerivedElement_Base_Element() {
+		return (EReference)derivedElementEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDerivedElement_Source() {
+		return (EReference)derivedElementEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TransformationFactory getTransformationFactory() {
+		return (TransformationFactory)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
+		m2MTrafoEClass = createEClass(M2M_TRAFO);
+		createEReference(m2MTrafoEClass, M2M_TRAFO__BASE_CLASS);
+
+		m2MTrafoChainEClass = createEClass(M2M_TRAFO_CHAIN);
+		createEReference(m2MTrafoChainEClass, M2M_TRAFO_CHAIN__BASE_CLASS);
+
+		applyTransformationEClass = createEClass(APPLY_TRANSFORMATION);
+		createEReference(applyTransformationEClass, APPLY_TRANSFORMATION__TRAFO);
+		createEReference(applyTransformationEClass, APPLY_TRANSFORMATION__BASE_ELEMENT);
+
+		derivedElementEClass = createEClass(DERIVED_ELEMENT);
+		createEReference(derivedElementEClass, DERIVED_ELEMENT__BASE_ELEMENT);
+		createEReference(derivedElementEClass, DERIVED_ELEMENT__SOURCE);
+	}
+
+	/**
+	 * <!-- 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);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(m2MTrafoEClass, M2MTrafo.class, "M2MTrafo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getM2MTrafo_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, M2MTrafo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(m2MTrafoChainEClass, M2MTrafoChain.class, "M2MTrafoChain", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getM2MTrafoChain_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, M2MTrafoChain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(applyTransformationEClass, ApplyTransformation.class, "ApplyTransformation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getApplyTransformation_Trafo(), this.getM2MTrafo(), null, "trafo", null, 0, -1, ApplyTransformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getApplyTransformation_Base_Element(), theUMLPackage.getElement(), null, "base_Element", null, 1, 1, ApplyTransformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(derivedElementEClass, DerivedElement.class, "DerivedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getDerivedElement_Base_Element(), theUMLPackage.getElement(), null, "base_Element", null, 1, 1, DerivedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getDerivedElement_Source(), theUMLPackage.getElement(), null, "source", null, 1, 1, DerivedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		// Create resource
+		createResource(eNS_URI);
+	}
+
+} //TransformationPackageImpl
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/util/TransformationAdapterFactory.java b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/util/TransformationAdapterFactory.java
new file mode 100644
index 0000000..1d3abd3
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/util/TransformationAdapterFactory.java
@@ -0,0 +1,174 @@
+/**
+ */
+package org.eclipse.papyrus.designer.transformation.profile.Transformation.util;
+
+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 org.eclipse.papyrus.designer.transformation.profile.Transformation.*;
+
+/**
+ * <!-- 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 org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage
+ * @generated
+ */
+public class TransformationAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static TransformationPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TransformationAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = TransformationPackage.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 TransformationSwitch<Adapter> modelSwitch =
+		new TransformationSwitch<Adapter>() {
+			@Override
+			public Adapter caseM2MTrafo(M2MTrafo object) {
+				return createM2MTrafoAdapter();
+			}
+			@Override
+			public Adapter caseM2MTrafoChain(M2MTrafoChain object) {
+				return createM2MTrafoChainAdapter();
+			}
+			@Override
+			public Adapter caseApplyTransformation(ApplyTransformation object) {
+				return createApplyTransformationAdapter();
+			}
+			@Override
+			public Adapter caseDerivedElement(DerivedElement object) {
+				return createDerivedElementAdapter();
+			}
+			@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 org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation <em>Apply Transformation</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 org.eclipse.papyrus.designer.transformation.profile.Transformation.ApplyTransformation
+	 * @generated
+	 */
+	public Adapter createApplyTransformationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo <em>M2M Trafo</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 org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafo
+	 * @generated
+	 */
+	public Adapter createM2MTrafoAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafoChain <em>M2M Trafo Chain</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 org.eclipse.papyrus.designer.transformation.profile.Transformation.M2MTrafoChain
+	 * @generated
+	 */
+	public Adapter createM2MTrafoChainAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement <em>Derived 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 org.eclipse.papyrus.designer.transformation.profile.Transformation.DerivedElement
+	 * @generated
+	 */
+	public Adapter createDerivedElementAdapter() {
+		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;
+	}
+
+} //TransformationAdapterFactory
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/util/TransformationSwitch.java b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/util/TransformationSwitch.java
new file mode 100644
index 0000000..44d04d1
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/src-gen/org/eclipse/papyrus/designer/transformation/profile/Transformation/util/TransformationSwitch.java
@@ -0,0 +1,173 @@
+/**
+ */
+package org.eclipse.papyrus.designer.transformation.profile.Transformation.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.designer.transformation.profile.Transformation.*;
+
+/**
+ * <!-- 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 org.eclipse.papyrus.designer.transformation.profile.Transformation.TransformationPackage
+ * @generated
+ */
+public class TransformationSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static TransformationPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TransformationSwitch() {
+		if (modelPackage == null) {
+			modelPackage = TransformationPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param 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 TransformationPackage.M2M_TRAFO: {
+				M2MTrafo m2MTrafo = (M2MTrafo)theEObject;
+				T result = caseM2MTrafo(m2MTrafo);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case TransformationPackage.M2M_TRAFO_CHAIN: {
+				M2MTrafoChain m2MTrafoChain = (M2MTrafoChain)theEObject;
+				T result = caseM2MTrafoChain(m2MTrafoChain);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case TransformationPackage.APPLY_TRANSFORMATION: {
+				ApplyTransformation applyTransformation = (ApplyTransformation)theEObject;
+				T result = caseApplyTransformation(applyTransformation);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case TransformationPackage.DERIVED_ELEMENT: {
+				DerivedElement derivedElement = (DerivedElement)theEObject;
+				T result = caseDerivedElement(derivedElement);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Apply Transformation</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>Apply Transformation</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseApplyTransformation(ApplyTransformation object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>M2M Trafo</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>M2M Trafo</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseM2MTrafo(M2MTrafo object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>M2M Trafo Chain</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>M2M Trafo Chain</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseM2MTrafoChain(M2MTrafoChain object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Derived 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>Derived Element</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDerivedElement(DerivedElement 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;
+	}
+
+} //TransformationSwitch
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.profile/src/org/eclipse/papyrus/designer/transformation/profile/Activator.java b/transformation/org.eclipse.papyrus.designer.transformation.profile/src/org/eclipse/papyrus/designer/transformation/profile/Activator.java
new file mode 100644
index 0000000..e260477
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.profile/src/org/eclipse/papyrus/designer/transformation/profile/Activator.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.profile;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+	private static BundleContext context;
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.designer.transformation.profile"; //$NON-NLS-1$
+		
+	static BundleContext getContext() {
+		return context;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext bundleContext) throws Exception {
+		Activator.context = bundleContext;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext bundleContext) throws Exception {
+		Activator.context = null;
+	}
+
+}
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.classpath b/transformation/org.eclipse.papyrus.designer.transformation.ui/.classpath
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.classpath
copy to transformation/org.eclipse.papyrus.designer.transformation.ui/.classpath
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/.project b/transformation/org.eclipse.papyrus.designer.transformation.ui/.project
new file mode 100644
index 0000000..a1c41a0
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.transformation.ui</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs b/transformation/org.eclipse.papyrus.designer.transformation.ui/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.core.resources.prefs
copy to transformation/org.eclipse.papyrus.designer.transformation.ui/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.jdt.core.prefs b/transformation/org.eclipse.papyrus.designer.transformation.ui/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.jdt.core.prefs
copy to transformation/org.eclipse.papyrus.designer.transformation.ui/.settings/org.eclipse.jdt.core.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs b/transformation/org.eclipse.papyrus.designer.transformation.ui/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/.settings/org.eclipse.m2e.core.prefs
copy to transformation/org.eclipse.papyrus.designer.transformation.ui/.settings/org.eclipse.m2e.core.prefs
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/META-INF/MANIFEST.MF b/transformation/org.eclipse.papyrus.designer.transformation.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..6a97fe7
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,38 @@
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.designer.transformation.ui.handlers,
+ org.eclipse.papyrus.designer.transformation.ui.provider
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.emf.ecore,
+ org.eclipse.uml2.uml,
+ org.eclipse.core.resources,
+ org.eclipse.ui.ide,
+ org.eclipse.papyrus.marte.static.profile;bundle-version="1.2.0",
+ org.eclipse.papyrus.uml.diagram.common;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.gmfdiag.widgets;bundle-version="1.2.0",
+ org.eclipse.gef;bundle-version="3.8.0",
+ org.eclipse.papyrus.uml.profile;bundle-version="1.2.0",
+ org.eclipse.papyrus.uml.properties;bundle-version="1.2.0",
+ org.eclipse.papyrus.uml.tools;bundle-version="1.2.0",
+ org.eclipse.gmf.runtime.common.core;bundle-version="1.7.0",
+ org.eclipse.gmf.runtime.emf.commands.core;bundle-version="1.4.0",
+ org.eclipse.papyrus.infra.widgets;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.emf;bundle-version="1.2.0",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.transformation.core;bundle-version="0.7.0",
+ org.eclipse.papyrus.designer.ui;bundle-version="0.7.0",
+ org.eclipse.papyrus.infra.ui.emf;bundle-version="1.2.0",
+ org.eclipse.papyrus.designer.transformation.profile;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.transformation.base;bundle-version="0.7.3",
+ org.eclipse.papyrus.designer.deployment.tools;bundle-version="0.7.5",
+ org.eclipse.papyrus.designer.deployment.profile;bundle-version="0.7.3"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 0.7.5.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.designer.transformation.ui.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.designer.transformation.ui;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/components/org.eclipse.papyrus.designer.components.transformation.core/about.html b/transformation/org.eclipse.papyrus.designer.transformation.ui/about.html
similarity index 100%
copy from components/org.eclipse.papyrus.designer.components.transformation.core/about.html
copy to transformation/org.eclipse.papyrus.designer.transformation.ui/about.html
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/build.properties b/transformation/org.eclipse.papyrus.designer.transformation.ui/build.properties
new file mode 100644
index 0000000..dcd652e
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               plugin.properties,\
+               about.html,\
+               icons/,\
+               plugin.xml
+src.includes = about.html
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/ADLInFlowPort.gif b/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/ADLInFlowPort.gif
new file mode 100644
index 0000000..e2b32c6
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/ADLInFlowPort.gif
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/Stereotype.gif b/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/Stereotype.gif
new file mode 100644
index 0000000..145e5d5
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/Stereotype.gif
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/allocation.gif b/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/allocation.gif
new file mode 100644
index 0000000..ced634f
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/allocation.gif
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/depPlan.gif b/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/depPlan.gif
new file mode 100644
index 0000000..712a248
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/depPlan.gif
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/deploy.gif b/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/deploy.gif
new file mode 100644
index 0000000..7a7ced3
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/deploy.gif
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/sample.gif b/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/sample.gif
new file mode 100644
index 0000000..34fb3c9
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/sample.gif
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/selConnector.gif b/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/selConnector.gif
new file mode 100644
index 0000000..e47528e
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/selConnector.gif
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/selContainer.gif b/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/selContainer.gif
new file mode 100644
index 0000000..c16516c
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/selContainer.gif
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/sync.gif b/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/sync.gif
new file mode 100644
index 0000000..5935eb3
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/icons/sync.gif
Binary files differ
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/plugin.properties b/transformation/org.eclipse.papyrus.designer.transformation.ui/plugin.properties
new file mode 100644
index 0000000..03f776a
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2013 CEA LIST.
+# All rights reserved. This program and the accompanying materials 
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     CEA LIST - initial API and implementation
+###############################################################################
+pluginName=Papyrus extra: Qompass Designer UI (Incubation)
+providerName=Eclipse Modeling Project
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/plugin.xml b/transformation/org.eclipse.papyrus.designer.transformation.ui/plugin.xml
new file mode 100644
index 0000000..3a6f63e
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/plugin.xml
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.commands">
+      <command
+            categoryId="org.eclipse.papyrus.editor.category"
+            defaultHandler="org.eclipse.papyrus.designer.transformation.ui.handlers.CreateDepPlanHandler"
+            description="Create deployment plan"
+            id="org.eclipse.papyrus.designer.transformation.ui.menuActions.CreateDepPlanCmd"
+            name="dummy">
+      </command>
+      <command
+            categoryId="org.eclipse.papyrus.editor.category"
+            defaultHandler="org.eclipse.papyrus.designer.transformation.ui.handlers.CreatePlatformHandler"
+            description="Create platform definition"
+            id="org.eclipse.papyrus.designer.transformation.ui.menuActions.CreatePlatformCmd"
+            name="dummy">
+      </command>
+      <command
+            categoryId="org.eclipse.papyrus.editor.category"
+            defaultHandler="org.eclipse.papyrus.designer.transformation.ui.handlers.InstantiateDepPlanHandler"
+            description="Generate deployment models and code from plan"
+            id="org.eclipse.papyrus.designer.transformation.ui.menuActions.InstantiateDepPlanCmd"
+            name="dummy">
+      </command>
+      <command
+            categoryId="org.eclipse.papyrus.editor.category"
+            defaultHandler="org.eclipse.papyrus.designer.transformation.ui.handlers.SyncHandler"
+            description="Synchronize derived elements"
+            id="org.eclipse.papyrus.designer.transformation.ui.menuActions.SyncCmd"
+            name="dummy">
+      </command>
+      <command
+            categoryId="org.eclipse.papyrus.editor.category"
+            defaultHandler="org.eclipse.papyrus.designer.transformation.ui.handlers.SelectConnectorHandler"
+            description="Choose connector type and implementation"
+            id="org.eclipse.papyrus.designer.transformation.ui.menuActions.SelectionConnectorCmd"
+            name="dummy">
+      </command>
+      <command
+            categoryId="org.eclipse.papyrus.editor.category"
+            defaultHandler="org.eclipse.papyrus.designer.transformation.ui.handlers.SelectContainerHandler"
+            description="Choose container properties"
+            id="org.eclipse.papyrus.designer.transformation.ui.menuActions.SelectionContainerCmd"
+            name="dummy">
+      </command>
+      <command
+            categoryId="org.eclipse.papyrus.editor.category"
+            defaultHandler="org.eclipse.papyrus.designer.transformation.ui.handlers.ConfigureInstanceHandler"
+            description="Configure instance"
+            id="org.eclipse.papyrus.designer.transformation.ui.menuActions.ConfigureInstanceCmd"
+            name="dummy">
+      </command>
+      <command
+            categoryId="org.eclipse.papyrus.editor.category"
+            defaultHandler="org.eclipse.papyrus.designer.transformation.ui.handlers.ConfigurePortHandler"
+            description="Configure ports"
+            id="org.eclipse.papyrus.designer.transformation.ui.menuActions.ConfigurePortsCmd"
+            name="dummy">
+      </command>
+      <command
+            categoryId="org.eclipse.papyrus.editor.category"
+            defaultHandler="org.eclipse.papyrus.designer.transformation.ui.handlers.AddProfileAndModelLibsHandler"
+            description="Add FCM profile and basic model library (component-based design)"
+            id="org.eclipse.papyrus.designer.transformation.ui.menuActions.AddProfileAndModelLibsCmd"
+            name="dummy">
+      </command>
+      <command
+            categoryId="org.eclipse.papyrus.editor.category"
+            defaultHandler="org.eclipse.papyrus.designer.transformation.ui.handlers.AllocateHandler"
+            description="Allocate to node"
+            id="org.eclipse.papyrus.designer.transformation.ui.menuActions.AllocateCmd"
+            name="dummy">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.menus">
+	<menuContribution
+		allPopups="false"
+		locationURI="popup:org.eclipse.papyrus.designer.popup?after=designer">
+		<command
+               commandId="org.eclipse.papyrus.designer.transformation.ui.menuActions.CreateDepPlanCmd"
+               icon="icons/depPlan.gif"   
+               
+               id="org.eclipse.papyrus.designer.transformation.ui.menuActions.CreateDepPlanMenu"
+               label="Create deployment plan"
+               mnemonic="d"
+               mode="FORCE_TEXT"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+         <command
+               commandId="org.eclipse.papyrus.designer.transformation.ui.menuActions.CreatePlatformCmd"
+               icon="icons/depPlan.gif"
+               id="org.eclipse.papyrus.designer.transformation.ui.menuActions.CreatePlatformMenu"
+               label="Create platform definition"
+               mnemonic="d"
+               mode="FORCE_TEXT"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+         <command
+               commandId="org.eclipse.papyrus.designer.transformation.ui.menuActions.SyncCmd"
+               icon="icons/sync.gif"
+               id="org.eclipse.papyrus.designer.transformation.ui.menuActions.SyncMenu"
+               label="Synchronize derived elements"
+               mnemonic="s"
+               mode="FORCE_TEXT"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+         <command
+               commandId="org.eclipse.papyrus.designer.transformation.ui.menuActions.InstantiateDepPlanCmd"
+               icon="icons/deploy.gif"
+               id="org.eclipse.papyrus.designer.transformation.ui.menuActions.CreateDepPlanMenu"
+               label="Generate deployment models and code from plan"
+               mnemonic="g"
+               mode="FORCE_TEXT"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+          <command
+               commandId="org.eclipse.papyrus.designer.transformation.ui.menuActions.SelectionConnectorCmd"
+               icon="icons/selConnector.gif"
+               id="org.eclipse.papyrus.designer.transformation.ui.menuActions.SelectionConnectorMenu"
+               label="Show / choose connector type and implementation"
+               mnemonic="C"
+               mode="FORCE_TEXT"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+         <command
+               commandId="org.eclipse.papyrus.designer.transformation.ui.menuActions.SelectionContainerCmd"
+               icon="icons/selContainer.gif"
+               id="org.eclipse.papyrus.designer.transformation.ui.menuActions.SelectionContainerMenu"
+               label="Show / choose container properties"
+               mode="FORCE_TEXT"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+         <command
+               commandId="org.eclipse.papyrus.designer.transformation.ui.menuActions.ConfigureInstanceCmd"
+               icon="icons/selContainer.gif"
+               id="org.eclipse.papyrus.designer.transformation.ui.menuActions.ConfigureInstanceMenu"
+               label="Configure instance properties"
+               mode="FORCE_TEXT"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+         <command
+               commandId="org.eclipse.papyrus.designer.transformation.ui.menuActions.ConfigurePortsCmd"
+               icon="icons/selContainer.gif"
+               id="org.eclipse.papyrus.designer.transformation.ui.menuActions.ConfigurePortsMenu"
+               label="Configure ports"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+         <command
+               commandId="org.eclipse.papyrus.designer.transformation.ui.menuActions.AddProfileAndModelLibsCmd"
+               icon="icons/Stereotype.gif"
+               id="org.eclipse.papyrus.designer.transformation.ui.menuActions.AddProfileAndModelLibsMenu"
+               label="Add profiles and model libraries"
+               mnemonic="P"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+         <command
+               commandId="org.eclipse.papyrus.designer.transformation.ui.menuActions.AllocateCmd"
+               icon="icons/allocation.gif"
+               id="org.eclipse.papyrus.designer.transformation.ui.menuActions.AllocateMenu"
+               label="Allocate to node"
+               mnemonic="A"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+     	</menuContribution>
+	</extension>
+	<extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            category="org.eclipse.papyrus.infra.core.sasheditor.preferences.generalcategory"
+            class="org.eclipse.papyrus.designer.transformation.ui.preferences.PapyrusDesignerPreferencePage"
+            id="org.eclipse.papyrus.designer.transformation.ui.preferences.PapyrusDesignerPreferencePage_ID"
+            name="Papyrus designer preferences">
+      </page>
+    </extension>
+    <extension
+         point="org.eclipse.core.runtime.preferences">
+      <initializer
+            class="org.eclipse.papyrus.designer.transformation.ui.preferences.PapyrusDesignerPreferenceInitializer">
+      </initializer>
+    </extension>
+</plugin>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/pom.xml b/transformation/org.eclipse.papyrus.designer.transformation.ui/pom.xml
new file mode 100644
index 0000000..9cd46b5
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/pom.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.designer</groupId>
+		<artifactId>org.eclipse.papyrus.designer.transformation</artifactId>
+		<version>0.7.5-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.designer.transformation.ui</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This module contains the UI for starting code generation and model-2-model related transformations</description>
+</project>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/Activator.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/Activator.java
new file mode 100644
index 0000000..3fe1354
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/Activator.java
@@ -0,0 +1,60 @@
+/**
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.eclipse.papyrus.designer.transformation.ui;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.designer.transformation.ui"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/Messages.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/Messages.java
new file mode 100644
index 0000000..1eaf7e5
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/Messages.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.ui;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.eclipse.papyrus.designer.transformation.ui.messages"; //$NON-NLS-1$
+
+	public static String ConfigurePortHandler_ConfigurePorts;
+	public static String ConfigurePortHandler_ConfigurePortsOfComponent;
+	public static String ConfigurePortHandler_ConfigureInstance;
+
+	public static String ConfigurePortDialog_AvailPorts;
+	public static String ConfigurePortDialog_PortConfig;
+	public static String ConfigurePortDialog_NotAvail;
+	public static String ConfigurePortDialog_Kind;
+	public static String ConfigurePortDialog_None;
+	public static String ConfigurePortDialog_Type;
+	public static String ConfigurePortDialog_ChangeType;
+	public static String ConfigurePortDialog_IntfDerived;
+	public static String ConfigurePortDialog_Provided;
+	public static String ConfigurePortDialog_Required;
+	public static String ConfigurePortDialog_Undef;
+
+	public static String CreateDepPlanHandler_CreateDPs;
+	public static String CreateDepPlanHandler_Sync;
+	public static String CreateDepPlanHandler_CreateNew;
+	public static String CreateDepPlanHandler_WhatShouldIDo;
+	public static String CreateDepPlanHandler_DPwithNameExistsAlready;
+	public static String CreateDepPlanHandler_DPwithNameExistsNoPackage;
+	public static String CreateDepPlanHandler_CannotSync;
+	public static String CreateDepPlanHandler_Cancel;
+	public static String CreateDepPlanHandler_CreateDP;
+	public static String CreateDepPlanHandler_CannotCreateDP;
+	public static String CreateDepPlanHandler_StereoApplicationFailed;
+
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/dialogs/AllocationDialog.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/dialogs/AllocationDialog.java
new file mode 100644
index 0000000..4595826
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/dialogs/AllocationDialog.java
@@ -0,0 +1,312 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.ui.dialogs;
+
+import org.eclipse.draw2d.Label;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.workspace.AbstractEMFOperation;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource;
+import org.eclipse.papyrus.designer.deployment.profile.Deployment.DeploymentPlan;
+import org.eclipse.papyrus.designer.deployment.tools.AllocUtils;
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.transformation.base.ElementFilter;
+import org.eclipse.papyrus.designer.transformation.base.utils.CommandSupport;
+import org.eclipse.papyrus.designer.transformation.core.commands.AddMarteAndFcmProfile;
+import org.eclipse.papyrus.infra.widgets.toolbox.utils.DialogUtils;
+import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeColumn;
+import org.eclipse.swt.widgets.TreeItem;
+import org.eclipse.ui.dialogs.SelectionStatusDialog;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Package;
+
+/**
+ * Allocate elements in a deployment plan to a node or thread
+ *
+ */
+public class AllocationDialog extends SelectionStatusDialog {
+
+	protected Package m_cdp;
+
+	private Tree fTree;
+
+	private Label fLabel;
+
+	private Combo fAlloc;
+
+	private InstanceSpecification currentIS;
+
+	private EList<InstanceSpecification> nodeOrThreadList;
+
+	public AllocationDialog(Shell parent, Package cdp) {
+		super(parent);
+		m_cdp = cdp;
+		nodeOrThreadList = new BasicEList<InstanceSpecification>();
+		nodeOrThreadList.add(null); // dummy entry for no allocation
+		DepUtils.getAllInstances(cdp.getModel(), nodeOrThreadList, new ElementFilter() {
+			
+			@Override
+			public boolean acceptElement(Element element) {
+				if (element instanceof InstanceSpecification) {
+					InstanceSpecification instance = (InstanceSpecification) element;
+					if (instance.getName() == null) {
+						// don't allocate to root element (detectable via the empty name)
+						return false;
+					}
+					Classifier cl = DepUtils.getClassifier(instance);
+					if (cl instanceof Class) {
+						if (StereotypeUtil.isApplied(cl, SwSchedulableResource.class)) {
+							// threads are valid allocation targets. Therefore, threads are always added to
+							// list, even if within a deployment plan.
+							return true;
+						}
+	                   if (StereotypeUtil.isApplied(instance.getNearestPackage(), DeploymentPlan.class)) {
+                            // instance is part of a deployment plan => don't add to list.
+                            return false;
+                        }
+                        return true;
+					}
+				}
+				return false;
+			}
+		});
+	}
+
+	/**
+	 * @see SelectionStatusDialog#computeResult()
+	 */
+	@Override
+	protected void computeResult() {
+		// nothing to do
+	}
+
+	@Override
+	public Control createDialogArea(Composite parent) {
+		Composite contents = (Composite) super.createDialogArea(parent);
+		// (parent, "Container rules", "Avail. extensions/interceptors");
+
+		fTree = new Tree(contents, SWT.H_SCROLL | SWT.BORDER);
+		fTree.setHeaderVisible(true);
+		GridData data = new GridData(GridData.FILL_BOTH);
+		fTree.setLayoutData(data);
+		data.heightHint = 150;
+		// data.widthHint = 200;
+
+		// Turn off drawing to avoid flicker
+		fTree.setRedraw(false);
+
+		TreeColumn instances = new TreeColumn(fTree, SWT.LEFT);
+		instances.setText("Instance");
+		instances.setWidth(200);
+		TreeColumn explicitAlloc = new TreeColumn(fTree, SWT.LEFT);
+		explicitAlloc.setText("explicit allocation");
+		explicitAlloc.setWidth(150);
+		TreeColumn implicitAlloc = new TreeColumn(fTree, SWT.LEFT);
+		implicitAlloc.setText("implicit allocation");
+		implicitAlloc.setWidth(150);
+
+		for (InstanceSpecification is : DepUtils.getTopLevelInstances(m_cdp)) {
+			fillTree(fTree, null, is);
+		}
+
+		// Turn drawing back on!
+		fTree.setRedraw(true);
+
+		fTree.addSelectionListener(new SelectionAdapter() {
+
+			@Override
+			public void widgetSelected(SelectionEvent e) {
+				if (fTree.getSelection().length > 0) {
+					selectInstance(fTree.getSelection()[0]);
+				}
+			}
+		});
+
+		Label label = new Label();
+		label.setText("seletected instance:");
+		fLabel = new Label();
+
+		createAllocInfo(contents);
+		return contents;
+	}
+
+	/**
+	 * Helper method to fill a tree with data
+	 *
+	 * @param tree
+	 *            the tree to fill
+	 */
+	private void fillTree(Tree tree, TreeItem treeItem, InstanceSpecification is) {
+		TreeItem item;
+		if (treeItem != null) {
+			item = new TreeItem(treeItem, SWT.NONE);
+		} else {
+			item = new TreeItem(tree, SWT.NONE);
+		}
+		item.setData(is);
+		setTextFromData(item);
+
+		// create children
+		for (InstanceSpecification subIS : DepUtils.getContainedNonSharedInstances(is)) {
+			fillTree(tree, item, subIS);
+		}
+	}
+
+	// obtain name and explicit/implicit node Allocation
+	protected void setTextFromData(TreeItem ti) {
+		Object data = ti.getData();
+		if (data instanceof InstanceSpecification) {
+			InstanceSpecification is = (InstanceSpecification) data;
+
+			String name = is.getName();
+			int index = name.lastIndexOf("."); //$NON-NLS-1$
+			if (index != -1) {
+				name = name.substring(index + 1);
+			}
+			InstanceSpecification explicitNodeOrThread = AllocUtils.getNodeOrThread(is);
+			Classifier cl = DepUtils.getClassifier(is);
+			String nodeName;
+			if (explicitNodeOrThread == null) {
+				nodeName = "-"; //$NON-NLS-1$
+			} else {
+				nodeName = getAllocName(explicitNodeOrThread);
+			}
+			if (cl instanceof Class) {
+				// if (BootLoaderGen.hasUnconnectedStartRoutine(null, (Class) cl, null)) {
+				// TODO
+					nodeName += " (main)"; //$NON-NLS-1$
+				// }
+			}
+			EList<InstanceSpecification> implicitNodes = AllocUtils.getAllNodesOrThreadsParent(is);
+			implicitNodes.addAll(AllocUtils.getAllNodesOrThreadsParent(is));
+			String list = ""; //$NON-NLS-1$
+			for (InstanceSpecification node : implicitNodes) {
+				if (list.equals("")) { //$NON-NLS-1$
+					list = getAllocName(node);
+				} else {
+					list += ", " + getAllocName(node); //$NON-NLS-1$
+				}
+			}
+			ti.setText(new String[] { name, nodeName, "[" + list + "]" }); //$NON-NLS-1$//$NON-NLS-2$
+		}
+	}
+
+	protected void refreshTree(TreeItem ti) {
+		setTextFromData(ti);
+		for (TreeItem subItem : ti.getItems()) {
+			refreshTree(subItem);
+		}
+	}
+
+	private String getAllocName(InstanceSpecification nodeOrThread) {
+		if (nodeOrThread == null) {
+			return "no explicit allocation";
+		} else {
+			String name = nodeOrThread.getName();
+			InstanceSpecification threadNode = AllocUtils.getNode(nodeOrThread);
+			return name + (threadNode != null ? " on " + threadNode.getName() : "");
+		}
+	}
+
+	protected void createAllocInfo(Composite parent) {
+		// create extension kind combo
+		fAlloc = DialogUtils.createComboWithText(parent, "Alloc to node:",
+				SWT.DROP_DOWN | SWT.READ_ONLY, SWT.NONE);
+
+		String items[] = new String[nodeOrThreadList.size()];
+		int i = 0;
+		for (InstanceSpecification nodeOrThread : nodeOrThreadList) {
+			items[i++] = getAllocName(nodeOrThread);
+		}
+		fAlloc.setItems(items);
+		fAlloc.addSelectionListener(new SelectionAdapter() {
+
+			@Override
+			public void widgetSelected(SelectionEvent event) {
+				if (currentIS != null) {
+					updateAllocation(currentIS, fAlloc.getSelectionIndex());
+					// selectionCount should always be 1
+					for (TreeItem ti : fTree.getSelection()) {
+						refreshTree(ti);
+					}
+				}
+			}
+		});
+
+		fAlloc.setEnabled(false);
+	}
+
+	/**
+	 * Select a rule, i.e. update the visual representation from the rule
+	 *
+	 * @param rule
+	 */
+	protected void selectInstance(TreeItem item) {
+		// for (Port port : rule.getPortSet ()) {
+		// fPorts.setSelection()
+		// }
+		currentIS = (InstanceSpecification) item.getData();
+		fLabel.setText(currentIS.getName());
+
+		fAlloc.setEnabled(true);
+		InstanceSpecification nodeOrThread = AllocUtils.getNodeOrThread(currentIS);
+
+		for (int i = 0; i < nodeOrThreadList.size(); i++) {
+			if (nodeOrThreadList.get(i) == nodeOrThread) {
+				fAlloc.select(i);
+			}
+		}
+	}
+
+	private void updateAllocation(InstanceSpecification is, int index) {
+		InstanceSpecification oldNode = AllocUtils.getNodeOrThread(is);
+		InstanceSpecification newNode = nodeOrThreadList.get(index);
+
+		if (oldNode == newNode) {
+			return;
+		}
+
+		// add or update
+		if (oldNode == null) {
+			if (!AllocUtils.allocate(is, newNode)) {
+				if (MessageDialog.openQuestion(Display.getDefault().getActiveShell(), "Error",
+						"Stereotype application failed. The profile MARTE::Allocation is probably not applied. Try to apply it?")) {
+					AbstractEMFOperation applyProfile = new AddMarteAndFcmProfile(PackageUtil.getRootPackage(is), AddMarteAndFcmProfile.APPLY_ALLOC, TransactionUtil.getEditingDomain(is));
+					CommandSupport.exec(applyProfile);
+					AllocUtils.allocate(is, newNode);
+				}
+			}
+		} else {
+			AllocUtils.updateAllocation(is, oldNode, newNode);
+		}
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/dialogs/ConfigureInstanceDialog.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/dialogs/ConfigureInstanceDialog.java
new file mode 100644
index 0000000..51a3ce6
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/dialogs/ConfigureInstanceDialog.java
@@ -0,0 +1,620 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.ui.dialogs;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.papyrus.designer.deployment.tools.ConfigUtils;
+import org.eclipse.papyrus.designer.deployment.tools.DepCreation;
+import org.eclipse.papyrus.designer.deployment.tools.DepPlanUtils;
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.transformation.base.ElementFilter;
+import org.eclipse.papyrus.designer.transformation.base.utils.DescriptionUtils;
+import org.eclipse.papyrus.designer.transformation.core.sync.DepPlanSync;
+import org.eclipse.papyrus.designer.transformation.ui.provider.AttributeLabelProvider;
+import org.eclipse.papyrus.designer.transformation.ui.provider.InstanceLabelProvider;
+import org.eclipse.papyrus.infra.widgets.toolbox.utils.DialogUtils;
+import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.FocusEvent;
+import org.eclipse.swt.events.FocusListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.layout.RowLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.widgets.TreeItem;
+import org.eclipse.ui.dialogs.SelectionStatusDialog;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+/**
+ * Select container rules, either from a list of globally defined rules or from
+ * local rules which may be created "on the fly" by this dialog.
+ *
+ * TODO: extend rule application to instances (problematic, since rules
+ * transformation is done on type level)
+ */
+public class ConfigureInstanceDialog extends SelectionStatusDialog {
+
+	protected Class m_component;
+
+	protected Label fDescriptionLabel;
+
+	protected Text fDescription;
+
+	protected TreeViewer fInstanceList;
+
+	protected TableViewer fPropertyList;
+
+	protected Property m_currentAttribute;
+
+	protected final String valueLabelPrefix = "Value:"; //$NON-NLS-1$
+
+	protected Label fValueLabel;
+
+	protected Text fValue;
+
+	protected Combo fComboValue;
+
+	protected Package m_model;
+
+	protected Feature m_feature;
+
+	protected EList<Package> visitedPackages;
+
+	protected boolean m_rulePropertiesOnly;
+
+	protected InstanceSpecification m_instance;
+
+	EList<InstanceSpecification> m_instanceList;
+
+	public ConfigureInstanceDialog(Shell parent) {
+		super(parent);
+	}
+
+	public boolean init(Class component, ExecutionEvent from) {
+		// visitedPackages = new BasicEList<Package> ();
+		DepPlanSync.syncAllDepPlans(component);
+		m_component = component;
+		m_instance = null;
+		m_feature = null;
+		m_model = PackageUtil.getUserModel(from);
+		if (m_model == null) {
+			return false;
+		}
+		return checkAndGetInstances();
+	}
+
+	public boolean init(InstanceSpecification instance, ExecutionEvent from) {
+		// visitedPackages = new BasicEList<Package> ();
+		DepPlanSync.syncDepPlan(instance.getNearestPackage());
+		m_component = DepUtils.getImplementation(instance);
+		m_instance = instance;
+		m_feature = null;
+		m_model = PackageUtil.getUserModel(from);
+		return checkAndGetInstances();
+	}
+
+	public boolean init(Feature feature, ExecutionEvent from) {
+		// visitedPackages = new BasicEList<Package> ();
+		m_feature = feature;
+		m_model = PackageUtil.getUserModel(from);
+		if (m_model == null) {
+			m_model = PackageUtil.getRootPackage(feature);
+		}
+		m_instance = null;
+		// need to overload for connector support
+		if (feature instanceof Property) {
+			Type type = ((Property) feature).getType();
+			if (type instanceof Class) {
+				m_component = (Class) type;
+				return checkAndGetInstances();
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * A filter class that selects instances associated with the selected feature or component
+	 */
+	class InstanceFilter implements ElementFilter {
+
+		private String featureCandidateName;
+
+		@Override
+		public boolean acceptElement(Element element) {
+			if (element instanceof InstanceSpecification) {
+				InstanceSpecification instance = (InstanceSpecification) element;
+				if (m_feature instanceof Property) {
+					EList<Slot> slots = DepUtils.getReferencingSlots(instance);
+					for (Slot slot : slots) {
+						if (slot.getDefiningFeature() == m_feature) {
+							return true;
+						}
+					}
+				}
+				else if (m_feature instanceof Connector) {
+					// Connector instances cannot be found via a slot. Since a connector is not a structural feature,
+					// it cannot be referenced via the "definingFeature" property of a slot. Therefore, the deployment
+					// plan creation (@see DepCreation.createDepPlan) simply omits slots, but still creates instances
+					// for the interaction components referenced by an FCM connector.
+					// TODO: the following code relies on specific order of instances and might not always work.
+					Element owner = m_feature.getOwner();
+					if (DepUtils.getImplementation(instance) == owner) {
+						// instance is for owner of feature: examine name
+						featureCandidateName = instance.getName() + "." + m_feature.getName(); //$NON-NLS-1$
+					}
+					else if (featureCandidateName != null) {
+						if (featureCandidateName.equals(instance.getName())) {
+							return true;
+						}
+					}
+				} else if (DepUtils.getImplementation(instance) == m_component) {
+					return true;
+				}
+			}
+			return false;
+		}
+	}
+
+
+	/**
+	 * retrieve the instance list. Returns false, if no deployment plan could be found.
+	 *
+	 * @return
+	 */
+	public boolean checkAndGetInstances() {
+		visitedPackages = new BasicEList<Package>();
+		m_instanceList = new BasicEList<InstanceSpecification>();
+
+		ElementFilter filter = new InstanceFilter();
+		DepUtils.getAllInstances(m_model, m_instanceList, filter);
+
+		if (m_instanceList.size() == 0) {
+			Shell shell = Display.getDefault().getActiveShell();
+			if (DepPlanUtils.getAllDepPlans(m_model).size() == 0) {
+				MessageDialog.openInformation(shell, "Instance configuration",
+						"No deployment plans are defined. Create a deployment plan before configuring instances");
+				return false;
+			}
+			else if (MessageDialog.openConfirm(shell, "Instance configuration",
+					"The list of available instances is empty. Synchronize deployment plans?")) {
+				DepPlanSync.syncAllDepPlans(m_model);
+				visitedPackages = new BasicEList<Package>();
+				DepUtils.getAllInstances(m_model, m_instanceList, filter);
+
+				if (m_instanceList.size() == 0) {
+					MessageDialog
+							.openInformation(
+									shell,
+									"Instance configuration",
+									"There are still no instances available\n. Check whether you created already a deployment plan for your system. Check as well, if the parts in your a composite use \"composite\" as aggregation kind. (Results of deployment plan synchronizations will be unrolled)");
+					return false;
+				}
+			}
+		}
+		return true;
+	}
+
+	/**
+	 * @see SelectionStatusDialog#computeResult()
+	 */
+	@Override
+	protected void computeResult() {
+		// nothing to do
+	}
+
+	@Override
+	public Control createDialogArea(Composite parent) {
+		Composite contents = (Composite) super.createDialogArea(parent);
+		// (parent, "Container rules", "Avail. extensions/interceptors");
+
+		createInstanceSelectionGroup(contents);
+		createInstanceConfigurationGroup(contents);
+		return contents;
+	}
+
+	protected void createInstanceSelectionGroup(Composite parent) {
+		Composite instanceSelection = new Composite(parent, SWT.NONE);
+		GridLayout grid = new GridLayout(1, true);
+		GridData groupGridData = new GridData();
+
+		groupGridData.grabExcessVerticalSpace = true;
+		groupGridData.grabExcessHorizontalSpace = true;
+		groupGridData.horizontalAlignment = GridData.FILL;
+		groupGridData.verticalAlignment = GridData.FILL;
+		instanceSelection.setLayout(grid);
+		instanceSelection.setLayoutData(groupGridData);
+
+		/*
+		 * fRules = DialogUtils.createFilteredList (ruleSelGroup, new
+		 * RuleLabelProvider(), 200, 200, SWT.BORDER | SWT.V_SCROLL |
+		 * SWT.H_SCROLL);
+		 */
+
+		//
+		// --------------- instance selection -------------------
+		//
+		Group instanceSelGroup = new Group(instanceSelection, SWT.BORDER);
+		instanceSelGroup.setText(addSpaces("associated instance specifications"));
+		// ruleGroup.setLayout(new RowLayout (SWT.VERTICAL));
+		instanceSelGroup.setLayout(new GridLayout(1, false));
+		instanceSelGroup.setLayoutData(groupGridData);
+
+		fInstanceList = new TreeViewer(instanceSelGroup, SWT.BORDER);
+
+		GridData data = new GridData(GridData.FILL_BOTH);
+		data.heightHint = 100;
+		data.widthHint = 350;
+
+		fInstanceList.getTree().setLayoutData(data);
+		fInstanceList.setLabelProvider(new InstanceLabelProvider());
+		fInstanceList.setContentProvider(new ITreeContentProvider() {
+
+			@Override
+			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+			}
+
+			@Override
+			public void dispose() {
+			}
+
+			@Override
+			public boolean hasChildren(Object element) {
+				return getChildren(element).length > 0;
+			}
+
+			@Override
+			public Object getParent(Object element) {
+				return null;
+			}
+
+			@Override
+			public Object[] getElements(Object inputElement) {
+				return (Object[]) inputElement;
+			}
+
+			@Override
+			public Object[] getChildren(Object parentElement) {
+				if (parentElement instanceof InstanceSpecification) {
+					return DepUtils.getContainedInstances((InstanceSpecification) parentElement).toArray();
+				}
+				return new Object[0];
+			}
+		});
+
+		fInstanceList.setInput(m_instanceList.toArray());
+		fInstanceList.addSelectionChangedListener(new ISelectionChangedListener() {
+
+			@Override
+			public void selectionChanged(SelectionChangedEvent event) {
+				ISelection selection = fInstanceList.getSelection();
+				if (selection instanceof StructuredSelection) {
+					Object[] selected = ((StructuredSelection) selection)
+							.toArray();
+					if ((selected.length == 1)
+							&& (selected[0] instanceof InstanceSpecification)) {
+						m_instance = (InstanceSpecification) selected[0];
+						Classifier cl = DepUtils.getClassifier(m_instance);
+						fPropertyList.setInput(getConfigAttributes(cl).toArray());
+						selectProperty(m_currentAttribute);
+					}
+				}
+			}
+		});
+		if (m_instance != null) {
+			int index = m_instanceList.indexOf(m_instance);
+			if (index != -1) {
+				TreeItem treeItem = fInstanceList.getTree().getItem(index);
+				fInstanceList.getTree().setSelection(treeItem);
+			}
+		}
+	}
+
+	// create instance configuration group
+	protected void createInstanceConfigurationGroup(Composite parent) {
+		GridData groupGridData = DialogUtils.createFillGridData();
+
+		Group instanceConfigurationGroup = new Group(parent, SWT.BORDER);
+		instanceConfigurationGroup.setText(addSpaces("Configuration"));
+		instanceConfigurationGroup.setLayout(new RowLayout(SWT.VERTICAL));
+		instanceConfigurationGroup.setLayout(new GridLayout(1, false));
+		instanceConfigurationGroup.setLayoutData(groupGridData);
+
+		// fRuleName = new Text (ruleInfoGroup, SWT.NONE);
+		Label configL = new Label(instanceConfigurationGroup, SWT.NONE);
+		configL.setText("Available properties:");
+
+		fPropertyList = new TableViewer(instanceConfigurationGroup, SWT.BORDER);
+		fPropertyList.setLabelProvider(new AttributeLabelProvider());
+		fPropertyList.setContentProvider(new ArrayContentProvider());
+		fPropertyList.setInput(getConfigAttributes(m_component).toArray());
+		fPropertyList
+				.addSelectionChangedListener(new ISelectionChangedListener() {
+
+					@Override
+					public void selectionChanged(SelectionChangedEvent event) {
+						ISelection selection = fPropertyList.getSelection();
+						if (selection instanceof StructuredSelection) {
+							Object[] selected = ((StructuredSelection) selection)
+									.toArray();
+							if ((selected.length == 1)
+									&& (selected[0] instanceof Property)) {
+								selectProperty((Property) selected[0]);
+							}
+						}
+					}
+				});
+
+		fValueLabel = new Label(instanceConfigurationGroup, SWT.NONE);
+
+		GridData span2 = new GridData();
+		span2.horizontalAlignment = GridData.FILL;
+		span2.grabExcessHorizontalSpace = true;
+		span2.heightHint = 70;
+		fPropertyList.getTable().setLayoutData(span2);
+
+		fValue = new Text(instanceConfigurationGroup, SWT.WRAP);
+		span2 = new GridData();
+		span2.horizontalAlignment = GridData.FILL;
+		span2.grabExcessHorizontalSpace = true;
+		fValue.setLayoutData(span2);
+		
+		fValue.addFocusListener(new FocusListener() {
+
+			@Override
+			public void focusLost(FocusEvent e) {
+				// store value, once focus is lost (different element is
+				// selected)
+				String valueStr = fValue.getText();
+				Slot valueSlot = null;
+				if (m_instance == null) {
+					// no instance has been selected
+					// (field should be inactive, if not selected)
+					return;
+				}
+				for (Slot slot : m_instance.getSlots()) {
+					if (slot.getDefiningFeature() == m_currentAttribute) {
+						valueSlot = slot;
+					}
+				}
+				if (valueSlot == null) {
+					// slot does not exist yet, create
+					valueSlot = DepCreation.createSlotForConfigProp(m_instance,
+							m_currentAttribute);
+				}
+				for (ValueSpecification value : valueSlot.getValues()) {
+					if (value instanceof LiteralString) {
+						((LiteralString) value).setValue(valueStr);
+					} else if (value instanceof LiteralInteger) {
+						((LiteralInteger) value).setValue(Integer
+								.parseInt(valueStr));
+					} else if (value instanceof LiteralBoolean) {
+						((LiteralBoolean) value).setValue(Boolean
+								.parseBoolean(valueStr));
+					}
+				}
+			}
+
+			@Override
+			public void focusGained(FocusEvent e) {
+			}
+		});
+
+		fComboValue = new Combo(instanceConfigurationGroup, SWT.NONE);
+		span2 = new GridData();
+		span2.horizontalAlignment = GridData.FILL;
+		span2.grabExcessHorizontalSpace = true;
+		fComboValue.setLayoutData(span2);
+		
+		fComboValue.addSelectionListener(new SelectionAdapter() {
+
+			@Override
+			public void widgetSelected(SelectionEvent event) {
+				// store value, once focus is lost (different element is
+				// selected)
+				int index = fComboValue.getSelectionIndex();
+				if (m_instance == null) {
+					// no instance has been selected
+					// (field should be inactive, if not selected)
+					return;
+				}
+				Slot valueSlot = null;
+				for (Slot slot : m_instance.getSlots()) {
+					if (slot.getDefiningFeature() == m_currentAttribute) {
+						// slot for enumerations can only be configured with instanceValues.
+						// Destroy slots with do not contain at least one instanceValue
+						boolean destroySlot = true;
+						for (ValueSpecification value : slot.getValues()) {
+							if (value instanceof InstanceValue) {
+								destroySlot = false;
+							}
+						}
+						if (destroySlot) {
+							slot.destroy();
+						}
+						else {
+							valueSlot = slot;
+						}
+						break;
+					}
+				}
+				if (valueSlot == null) {
+					// slot does not exist yet, create
+					valueSlot = DepCreation.createSlotForConfigProp(m_instance,
+							m_currentAttribute);
+				}
+				Enumeration enumeration = (Enumeration) m_currentAttribute.getType();
+				for (ValueSpecification value : valueSlot.getValues()) {
+					if (value instanceof InstanceValue) {
+						((InstanceValue) value).setInstance(enumeration.getOwnedLiterals().get(index));
+					}
+				}
+			}
+		});
+		
+		fDescriptionLabel = new Label(instanceConfigurationGroup, SWT.NONE);
+		fDescriptionLabel.setText("DescriptionUtils:");
+		fDescriptionLabel.setLayoutData(span2);
+
+		span2 = new GridData();
+		span2.horizontalAlignment = GridData.FILL;
+		span2.grabExcessHorizontalSpace = true;
+		span2.grabExcessVerticalSpace = true;
+		span2.verticalAlignment = GridData.FILL;
+		span2.heightHint = 80;
+
+		fDescription = new Text(instanceConfigurationGroup, SWT.NONE | SWT.WRAP
+				| SWT.V_SCROLL | SWT.READ_ONLY);
+		fDescription.setLayoutData(span2);
+		// createMessageArea (ruleInfoGroup);
+		instanceConfigurationGroup.pack();
+		setEnabled(false);
+	}
+
+	/**
+	 * Select a rule, i.e. update the visual representation from the rule
+	 *
+	 * @param rule
+	 */
+	protected void selectProperty(Property attribute) {
+		m_currentAttribute = attribute;
+		if ((attribute == null) || (fValue == null)) {
+			setEnabled(false);
+			return;
+		}
+		setEnabled(true);
+		fDescription.setText(DescriptionUtils.getDescription(attribute, "not available"));
+		fValueLabel.setText(getValueLabel(attribute));
+		boolean isEnum = m_currentAttribute.getType() instanceof Enumeration;
+		fValue.setVisible(!isEnum);
+		fComboValue.setVisible(isEnum);
+		if (isEnum) {
+			Enumeration enumeration = (Enumeration) m_currentAttribute.getType();
+			EList<EnumerationLiteral> literals = enumeration.getOwnedLiterals();
+			String items[] = new String[literals.size()];
+			for (int i = 0; i < literals.size(); i++) {
+				items[i] = literals.get(i).getName();
+			}
+			fComboValue.setItems(items);
+		}
+		
+		for (Slot slot : m_instance.getSlots()) {
+			if (slot.getDefiningFeature() == m_currentAttribute) {
+				for (ValueSpecification value : slot.getValues()) {
+					if (value instanceof LiteralInteger) {
+						Integer intVal = ((LiteralInteger) value).getValue();
+						fValue.setText(intVal.toString());
+						return;
+					}
+					if (value instanceof InstanceValue) {
+						InstanceSpecification enumIS = ((InstanceValue) value).getInstance();
+						if (enumIS instanceof EnumerationLiteral) {
+							EnumerationLiteral literal = (EnumerationLiteral) enumIS;
+							int index = literal.getEnumeration().getOwnedLiterals().indexOf(literal);
+							if (index != -1) {
+								fComboValue.select(index);
+							}
+						}
+						return;
+					}
+					else if (value instanceof LiteralBoolean) {
+						Boolean boolVal = ((LiteralBoolean) value).booleanValue();
+						fValue.setText(boolVal.toString());
+						return;
+					}
+					else if (value instanceof LiteralString) {
+						fValue.setText(((LiteralString) value).getValue());
+						return;
+					}
+				}
+			}
+		}
+		fValue.setText(""); //$NON-NLS-1$
+	}
+
+	private void setEnabled(boolean enabled) {
+		fDescriptionLabel.setEnabled(enabled);
+		fDescription.setEnabled(enabled);
+		fValueLabel.setEnabled(enabled);
+		fValue.setEnabled(enabled);
+		if (!enabled) {
+			fValue.setText(""); //$NON-NLS-1$
+			fDescription.setText(""); //$NON-NLS-1$
+			fValueLabel.setText(valueLabelPrefix);
+		}
+	}
+
+	private String getValueLabel(Property attribute) {
+		String label = valueLabelPrefix;
+		if (attribute.getDefault() != null) {
+			return label + " " + String.format("(default = %s)", attribute.getDefault()); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+		return label;
+	}
+
+	private EList<Property> getConfigAttributes(Classifier component) {
+		EList<Property> list = new BasicEList<Property>();
+		// add properties of component
+		list.addAll(ConfigUtils.getConfigAttributes(component));
+		// overload to add properties of container rules
+		return list;
+	}
+
+	/**
+	 * Add a space before and after
+	 *
+	 * @param text
+	 * @return
+	 */
+	public static String addSpaces(String text) {
+		return " " + text + " "; //$NON-NLS-1$ //$NON-NLS-2$
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/dialogs/GenerationOptionsDialog.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/dialogs/GenerationOptionsDialog.java
new file mode 100644
index 0000000..d4fd9ce
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/dialogs/GenerationOptionsDialog.java
@@ -0,0 +1,138 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.ui.dialogs;
+
+import java.util.Arrays;
+
+import org.eclipse.papyrus.designer.transformation.core.generate.GenerationOptions;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.dialogs.SelectionStatusDialog;
+
+/**
+ * Select options for code generation.
+ *
+ * @author ansgar
+ */
+public class GenerationOptionsDialog extends SelectionStatusDialog implements GenerationOptions {
+
+	protected Button fButtonModelOnly;
+
+	protected Button fButtonRewriteSettings;
+
+	protected Button fButtonOnlyChanged;
+
+	protected Button fButtonCACOnly;
+
+	public static int oldResultInt = 0;
+
+	public GenerationOptionsDialog(Shell parent) {
+		super(parent);
+	}
+
+	/**
+	 * @see SelectionStatusDialog#computeResult()
+	 */
+	@Override
+	protected void computeResult() {
+		int resultInt = (isRewriteSettings() ? REWRITE_SETTINGS : 0) +
+				(isOnlyChanged() ? ONLY_CHANGED : 0) +
+				(isModelOnly() ? MODEL_ONLY : 0) +
+				(isCACOnly() ? CAC_ONLY : 0);
+		oldResultInt = resultInt;
+		Object[] result = new Object[] {
+				resultInt
+		};
+		setResult(Arrays.asList(result));
+	}
+
+	@Override
+	public Control createDialogArea(Composite parent) {
+		Composite contents = (Composite) super.createDialogArea(parent);
+		// (parent, "Container rules", "Avail. extensions/interceptors");
+
+		fButtonCACOnly = new Button(contents, SWT.CHECK);
+		fButtonCACOnly.setText("Only perform container and connector expansion (intermediate model without code generation)");
+		fButtonCACOnly.addSelectionListener(new SelectionListener() {
+
+			@Override
+			public void widgetSelected(SelectionEvent e) {
+				updateButtonEnableStatus();
+			}
+
+			@Override
+			public void widgetDefaultSelected(SelectionEvent e) {
+			}
+		});
+		fButtonCACOnly.setSelection((oldResultInt & CAC_ONLY) != 0);
+
+		fButtonModelOnly = new Button(contents, SWT.CHECK);
+		fButtonModelOnly.setText("Only generate model (not code)");
+		fButtonModelOnly.addSelectionListener(new SelectionListener() {
+
+			@Override
+			public void widgetSelected(SelectionEvent e) {
+				// only write types that have changed does not make sense, if the whole directory is cleaned
+				boolean modelOnly = fButtonModelOnly.getSelection();
+				fButtonOnlyChanged.setEnabled(!modelOnly);
+			}
+
+			@Override
+			public void widgetDefaultSelected(SelectionEvent e) {
+			}
+		});
+		fButtonModelOnly.setSelection((oldResultInt & MODEL_ONLY) != 0);
+
+		fButtonRewriteSettings = new Button(contents, SWT.CHECK);
+		fButtonRewriteSettings.setText("Rewrite project settings, if project exists already (may overwrite user settings)");
+		fButtonRewriteSettings.setSelection((oldResultInt & REWRITE_SETTINGS) != 0);
+
+		fButtonOnlyChanged = new Button(contents, SWT.CHECK);
+		fButtonOnlyChanged.setText("Experimental: only write types that have changed (based on a difference model via EMF compare)");
+		fButtonOnlyChanged.setSelection((oldResultInt & ONLY_CHANGED) != 0);
+
+		updateButtonEnableStatus();
+		return contents;
+	}
+
+	protected void updateButtonEnableStatus() {
+		boolean onlyCAC = fButtonCACOnly.getSelection();
+		boolean modelOnly = fButtonModelOnly.getSelection();
+		fButtonModelOnly.setEnabled(!onlyCAC);
+		fButtonOnlyChanged.setEnabled(!modelOnly && !onlyCAC);
+		fButtonRewriteSettings.setEnabled(!onlyCAC);
+	}
+
+	public boolean isRewriteSettings() {
+		return fButtonRewriteSettings.getSelection();
+	}
+
+	public boolean isOnlyChanged() {
+		return fButtonOnlyChanged.getSelection();
+	}
+
+	public boolean isModelOnly() {
+		return fButtonModelOnly.getSelection();
+	}
+
+	public boolean isCACOnly() {
+		return fButtonCACOnly.getSelection();
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/dialogs/InteractiveImplementationChooser.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/dialogs/InteractiveImplementationChooser.java
new file mode 100644
index 0000000..45aaf46
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/dialogs/InteractiveImplementationChooser.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.ui.dialogs;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.papyrus.designer.deployment.tools.ImplementationChooser;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.dialogs.ElementListSelectionDialog;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.NamedElement;
+
+public class InteractiveImplementationChooser implements ImplementationChooser {
+
+	@Override
+	public Class chooseImplementation(Class componentType, EList<Class> implList) {
+		// SelectionDialog = SelectionDialog.
+		ILabelProvider ilabel = new LabelProvider() {
+
+			@Override
+			public String getText(Object element) {
+				return ((NamedElement) element).getQualifiedName();
+			}
+		};
+		ElementListSelectionDialog dialog =
+				new ElementListSelectionDialog(Display.getDefault().getActiveShell(), ilabel);
+
+		dialog.setTitle("Multiple implementations found");
+		dialog.setMessage("Select an implementation for component type " + componentType.getName());
+
+		dialog.setElements(implList.toArray());
+
+		dialog.open();
+		Object[] selection = dialog.getResult();
+		if (selection.length == 1) {
+			if (selection[0] instanceof Class) {
+				return (Class) selection[0];
+			}
+		}
+		return null;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/AddProfileAndModelLibsHandler.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/AddProfileAndModelLibsHandler.java
new file mode 100644
index 0000000..3b21acd
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/AddProfileAndModelLibsHandler.java
@@ -0,0 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2011 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     CEA LIST - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.papyrus.designer.transformation.ui.handlers;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.papyrus.designer.transformation.base.utils.CommandSupport;
+import org.eclipse.papyrus.designer.transformation.core.commands.AddMarteAndFcmProfile;
+import org.eclipse.papyrus.designer.transformation.core.commands.AddStdModelLibs;
+import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.dialogs.ListSelectionDialog;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageImport;
+
+/**
+ * This class adds the FCM profile, parts of the MARTE profile and required package imports to your model.
+ */
+public class AddProfileAndModelLibsHandler extends CmdHandler {
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public boolean isEnabled() {
+		updateSelectedEObject();
+		if (selectedEObject instanceof Package) {
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		if (!(selectedEObject instanceof Package)) {
+			return null;
+		}
+		final Package selectedPkg = (Package) selectedEObject;
+
+		final TransactionalEditingDomain domain = TransactionUtil.getEditingDomain(selectedPkg);
+		AddMarteAndFcmProfile addProfiles = new AddMarteAndFcmProfile(selectedPkg,
+				AddMarteAndFcmProfile.APPLY_FCM | AddMarteAndFcmProfile.APPLY_ALLOC | AddMarteAndFcmProfile.APPLY_HLAM_GCM,
+				domain);
+		AddStdModelLibs addModelLibs = new AddStdModelLibs(selectedPkg, domain);
+
+		final ListSelectionDialog dialog = new ListSelectionDialog(Display.getDefault().getActiveShell(),
+				addModelLibs.getAvailableImportPackages().toArray(),
+				new ArrayContentProvider(),
+				new LabelProvider() {
+
+					@Override
+					public String getText(Object pi) {
+						return ((PackageImport) pi).getImportedPackage().getName();
+					}
+				},
+				"Select Qompass model libraries for package import.\n" + //$NON-NLS-1$
+						"Libraries that are already imported, are selected. Please note that additional\n" + //$NON-NLS-1$
+						"Qompass model library might be loaded with the standard \"import registered library\" option\n" + //$NON-NLS-1$
+						"\n" + //$NON-NLS-1$
+						"Pressing \"Ok\" will continue with the application of the FCM profile and (parts of) the MARTE profile\n");//$NON-NLS-1$
+
+		dialog.setTitle("Select import library"); //$NON-NLS-1$
+		dialog.setInitialElementSelections(addModelLibs.getAlreadyImportedPackages());
+		// dialog.setElements (list.toArray ());
+		int result = dialog.open();
+		if (result == IDialogConstants.OK_ID) {
+			addModelLibs.setImportList(dialog.getResult());
+			CommandSupport.exec(addModelLibs);
+			CommandSupport.exec(addProfiles);
+			// open dialog?
+			// MessageDialog.openWarning(Display.getDefault().getActiveShell(),
+			//	"Warning", "The MARTE profile is not available."); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+		return null;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/AllocateHandler.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/AllocateHandler.java
new file mode 100644
index 0000000..ee61b30
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/AllocateHandler.java
@@ -0,0 +1,89 @@
+/*******************************************************************************
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher (CEA LIST) ansgar.radermacher@cea.fr - Initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.ui.handlers;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.papyrus.designer.deployment.tools.DepUtils;
+import org.eclipse.papyrus.designer.transformation.base.utils.CommandSupport;
+import org.eclipse.papyrus.designer.transformation.base.utils.RunnableWithResult;
+import org.eclipse.papyrus.designer.transformation.ui.dialogs.AllocationDialog;
+import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.uml2.uml.Package;
+
+/**
+ * Implementation class for ClassAction action
+ */
+public class AllocateHandler extends CmdHandler {
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public boolean isEnabled() {
+		updateSelectedEObject();
+		if (selectedEObject instanceof Package) {
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public Object execute(ExecutionEvent event)
+			throws ExecutionException {
+		if (!(selectedEObject instanceof Package)) {
+			return null;
+		}
+
+		final Package cdp = (Package) selectedEObject;
+		final Shell shell = Display.getDefault().getActiveShell();
+
+		// org.eclipse.papyrus.designer.components.vsl.ParseVSL.test();
+		if (DepUtils.getTopLevelInstances(cdp).isEmpty()) {
+			MessageDialog.openInformation(shell, "Error",
+					"Deployment plan has no main instance (check stereotype attribute mainInstance)");
+			return null;
+		}
+
+		// 1. select possible connectors according to port types
+		// (only show compatible connectors check-box?)
+		// 2. select implementation group according to connector type
+
+		// container dialog: either extension, rule or interceptor
+		// howto select? which? (and howto add/remove?) - Std - dialog is good?
+		CommandSupport.exec("Instance allocation", event, new RunnableWithResult() {
+			
+			@Override
+			public CommandResult run() {
+				AllocationDialog allocDialog =
+						new AllocationDialog(shell, cdp);
+				allocDialog.setTitle("Allocate instances");
+				allocDialog.open();
+				if (allocDialog.getReturnCode() == IDialogConstants.OK_ID) {
+					return CommandResult.newOKCommandResult();
+				}
+				else {
+					return CommandResult.newCancelledCommandResult();
+				}
+			}
+		});
+
+		return null;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/ConfigureInstanceHandler.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/ConfigureInstanceHandler.java
new file mode 100644
index 0000000..9d2e395
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/ConfigureInstanceHandler.java
@@ -0,0 +1,130 @@
+/********
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    CEA LIST - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.ui.handlers;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.papyrus.designer.transformation.base.utils.CommandSupport;
+import org.eclipse.papyrus.designer.transformation.base.utils.RunnableWithResult;
+import org.eclipse.papyrus.designer.transformation.ui.dialogs.ConfigureInstanceDialog;
+import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * Implementation class for ClassAction action
+ */
+public class ConfigureInstanceHandler extends CmdHandler {
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public boolean isEnabled() {
+		updateSelectedEObject();
+		if ((selectedEObject instanceof Class) ||
+				(selectedEObject instanceof Connector) ||
+				(selectedEObject instanceof Property) ||
+				(selectedEObject instanceof InstanceSpecification)) {
+			return true;
+		}
+		return false;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+	 */
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		if (!(selectedEObject instanceof NamedElement)) {
+			return null;
+		}
+
+		final NamedElement element = (NamedElement) selectedEObject;
+		final Shell shell = Display.getDefault().getActiveShell();
+		final ExecutionEvent from = event;
+
+		// 1. select possible connectors according to port types
+		// (only show compatible connectors check-box?)
+		// 2. select implementation group according to connector type
+
+		if (element instanceof Class) {
+			// container dialog: either extension, rule or interceptor
+			// how-to select? which? (and how-to add/remove?) - is standard dialog sufficient?
+			CommandSupport.exec("Configure associated component instance", event, new RunnableWithResult() { //$NON-NLS-1$
+
+						@Override
+						public CommandResult run() {
+							ConfigureInstanceDialog configureInstanceDialog =
+									new ConfigureInstanceDialog(shell);
+							if (configureInstanceDialog.init((Class) element, from)) {
+								configureInstanceDialog.setTitle("Configure instance"); //$NON-NLS-1$
+								configureInstanceDialog.setMessage("Configure instance for component " + element.getName()); //$NON-NLS-1$
+								configureInstanceDialog.open();
+								if (configureInstanceDialog.getReturnCode() == IDialogConstants.OK_ID) {
+									return CommandResult.newOKCommandResult();
+								}
+							}
+							return CommandResult.newCancelledCommandResult();
+						}
+					});
+		} else if (element instanceof Feature) {
+			CommandSupport.exec("Configure associated instance", event, new RunnableWithResult() { //$NON-NLS-1$
+
+						@Override
+						public CommandResult run() {
+							ConfigureInstanceDialog configureInstanceDialog =
+									new ConfigureInstanceDialog(shell);
+							if (configureInstanceDialog.init((Feature) element, from)) {
+								configureInstanceDialog.setTitle("Configure instance"); //$NON-NLS-1$
+								configureInstanceDialog.setMessage("Configure instance for property/connector " + element.getName()); //$NON-NLS-1$
+								configureInstanceDialog.open();
+								if (configureInstanceDialog.getReturnCode() == IDialogConstants.OK_ID) {
+									return CommandResult.newOKCommandResult();
+								}
+							}
+							return CommandResult.newCancelledCommandResult();
+						}
+					});
+
+
+		} else if (element instanceof InstanceSpecification) {
+
+			CommandSupport.exec("Configure instance", event, new RunnableWithResult() { //$NON-NLS-1$
+
+						@Override
+						public CommandResult run() {
+							ConfigureInstanceDialog configureInstanceDialog =
+									new ConfigureInstanceDialog(shell);
+							if (configureInstanceDialog.init((InstanceSpecification) element, from)) {
+								configureInstanceDialog.setMessage("Configure instance " + element.getName()); //$NON-NLS-1$
+								configureInstanceDialog.open();
+								if (configureInstanceDialog.getReturnCode() == IDialogConstants.OK_ID) {
+									return CommandResult.newOKCommandResult();
+								}
+							}
+							return CommandResult.newCancelledCommandResult();
+						}
+					});
+		}
+		return null;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/CreateDepPlanHandler.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/CreateDepPlanHandler.java
new file mode 100644
index 0000000..11c087d
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/CreateDepPlanHandler.java
@@ -0,0 +1,135 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.ui.handlers;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.papyrus.designer.deployment.tools.DepCreation;
+import org.eclipse.papyrus.designer.deployment.tools.DepPlanUtils;
+import org.eclipse.papyrus.designer.deployment.tools.DeployConstants;
+import org.eclipse.papyrus.designer.transformation.base.utils.CommandSupport;
+import org.eclipse.papyrus.designer.transformation.base.utils.RunnableWithResult;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.core.sync.DepPlanSync;
+import org.eclipse.papyrus.designer.transformation.ui.Messages;
+import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Package;
+
+public class CreateDepPlanHandler extends CmdHandler {
+
+	private Package depPlans;
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public boolean isEnabled() {
+		updateSelectedEObject();
+		if ((selectedEObject instanceof Class) && !((Class) selectedEObject).isAbstract()) {
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		if (!(selectedEObject instanceof Class)) {
+			return null;
+		}
+		final Class selectedComposite = (Class) selectedEObject;
+
+		CommandSupport.exec(Messages.CreateDepPlanHandler_CreateDPs, event, new Runnable() {
+
+			@Override
+			public void run() {
+				// execute with transaction support
+				depPlans = DepPlanUtils.getDepPlanRoot(selectedComposite);
+			}
+		});
+
+		try {
+			String name = selectedComposite.getName() + DeployConstants.DepPlanPostfix;
+			if (depPlans.getMember(name) != null) {
+				Shell shell = Display.getDefault().getActiveShell();
+				String dialogButtonLabels[] = new String[] {
+						Messages.CreateDepPlanHandler_Cancel,
+						Messages.CreateDepPlanHandler_Sync,
+						Messages.CreateDepPlanHandler_CreateNew
+				};
+				MessageDialog dialog = new MessageDialog(shell, Messages.CreateDepPlanHandler_WhatShouldIDo, null,
+						String.format(Messages.CreateDepPlanHandler_DPwithNameExistsAlready, name),
+						MessageDialog.QUESTION, dialogButtonLabels, 0);
+				int result = dialog.open();
+				if (result == 0) {
+					return null;
+				}
+				else if (result == 1) {
+					NamedElement existing = depPlans.getMember(name);
+					if (existing instanceof Package) {
+						DepPlanSync.syncDepPlan((Package) existing);
+						return null;
+					}
+					else {
+						MessageDialog.openError(shell, Messages.CreateDepPlanHandler_CannotSync,
+								String.format(Messages.CreateDepPlanHandler_DPwithNameExistsNoPackage, name));
+					}
+				}
+				else {
+					for (int i = 2;; i++) {
+						name = selectedComposite.getName() + DeployConstants.DepPlanPostfix + i;
+						if (depPlans.getMember(name) == null) {
+							break;
+						}
+					}
+
+				}
+			}
+			final String depPlanName = name;
+
+			CommandSupport.exec(Messages.CreateDepPlanHandler_CreateDP, event, new RunnableWithResult() {
+
+				@Override
+				public CommandResult run() {
+					Package cdp = depPlans.createNestedPackage(depPlanName);
+					try {
+						InstanceSpecification newRootIS =
+								DepCreation.createDepPlan(cdp, selectedComposite, DeployConstants.MAIN_INSTANCE, true);
+						DepCreation.initAutoValues(newRootIS);
+						return CommandResult.newOKCommandResult();
+					}
+					catch (TransformationException e) {
+						MessageDialog.openInformation(Display.getDefault().getActiveShell(), Messages.CreateDepPlanHandler_CannotCreateDP,
+								e.getMessage());
+						return CommandResult.newErrorCommandResult(e.getMessage());
+					}
+				}
+			});
+
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/CreatePlatformHandler.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/CreatePlatformHandler.java
new file mode 100644
index 0000000..a702dd5
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/CreatePlatformHandler.java
@@ -0,0 +1,94 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.ui.handlers;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.papyrus.designer.deployment.tools.DepCreation;
+import org.eclipse.papyrus.designer.deployment.tools.DeployConstants;
+import org.eclipse.papyrus.designer.transformation.base.utils.CommandSupport;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationException;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationRTException;
+import org.eclipse.papyrus.designer.transformation.base.utils.ElementUtils;
+import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Package;
+
+public class CreatePlatformHandler extends CmdHandler {
+
+	private Package platform;
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public boolean isEnabled() {
+		updateSelectedEObject();
+		if (selectedEObject instanceof Class) {
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		if (!(selectedEObject instanceof Class)) {
+			return null;
+		}
+		final Class selectedComposite = (Class) selectedEObject;
+
+		CommandSupport.exec("Create platform model", event, new Runnable() { //$NON-NLS-1$
+
+					@Override
+					public void run() {
+						// execute with transaction support
+						platform = ElementUtils.getRoot(selectedComposite, DeployConstants.depPlanFolderHw);
+					}
+				});
+
+		final String newPlatform = selectedComposite.getName() + DeployConstants.DepPlanPostfixHw;
+
+		try {
+			if (platform.getMember(newPlatform) != null) {
+				Shell shell = Display.getDefault().getActiveShell();
+				MessageDialog.openInformation(shell, "Error", //$NON-NLS-1$
+						"Platform definition \"" + newPlatform + "\" exists already"); //$NON-NLS-1$ //$NON-NLS-2$
+			} else {
+				CommandSupport.exec("Create platform definition", event, new Runnable() { //$NON-NLS-1$
+
+							@Override
+							public void run() {
+								Package platformPkg = platform.createNestedPackage(newPlatform);
+								try {
+									DepCreation.createPlatformInstances(platformPkg, selectedComposite, null);
+								}
+								catch (TransformationException e) {
+									throw new TransformationRTException(e.getMessage());
+								}
+							}
+						});
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/InstantiateDepPlanHandler.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/InstantiateDepPlanHandler.java
new file mode 100644
index 0000000..b2af3aa
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/InstantiateDepPlanHandler.java
@@ -0,0 +1,85 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.ui.handlers;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.papyrus.designer.transformation.base.utils.ProjectManagement;
+import org.eclipse.papyrus.designer.transformation.core.transformations.InstantiateDepPlan;
+import org.eclipse.papyrus.designer.transformation.ui.dialogs.GenerationOptionsDialog;
+import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.uml2.uml.Package;
+
+/**
+ * handler for instantiating a deployment plan
+ */
+public class InstantiateDepPlanHandler extends CmdHandler {
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public boolean isEnabled() {
+		updateSelectedEObject();
+		if (selectedEObject instanceof Package) {
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		// only one model is selected
+		if (selectedEObject instanceof Package) {
+			selectedCDP = (Package) selectedEObject;
+
+			project = ProjectManagement.getCurrentProject();
+
+			GenerationOptionsDialog optionsDialog = new GenerationOptionsDialog(Display.getDefault().getActiveShell());
+			optionsDialog.open();
+			if (optionsDialog.getReturnCode() == IDialogConstants.OK_ID) {
+
+				final int genOptions = (Integer) optionsDialog.getResult()[0];
+				Job job = new Job("Create deployment model (OO)") {
+
+					@Override
+					protected IStatus run(IProgressMonitor monitor) {
+						// execute the task ...
+						new InstantiateDepPlan().instantiate(selectedCDP, monitor, project, genOptions);
+						return Status.OK_STATUS;
+					}
+				};
+				job.setUser(true);
+				job.schedule();
+			}
+		}
+
+		return null;
+	}
+
+	private Package selectedCDP;
+
+	private IProject project;
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/SyncHandler.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/SyncHandler.java
new file mode 100644
index 0000000..3b13a5f
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/handlers/SyncHandler.java
@@ -0,0 +1,104 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.ui.handlers;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.papyrus.designer.transformation.base.utils.CommandSupport;
+import org.eclipse.papyrus.designer.transformation.base.utils.RunnableWithResult;
+import org.eclipse.papyrus.designer.transformation.base.utils.TransformationRTException;
+import org.eclipse.papyrus.designer.transformation.core.sync.DepPlanSync;
+import org.eclipse.papyrus.designer.transformation.core.sync.InterfaceSync;
+import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * Handler for synchronizing derived elements. Will do different
+ * things, depending on the currently selected object.
+ */
+public class SyncHandler extends CmdHandler {
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public boolean isEnabled() {
+		updateSelectedEObject();
+		// if a property is selected, use the associated type
+		if (selectedEObject instanceof Property) {
+			selectedEObject = ((Property) selectedEObject).getType();
+		}
+		
+		if (selectedEObject instanceof Interface) {
+			return true;
+		}
+		if (selectedEObject instanceof Class) {
+			return true;
+		}
+		else if (selectedEObject instanceof Package) {
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		// if a property is selected, use the associated type
+		if (selectedEObject instanceof Property) {
+			selectedEObject = ((Property) selectedEObject).getType();
+		}
+
+		if (selectedEObject instanceof Interface) {
+			final Interface selectedIntf = (Interface) selectedEObject;
+			CommandSupport.exec("Synchronize interface", event, new Runnable() {
+
+				@Override
+				public void run() {
+					InterfaceSync.syncSignalReceptionSupport(selectedIntf);
+				}
+			});
+		}
+		
+		if (selectedEObject instanceof Package) {
+			final Package selectedPkg = (Package) selectedEObject;
+			CommandSupport.exec("Synchronize deployment plan", event, new RunnableWithResult() {
+
+				@Override
+				public CommandResult run() {
+					try {
+						DepPlanSync.syncDepPlan(selectedPkg);
+						return CommandResult.newOKCommandResult();
+					}
+					catch (TransformationRTException e) {
+						Shell shell = Display.getDefault().getActiveShell();
+						MessageDialog.openError(shell, "Can not synchronize deployment plan", e.getMessage());
+						return CommandResult.newErrorCommandResult(e.getMessage());
+					}
+				}
+			});
+		}
+		return null;
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/messages.properties b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/messages.properties
new file mode 100644
index 0000000..40a457c
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/messages.properties
@@ -0,0 +1,27 @@
+ConfigurePortHandler_ConfigurePorts=Configure ports
+ConfigurePortHandler_ConfigurePortsOfComponent=Configure ports of component 
+ConfigurePortHandler_ConfigureInstance=Configure instance
+
+ConfigurePortDialog_AvailPorts=Available Ports 
+ConfigurePortDialog_PortConfig=Port configuration 
+ConfigurePortDialog_NotAvail=not available
+ConfigurePortDialog_Kind=Kind
+ConfigurePortDialog_None=none
+ConfigurePortDialog_Type=Type
+ConfigurePortDialog_ChangeType=change type
+ConfigurePortDialog_IntfDerived=Interfaces derived from kind and type
+ConfigurePortDialog_Provided=Provided
+ConfigurePortDialog_Required=Required
+ConfigurePortDialog_Undef=undefined
+
+CreateDepPlanHandler_CreateDPs=Create deployment plans
+CreateDepPlanHandler_Sync=Synchronize
+CreateDepPlanHandler_CreateNew=create new (auto number name)
+CreateDepPlanHandler_WhatShouldIDo=What should I do?
+CreateDepPlanHandler_DPwithNameExistsAlready=Deployment plan with name %s exists already. You can always synchronize an existing deployment plan via the context menu "Synchronize derived elements"
+CreateDepPlanHandler_DPwithNameExistsNoPackage=Element with name %s exists, but is not a package
+CreateDepPlanHandler_CannotSync=Cannot synchronize
+CreateDepPlanHandler_Cancel=Cancel
+CreateDepPlanHandler_CreateDP=Create deployment plan
+CreateDepPlanHandler_CannotCreateDP=Cannot create deployment plan
+CreateDepPlanHandler_StereoApplicationFailed=Application of stereotype "FCM::DeploymentPlan" failed. Check, if FCM profile is applied
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/preferences/PapyrusDesignerPreferenceInitializer.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/preferences/PapyrusDesignerPreferenceInitializer.java
new file mode 100644
index 0000000..0e6c043
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/preferences/PapyrusDesignerPreferenceInitializer.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.ui.preferences;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.papyrus.designer.transformation.base.preferences.PapyrusDesignerPreferenceConstants;
+
+/**
+ * Class used to initialize default preference values.
+ */
+public class PapyrusDesignerPreferenceInitializer extends AbstractPreferenceInitializer {
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
+	 */
+	@Override
+	public void initializeDefaultPreferences() {
+		IPreferenceStore store = org.eclipse.papyrus.designer.transformation.core.Activator.getDefault().getPreferenceStore();
+		store.setDefault(PapyrusDesignerPreferenceConstants.P_SHOW_PROV_REQ_AS_PORT_ICONS, false);
+		store.setDefault(PapyrusDesignerPreferenceConstants.P_ALL_ATTRIBUTES_ARE_CONFIG_ATTRIBUTES, false);
+		store.setDefault(PapyrusDesignerPreferenceConstants.P_TREAT_NONE_AS_COMPOSITE, false);
+		store.setDefault(PapyrusDesignerPreferenceConstants.P_CODE_GEN_PREFIX, "// generated with Qompass toolchain");
+	}
+
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/preferences/PapyrusDesignerPreferencePage.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/preferences/PapyrusDesignerPreferencePage.java
new file mode 100644
index 0000000..cdfdc24
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/preferences/PapyrusDesignerPreferencePage.java
@@ -0,0 +1,76 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.ui.preferences;
+
+import org.eclipse.jface.preference.BooleanFieldEditor;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.papyrus.designer.transformation.base.preferences.PapyrusDesignerPreferenceConstants;
+import org.eclipse.papyrus.designer.transformation.core.Activator;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+
+/**
+ * This class represents the EC3M preference page
+ * <p>
+ * This page is used to modify preferences only. They are stored in the preference store that belongs to the main plug-in class. That way, preferences can be accessed directly via the preference store.
+ */
+
+public class PapyrusDesignerPreferencePage
+		extends FieldEditorPreferencePage
+		implements IWorkbenchPreferencePage {
+
+	public PapyrusDesignerPreferencePage() {
+		super(GRID);
+		setPreferenceStore(Activator.getDefault().getPreferenceStore());
+		setDescription("Papyrus designer options (for component-based design)");
+	}
+
+	/**
+	 * Creates the field editors. Field editors are abstractions of
+	 * the common GUI blocks needed to manipulate various types
+	 * of preferences. Each field editor knows how to save and
+	 * restore itself.
+	 */
+	@Override
+	public void createFieldEditors() {
+		addField(new BooleanFieldEditor(
+				PapyrusDesignerPreferenceConstants.P_SHOW_PROV_REQ_AS_PORT_ICONS,
+				"&Show icons associated with derived provided/required interfaces instead of kind",
+				getFieldEditorParent()));
+
+		addField(new BooleanFieldEditor(
+				PapyrusDesignerPreferenceConstants.P_TREAT_NONE_AS_COMPOSITE,
+				"Treat aggregation kind \"&None\" as \"Composite\"",
+				getFieldEditorParent()));
+
+		addField(new BooleanFieldEditor(
+				PapyrusDesignerPreferenceConstants.P_ALL_ATTRIBUTES_ARE_CONFIG_ATTRIBUTES,
+				"Treat all attributes as configuration attributes (if false, only attributes of abstract classes and attributes explicitly tagged as FCM::ConfigurationProperty will be considered as configuration attribute",
+				getFieldEditorParent()));
+
+		addField(new StringFieldEditor(
+				PapyrusDesignerPreferenceConstants.P_CODE_GEN_PREFIX,
+				"Code generation prefix: ", getFieldEditorParent()));
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
+	 */
+	@Override
+	public void init(IWorkbench workbench) {
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/provider/AttributeLabelProvider.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/provider/AttributeLabelProvider.java
new file mode 100644
index 0000000..3ae576f
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/provider/AttributeLabelProvider.java
@@ -0,0 +1,36 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.ui.provider;
+
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+public class AttributeLabelProvider extends LabelProvider {
+
+	@Override
+	public String getText(Object element) {
+		if (element instanceof Property) {
+			Property p = (Property) element;
+			Type type = p.getType();
+			return p.getClass_().getName() + "." + p.getName() + ((type != null) ?
+					" : " + type.getQualifiedName() :
+					"");
+		}
+		else {
+			return "invalid";
+		}
+	}
+};
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/provider/InstanceLabelProvider.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/provider/InstanceLabelProvider.java
new file mode 100644
index 0000000..8b9e9cd
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/provider/InstanceLabelProvider.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.ui.provider;
+
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+
+public class InstanceLabelProvider extends LabelProvider {
+
+	@Override
+	public String getText(Object element) {
+		if (element instanceof NamedElement) {
+			String instanceName = ((NamedElement) element).getName();
+			Element owner = ((Element) element).getOwner();
+			if (owner instanceof NamedElement) {
+				return "Plan " + ((NamedElement) owner).getName() + ": " + instanceName;
+			}
+			else {
+				return instanceName;
+			}
+		}
+		else {
+			return "not a named element";
+		}
+	}
+};
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/provider/NameLabelProvider.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/provider/NameLabelProvider.java
new file mode 100644
index 0000000..2c81ba9
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/provider/NameLabelProvider.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.ui.provider;
+
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.uml2.uml.NamedElement;
+
+public class NameLabelProvider extends LabelProvider {
+
+	@Override
+	public String getText(Object element) {
+		return ((NamedElement) element).getName();
+	}
+};
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/provider/QNameLabelProvider.java b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/provider/QNameLabelProvider.java
new file mode 100644
index 0000000..83f96b2
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.ui/src/org/eclipse/papyrus/designer/transformation/ui/provider/QNameLabelProvider.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.designer.transformation.ui.provider;
+
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.uml2.uml.NamedElement;
+
+public class QNameLabelProvider extends LabelProvider {
+
+	@Override
+	public String getText(Object element) {
+		return ((NamedElement) element).getQualifiedName();
+	}
+};
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.classpath b/transformation/org.eclipse.papyrus.designer.transformation.vsl/.classpath
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.vsl/.classpath
rename to transformation/org.eclipse.papyrus.designer.transformation.vsl/.classpath
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.vsl/.project b/transformation/org.eclipse.papyrus.designer.transformation.vsl/.project
new file mode 100644
index 0000000..6f14dd1
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.vsl/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.designer.transformation.vsl</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.core.resources.prefs b/transformation/org.eclipse.papyrus.designer.transformation.vsl/.settings/org.eclipse.core.resources.prefs
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.core.resources.prefs
rename to transformation/org.eclipse.papyrus.designer.transformation.vsl/.settings/org.eclipse.core.resources.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.jdt.core.prefs b/transformation/org.eclipse.papyrus.designer.transformation.vsl/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.jdt.core.prefs
rename to transformation/org.eclipse.papyrus.designer.transformation.vsl/.settings/org.eclipse.jdt.core.prefs
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.m2e.core.prefs b/transformation/org.eclipse.papyrus.designer.transformation.vsl/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.vsl/.settings/org.eclipse.m2e.core.prefs
rename to transformation/org.eclipse.papyrus.designer.transformation.vsl/.settings/org.eclipse.m2e.core.prefs
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.vsl/META-INF/MANIFEST.MF b/transformation/org.eclipse.papyrus.designer.transformation.vsl/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..3986a2f
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.vsl/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.designer.transformation.vsl
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.papyrus.marte.vsl;bundle-version="1.2.0",
+ org.eclipse.xtext;bundle-version="2.4.0",
+ org.eclipse.papyrus.marte.static.profile;bundle-version="1.2.0"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 0.7.5.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.designer.transformation.vsl.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.designer.transformation.vsl
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/about.html b/transformation/org.eclipse.papyrus.designer.transformation.vsl/about.html
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.vsl/about.html
rename to transformation/org.eclipse.papyrus.designer.transformation.vsl/about.html
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/build.properties b/transformation/org.eclipse.papyrus.designer.transformation.vsl/build.properties
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.vsl/build.properties
rename to transformation/org.eclipse.papyrus.designer.transformation.vsl/build.properties
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/plugin.properties b/transformation/org.eclipse.papyrus.designer.transformation.vsl/plugin.properties
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.vsl/plugin.properties
rename to transformation/org.eclipse.papyrus.designer.transformation.vsl/plugin.properties
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.vsl/pom.xml b/transformation/org.eclipse.papyrus.designer.transformation.vsl/pom.xml
new file mode 100644
index 0000000..c9ff2fe
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.vsl/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.designer</groupId>
+		<artifactId>org.eclipse.papyrus.designer.transformation</artifactId>
+		<version>0.7.5-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.designer.transformation.vsl</artifactId>
+	<description>This module contains some utility function for MARTEs value specification language</description>
+	<packaging>eclipse-plugin</packaging>
+</project>
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.vsl/src/org/eclipse/papyrus/designer/transformation/vsl/Activator.java b/transformation/org.eclipse.papyrus.designer.transformation.vsl/src/org/eclipse/papyrus/designer/transformation/vsl/Activator.java
new file mode 100644
index 0000000..26c64af
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.vsl/src/org/eclipse/papyrus/designer/transformation/vsl/Activator.java
@@ -0,0 +1,67 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.designer.transformation.vsl;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.designer.transformation.vsl"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.vsl/src/org/eclipse/papyrus/designer/transformation/vsl/Messages.java b/transformation/org.eclipse.papyrus.designer.transformation.vsl/src/org/eclipse/papyrus/designer/transformation/vsl/Messages.java
new file mode 100644
index 0000000..0ac12be
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.vsl/src/org/eclipse/papyrus/designer/transformation/vsl/Messages.java
@@ -0,0 +1,23 @@
+/**
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.eclipse.papyrus.designer.transformation.vsl;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.eclipse.papyrus.designer.transformation.vsl.messages"; //$NON-NLS-1$
+	public static String ParseVSL_ErrorInExp_SIZE;
+	public static String ParseVSL_ErrorInExp_TIME;
+	public static String ParseVSL_ErrotInExp_FREQ;
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}
diff --git a/transformation/org.eclipse.papyrus.designer.transformation.vsl/src/org/eclipse/papyrus/designer/transformation/vsl/ParseVSL.java b/transformation/org.eclipse.papyrus.designer.transformation.vsl/src/org/eclipse/papyrus/designer/transformation/vsl/ParseVSL.java
new file mode 100644
index 0000000..4edb53e
--- /dev/null
+++ b/transformation/org.eclipse.papyrus.designer.transformation.vsl/src/org/eclipse/papyrus/designer/transformation/vsl/ParseVSL.java
@@ -0,0 +1,201 @@
+/**
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.eclipse.papyrus.designer.transformation.vsl;
+
+import java.util.Collections;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.papyrus.MARTE.utils.MarteUtils;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.DataSizeUnitKind;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.FrequencyUnitKind;
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.TimeUnitKind;
+import org.eclipse.papyrus.marte.vsl.VSLStandaloneSetupGenerated;
+import org.eclipse.xtext.IGrammarAccess;
+import org.eclipse.xtext.resource.IResourceFactory;
+import org.eclipse.xtext.resource.XtextResource;
+import org.eclipse.xtext.util.StringInputStream;
+
+import com.google.inject.Injector;
+
+
+public class ParseVSL {
+
+	private static final String UNIT = "unit"; //$NON-NLS-1$
+
+	private static final String VALUE = "value"; //$NON-NLS-1$
+
+	private Injector injector;
+
+	private static final String SYNTHETIC_SCHEME = "synthetic"; //$NON-NLS-1$
+
+
+	/**
+	 * Parse a VSL expression and return an xtext resource. Users should check for parsing
+	 * errors (getErrors). The resulting set of eObjects is available via the getContents
+	 * operations (as usual).
+	 *
+	 * @param expression
+	 *            a VSL expression
+	 * @return a resource relating to the expression.
+	 */
+	public XtextResource getXtextResource(String expression) {
+		if (injector == null) {
+			VSLStandaloneSetupGenerated setup = new VSLStandaloneSetupGenerated();
+			injector = setup.createInjectorAndDoEMFRegistration();
+		}
+		;
+		IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class);
+		IGrammarAccess grammarAccess = injector.getInstance(IGrammarAccess.class);
+
+		XtextResource xtextResource = (XtextResource) resourceFactory.createResource(
+				URI.createURI(SYNTHETIC_SCHEME + ":/" + grammarAccess.getGrammar().getName() + ".vsl")); //$NON-NLS-1$ //$NON-NLS-2$
+
+		try {
+			xtextResource.load(new StringInputStream(expression, xtextResource.getEncoding()), Collections.emptyMap());
+		} catch (Exception e) {
+			throw new RuntimeException(e);
+		}
+		return xtextResource;
+	}
+
+	/**
+	 * test function (currently unused)
+	 *
+	 * @param expression
+	 *            a VSL expression
+	 */
+	public static void parseTest(String expression) {
+		/*
+		 * ParseVSL parseVSL = new ParseVSL();
+		 * XtextResource xtextResource = parseVSL.getXtextResource(expression);
+		 * if(xtextResource.getErrors().size() > 0) {
+		 * for(Resource.Diagnostic error : xtextResource.getErrors()) {
+		 * System.err.println(error);
+		 * }
+		 * return;
+		 * }
+		 * EList<EObject> contents = xtextResource.getContents();
+		 * System.out.println("contents.size: " + contents.size());
+		 */
+	}
+
+	public static int getSizeFromVSL(String nfpDatasize) {
+		if (nfpDatasize != null) {
+			String unit = MarteUtils.getValueFromTuple(nfpDatasize, UNIT);
+			String value = MarteUtils.getValueFromTuple(nfpDatasize, VALUE);
+			return Float.valueOf(value).intValue() * getMultiplicatorFromSizeUnit(unit);
+		}
+		return 0;
+	}
+
+	// >>> TODO: from here: ad-hoc functions to retrieve values via simple parser
+
+	/**
+	 * Get the duration in micro-seconds
+	 *
+	 * @param nfpDuration
+	 * @return
+	 */
+	public static long getDurationFromVSL(String nfpDuration) {
+		if (nfpDuration != null) {
+			String unit = MarteUtils.getValueFromTuple(nfpDuration, UNIT);
+			String value = MarteUtils.getValueFromTuple(nfpDuration, VALUE);
+			return Float.valueOf(value).intValue() * getMultiplicatorFromTimeUnit(unit);
+		}
+		return 0;
+	}
+
+	/**
+	 * Get the duration in milli seconds
+	 * 
+	 * @param nfpDuration
+	 * @return
+	 */
+	public static long getMsDurationFromVSL(String nfpDuration) {
+		return getDurationFromVSL(nfpDuration)/1000;
+	}
+
+
+	/**
+	 * Get the frequency in HZ
+	 *
+	 * @param
+	 * @return
+	 */
+	public static long getFrequencyFromVSL(String nfpFrequency) {
+		if (nfpFrequency != null) {
+			String unit = MarteUtils.getValueFromTuple(nfpFrequency, UNIT);
+			String value = MarteUtils.getValueFromTuple(nfpFrequency, VALUE);
+			return (int) (Float.valueOf(value) * getMultiplicatorFromFrequencyUnit(unit));
+		}
+		return 0;
+	}
+
+	public static long getPeriodFromArrivalPattern(String arrivalPattern) {
+		if (arrivalPattern != null) {
+			String period = MarteUtils.getValueFromTuple(arrivalPattern, "period"); //$NON-NLS-1$
+			return getDurationFromVSL(period);
+		}
+		return 0;
+	}
+
+	public static int getMultiplicatorFromSizeUnit(String unit) {
+		DataSizeUnitKind dsuk = DataSizeUnitKind.get(unit);
+		if (dsuk == DataSizeUnitKind.BYTE) {
+			return 1;
+		} else if (dsuk == DataSizeUnitKind.KB) {
+			return 1024;
+		} else if (dsuk == DataSizeUnitKind.MB) {
+			return 1024 * 1024;
+		} else if (dsuk == DataSizeUnitKind.GB) {
+			return 1024 * 1024 * 1024;
+		} else {
+			// do not support bits here.
+			throw new RuntimeException(String.format(Messages.ParseVSL_ErrorInExp_SIZE, unit));
+		}
+	}
+
+	/**
+	 * return the time multiplicator based on micro-seconds unit
+	 *
+	 * @param unit
+	 * @return
+	 */
+	public static long getMultiplicatorFromTimeUnit(String unit) {
+		TimeUnitKind tuk = TimeUnitKind.get(unit);
+		if (tuk == TimeUnitKind.US) {
+			return 1;
+		}
+		if (tuk == TimeUnitKind.MS) {
+			return 1000;
+		} else if (tuk == TimeUnitKind.S) {
+			return 1000 * 1000;
+		} else if (tuk == TimeUnitKind.MIN) {
+			return 60 * 1000 * 1000;
+		} else {
+			throw new RuntimeException(String.format(Messages.ParseVSL_ErrorInExp_TIME, unit));
+		}
+	}
+
+	public static float getMultiplicatorFromFrequencyUnit(String unit) {
+		FrequencyUnitKind fuk = FrequencyUnitKind.get(unit);
+		if (fuk == FrequencyUnitKind.HZ) {
+			return 1;
+		} else if (fuk == FrequencyUnitKind.KHZ) {
+			return 1000;
+		} else if (fuk == FrequencyUnitKind.MHZ) {
+			return 1000 * 1000;
+		} else if (fuk == FrequencyUnitKind.GHZ) {
+			return 1000 * 1000 * 1000;
+		} else if (fuk == FrequencyUnitKind.RPM) {
+			return 1 / 60;
+		} else {
+			// do not support bits here.
+			throw new RuntimeException(String.format(Messages.ParseVSL_ErrotInExp_FREQ, unit));
+		}
+	}
+}
diff --git a/components/org.eclipse.papyrus.designer.components.vsl/src/org/eclipse/papyrus/designer/components/vsl/messages.properties b/transformation/org.eclipse.papyrus.designer.transformation.vsl/src/org/eclipse/papyrus/designer/transformation/vsl/messages.properties
similarity index 100%
rename from components/org.eclipse.papyrus.designer.components.vsl/src/org/eclipse/papyrus/designer/components/vsl/messages.properties
rename to transformation/org.eclipse.papyrus.designer.transformation.vsl/src/org/eclipse/papyrus/designer/transformation/vsl/messages.properties
diff --git a/transformation/pom.xml b/transformation/pom.xml
new file mode 100644
index 0000000..e0be158
--- /dev/null
+++ b/transformation/pom.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.designer</groupId>
+		<artifactId>org.eclipse.papyrus.designer.parent</artifactId>
+		<version>1.0.4-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.designer.transformation</artifactId>
+	<version>0.7.5-SNAPSHOT</version>
+	<packaging>pom</packaging>
+	<name>Designer transformation</name>
+	<description>This module contains the different plugins required for model-2-model transformations</description>
+
+	<modules>
+		<module>org.eclipse.papyrus.designer.transformation.core</module>
+		<module>org.eclipse.papyrus.designer.transformation.library</module>
+		<module>org.eclipse.papyrus.designer.transformation.ui</module>
+		<module>org.eclipse.papyrus.designer.transformation.base</module>
+		<module>org.eclipse.papyrus.designer.transformation.extensions</module>
+		<module>org.eclipse.papyrus.designer.transformation.profile</module>
+		<module>org.eclipse.papyrus.designer.transformation.vsl</module>
+		<module>languages</module>
+	</modules>
+
+</project>